Index: openafs/src/WINNT/afsd/afsd.h
diff -c openafs/src/WINNT/afsd/afsd.h:1.18.2.4 openafs/src/WINNT/afsd/afsd.h:1.18.2.5
*** openafs/src/WINNT/afsd/afsd.h:1.18.2.4	Thu Aug 23 23:21:49 2007
--- openafs/src/WINNT/afsd/afsd.h	Thu Nov 29 11:11:43 2007
***************
*** 49,56 ****
  #include "cm_aclent.h"
  #include "cm_server.h"
  #include "cm_cell.h"
- #include "cm_volume.h"
  #include "cm_volstat.h"
  #include "cm_dcache.h"
  #include "cm_access.h"
  #include "cm_utils.h"
--- 49,56 ----
  #include "cm_aclent.h"
  #include "cm_server.h"
  #include "cm_cell.h"
  #include "cm_volstat.h"
+ #include "cm_volume.h"
  #include "cm_dcache.h"
  #include "cm_access.h"
  #include "cm_utils.h"
Index: openafs/src/WINNT/afsd/afsd_init.c
diff -c openafs/src/WINNT/afsd/afsd_init.c:1.79.2.20 openafs/src/WINNT/afsd/afsd_init.c:1.79.2.22
*** openafs/src/WINNT/afsd/afsd_init.c:1.79.2.20	Mon Nov  5 13:26:49 2007
--- openafs/src/WINNT/afsd/afsd_init.c	Fri Dec  7 11:05:22 2007
***************
*** 42,52 ****
--- 42,54 ----
  
  extern afs_int32 cryptall;
  extern int cm_enableServerLocks;
+ extern int cm_followBackupPath;
  extern int cm_deleteReadOnly;
  #ifdef USE_BPLUS
  extern afs_int32 cm_BPlusTrees;
  #endif
  extern afs_int32 cm_OfflineROIsValid;
+ extern afs_int32 cm_giveUpAllCBs;
  extern const char **smb_ExecutableExtensions;
  
  osi_log_t *afsd_logp;
***************
*** 1131,1136 ****
--- 1133,1154 ----
      } 
      afsi_log("CM OfflineReadOnlyIsValid is %u", cm_deleteReadOnly);
      
+     dummyLen = sizeof(DWORD);
+     code = RegQueryValueEx(parmKey, "GiveUpAllCallBacks", NULL, NULL,
+                            (BYTE *) &dwValue, &dummyLen);
+     if (code == ERROR_SUCCESS) {
+         cm_giveUpAllCBs = (unsigned short) dwValue;
+     } 
+     afsi_log("CM GiveUpAllCallBacks is %u", cm_giveUpAllCBs);
+ 
+     dummyLen = sizeof(DWORD);
+     code = RegQueryValueEx(parmKey, "FollowBackupPath", NULL, NULL,
+                            (BYTE *) &dwValue, &dummyLen);
+     if (code == ERROR_SUCCESS) {
+         cm_followBackupPath = (unsigned short) dwValue;
+     } 
+     afsi_log("CM FollowBackupPath is %u", cm_followBackupPath);
+ 
      RegCloseKey (parmKey);
  
      cacheBlocks = ((afs_uint64)cacheSize * 1024) / blockSize;
Index: openafs/src/WINNT/afsd/cm_btree.c
diff -c openafs/src/WINNT/afsd/cm_btree.c:1.1.2.12 openafs/src/WINNT/afsd/cm_btree.c:1.1.2.13
*** openafs/src/WINNT/afsd/cm_btree.c:1.1.2.12	Mon Nov  5 13:26:49 2007
--- openafs/src/WINNT/afsd/cm_btree.c	Wed Nov 14 01:23:33 2007
***************
*** 2185,2191 ****
  	    char buffer[1024];
  	    cm_scache_t *scp;
  	    char * type = "ScpNotFound";
! 	    afs_int32 dv = -1;
  
  	    scp = cm_FindSCache(&entryp->fid);
  	    if (scp) {
--- 2185,2191 ----
  	    char buffer[1024];
  	    cm_scache_t *scp;
  	    char * type = "ScpNotFound";
! 	    afs_uint64 dv = -1;
  
  	    scp = cm_FindSCache(&entryp->fid);
  	    if (scp) {
***************
*** 2214,2223 ****
  		}
  
  		dv = scp->dataVersion;
! 	    cm_ReleaseSCache(scp);
  	    }
  
! 	    sprintf(buffer, "'%s' Fid = (%d,%d,%d,%d) Short = '%s' Type %s DV %d",
  		    entryp->name,
  		    entryp->fid.cell, entryp->fid.volume, entryp->fid.vnode, entryp->fid.unique,
  		    entryp->shortName,
--- 2214,2223 ----
  		}
  
  		dv = scp->dataVersion;
!                 cm_ReleaseSCache(scp);
  	    }
  
! 	    sprintf(buffer, "'%s' Fid = (%d,%d,%d,%d) Short = '%s' Type %s DV %I64d",
  		    entryp->name,
  		    entryp->fid.cell, entryp->fid.volume, entryp->fid.vnode, entryp->fid.unique,
  		    entryp->shortName,
Index: openafs/src/WINNT/afsd/cm_buf.c
diff -c openafs/src/WINNT/afsd/cm_buf.c:1.31.2.22 openafs/src/WINNT/afsd/cm_buf.c:1.31.2.24
*** openafs/src/WINNT/afsd/cm_buf.c:1.31.2.22	Sun Nov  4 19:24:46 2007
--- openafs/src/WINNT/afsd/cm_buf.c	Wed Nov 14 12:19:41 2007
***************
*** 1550,1559 ****
  }       
  
  /* Must be called with scp->mx held */
! long buf_ForceDataVersion(cm_scache_t * scp, afs_uint32 fromVersion, afs_uint32 toVersion)
  {
      cm_buf_t * bp;
-     cm_buf_t * nbp;
      unsigned int i;
      int found = 0;
  
--- 1550,1558 ----
  }       
  
  /* Must be called with scp->mx held */
! long buf_ForceDataVersion(cm_scache_t * scp, afs_uint64 fromVersion, afs_uint64 toVersion)
  {
      cm_buf_t * bp;
      unsigned int i;
      int found = 0;
  
***************
*** 1694,1700 ****
          {
  	    StringCbPrintfA(output, sizeof(output), 
  			    "%s bp=0x%08X, hash=%d, fid (cell=%d, volume=%d, "
! 			    "vnode=%d, unique=%d), offset=%x:%08x, dv=%d, "
  			    "flags=0x%x, cmFlags=0x%x, refCount=%d\r\n",
  			     cookie, (void *)bp, i, bp->fid.cell, bp->fid.volume, 
  			     bp->fid.vnode, bp->fid.unique, bp->offset.HighPart, 
--- 1693,1699 ----
          {
  	    StringCbPrintfA(output, sizeof(output), 
  			    "%s bp=0x%08X, hash=%d, fid (cell=%d, volume=%d, "
! 			    "vnode=%d, unique=%d), offset=%x:%08x, dv=%I64d, "
  			    "flags=0x%x, cmFlags=0x%x, refCount=%d\r\n",
  			     cookie, (void *)bp, i, bp->fid.cell, bp->fid.volume, 
  			     bp->fid.vnode, bp->fid.unique, bp->offset.HighPart, 
***************
*** 1712,1718 ****
      for(bp = cm_data.buf_freeListEndp; bp; bp=(cm_buf_t *) osi_QPrev(&bp->q)) {
  	StringCbPrintfA(output, sizeof(output), 
  			 "%s bp=0x%08X, fid (cell=%d, volume=%d, "
! 			 "vnode=%d, unique=%d), offset=%x:%08x, dv=%d, "
  			 "flags=0x%x, cmFlags=0x%x, refCount=%d\r\n",
  			 cookie, (void *)bp, bp->fid.cell, bp->fid.volume, 
  			 bp->fid.vnode, bp->fid.unique, bp->offset.HighPart, 
--- 1711,1717 ----
      for(bp = cm_data.buf_freeListEndp; bp; bp=(cm_buf_t *) osi_QPrev(&bp->q)) {
  	StringCbPrintfA(output, sizeof(output), 
  			 "%s bp=0x%08X, fid (cell=%d, volume=%d, "
! 			 "vnode=%d, unique=%d), offset=%x:%08x, dv=%I64d, "
  			 "flags=0x%x, cmFlags=0x%x, refCount=%d\r\n",
  			 cookie, (void *)bp, bp->fid.cell, bp->fid.volume, 
  			 bp->fid.vnode, bp->fid.unique, bp->offset.HighPart, 
***************
*** 1728,1734 ****
      for(bp = cm_data.buf_dirtyListEndp; bp; bp=(cm_buf_t *) osi_QPrev(&bp->q)) {
  	StringCbPrintfA(output, sizeof(output), 
  			 "%s bp=0x%08X, fid (cell=%d, volume=%d, "
! 			 "vnode=%d, unique=%d), offset=%x:%08x, dv=%d, "
  			 "flags=0x%x, cmFlags=0x%x, refCount=%d\r\n",
  			 cookie, (void *)bp, bp->fid.cell, bp->fid.volume, 
  			 bp->fid.vnode, bp->fid.unique, bp->offset.HighPart, 
--- 1727,1733 ----
      for(bp = cm_data.buf_dirtyListEndp; bp; bp=(cm_buf_t *) osi_QPrev(&bp->q)) {
  	StringCbPrintfA(output, sizeof(output), 
  			 "%s bp=0x%08X, fid (cell=%d, volume=%d, "
! 			 "vnode=%d, unique=%d), offset=%x:%08x, dv=%I64d, "
  			 "flags=0x%x, cmFlags=0x%x, refCount=%d\r\n",
  			 cookie, (void *)bp, bp->fid.cell, bp->fid.volume, 
  			 bp->fid.vnode, bp->fid.unique, bp->offset.HighPart, 
Index: openafs/src/WINNT/afsd/cm_buf.h
diff -c openafs/src/WINNT/afsd/cm_buf.h:1.12.4.7 openafs/src/WINNT/afsd/cm_buf.h:1.12.4.8
*** openafs/src/WINNT/afsd/cm_buf.h:1.12.4.7	Mon Sep 10 15:08:17 2007
--- openafs/src/WINNT/afsd/cm_buf.h	Wed Nov 14 01:23:33 2007
***************
*** 78,84 ****
      cm_user_t *userp;	        /* user who wrote to the buffer last */
          
      /* fields added for the CM; locked by scp->mx */
!     afs_uint32 dataVersion;	/* data version of this page */
      afs_uint32 cmFlags;		/* flags for cm */
  
      /* syncop state */
--- 78,84 ----
      cm_user_t *userp;	        /* user who wrote to the buffer last */
          
      /* fields added for the CM; locked by scp->mx */
!     afs_uint64 dataVersion;	/* data version of this page */
      afs_uint32 cmFlags;		/* flags for cm */
  
      /* syncop state */
***************
*** 201,207 ****
  
  extern long buf_CleanDirtyBuffers(cm_scache_t *scp);
  
! extern long buf_ForceDataVersion(cm_scache_t * scp, afs_uint32 fromVersion, afs_uint32 toVersion);
  
  /* error codes */
  #define CM_BUF_EXISTS	1	/* buffer exists, and shouldn't */
--- 201,207 ----
  
  extern long buf_CleanDirtyBuffers(cm_scache_t *scp);
  
! extern long buf_ForceDataVersion(cm_scache_t * scp, afs_uint64 fromVersion, afs_uint64 toVersion);
  
  /* error codes */
  #define CM_BUF_EXISTS	1	/* buffer exists, and shouldn't */
Index: openafs/src/WINNT/afsd/cm_callback.c
diff -c openafs/src/WINNT/afsd/cm_callback.c:1.41.4.21 openafs/src/WINNT/afsd/cm_callback.c:1.41.4.24
*** openafs/src/WINNT/afsd/cm_callback.c:1.41.4.21	Sun Nov  4 19:24:46 2007
--- openafs/src/WINNT/afsd/cm_callback.c	Tue Dec  4 10:48:48 2007
***************
*** 36,41 ****
--- 36,43 ----
  
  afs_int32 cm_OfflineROIsValid = 0;
  
+ afs_int32 cm_giveUpAllCBs = 0;
+ 
  #ifdef AFS_FREELANCE_CLIENT
  extern osi_mutex_t cm_Freelance_Lock;
  #endif
***************
*** 267,272 ****
--- 269,279 ----
                  cm_CallbackNotifyChange(scp);
                  lock_ObtainWrite(&cm_scacheLock);
                  cm_ReleaseSCacheNoLock(scp);
+ 
+                 if (scp->flags & CM_SCACHEFLAG_PURERO && scp->volp) {
+                     scp->volp->cbExpiresRO = 0;
+                 }
+                 
              }
          }	/* search one hash bucket */
      }	/* search all hash buckets */
***************
*** 484,489 ****
--- 491,500 ----
                      cm_CallbackNotifyChange(scp);
                  lock_ObtainWrite(&cm_scacheLock);
                  cm_ReleaseSCacheNoLock(scp);
+ 
+                 if (discarded && (scp->flags & CM_SCACHEFLAG_PURERO) && scp->volp && scp->volp->cbExpiresRO != 0)
+                     scp->volp->cbExpiresRO = 0;
+ 
              }	/* search one hash bucket */
  	}      	/* search all hash buckets */
  	
***************
*** 739,747 ****
      cep->lock.pid_writer = 0;
      cep->lock.src_indicator = 0;
      cep->Length = scp->length.LowPart;
!     cep->DataVersion = scp->dataVersion;
      cep->callback = afs_data_pointer_to_int32(scp->cbServerp);
!     cep->cbExpires = scp->cbExpires;
      cep->refCount = scp->refCount;
      cep->opens = scp->openReads;
      cep->writers = scp->openWrites;
--- 750,761 ----
      cep->lock.pid_writer = 0;
      cep->lock.src_indicator = 0;
      cep->Length = scp->length.LowPart;
!     cep->DataVersion = (afs_uint32)(scp->dataVersion & 0xFFFFFFFF);
      cep->callback = afs_data_pointer_to_int32(scp->cbServerp);
!     if (scp->flags & CM_SCACHEFLAG_PURERO && scp->volp)
!         cep->cbExpires = scp->volp->cbExpiresRO;
!     else
!         cep->cbExpires = scp->cbExpires;
      cep->refCount = scp->refCount;
      cep->opens = scp->openReads;
      cep->writers = scp->openWrites;
***************
*** 850,858 ****
  #else
      cep->Length = (afs_int64) scp->length.QuadPart;
  #endif
!     cep->DataVersion = scp->dataVersion;
      cep->callback = afs_data_pointer_to_int32(scp->cbServerp);
!     cep->cbExpires = scp->cbExpires;
      cep->refCount = scp->refCount;
      cep->opens = scp->openReads;
      cep->writers = scp->openWrites;
--- 864,875 ----
  #else
      cep->Length = (afs_int64) scp->length.QuadPart;
  #endif
!     cep->DataVersion = (afs_uint32)(scp->dataVersion & 0xFFFFFFFF);
      cep->callback = afs_data_pointer_to_int32(scp->cbServerp);
!     if (scp->flags & CM_SCACHEFLAG_PURERO && scp->volp)
!         cep->cbExpires = scp->volp->cbExpiresRO;
!     else
!         cep->cbExpires = scp->cbExpires;
      cep->refCount = scp->refCount;
      cep->opens = scp->openReads;
      cep->writers = scp->openWrites;
***************
*** 1529,1535 ****
      lock_ObtainWrite(&cm_callbackLock);
      cbrp->callbackCount = cm_callbackCount;
      cm_activeCallbackGrantingCalls++;
!     cbrp->startTime = osi_Time();
      cbrp->serverp = NULL;
      lock_ReleaseWrite(&cm_callbackLock);
  }
--- 1546,1552 ----
      lock_ObtainWrite(&cm_callbackLock);
      cbrp->callbackCount = cm_callbackCount;
      cm_activeCallbackGrantingCalls++;
!     cbrp->startTime = time(NULL);
      cbrp->serverp = NULL;
      lock_ReleaseWrite(&cm_callbackLock);
  }
***************
*** 1547,1553 ****
      cm_racingRevokes_t *nrevp;		/* where we'll be next */
      int freeFlag;
      cm_server_t * serverp = NULL;
!     int discardScp = 0;
  
      lock_ObtainWrite(&cm_callbackLock);
      if (flags & CM_CALLBACK_MAINTAINCOUNT) {
--- 1564,1570 ----
      cm_racingRevokes_t *nrevp;		/* where we'll be next */
      int freeFlag;
      cm_server_t * serverp = NULL;
!     int discardScp = 0, discardVolCB = 0;
  
      lock_ObtainWrite(&cm_callbackLock);
      if (flags & CM_CALLBACK_MAINTAINCOUNT) {
***************
*** 1576,1581 ****
--- 1593,1600 ----
                      serverp = cbrp->serverp;
              }
              scp->cbExpires = cbrp->startTime + cbp->ExpirationTime;
+             if (scp->flags & CM_SCACHEFLAG_PURERO && scp->volp)
+                 scp->volp->cbExpiresRO = scp->cbExpires;
          } else {
              if (freeFlag)
                  serverp = cbrp->serverp;
***************
*** 1613,1618 ****
--- 1632,1641 ----
                        cbrp->callbackCount, revp->callbackCount,
                        cm_callbackCount);
              discardScp = 1;
+ 
+             if ((scp->flags & CM_SCACHEFLAG_PURERO) && scp->volp && 
+                 (revp->flags & (CM_RACINGFLAG_CANCELVOL | CM_RACINGFLAG_CANCELALL)))
+                 scp->volp->cbExpiresRO = 0;
          }
          if (freeFlag) 
              free(revp);
***************
*** 1824,1829 ****
--- 1847,1857 ----
      for (i=0; i<cm_data.scacheHashTableSize; i++) {
          for (scp = cm_data.scacheHashTablep[i]; scp; scp=scp->nextp) {
              downTime = 0;
+             if (scp->flags & CM_SCACHEFLAG_PURERO && scp->volp) {
+                 if (scp->volp->cbExpiresRO > scp->cbExpires && scp->cbExpires > 0)
+                     scp->cbExpires = scp->volp->cbExpiresRO;
+             }
+ 
              if (scp->cbServerp && scp->cbExpires > 0 && now > scp->cbExpires && 
                   (cm_CBServersUp(scp, &downTime) || downTime == 0 || downTime >= scp->cbExpires)) 
              {
***************
*** 1905,1910 ****
--- 1933,1941 ----
  {
      cm_server_t *tsp;
  
+     if (!cm_giveUpAllCBs)
+         return;
+ 
      lock_ObtainWrite(&cm_serverLock);
      for (tsp = cm_allServersp; tsp; tsp = tsp->allNextp) {
          cm_GetServerNoLock(tsp);
Index: openafs/src/WINNT/afsd/cm_callback.h
diff -c openafs/src/WINNT/afsd/cm_callback.h:1.7.4.4 openafs/src/WINNT/afsd/cm_callback.h:1.7.4.5
*** openafs/src/WINNT/afsd/cm_callback.h:1.7.4.4	Sat Oct 20 00:03:04 2007
--- openafs/src/WINNT/afsd/cm_callback.h	Tue Dec  4 10:48:48 2007
***************
*** 73,76 ****
--- 73,78 ----
  extern void cm_GiveUpAllCallbacksAllServers(afs_int32 markDown);
  
  extern afs_int32 cm_OfflineROIsValid;
+ 
+ extern afs_int32 cm_giveUpAllCBs;
  #endif /*  _CM_CALLBACK_H_ENV__ */
Index: openafs/src/WINNT/afsd/cm_conn.c
diff -c openafs/src/WINNT/afsd/cm_conn.c:1.49.2.24 openafs/src/WINNT/afsd/cm_conn.c:1.49.2.25
*** openafs/src/WINNT/afsd/cm_conn.c:1.49.2.24	Sun Nov  4 19:24:46 2007
--- openafs/src/WINNT/afsd/cm_conn.c	Wed Nov 14 12:19:41 2007
***************
*** 240,245 ****
--- 240,246 ----
  
      else if (errorCode == UAEWOULDBLOCK || errorCode == EWOULDBLOCK ||
                errorCode == UAEAGAIN || errorCode == EAGAIN) {
+ 	osi_Log0(afsd_logp, "cm_Analyze passed EWOULDBLOCK or EAGAIN.");
          if (timeLeft > 5 ) {
              thrd_Sleep(1000);
              retry = 1;
Index: openafs/src/WINNT/afsd/cm_daemon.c
diff -c openafs/src/WINNT/afsd/cm_daemon.c:1.16.4.17 openafs/src/WINNT/afsd/cm_daemon.c:1.16.4.20
*** openafs/src/WINNT/afsd/cm_daemon.c:1.16.4.17	Sun Nov  4 19:24:46 2007
--- openafs/src/WINNT/afsd/cm_daemon.c	Thu Nov 29 11:02:14 2007
***************
*** 34,39 ****
--- 34,40 ----
  long cm_daemonCheckUpInterval    = 240;
  long cm_daemonCheckVolInterval   = 3600;
  long cm_daemonCheckCBInterval    = 60;
+ long cm_daemonCheckVolCBInterval = 0;
  long cm_daemonCheckLockInterval  = 60;
  long cm_daemonTokenCheckInterval = 180;
  long cm_daemonCheckOfflineVolInterval = 600;
***************
*** 275,280 ****
--- 276,288 ----
      afsi_log("daemonCheckCBInterval is %d", cm_daemonCheckCBInterval);
  
      dummyLen = sizeof(DWORD);
+     code = RegQueryValueEx(parmKey, "daemonCheckVolCBInterval", NULL, NULL,
+ 			    (BYTE *) &dummy, &dummyLen);
+     if (code == ERROR_SUCCESS)
+ 	cm_daemonCheckVolCBInterval = dummy;
+     afsi_log("daemonCheckVolCBInterval is %d", cm_daemonCheckVolCBInterval);
+ 
+     dummyLen = sizeof(DWORD);
      code = RegQueryValueEx(parmKey, "daemonCheckLockInterval", NULL, NULL,
  			    (BYTE *) &dummy, &dummyLen);
      if (code == ERROR_SUCCESS)
***************
*** 305,310 ****
--- 313,319 ----
      time_t lastLockCheck;
      time_t lastVolCheck;
      time_t lastCBExpirationCheck;
+     time_t lastVolCBRenewalCheck;
      time_t lastDownServerCheck;
      time_t lastUpServerCheck;
      time_t lastTokenCacheCheck;
***************
*** 344,349 ****
--- 353,360 ----
      now = osi_Time();
      lastVolCheck = now - cm_daemonCheckVolInterval/2 + (rand() % cm_daemonCheckVolInterval);
      lastCBExpirationCheck = now - cm_daemonCheckCBInterval/2 + (rand() % cm_daemonCheckCBInterval);
+     if (cm_daemonCheckVolCBInterval)
+         lastVolCBRenewalCheck = now - cm_daemonCheckVolCBInterval/2 + (rand() % cm_daemonCheckVolCBInterval);
      lastLockCheck = now - cm_daemonCheckLockInterval/2 + (rand() % cm_daemonCheckLockInterval);
      lastDownServerCheck = now - cm_daemonCheckDownInterval/2 + (rand() % cm_daemonCheckDownInterval);
      lastUpServerCheck = now - cm_daemonCheckUpInterval/2 + (rand() % cm_daemonCheckUpInterval);
***************
*** 356,362 ****
  	 */
  	smb_RestartListeners();
  
! 	if (configureFirewall) {
  	    /* Open Microsoft Firewall to allow in port 7001 */
  	    switch (icf_CheckAndAddAFSPorts(AFS_PORTSET_CLIENT)) {
  	    case 0:
--- 367,376 ----
  	 */
  	smb_RestartListeners();
  
!         if (daemon_ShutdownFlag == 1)
!             return;
! 
!         if (configureFirewall) {
  	    /* Open Microsoft Firewall to allow in port 7001 */
  	    switch (icf_CheckAndAddAFSPorts(AFS_PORTSET_CLIENT)) {
  	    case 0:
***************
*** 381,428 ****
          now = osi_Time();
  
          /* check down servers */
!         if (now > lastDownServerCheck + cm_daemonCheckDownInterval) {
              lastDownServerCheck = now;
  	    osi_Log0(afsd_logp, "cm_Daemon CheckDownServers");
              cm_CheckServers(CM_FLAG_CHECKDOWNSERVERS, NULL);
  	    now = osi_Time();
          }
  
          /* check up servers */
!         if (now > lastUpServerCheck + cm_daemonCheckUpInterval) {
              lastUpServerCheck = now;
  	    osi_Log0(afsd_logp, "cm_Daemon CheckUpServers");
              cm_CheckServers(CM_FLAG_CHECKUPSERVERS, NULL);
  	    now = osi_Time();
          }
  
!         if (now > lastVolCheck + cm_daemonCheckVolInterval) {
              lastVolCheck = now;
              cm_RefreshVolumes();
  	    now = osi_Time();
          }
  
!         if (now > lastBusyVolCheck + cm_daemonCheckOfflineVolInterval) {
              lastVolCheck = now;
              cm_CheckOfflineVolumes();
  	    now = osi_Time();
          }
  
!         if (now > lastCBExpirationCheck + cm_daemonCheckCBInterval) {
              lastCBExpirationCheck = now;
              cm_CheckCBExpiration();
  	    now = osi_Time();
          }
  
!         if (now > lastLockCheck + cm_daemonCheckLockInterval) {
              lastLockCheck = now;
              cm_CheckLocks();
  	    now = osi_Time();
          }
  
!         if (now > lastTokenCacheCheck + cm_daemonTokenCheckInterval) {
              lastTokenCacheCheck = now;
              cm_CheckTokenCache(now);
  	    now = osi_Time();
          }
  
--- 395,473 ----
          now = osi_Time();
  
          /* check down servers */
!         if (now > lastDownServerCheck + cm_daemonCheckDownInterval &&
!             daemon_ShutdownFlag == 0) {
              lastDownServerCheck = now;
  	    osi_Log0(afsd_logp, "cm_Daemon CheckDownServers");
              cm_CheckServers(CM_FLAG_CHECKDOWNSERVERS, NULL);
+             if (daemon_ShutdownFlag == 1)
+                 return;
  	    now = osi_Time();
          }
  
          /* check up servers */
!         if (now > lastUpServerCheck + cm_daemonCheckUpInterval &&
!             daemon_ShutdownFlag == 0) {
              lastUpServerCheck = now;
  	    osi_Log0(afsd_logp, "cm_Daemon CheckUpServers");
              cm_CheckServers(CM_FLAG_CHECKUPSERVERS, NULL);
+             if (daemon_ShutdownFlag == 1)
+                 return;
  	    now = osi_Time();
          }
  
!         if (now > lastVolCheck + cm_daemonCheckVolInterval &&
!             daemon_ShutdownFlag == 0) {
              lastVolCheck = now;
              cm_RefreshVolumes();
+             if (daemon_ShutdownFlag == 1)
+                 return;
  	    now = osi_Time();
          }
  
!         if (cm_daemonCheckVolCBInterval && 
!             now > lastVolCBRenewalCheck + cm_daemonCheckVolCBInterval &&
!             daemon_ShutdownFlag == 0) {
!             lastVolCBRenewalCheck = now;
!             cm_VolumeRenewROCallbacks();
!             if (daemon_ShutdownFlag == 1)
!                 return;
!             now = osi_Time();
!         }
! 
!         if (now > lastBusyVolCheck + cm_daemonCheckOfflineVolInterval &&
!             daemon_ShutdownFlag == 0) {
              lastVolCheck = now;
              cm_CheckOfflineVolumes();
+             if (daemon_ShutdownFlag == 1)
+                 return;
  	    now = osi_Time();
          }
  
!         if (now > lastCBExpirationCheck + cm_daemonCheckCBInterval &&
!             daemon_ShutdownFlag == 0) {
              lastCBExpirationCheck = now;
              cm_CheckCBExpiration();
+             if (daemon_ShutdownFlag == 1)
+                 return;
  	    now = osi_Time();
          }
  
!         if (now > lastLockCheck + cm_daemonCheckLockInterval &&
!             daemon_ShutdownFlag == 0) {
              lastLockCheck = now;
              cm_CheckLocks();
+             if (daemon_ShutdownFlag == 1)
+                 return;
  	    now = osi_Time();
          }
  
!         if (now > lastTokenCacheCheck + cm_daemonTokenCheckInterval &&
!             daemon_ShutdownFlag == 0) {
              lastTokenCacheCheck = now;
              cm_CheckTokenCache(now);
+             if (daemon_ShutdownFlag == 1)
+                 return;
  	    now = osi_Time();
          }
  
***************
*** 445,453 ****
              }
          }
  
- 	thrd_Sleep(30 * 1000);		/* sleep 30 seconds */
          if (daemon_ShutdownFlag == 1)
              return;
      }
  }       
  
--- 490,498 ----
              }
          }
  
          if (daemon_ShutdownFlag == 1)
              return;
+ 	thrd_Sleep(30 * 1000);		/* sleep 30 seconds */
      }
  }       
  
Index: openafs/src/WINNT/afsd/cm_dcache.c
diff -c openafs/src/WINNT/afsd/cm_dcache.c:1.30.2.20 openafs/src/WINNT/afsd/cm_dcache.c:1.30.2.22
*** openafs/src/WINNT/afsd/cm_dcache.c:1.30.2.20	Sun Nov  4 19:24:46 2007
--- openafs/src/WINNT/afsd/cm_dcache.c	Wed Nov 14 12:19:41 2007
***************
*** 1376,1382 ****
          if ((bufp->dataVersion == -1 || bufp->dataVersion < scp->dataVersion) && 
               LargeIntegerGreaterThanOrEqualTo(bufp->offset, scp->serverLength)) 
          {
!             osi_Log3(afsd_logp, "Bad DVs %d, %d or length 0x%x",
                        bufp->dataVersion, scp->dataVersion, biod.length);
  
              if (bufp->dataVersion == -1)
--- 1376,1382 ----
          if ((bufp->dataVersion == -1 || bufp->dataVersion < scp->dataVersion) && 
               LargeIntegerGreaterThanOrEqualTo(bufp->offset, scp->serverLength)) 
          {
!             osi_Log3(afsd_logp, "Bad DVs %I64d, %I64d or length 0x%x",
                        bufp->dataVersion, scp->dataVersion, biod.length);
  
              if (bufp->dataVersion == -1)
***************
*** 1398,1404 ****
      }
  
  #ifdef DISKCACHE95
!     DPRINTF("cm_GetBuffer: fetching data scpDV=%d bufDV=%d scp=%x bp=%x dcp=%x\n",
              scp->dataVersion, bufp->dataVersion, scp, bufp, bufp->dcp);
  #endif /* DISKCACHE95 */
  
--- 1398,1404 ----
      }
  
  #ifdef DISKCACHE95
!     DPRINTF("cm_GetBuffer: fetching data scpDV=%I64d bufDV=%I64d scp=%x bp=%x dcp=%x\n",
              scp->dataVersion, bufp->dataVersion, scp, bufp, bufp->dcp);
  #endif /* DISKCACHE95 */
  
***************
*** 1414,1420 ****
          afsStatus.FileType = 0x2;
          afsStatus.LinkCount = scp->linkCount;
          afsStatus.Length = cm_fakeDirSize;
!         afsStatus.DataVersion = cm_data.fakeDirVersion;
          afsStatus.Author = 0x1;
          afsStatus.Owner = 0x0;
          afsStatus.CallerAccess = 0x9;
--- 1414,1420 ----
          afsStatus.FileType = 0x2;
          afsStatus.LinkCount = scp->linkCount;
          afsStatus.Length = cm_fakeDirSize;
!         afsStatus.DataVersion = (afs_uint32)(cm_data.fakeDirVersion & 0xFFFFFFFF);
          afsStatus.Author = 0x1;
          afsStatus.Owner = 0x0;
          afsStatus.CallerAccess = 0x9;
***************
*** 1427,1433 ****
          afsStatus.ServerModTime = (afs_uint32)FakeFreelanceModTime;
          afsStatus.Group = 0;
          afsStatus.SyncCounter = 0;
!         afsStatus.dataVersionHigh = 0;
          afsStatus.lockCount = 0;
          afsStatus.Length_hi = 0;
          afsStatus.errorCode = 0;
--- 1427,1433 ----
          afsStatus.ServerModTime = (afs_uint32)FakeFreelanceModTime;
          afsStatus.Group = 0;
          afsStatus.SyncCounter = 0;
!         afsStatus.dataVersionHigh = (afs_uint32)(cm_data.fakeDirVersion >> 32);
          afsStatus.lockCount = 0;
          afsStatus.Length_hi = 0;
          afsStatus.errorCode = 0;
***************
*** 1681,1687 ****
               qdp;
               qdp = (osi_queueData_t *) osi_QNext(&qdp->q)) {
              tbufp = osi_GetQData(qdp);
!             tbufp->dataVersion = afsStatus.DataVersion;
  
  #ifdef DISKCACHE95
              /* write buffer out to disk cache */
--- 1681,1689 ----
               qdp;
               qdp = (osi_queueData_t *) osi_QNext(&qdp->q)) {
              tbufp = osi_GetQData(qdp);
!             tbufp->dataVersion = afsStatus.dataVersionHigh;
!             tbufp->dataVersion <<= 32;
!             tbufp->dataVersion |= afsStatus.DataVersion;
  
  #ifdef DISKCACHE95
              /* write buffer out to disk cache */
Index: openafs/src/WINNT/afsd/cm_dir.c
diff -c openafs/src/WINNT/afsd/cm_dir.c:1.4.4.8 openafs/src/WINNT/afsd/cm_dir.c:1.4.4.9
*** openafs/src/WINNT/afsd/cm_dir.c:1.4.4.8	Sat Nov  3 12:19:28 2007
--- openafs/src/WINNT/afsd/cm_dir.c	Wed Nov 14 12:19:41 2007
***************
*** 1152,1158 ****
          osi_Log0(afsd_logp, "cm_CheckDirOpForSingleChange succeeded");
      else
          osi_Log3(afsd_logp,
!                  "cm_CheckDirOpForSingleChange failed.  code=0x%x, old dv=%d, new dv=%d",
                   code, op->dataVersion, op->scp->dataVersion);
      return rc;
  }
--- 1152,1158 ----
          osi_Log0(afsd_logp, "cm_CheckDirOpForSingleChange succeeded");
      else
          osi_Log3(afsd_logp,
!                  "cm_CheckDirOpForSingleChange failed.  code=0x%x, old dv=%I64d, new dv=%I64d",
                   code, op->dataVersion, op->scp->dataVersion);
      return rc;
  }
***************
*** 1273,1279 ****
                           CM_SCACHESYNC_BUFLOCKED);
  
          if (code == 0 && bufferp->dataVersion != op->dataVersion) {
!             osi_Log2(afsd_logp, "cm_DirOpAddBuffer: buffer version mismatch. buf ver = %d. want %d", bufferp->dataVersion, op->dataVersion);
  
              cm_SyncOpDone(op->scp, bufferp,
                            CM_SCACHESYNC_NEEDCALLBACK |
--- 1273,1280 ----
                           CM_SCACHESYNC_BUFLOCKED);
  
          if (code == 0 && bufferp->dataVersion != op->dataVersion) {
!             osi_Log2(afsd_logp, "cm_DirOpAddBuffer: buffer data version mismatch. buf dv = %I64d. needs %I64d", 
!                      bufferp->dataVersion, op->dataVersion);
  
              cm_SyncOpDone(op->scp, bufferp,
                            CM_SCACHESYNC_NEEDCALLBACK |
Index: openafs/src/WINNT/afsd/cm_dir.h
diff -c openafs/src/WINNT/afsd/cm_dir.h:1.4.4.6 openafs/src/WINNT/afsd/cm_dir.h:1.4.4.7
*** openafs/src/WINNT/afsd/cm_dir.h:1.4.4.6	Sat Nov  3 12:19:28 2007
--- openafs/src/WINNT/afsd/cm_dir.h	Wed Nov 14 01:23:33 2007
***************
*** 116,130 ****
      osi_hyper_t   length;       /* scp->length at the time
                                     cm_BeginDirOp() was called.*/
      osi_hyper_t   newLength;    /* adjusted scp->length */
!     afs_uint32    dataVersion;  /* scp->dataVersion when
                                     cm_BeginDirOp() was called.*/
!     afs_uint32    newDataVersion; /* scp->dataVersion when
                                       cm_CheckDirOpForSingleChange()
                                       was called. */
  
!     afs_uint32    dirtyBufCount;
  
!     afs_uint32    nBuffers;     /* number of buffers below */
      cm_dirOpBuffer_t buffers[CM_DIROP_MAXBUFFERS];
  } cm_dirOp_t;
  
--- 116,130 ----
      osi_hyper_t   length;       /* scp->length at the time
                                     cm_BeginDirOp() was called.*/
      osi_hyper_t   newLength;    /* adjusted scp->length */
!     afs_uint64    dataVersion;  /* scp->dataVersion when
                                     cm_BeginDirOp() was called.*/
!     afs_uint64    newDataVersion; /* scp->dataVersion when
                                       cm_CheckDirOpForSingleChange()
                                       was called. */
  
!     afs_uint64    dirtyBufCount;
  
!     afs_uint64    nBuffers;     /* number of buffers below */
      cm_dirOpBuffer_t buffers[CM_DIROP_MAXBUFFERS];
  } cm_dirOp_t;
  
Index: openafs/src/WINNT/afsd/cm_memmap.h
diff -c openafs/src/WINNT/afsd/cm_memmap.h:1.3.4.5 openafs/src/WINNT/afsd/cm_memmap.h:1.3.4.6
*** openafs/src/WINNT/afsd/cm_memmap.h:1.3.4.5	Fri Aug 10 16:39:26 2007
--- openafs/src/WINNT/afsd/cm_memmap.h	Wed Nov 14 01:23:33 2007
***************
*** 46,52 ****
      cm_fid_t            rootFid;
      cm_scache_t *       rootSCachep;
      cm_scache_t         fakeSCache;
!     afs_uint32          fakeDirVersion;
  
      cm_aclent_t *       aclLRUp;
      cm_aclent_t	*       aclLRUEndp;
--- 46,52 ----
      cm_fid_t            rootFid;
      cm_scache_t *       rootSCachep;
      cm_scache_t         fakeSCache;
!     afs_uint64          fakeDirVersion;
  
      cm_aclent_t *       aclLRUp;
      cm_aclent_t	*       aclLRUEndp;
Index: openafs/src/WINNT/afsd/cm_scache.c
diff -c openafs/src/WINNT/afsd/cm_scache.c:1.35.2.47 openafs/src/WINNT/afsd/cm_scache.c:1.35.2.50
*** openafs/src/WINNT/afsd/cm_scache.c:1.35.2.47	Mon Nov  5 13:24:34 2007
--- openafs/src/WINNT/afsd/cm_scache.c	Wed Nov 14 12:19:41 2007
***************
*** 498,505 ****
  
      lock_ObtainWrite(&cm_scacheLock);
      for ( scp = cm_data.allSCachesp; scp; scp = scp->allNextp ) {
!         if (scp->cbServerp)
              scp->cbExpires = now+1;
      }
      lock_ReleaseWrite(&cm_scacheLock);
  }
--- 498,511 ----
  
      lock_ObtainWrite(&cm_scacheLock);
      for ( scp = cm_data.allSCachesp; scp; scp = scp->allNextp ) {
!         if (scp->cbServerp) {
!             if (scp->flags & CM_SCACHEFLAG_PURERO && scp->volp) {
!                 if (scp->volp->cbExpiresRO == scp->cbExpires) {
!                     scp->volp->cbExpiresRO = now+1;
!                 }
!             }
              scp->cbExpires = now+1;
+         }
      }
      lock_ReleaseWrite(&cm_scacheLock);
  }
***************
*** 1472,1477 ****
--- 1478,1485 ----
  		    AFSVolSync *volsyncp,
                      cm_user_t *userp, afs_uint32 flags)
  {
+     afs_uint64 dataVersion;
+ 
      // yj: i want to create some fake status for the /afs directory and the
      // entries under that directory
  #ifdef AFS_FREELANCE_CLIENT
***************
*** 1482,1488 ****
          statusp->LinkCount = scp->linkCount;
          statusp->Length = cm_fakeDirSize;
          statusp->Length_hi = 0;
!         statusp->DataVersion = cm_data.fakeDirVersion;
          statusp->Author = 0x1;
          statusp->Owner = 0x0;
          statusp->CallerAccess = 0x9;
--- 1490,1496 ----
          statusp->LinkCount = scp->linkCount;
          statusp->Length = cm_fakeDirSize;
          statusp->Length_hi = 0;
!         statusp->DataVersion = (afs_uint32)(cm_data.fakeDirVersion & 0xFFFFFFFF);
          statusp->Author = 0x1;
          statusp->Owner = 0x0;
          statusp->CallerAccess = 0x9;
***************
*** 1495,1501 ****
          statusp->ServerModTime = FakeFreelanceModTime;
          statusp->Group = 0;
          statusp->SyncCounter = 0;
!         statusp->dataVersionHigh = 0;
  	statusp->errorCode = 0;
      }
  #endif /* AFS_FREELANCE_CLIENT */
--- 1503,1509 ----
          statusp->ServerModTime = FakeFreelanceModTime;
          statusp->Group = 0;
          statusp->SyncCounter = 0;
!         statusp->dataVersionHigh = (afs_uint32)(cm_data.fakeDirVersion >> 32);
  	statusp->errorCode = 0;
      }
  #endif /* AFS_FREELANCE_CLIENT */
***************
*** 1531,1538 ****
  	scp->flags &= ~CM_SCACHEFLAG_EACCESS;
      }
  
!     if (!(flags & CM_MERGEFLAG_FORCE)
!          && statusp->DataVersion < (unsigned long) scp->dataVersion) {
          struct cm_cell *cellp;
  
          cellp = cm_FindCellByID(scp->fid.cell);
--- 1539,1549 ----
  	scp->flags &= ~CM_SCACHEFLAG_EACCESS;
      }
  
!     dataVersion = statusp->dataVersionHigh;
!     dataVersion <<= 32;
!     dataVersion |= statusp->DataVersion;
! 
!     if (!(flags & CM_MERGEFLAG_FORCE) && dataVersion < scp->dataVersion) {
          struct cm_cell *cellp;
  
          cellp = cm_FindCellByID(scp->fid.cell);
***************
*** 1547,1554 ****
              if (volp)
                  cm_PutVolume(volp);
          }
!         osi_Log3(afsd_logp, "Bad merge, scp %x, scp dv %d, RPC dv %d",
!                   scp, scp->dataVersion, statusp->DataVersion);
          /* we have a number of data fetch/store operations running
           * concurrently, and we can tell which one executed last at the
           * server by its mtime.
--- 1558,1565 ----
              if (volp)
                  cm_PutVolume(volp);
          }
!         osi_Log3(afsd_logp, "Bad merge, scp %x, scp dv %I64d, RPC dv %I64d",
!                   scp, scp->dataVersion, dataVersion);
          /* we have a number of data fetch/store operations running
           * concurrently, and we can tell which one executed last at the
           * server by its mtime.
***************
*** 1625,1643 ****
          cm_AddACLCache(scp, userp, statusp->CallerAccess);
      }
  
!     if ((flags & CM_MERGEFLAG_STOREDATA) &&
! 	statusp->DataVersion - scp->dataVersion == 1) {
  	cm_buf_t *bp;
  
  	for (bp = cm_data.buf_fileHashTablepp[BUF_FILEHASH(&scp->fid)]; bp; bp=bp->fileHashp)
  	{
  	    if (cm_FidCmp(&scp->fid, &bp->fid) == 0 && 
  		bp->dataVersion == scp->dataVersion)
! 		bp->dataVersion = statusp->DataVersion;
  	}
  
      }
!     scp->dataVersion = statusp->DataVersion;
  }
  
  /* note that our stat cache info is incorrect, so force us eventually
--- 1636,1653 ----
          cm_AddACLCache(scp, userp, statusp->CallerAccess);
      }
  
!     if ((flags & CM_MERGEFLAG_STOREDATA) && dataVersion - scp->dataVersion == 1) {
  	cm_buf_t *bp;
  
  	for (bp = cm_data.buf_fileHashTablepp[BUF_FILEHASH(&scp->fid)]; bp; bp=bp->fileHashp)
  	{
  	    if (cm_FidCmp(&scp->fid, &bp->fid) == 0 && 
  		bp->dataVersion == scp->dataVersion)
! 		bp->dataVersion = dataVersion;
  	}
  
      }
!     scp->dataVersion = dataVersion;
  }
  
  /* note that our stat cache info is incorrect, so force us eventually
***************
*** 1778,1784 ****
    
      for (scp = cm_data.allSCachesp; scp; scp = scp->allNextp) 
      {
!         sprintf(output, "%s scp=0x%p, fid (cell=%d, volume=%d, vnode=%d, unique=%d) volp=0x%p type=%d dv=%d len=0x%I64x mp='%s' flags=0x%x cb=0x%x refCount=%u\r\n", 
                  cookie, scp, scp->fid.cell, scp->fid.volume, scp->fid.vnode, scp->fid.unique, 
                  scp->volp, scp->fileType, scp->dataVersion, scp->length.QuadPart, scp->mountPointStringp, scp->flags,
                  (unsigned long)scp->cbExpires, scp->refCount);
--- 1788,1794 ----
    
      for (scp = cm_data.allSCachesp; scp; scp = scp->allNextp) 
      {
!         sprintf(output, "%s scp=0x%p, fid (cell=%d, volume=%d, vnode=%d, unique=%d) volp=0x%p type=%d dv=%I64d len=0x%I64x mp='%s' flags=0x%x cb=0x%x refCount=%u\r\n", 
                  cookie, scp, scp->fid.cell, scp->fid.volume, scp->fid.vnode, scp->fid.unique, 
                  scp->volp, scp->fileType, scp->dataVersion, scp->length.QuadPart, scp->mountPointStringp, scp->flags,
                  (unsigned long)scp->cbExpires, scp->refCount);
Index: openafs/src/WINNT/afsd/cm_scache.h
diff -c openafs/src/WINNT/afsd/cm_scache.h:1.21.2.16 openafs/src/WINNT/afsd/cm_scache.h:1.21.2.17
*** openafs/src/WINNT/afsd/cm_scache.h:1.21.2.16	Sat Nov  3 12:33:54 2007
--- openafs/src/WINNT/afsd/cm_scache.h	Wed Nov 14 01:23:33 2007
***************
*** 120,126 ****
      cm_prefetch_t prefetch;		/* prefetch info structure */
      afs_uint32 unixModeBits;		/* unix protection mode bits */
      afs_uint32 linkCount;		/* link count */
!     afs_uint32 dataVersion;		/* data version */
      afs_uint32 owner; 			/* file owner */
      afs_uint32 group;			/* file owning group */
      cm_user_t *creator;			/* user, if new file */
--- 120,126 ----
      cm_prefetch_t prefetch;		/* prefetch info structure */
      afs_uint32 unixModeBits;		/* unix protection mode bits */
      afs_uint32 linkCount;		/* link count */
!     afs_uint64 dataVersion;		/* data version */
      afs_uint32 owner; 			/* file owner */
      afs_uint32 group;			/* file owning group */
      cm_user_t *creator;			/* user, if new file */
***************
*** 165,171 ****
                                   */
      unsigned long lastRefreshCycle; /* protected with cm_scacheLock
                                       * for all scaches. */
!     afs_uint32 lockDataVersion; /* dataVersion of the scp at the time
                                     the server lock for the scp was
                                     asserted for this lock the last
                                     time. */
--- 165,171 ----
                                   */
      unsigned long lastRefreshCycle; /* protected with cm_scacheLock
                                       * for all scaches. */
!     afs_uint64  lockDataVersion; /* dataVersion of the scp at the time
                                     the server lock for the scp was
                                     asserted for this lock the last
                                     time. */
***************
*** 196,202 ****
  #ifdef USE_BPLUS
      /* directory B+ tree */             /* only allocated if is directory */
      osi_rwlock_t dirlock;               /* controls access to dirBplus */
!     afs_uint32   dirDataVersion;        /* data version represented by dirBplus */
      struct tree *dirBplus;              /* dirBplus */
  #endif
  
--- 196,202 ----
  #ifdef USE_BPLUS
      /* directory B+ tree */             /* only allocated if is directory */
      osi_rwlock_t dirlock;               /* controls access to dirBplus */
!     afs_uint64   dirDataVersion;        /* data version represented by dirBplus */
      struct tree *dirBplus;              /* dirBplus */
  #endif
  
Index: openafs/src/WINNT/afsd/cm_vnodeops.c
diff -c openafs/src/WINNT/afsd/cm_vnodeops.c:1.69.2.45 openafs/src/WINNT/afsd/cm_vnodeops.c:1.69.2.47
*** openafs/src/WINNT/afsd/cm_vnodeops.c:1.69.2.45	Sun Nov  4 19:24:46 2007
--- openafs/src/WINNT/afsd/cm_vnodeops.c	Fri Dec  7 11:05:23 2007
***************
*** 31,36 ****
--- 31,38 ----
  
  int cm_enableServerLocks = 1;
  
+ int cm_followBackupPath = 0;
+ 
  /*
   * Case-folding array.  This was constructed by inspecting of SMBtrace output.
   * I do not know anything more about it.
***************
*** 1050,1056 ****
      char mtType;
      cm_fid_t tfid;
      size_t vnLength;
!     int type;
  
      if (scp->mountRootFid.cell != 0 && scp->mountRootGen >= cm_data.mountRootGen) {
          tfid = scp->mountRootFid;
--- 1052,1058 ----
      char mtType;
      cm_fid_t tfid;
      size_t vnLength;
!     int targetType;
  
      if (scp->mountRootFid.cell != 0 && scp->mountRootGen >= cm_data.mountRootGen) {
          tfid = scp->mountRootFid;
***************
*** 1094,1108 ****
  
      vnLength = strlen(volNamep);
      if (vnLength >= 8 && strcmp(volNamep + vnLength - 7, ".backup") == 0)
!         type = BACKVOL;
      else if (vnLength >= 10
                && strcmp(volNamep + vnLength - 9, ".readonly") == 0)
!         type = ROVOL;
      else
!         type = RWVOL;
  
      /* check for backups within backups */
!     if (type == BACKVOL
           && (scp->flags & (CM_SCACHEFLAG_RO | CM_SCACHEFLAG_PURERO))
           == CM_SCACHEFLAG_RO) {
          code = CM_ERROR_NOSUCHVOLUME;
--- 1096,1110 ----
  
      vnLength = strlen(volNamep);
      if (vnLength >= 8 && strcmp(volNamep + vnLength - 7, ".backup") == 0)
!         targetType = BACKVOL;
      else if (vnLength >= 10
                && strcmp(volNamep + vnLength - 9, ".readonly") == 0)
!         targetType = ROVOL;
      else
!         targetType = RWVOL;
  
      /* check for backups within backups */
!     if (targetType == BACKVOL
           && (scp->flags & (CM_SCACHEFLAG_RO | CM_SCACHEFLAG_PURERO))
           == CM_SCACHEFLAG_RO) {
          code = CM_ERROR_NOSUCHVOLUME;
***************
*** 1132,1148 ****
          lock_ReleaseMutex(&volp->mx);
  
          scp->mountRootFid.cell = cellp->cellID;
          /* if the mt pt is in a read-only volume (not just a
           * backup), and if there is a read-only volume for the
!          * target, and if this is a type '#' mount point, use
           * the read-only, otherwise use the one specified.
           */
!         if (mtType == '#' && (scp->flags & CM_SCACHEFLAG_PURERO)
!              && volp->ro.ID != 0 && type == RWVOL)
!             type = ROVOL;
!         if (type == ROVOL)
              scp->mountRootFid.volume = volp->ro.ID;
!         else if (type == BACKVOL)
              scp->mountRootFid.volume = volp->bk.ID;
          else
              scp->mountRootFid.volume = volp->rw.ID;
--- 1134,1163 ----
          lock_ReleaseMutex(&volp->mx);
  
          scp->mountRootFid.cell = cellp->cellID;
+         
+         /* if the mt pt originates in a .backup volume (not a .readonly)
+          * and FollowBackupPath is active, and if there is a .backup
+          * volume for the target, then use the .backup of the target
+          * instead of the read-write.
+          */
+         if (cm_followBackupPath && targetType == RWVOL &&
+             (scp->flags & CM_SCACHEFLAG_RO|CM_SCACHEFLAG_PURERO) == CM_SCACHEFLAG_RO &&
+             volp->bk.ID != 0) {
+             targetType = BACKVOL;
+         } 
          /* if the mt pt is in a read-only volume (not just a
           * backup), and if there is a read-only volume for the
!          * target, and if this is a targetType '#' mount point, use
           * the read-only, otherwise use the one specified.
           */
!         else if (mtType == '#' && targetType == RWVOL && 
!                  (scp->flags & CM_SCACHEFLAG_PURERO) && 
!                  volp->ro.ID != 0) {
!             targetType = ROVOL;
!         }
!         if (targetType == ROVOL)
              scp->mountRootFid.volume = volp->ro.ID;
!         else if (targetType == BACKVOL)
              scp->mountRootFid.volume = volp->bk.ID;
          else
              scp->mountRootFid.volume = volp->rw.ID;
***************
*** 4257,4263 ****
                  osi_Log0(afsd_logp,
                           "   attempting to UPGRADE from LockRead to LockWrite.");
                  osi_Log1(afsd_logp,
!                          "   dataVersion on scp: %d", scp->dataVersion);
  
                  /* we assume at this point (because scp->serverLock
                     was valid) that we had a valid server lock. */
--- 4272,4278 ----
                  osi_Log0(afsd_logp,
                           "   attempting to UPGRADE from LockRead to LockWrite.");
                  osi_Log1(afsd_logp,
!                          "   dataVersion on scp: %I64d", scp->dataVersion);
  
                  /* we assume at this point (because scp->serverLock
                     was valid) that we had a valid server lock. */
***************
*** 4348,4354 ****
                  osi_Log0(afsd_logp,
                           "  Data version mismatch while upgrading lock.");
                  osi_Log2(afsd_logp,
!                          "  Data versions before=%d, after=%d",
                           scp->lockDataVersion,
                           scp->dataVersion);
                  osi_Log1(afsd_logp,
--- 4363,4369 ----
                  osi_Log0(afsd_logp,
                           "  Data version mismatch while upgrading lock.");
                  osi_Log2(afsd_logp,
!                          "  Data versions before=%I64d, after=%I64d",
                           scp->lockDataVersion,
                           scp->dataVersion);
                  osi_Log1(afsd_logp,
***************
*** 4582,4588 ****
          /* since scp->serverLock looked sane, we are going to assume
             that we have a valid server lock. */
          scp->lockDataVersion = scp->dataVersion;
!         osi_Log1(afsd_logp, "  dataVersion on scp = %d", scp->dataVersion);
  
          code = cm_IntReleaseLock(scp, userp, reqp);
  
--- 4597,4603 ----
          /* since scp->serverLock looked sane, we are going to assume
             that we have a valid server lock. */
          scp->lockDataVersion = scp->dataVersion;
!         osi_Log1(afsd_logp, "  dataVersion on scp = %I64d", scp->dataVersion);
  
          code = cm_IntReleaseLock(scp, userp, reqp);
  
***************
*** 4604,4610 ****
                 we have lost the lock we had during the transition. */
  
              osi_Log0(afsd_logp, "Data version mismatch during lock downgrade");
!             osi_Log2(afsd_logp, "  Data versions before=%d, after=%d",
                       scp->lockDataVersion,
                       scp->dataVersion);
              
--- 4619,4625 ----
                 we have lost the lock we had during the transition. */
  
              osi_Log0(afsd_logp, "Data version mismatch during lock downgrade");
!             osi_Log2(afsd_logp, "  Data versions before=%I64d, after=%I64d",
                       scp->lockDataVersion,
                       scp->dataVersion);
              
***************
*** 4759,4765 ****
          /* Since we already had a lock, we assume that there is a
             valid server lock. */
          scp->lockDataVersion = scp->dataVersion;
!         osi_Log1(afsd_logp, "   dataVersion on scp is %d", scp->dataVersion);
  
          /* before we downgrade, make sure that we have enough
             permissions to get the read lock. */
--- 4774,4780 ----
          /* Since we already had a lock, we assume that there is a
             valid server lock. */
          scp->lockDataVersion = scp->dataVersion;
!         osi_Log1(afsd_logp, "   dataVersion on scp is %I64d", scp->dataVersion);
  
          /* before we downgrade, make sure that we have enough
             permissions to get the read lock. */
***************
*** 4794,4800 ****
              osi_Log0(afsd_logp,
                       "Data version mismatch while downgrading lock");
              osi_Log2(afsd_logp,
!                      "  Data versions before=%d, after=%d",
                       scp->lockDataVersion,
                       scp->dataVersion);
              
--- 4809,4815 ----
              osi_Log0(afsd_logp,
                       "Data version mismatch while downgrading lock");
              osi_Log2(afsd_logp,
!                      "  Data versions before=%I64d, after=%I64d",
                       scp->lockDataVersion,
                       scp->dataVersion);
              
***************
*** 5032,5038 ****
                                       "Data version mismatch on scp 0x%p",
                                       scp);
                              osi_Log2(afsd_logp,
!                                      "   Data versions: before=%d, after=%d",
                                       scp->lockDataVersion,
                                       scp->dataVersion);
  
--- 5047,5053 ----
                                       "Data version mismatch on scp 0x%p",
                                       scp);
                              osi_Log2(afsd_logp,
!                                      "   Data versions: before=%I64d, after=%I64d",
                                       scp->lockDataVersion,
                                       scp->dataVersion);
  
***************
*** 5339,5345 ****
                  osi_Log0(afsd_logp,
                           "  Data version mismatch while upgrading lock.");
                  osi_Log2(afsd_logp,
!                          "  Data versions before=%d, after=%d",
                           scp->lockDataVersion,
                           scp->dataVersion);
                  osi_Log1(afsd_logp,
--- 5354,5360 ----
                  osi_Log0(afsd_logp,
                           "  Data version mismatch while upgrading lock.");
                  osi_Log2(afsd_logp,
!                          "  Data versions before=%I64d, after=%I64d",
                           scp->lockDataVersion,
                           scp->dataVersion);
                  osi_Log1(afsd_logp,
Index: openafs/src/WINNT/afsd/cm_vnodeops.h
diff -c openafs/src/WINNT/afsd/cm_vnodeops.h:1.14.4.5 openafs/src/WINNT/afsd/cm_vnodeops.h:1.14.4.6
*** openafs/src/WINNT/afsd/cm_vnodeops.h:1.14.4.5	Wed Jun 13 18:28:25 2007
--- openafs/src/WINNT/afsd/cm_vnodeops.h	Fri Dec  7 11:05:24 2007
***************
*** 14,19 ****
--- 14,21 ----
  
  extern int cm_enableServerLocks;
  
+ extern int cm_followBackupPath;
+ 
  /* parms for attribute setting call */
  typedef struct cm_attr {
  	int mask;
Index: openafs/src/WINNT/afsd/cm_volstat.c
diff -c openafs/src/WINNT/afsd/cm_volstat.c:1.1.2.2 openafs/src/WINNT/afsd/cm_volstat.c:1.1.2.3
*** openafs/src/WINNT/afsd/cm_volstat.c:1.1.2.2	Thu Jul  5 15:22:16 2007
--- openafs/src/WINNT/afsd/cm_volstat.c	Thu Nov 29 11:11:44 2007
***************
*** 1,6 ****
! /* Copyright 2007 Secure Endpoints Inc.
   *
!  * BSD 2-part License 
   */
  
  /* This source file provides the declarations 
--- 1,29 ----
! /* 
!  * Copyright (c) 2007 Secure Endpoints Inc.
   *
!  * All rights reserved.
!  * 
!  * Redistribution and use in source and binary forms, with or without 
!  * modification, are permitted provided that the following conditions 
!  * are met:
!  * 
!  *     * Redistributions of source code must retain the above copyright 
!  *       notice, this list of conditions and the following disclaimer.
!  *     * Neither the name of the Secure Endpoints Inc. nor the names of its 
!  *       contributors may be used to endorse or promote products derived 
!  *       from this software without specific prior written permission.
!  * 
!  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
!  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
!  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
!  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
!  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
!  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
!  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
!  * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
!  * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
!  * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
!  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
   */
  
  /* This source file provides the declarations 
Index: openafs/src/WINNT/afsd/cm_volstat.h
diff -c openafs/src/WINNT/afsd/cm_volstat.h:1.1.2.3 openafs/src/WINNT/afsd/cm_volstat.h:1.1.2.4
*** openafs/src/WINNT/afsd/cm_volstat.h:1.1.2.3	Fri Jul  6 19:22:04 2007
--- openafs/src/WINNT/afsd/cm_volstat.h	Thu Nov 29 11:11:44 2007
***************
*** 1,6 ****
! /* Copyright 2007 Secure Endpoints Inc.
   *
!  * BSD 2-part License 
   */
  
  /* This header file provides the definitions and prototypes 
--- 1,29 ----
! /* 
!  * Copyright (c) 2007 Secure Endpoints Inc.
   *
!  * All rights reserved.
!  * 
!  * Redistribution and use in source and binary forms, with or without 
!  * modification, are permitted provided that the following conditions 
!  * are met:
!  * 
!  *     * Redistributions of source code must retain the above copyright 
!  *       notice, this list of conditions and the following disclaimer.
!  *     * Neither the name of the Secure Endpoints Inc. nor the names of its 
!  *       contributors may be used to endorse or promote products derived 
!  *       from this software without specific prior written permission.
!  * 
!  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
!  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
!  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
!  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
!  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
!  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
!  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
!  * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
!  * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
!  * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
!  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
   */
  
  /* This header file provides the definitions and prototypes 
***************
*** 8,13 ****
--- 31,37 ----
   * Notification API
   */
  
+ enum volstatus {vl_online, vl_busy, vl_offline, vl_alldown, vl_unknown};
  
  extern long cm_VolStatus_Initialization(void);
  
Index: openafs/src/WINNT/afsd/cm_volume.c
diff -c openafs/src/WINNT/afsd/cm_volume.c:1.14.4.18 openafs/src/WINNT/afsd/cm_volume.c:1.14.4.21
*** openafs/src/WINNT/afsd/cm_volume.c:1.14.4.18	Sun Nov  4 19:24:46 2007
--- openafs/src/WINNT/afsd/cm_volume.c	Sun Nov 11 22:25:55 2007
***************
*** 77,83 ****
              cm_VolumeStatusNotification(volp, volp->ro.ID, volp->ro.state, vl_alldown);
          if (volp->bk.ID)
              cm_VolumeStatusNotification(volp, volp->bk.ID, volp->bk.state, vl_alldown);
! 
          lock_FinalizeMutex(&volp->mx);
      }
  
--- 77,83 ----
              cm_VolumeStatusNotification(volp, volp->ro.ID, volp->ro.state, vl_alldown);
          if (volp->bk.ID)
              cm_VolumeStatusNotification(volp, volp->bk.ID, volp->bk.state, vl_alldown);
!         volp->cbExpiresRO = 0;
          lock_FinalizeMutex(&volp->mx);
      }
  
***************
*** 118,123 ****
--- 118,124 ----
                      cm_VolumeStatusNotification(volp, volp->ro.ID, vl_alldown, volp->ro.state);
                  if (volp->bk.ID)
                      cm_VolumeStatusNotification(volp, volp->bk.ID, vl_alldown, volp->bk.state);
+                 volp->cbExpiresRO = 0;
              }
          }
          osi_EndOnce(&once);
***************
*** 768,773 ****
--- 769,775 ----
          volp->rw.state = volp->ro.state = volp->bk.state = vl_unknown;
          volp->rw.nextp = volp->ro.nextp = volp->bk.nextp = NULL;
          volp->rw.flags = volp->ro.flags = volp->bk.flags = 0;
+         volp->cbExpiresRO = 0;
          cm_AddVolumeToNameHashTable(volp);
          lock_ReleaseWrite(&cm_volumeLock);
      }
***************
*** 1498,1500 ****
--- 1500,1537 ----
      }
  }
  
+ /* Renew .readonly volume callbacks that are more than
+  * 30 minutes old.  (A volume callback is issued for 2 hours.)
+  */
+ void 
+ cm_VolumeRenewROCallbacks(void)
+ {
+     cm_volume_t * volp;
+     time_t minexp = time(NULL) + 90 * 60;
+ 
+     lock_ObtainRead(&cm_volumeLock);
+     for (volp = cm_data.allVolumesp; volp; volp=volp->allNextp) {
+         if ( volp->cbExpiresRO > 0 && volp->cbExpiresRO < minexp) {
+             cm_req_t      req;
+             cm_fid_t      fid;
+             cm_scache_t * scp;
+ 
+             fid.cell = volp->cellp->cellID;
+             fid.volume = volp->ro.ID;
+             fid.vnode = 1;
+             fid.unique = 1;
+ 
+             cm_InitReq(&req);
+ 
+             lock_ReleaseRead(&cm_volumeLock);
+             if (cm_GetSCache(&fid, &scp, cm_rootUserp, &req) == 0) {
+                 lock_ObtainMutex(&scp->mx);
+                 cm_GetCallback(scp, cm_rootUserp, &req, 1);
+                 lock_ReleaseMutex(&scp->mx);
+                 cm_ReleaseSCache(scp);
+             }
+             lock_ObtainRead(&cm_volumeLock);
+         }
+     }
+     lock_ReleaseRead(&cm_volumeLock);
+ }
Index: openafs/src/WINNT/afsd/cm_volume.h
diff -c openafs/src/WINNT/afsd/cm_volume.h:1.5.6.5 openafs/src/WINNT/afsd/cm_volume.h:1.5.6.7
*** openafs/src/WINNT/afsd/cm_volume.h:1.5.6.5	Sat Oct 20 00:03:06 2007
--- openafs/src/WINNT/afsd/cm_volume.h	Thu Nov 29 11:11:44 2007
***************
*** 14,21 ****
  
  #define CM_VOLUME_MAGIC    ('V' | 'O' <<8 | 'L'<<16 | 'M'<<24)
  
- enum volstatus {vl_online, vl_busy, vl_offline, vl_alldown, vl_unknown};
- 
  typedef struct cm_vol_state {
      afs_uint32      ID;                 /* by mx */
      struct cm_volume *nextp;            /* volumeIDHashTable; by cm_volumeLock */
--- 14,19 ----
***************
*** 39,44 ****
--- 37,43 ----
      osi_mutex_t mx;
      afs_uint32 flags;			/* by mx */
      afs_uint32 refCount;		/* by cm_volumeLock */
+     time_t cbExpiresRO;                 /* latest RO expiration time; by cm_scacheLock */
  } cm_volume_t;
  
  #define CM_VOLUMEFLAG_RESET	   1	/* reload this info on next use */
***************
*** 119,122 ****
--- 118,123 ----
  extern void cm_VolumeStatusNotification(cm_volume_t * volp, afs_uint32 volID, enum volstatus old, enum volstatus new);
  
  extern enum volstatus cm_GetVolumeStatus(cm_volume_t *volp, afs_uint32 volID);
+ 
+ extern void cm_VolumeRenewROCallbacks(void);
  #endif /*  __CM_VOLUME_H_ENV__ */
Index: openafs/src/WINNT/afsd/smb.c
diff -c openafs/src/WINNT/afsd/smb.c:1.118.2.46 openafs/src/WINNT/afsd/smb.c:1.118.2.47
*** openafs/src/WINNT/afsd/smb.c:1.118.2.46	Sun Nov  4 19:24:46 2007
--- openafs/src/WINNT/afsd/smb.c	Thu Nov 29 11:08:57 2007
***************
*** 936,942 ****
               */
              NTSTATUS nts = STATUS_UNSUCCESSFUL, ntsEx = STATUS_UNSUCCESSFUL;
              MSV1_0_LM20_CHALLENGE_REQUEST lsaReq;
!             PMSV1_0_LM20_CHALLENGE_RESPONSE lsaResp;
              ULONG lsaRespSize = 0;
  
              lsaReq.MessageType = MsV1_0Lm20ChallengeRequest;
--- 936,942 ----
               */
              NTSTATUS nts = STATUS_UNSUCCESSFUL, ntsEx = STATUS_UNSUCCESSFUL;
              MSV1_0_LM20_CHALLENGE_REQUEST lsaReq;
!             PMSV1_0_LM20_CHALLENGE_RESPONSE lsaResp = NULL;
              ULONG lsaRespSize = 0;
  
              lsaReq.MessageType = MsV1_0Lm20ChallengeRequest;
***************
*** 948,960 ****
                                                  &lsaResp,
                                                  &lsaRespSize,
                                                  &ntsEx);
!             if (nts != STATUS_SUCCESS)
                  osi_Log4(smb_logp,"MsV1_0Lm20ChallengeRequest failure: nts 0x%x ntsEx 0x%x respSize is %u needs %u",
                           nts, ntsEx, sizeof(lsaReq), lsaRespSize);
              osi_assertx(nts == STATUS_SUCCESS, "LsaCallAuthenticationPackage failed"); /* this had better work! */
  
!             memcpy(vcp->encKey, lsaResp->ChallengeToClient, MSV1_0_CHALLENGE_LENGTH);
!             LsaFreeReturnBuffer(lsaResp);
          }
          else
              memset(vcp->encKey, 0, MSV1_0_CHALLENGE_LENGTH);
--- 948,972 ----
                                                  &lsaResp,
                                                  &lsaRespSize,
                                                  &ntsEx);
!             if (nts != STATUS_SUCCESS || ntsEx != STATUS_SUCCESS) {
                  osi_Log4(smb_logp,"MsV1_0Lm20ChallengeRequest failure: nts 0x%x ntsEx 0x%x respSize is %u needs %u",
                           nts, ntsEx, sizeof(lsaReq), lsaRespSize);
+                     afsi_log("MsV1_0Lm20ChallengeRequest failure: nts 0x%x ntsEx 0x%x respSize %u",
+                          nts, ntsEx, lsaRespSize);
+             }
              osi_assertx(nts == STATUS_SUCCESS, "LsaCallAuthenticationPackage failed"); /* this had better work! */
  
!             if (ntsEx == STATUS_SUCCESS) {
!                 memcpy(vcp->encKey, lsaResp->ChallengeToClient, MSV1_0_CHALLENGE_LENGTH);
!                 LsaFreeReturnBuffer(lsaResp);
!             } else {
!                 /* 
!                  * This will cause the subsequent authentication to fail but
!                  * that is better than us dereferencing a NULL pointer and 
!                  * crashing.
!                  */
!                 memset(vcp->encKey, 0, MSV1_0_CHALLENGE_LENGTH);
!             }
          }
          else
              memset(vcp->encKey, 0, MSV1_0_CHALLENGE_LENGTH);
Index: openafs/src/WINNT/aklog/NTMakefile
diff -c openafs/src/WINNT/aklog/NTMakefile:1.4.4.2 openafs/src/WINNT/aklog/NTMakefile:1.4.4.3
*** openafs/src/WINNT/aklog/NTMakefile:1.4.4.2	Tue Apr 10 14:39:49 2007
--- openafs/src/WINNT/aklog/NTMakefile	Thu Nov 29 15:55:30 2007
***************
*** 37,49 ****
  OTHERLIBS = \
      ..\kfw\lib\$(CPU)\krb5_64.lib \
      ..\kfw\lib\$(CPU)\comerr64.lib \
!     dnsapi.lib mpr.lib
  !else
  OTHERLIBS = \
      ..\kfw\lib\$(CPU)\krbv4w32.lib \
      ..\kfw\lib\$(CPU)\krb5_32.lib \
      ..\kfw\lib\$(CPU)\comerr32.lib \
!     dnsapi.lib mpr.lib
  !endif
  afscflags = -I..\kfw\inc\krb5 -I..\kfw\inc\krb4 $(afscflags)
  
--- 37,51 ----
  OTHERLIBS = \
      ..\kfw\lib\$(CPU)\krb5_64.lib \
      ..\kfw\lib\$(CPU)\comerr64.lib \
!     dnsapi.lib mpr.lib delayimp.lib
! LINKOPTS = /DELAYLOAD:krb5_64.dll /DELAYLOAD:comerr64.dll
  !else
  OTHERLIBS = \
      ..\kfw\lib\$(CPU)\krbv4w32.lib \
      ..\kfw\lib\$(CPU)\krb5_32.lib \
      ..\kfw\lib\$(CPU)\comerr32.lib \
!     dnsapi.lib mpr.lib delayimp.lib
! LINKOPTS = /DELAYLOAD:krbv4w32.dll /DELAYLOAD:krb5_32.dll /DELAYLOAD:comerr32.dll
  !endif
  afscflags = -I..\kfw\inc\krb5 -I..\kfw\inc\krb4 $(afscflags)
  
***************
*** 56,67 ****
  ############################################################################
  
  $(AKLOG) : $(AKLOGOBJS) $(EXELIBS) $(OUT)\aklog.res
! 	$(EXECONLINK) $(EXELIBS) $(OTHERLIBS)
          $(_VC_MANIFEST_EMBED_EXE)
  	$(EXEPREP) 
  
  $(ASETKEY) : $(ASETKEYOBJS) $(EXELIBS) $(OUT)\asetkey.res
! 	$(EXECONLINK) $(EXELIBS) $(OTHERLIBS)
          $(_VC_MANIFEST_EMBED_EXE)
  	$(EXEPREP) 
  
--- 58,69 ----
  ############################################################################
  
  $(AKLOG) : $(AKLOGOBJS) $(EXELIBS) $(OUT)\aklog.res
! 	$(EXECONLINK) $(EXELIBS) $(OTHERLIBS) $(LINKOPTS)
          $(_VC_MANIFEST_EMBED_EXE)
  	$(EXEPREP) 
  
  $(ASETKEY) : $(ASETKEYOBJS) $(EXELIBS) $(OUT)\asetkey.res
! 	$(EXECONLINK) $(EXELIBS) $(OTHERLIBS) $(LINKOPTS)
          $(_VC_MANIFEST_EMBED_EXE)
  	$(EXEPREP) 
  
Index: openafs/src/WINNT/aklog/aklog.c
diff -c openafs/src/WINNT/aklog/aklog.c:1.14.4.6 openafs/src/WINNT/aklog/aklog.c:1.14.4.7
*** openafs/src/WINNT/aklog/aklog.c:1.14.4.6	Wed Aug 29 02:46:18 2007
--- openafs/src/WINNT/aklog/aklog.c	Thu Nov 29 15:55:30 2007
***************
*** 13,18 ****
--- 13,46 ----
   * or implied warranty.
   */
  
+ /*
+  * Copyright (c) 2007 Secure Endpoints Inc.
+  *
+  * All rights reserved.
+  *
+  * Redistribution and use in source and binary forms, with or without
+  * modification, are permitted provided that the following conditions
+  * are met:
+  *
+  *     * Redistributions of source code must retain the above copyright
+  *       notice, this list of conditions and the following disclaimer.
+  *     * Neither the name of the Secure Endpoints Inc. nor the names of its
+  *       contributors may be used to endorse or promote products derived
+  *       from this software without specific prior written permission.
+  *
+  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
+  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+  * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+  * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+  * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+  */
+ 
  #ifndef _WIN64
  #define HAVE_KRB4
  #endif
***************
*** 127,132 ****
--- 155,161 ----
  #define AKLOG_TOKEN 5
  #define AKLOG_BADPATH 6
  #define AKLOG_MISC 7
+ #define AKLOG_KFW_NOT_INSTALLED 8
  
  #ifndef NULL
  #define NULL 0
***************
*** 1166,1171 ****
--- 1195,1234 ----
      exit(AKLOG_USAGE);
  }
  
+ void
+ validate_krb5_availability(void)
+ {
+ #ifndef _WIN64
+ #define KRB5LIB "krb5_32.dll"
+ #else
+ #define KRB5LIB "krb5_64.dll"
+ #endif
+     HINSTANCE h = LoadLibrary(KRB5LIB);
+     if (h) 
+         FreeLibrary(h);
+     else {
+         fprintf(stderr, "Kerberos for Windows library %s is not available.\n", KRB5LIB);
+         exit(AKLOG_KFW_NOT_INSTALLED);
+     }
+ }
+ 
+ void
+ validate_krb4_availability(void)
+ {
+ #ifdef HAVE_KRB4
+     HINSTANCE h = LoadLibrary("krbv4w32.dll");
+     if (h) 
+         FreeLibrary(h);
+     else {
+         fprintf(stderr, "Kerberos for Windows library krbv4w32.dll is not available.\n");
+         exit(AKLOG_KFW_NOT_INSTALLED);
+     }
+ #else
+     fprintf(stderr, "Kerberos v4 is not available in this build of aklog.\n");
+     exit(AKLOG_USAGE);
+ #endif
+ }
+ 
  int main(int argc, char *argv[])
  {
      int status = AKLOG_SUCCESS;
***************
*** 1328,1333 ****
--- 1391,1401 ----
          }
      }
  
+     if (usev5)
+         validate_krb5_availability();
+     else 
+         validate_krb4_availability();
+ 
      if(usev5)
          krb5_init_context(&context);
  
Index: openafs/src/WINNT/aklog/aklog.rc
diff -c openafs/src/WINNT/aklog/aklog.rc:1.1 openafs/src/WINNT/aklog/aklog.rc:1.1.14.1
*** openafs/src/WINNT/aklog/aklog.rc:1.1	Mon Apr 12 23:05:31 2004
--- openafs/src/WINNT/aklog/aklog.rc	Thu Nov 29 15:55:30 2007
***************
*** 9,15 ****
  
  /* Define VERSIONINFO resource */
  
! #define  AFS_VERINFO_FILE_DESCRIPTION "AFS File Server Command"
  #define AFS_VERINFO_NAME "aklog"
  #define AFS_VERINFO_FILENAME "aklog.exe"
  
--- 9,15 ----
  
  /* Define VERSIONINFO resource */
  
! #define  AFS_VERINFO_FILE_DESCRIPTION "AFS Token from Kerberos Ticket Granting Ticket"
  #define AFS_VERINFO_NAME "aklog"
  #define AFS_VERINFO_FILENAME "aklog.exe"
  
Index: openafs/src/WINNT/aklog/asetkey.c
diff -c openafs/src/WINNT/aklog/asetkey.c:1.1.6.1 openafs/src/WINNT/aklog/asetkey.c:1.1.6.2
*** openafs/src/WINNT/aklog/asetkey.c:1.1.6.1	Tue Apr 10 14:39:49 2007
--- openafs/src/WINNT/aklog/asetkey.c	Thu Nov 29 15:55:30 2007
***************
*** 1,13 ****
  /*
!  * $Id: asetkey.c,v 1.1.6.1 2007/04/10 18:39:49 shadow Exp $
   *
   * asetkey - Manipulates an AFS KeyFile
   *
   * Updated for Kerberos 5
   */
  
  #include <winsock.h>
  
  #include <sys/types.h>
  #include <krb5.h>
  
--- 1,41 ----
  /*
!  * $Id: asetkey.c,v 1.1.6.2 2007/11/29 20:55:30 jaltman Exp $
   *
   * asetkey - Manipulates an AFS KeyFile
   *
   * Updated for Kerberos 5
   */
+ /*
+  * Copyright (c) 2007 Secure Endpoints Inc.
+  *
+  * All rights reserved.
+  *
+  * Redistribution and use in source and binary forms, with or without
+  * modification, are permitted provided that the following conditions
+  * are met:
+  *
+  *     * Redistributions of source code must retain the above copyright
+  *       notice, this list of conditions and the following disclaimer.
+  *     * Neither the name of the Secure Endpoints Inc. nor the names of its
+  *       contributors may be used to endorse or promote products derived
+  *       from this software without specific prior written permission.
+  *
+  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
+  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+  * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+  * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+  * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+  */
  
  #include <winsock.h>
  
+ #include <stdio.h>
  #include <sys/types.h>
  #include <krb5.h>
  
***************
*** 19,24 ****
--- 47,69 ----
  #endif /* !PRE_AFS35 */
  #include <afs/com_err.h>
  
+ void
+ validate_krb5_availability(void)
+ {
+ #ifndef _WIN64
+ #define KRB5LIB "krb5_32.dll"
+ #else
+ #define KRB5LIB "krb5_64.dll"
+ #endif
+     HINSTANCE h = LoadLibrary(KRB5LIB);
+     if (h) 
+         FreeLibrary(h);
+     else {
+         fprintf(stderr, "Kerberos for Windows library %s is not available.\n", KRB5LIB);
+         exit(2);
+     }
+ }
+ 
  int
  main(int argc, char **argv)
  {
***************
*** 26,31 ****
--- 71,78 ----
      register long code;
      const char *confdir;
  
+     validate_krb5_availability();
+ 
      if (argc == 1) {
  	printf("asetkey: usage is 'setkey <opcode> options, e.g.\n");
  	printf("    asetkey add <kvno> <keyfile> <princ>\n");
Index: openafs/src/WINNT/doc/install/Documentation/en_US/html/index.htm
diff -c openafs/src/WINNT/doc/install/Documentation/en_US/html/index.htm:1.5.4.22 openafs/src/WINNT/doc/install/Documentation/en_US/html/index.htm:1.5.4.23
*** openafs/src/WINNT/doc/install/Documentation/en_US/html/index.htm:1.5.4.22	Tue Nov  6 22:42:23 2007
--- openafs/src/WINNT/doc/install/Documentation/en_US/html/index.htm	Tue Dec  4 14:54:24 2007
***************
*** 57,63 ****
  
  <h1>OpenAFS for Windows</h1>
  
! <h2>Version 1.5.27</h2>
  
  <p class=MsoNormal>&nbsp; </p>
  
--- 57,63 ----
  
  <h1>OpenAFS for Windows</h1>
  
! <h2>Version 1.5.28</h2>
  
  <p class=MsoNormal>&nbsp; </p>
  
***************
*** 80,86 ****
  <span
  style='font-family:Symbol'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  </span></span><a
! href="ReleaseNotes/relnotes-frames.htm">OpenAFS for Windows 1.5.27
  Release Notes</a></p>
  
  <p style='margin-left:36.0pt;text-indent:-18.0pt;'>
--- 80,86 ----
  <span
  style='font-family:Symbol'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  </span></span><a
! href="ReleaseNotes/relnotes-frames.htm">OpenAFS for Windows 1.5.28
  Release Notes</a></p>
  
  <p style='margin-left:36.0pt;text-indent:-18.0pt;'>
Index: openafs/src/WINNT/doc/install/Documentation/en_US/html/ReleaseNotes/logo.htm
diff -c openafs/src/WINNT/doc/install/Documentation/en_US/html/ReleaseNotes/logo.htm:1.1.6.22 openafs/src/WINNT/doc/install/Documentation/en_US/html/ReleaseNotes/logo.htm:1.1.6.23
*** openafs/src/WINNT/doc/install/Documentation/en_US/html/ReleaseNotes/logo.htm:1.1.6.22	Tue Nov  6 22:42:27 2007
--- openafs/src/WINNT/doc/install/Documentation/en_US/html/ReleaseNotes/logo.htm	Tue Dec  4 14:54:29 2007
***************
*** 18,24 ****
  .shape {behavior:url(#default#VML);}
  </style>
  <![endif]-->
! <title>OpenAFS for Windows 1.5.27 Release Notes</title>
  <!--[if gte mso 9]><xml>
   <o:DocumentProperties>
    <o:Revision>1</o:Revision>
--- 18,24 ----
  .shape {behavior:url(#default#VML);}
  </style>
  <![endif]-->
! <title>OpenAFS for Windows 1.5.28 Release Notes</title>
  <!--[if gte mso 9]><xml>
   <o:DocumentProperties>
    <o:Revision>1</o:Revision>
Index: openafs/src/WINNT/doc/install/Documentation/en_US/html/ReleaseNotes/relnotes-frames.htm
diff -c openafs/src/WINNT/doc/install/Documentation/en_US/html/ReleaseNotes/relnotes-frames.htm:1.1.4.24 openafs/src/WINNT/doc/install/Documentation/en_US/html/ReleaseNotes/relnotes-frames.htm:1.1.4.25
*** openafs/src/WINNT/doc/install/Documentation/en_US/html/ReleaseNotes/relnotes-frames.htm:1.1.4.24	Tue Nov  6 22:42:27 2007
--- openafs/src/WINNT/doc/install/Documentation/en_US/html/ReleaseNotes/relnotes-frames.htm	Tue Dec  4 14:54:29 2007
***************
*** 8,14 ****
  <meta name=Generator content="Microsoft Word 11">
  <meta name=Originator content="Microsoft Word 11">
  <link rel=File-List href="relnotes-frames_files/filelist.xml">
! <title>OpenAFS for Windows 1.5.27 Release Notes</title>
  <!--[if gte mso 9]><xml>
   <w:WordDocument>
    <w:Zoom>0</w:Zoom>
--- 8,14 ----
  <meta name=Generator content="Microsoft Word 11">
  <meta name=Originator content="Microsoft Word 11">
  <link rel=File-List href="relnotes-frames_files/filelist.xml">
! <title>OpenAFS for Windows 1.5.28 Release Notes</title>
  <!--[if gte mso 9]><xml>
   <w:WordDocument>
    <w:Zoom>0</w:Zoom>
***************
*** 83,92 ****
  <![endif]-->
  </head>
  
! <frameset cols="30%,*">
!  <frameset rows="16%,*">
    <frame name=logo src=logo.htm>
!   <frame name=toc src=toc.htm target="body">
   </frameset>
   <frame name=body src=relnotes.htm>
   <noframes>
--- 83,92 ----
  <![endif]-->
  </head>
  
! <frameset cols="30%,1*">
!  <frameset rows="16%,1*">
    <frame name=logo src=logo.htm>
!   <frame name=toc src=toc.htm>
   </frameset>
   <frame name=body src=relnotes.htm>
   <noframes>
Index: openafs/src/WINNT/doc/install/Documentation/en_US/html/ReleaseNotes/relnotes.htm
diff -c openafs/src/WINNT/doc/install/Documentation/en_US/html/ReleaseNotes/relnotes.htm:1.6.4.27 openafs/src/WINNT/doc/install/Documentation/en_US/html/ReleaseNotes/relnotes.htm:1.6.4.29
*** openafs/src/WINNT/doc/install/Documentation/en_US/html/ReleaseNotes/relnotes.htm:1.6.4.27	Tue Nov  6 22:42:27 2007
--- openafs/src/WINNT/doc/install/Documentation/en_US/html/ReleaseNotes/relnotes.htm	Fri Dec  7 11:06:24 2007
***************
*** 19,25 ****
  .shape {behavior:url(#default#VML);}
  </style>
  <![endif]-->
! <title>OpenAFS for Windows 1.5.27 Release Notes</title>
  <o:SmartTagType namespaceuri="urn:schemas-microsoft-com:office:smarttags"
   name="PostalCode"/>
  <o:SmartTagType namespaceuri="urn:schemas-microsoft-com:office:smarttags"
--- 19,25 ----
  .shape {behavior:url(#default#VML);}
  </style>
  <![endif]-->
! <title>OpenAFS for Windows 1.5.28 Release Notes</title>
  <o:SmartTagType namespaceuri="urn:schemas-microsoft-com:office:smarttags"
   name="PostalCode"/>
  <o:SmartTagType namespaceuri="urn:schemas-microsoft-com:office:smarttags"
***************
*** 42,62 ****
   <o:DocumentProperties>
    <o:LastAuthor>Jeffrey Altman</o:LastAuthor>
    <o:Revision>3</o:Revision>
!   <o:TotalTime>802</o:TotalTime>
    <o:Created>2006-11-29T17:26:00Z</o:Created>
    <o:LastSaved>2007-06-22T13:42:00Z</o:LastSaved>
    <o:Pages>1</o:Pages>
!   <o:Words>17762</o:Words>
!   <o:Characters>101245</o:Characters>
    <o:Company>Secure Endpoints Inc.</o:Company>
!   <o:Lines>843</o:Lines>
!   <o:Paragraphs>237</o:Paragraphs>
!   <o:CharactersWithSpaces>118770</o:CharactersWithSpaces>
!   <o:Version>11.8132</o:Version>
   </o:DocumentProperties>
  </xml><![endif]--><!--[if gte mso 9]><xml>
   <w:WordDocument>
    <w:Zoom>0</w:Zoom>
    <w:ValidateAgainstSchemas/>
    <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>
    <w:IgnoreMixedContent>false</w:IgnoreMixedContent>
--- 42,63 ----
   <o:DocumentProperties>
    <o:LastAuthor>Jeffrey Altman</o:LastAuthor>
    <o:Revision>3</o:Revision>
!   <o:TotalTime>930</o:TotalTime>
    <o:Created>2006-11-29T17:26:00Z</o:Created>
    <o:LastSaved>2007-06-22T13:42:00Z</o:LastSaved>
    <o:Pages>1</o:Pages>
!   <o:Words>18300</o:Words>
!   <o:Characters>104312</o:Characters>
    <o:Company>Secure Endpoints Inc.</o:Company>
!   <o:Lines>869</o:Lines>
!   <o:Paragraphs>244</o:Paragraphs>
!   <o:CharactersWithSpaces>122368</o:CharactersWithSpaces>
!   <o:Version>11.9999</o:Version>
   </o:DocumentProperties>
  </xml><![endif]--><!--[if gte mso 9]><xml>
   <w:WordDocument>
    <w:Zoom>0</w:Zoom>
+   <w:GrammarState>Clean</w:GrammarState>
    <w:ValidateAgainstSchemas/>
    <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>
    <w:IgnoreMixedContent>false</w:IgnoreMixedContent>
***************
*** 478,483 ****
--- 479,487 ----
  	font-family:Thorndale;
  	mso-ascii-font-family:Thorndale;
  	mso-hansi-font-family:Thorndale;}
+ span.GramE
+ 	{mso-style-name:"";
+ 	mso-gram-e:yes;}
  @page Section1
  	{size:612.0pt 792.0pt;
  	margin:72.0pt 90.0pt 72.0pt 90.0pt;
***************
*** 488,496 ****
  	{page:Section1;}
   /* List Definitions */
   @list l0
  	{mso-list-id:1266575792;
  	mso-list-template-ids:-1777932230;}
! @list l0:level1
  	{mso-level-number-format:bullet;
  	mso-level-text:\F0B7;
  	mso-level-tab-stop:36.0pt;
--- 492,511 ----
  	{page:Section1;}
   /* List Definitions */
   @list l0
+ 	{mso-list-id:947470015;
+ 	mso-list-template-ids:-1445297118;}
+ @list l0:level1
+ 	{mso-level-number-format:bullet;
+ 	mso-level-text:\F0B7;
+ 	mso-level-tab-stop:36.0pt;
+ 	mso-level-number-position:left;
+ 	text-indent:-18.0pt;
+ 	mso-ansi-font-size:10.0pt;
+ 	font-family:Symbol;}
+ @list l1
  	{mso-list-id:1266575792;
  	mso-list-template-ids:-1777932230;}
! @list l1:level1
  	{mso-level-number-format:bullet;
  	mso-level-text:\F0B7;
  	mso-level-tab-stop:36.0pt;
***************
*** 498,546 ****
  	text-indent:-18.0pt;
  	mso-ansi-font-size:10.0pt;
  	font-family:Symbol;}
! @list l0:level2
  	{mso-level-tab-stop:72.0pt;
  	mso-level-number-position:left;
  	text-indent:-18.0pt;}
! @list l0:level3
  	{mso-level-tab-stop:108.0pt;
  	mso-level-number-position:left;
  	text-indent:-18.0pt;}
! @list l0:level4
  	{mso-level-tab-stop:144.0pt;
  	mso-level-number-position:left;
  	text-indent:-18.0pt;}
! @list l0:level5
  	{mso-level-tab-stop:180.0pt;
  	mso-level-number-position:left;
  	text-indent:-18.0pt;}
! @list l0:level6
  	{mso-level-tab-stop:216.0pt;
  	mso-level-number-position:left;
  	text-indent:-18.0pt;}
! @list l0:level7
  	{mso-level-tab-stop:252.0pt;
  	mso-level-number-position:left;
  	text-indent:-18.0pt;}
! @list l0:level8
  	{mso-level-tab-stop:288.0pt;
  	mso-level-number-position:left;
  	text-indent:-18.0pt;}
! @list l0:level9
  	{mso-level-tab-stop:324.0pt;
  	mso-level-number-position:left;
  	text-indent:-18.0pt;}
- @list l1
- 	{mso-list-id:2104109742;
- 	mso-list-template-ids:1181259030;}
- @list l1:level1
- 	{mso-level-number-format:bullet;
- 	mso-level-text:\F0B7;
- 	mso-level-tab-stop:36.0pt;
- 	mso-level-number-position:left;
- 	text-indent:-18.0pt;
- 	mso-ansi-font-size:10.0pt;
- 	font-family:Symbol;}
  ol
  	{margin-bottom:0pt;}
  ul
--- 513,550 ----
  	text-indent:-18.0pt;
  	mso-ansi-font-size:10.0pt;
  	font-family:Symbol;}
! @list l1:level2
  	{mso-level-tab-stop:72.0pt;
  	mso-level-number-position:left;
  	text-indent:-18.0pt;}
! @list l1:level3
  	{mso-level-tab-stop:108.0pt;
  	mso-level-number-position:left;
  	text-indent:-18.0pt;}
! @list l1:level4
  	{mso-level-tab-stop:144.0pt;
  	mso-level-number-position:left;
  	text-indent:-18.0pt;}
! @list l1:level5
  	{mso-level-tab-stop:180.0pt;
  	mso-level-number-position:left;
  	text-indent:-18.0pt;}
! @list l1:level6
  	{mso-level-tab-stop:216.0pt;
  	mso-level-number-position:left;
  	text-indent:-18.0pt;}
! @list l1:level7
  	{mso-level-tab-stop:252.0pt;
  	mso-level-number-position:left;
  	text-indent:-18.0pt;}
! @list l1:level8
  	{mso-level-tab-stop:288.0pt;
  	mso-level-number-position:left;
  	text-indent:-18.0pt;}
! @list l1:level9
  	{mso-level-tab-stop:324.0pt;
  	mso-level-number-position:left;
  	text-indent:-18.0pt;}
  ol
  	{margin-bottom:0pt;}
  ul
***************
*** 567,573 ****
  	mso-bidi-language:#0400;}
  </style>
  <![endif]--><!--[if gte mso 9]><xml>
!  <o:shapedefaults v:ext="edit" spidmax="3074"/>
  </xml><![endif]--><!--[if gte mso 9]><xml>
   <o:shapelayout v:ext="edit">
    <o:idmap v:ext="edit" data="1"/>
--- 571,577 ----
  	mso-bidi-language:#0400;}
  </style>
  <![endif]--><!--[if gte mso 9]><xml>
!  <o:shapedefaults v:ext="edit" spidmax="5122"/>
  </xml><![endif]--><!--[if gte mso 9]><xml>
   <o:shapelayout v:ext="edit">
    <o:idmap v:ext="edit" data="1"/>
***************
*** 579,598 ****
  
  <div class=Section1>
  
! <p class=MsoTitle>OpenAFS for Windows 1.5.27<br>
  Release Notes</p>
  
  <p class=MsoBodyText>The Andrew File System (AFS) is a location-independent
! file system that uses a local cache to increase its performance.&nbsp; An AFS
! client accesses files anonymously or via a Kerberos authentication.&nbsp; The
! global AFS is partitioned into cells.&nbsp; The AFS cell is a collection of AFS
  volumes that are administered by a common entity.&nbsp;&nbsp; AFS cells can be
  administered by a department even when the Kerberos realm used for local
  authentication is managed by a much larger organization.&nbsp; AFS clients and
  servers take advantage of Kerberos cross realm authentication to enable
! authenticated access by entities located outside the local realm.&nbsp; Authorization
! is enforced by the use of directory level access control lists which can
! consist of individual or group identities.&nbsp; </p>
  
  <p class=MsoBodyText>The AFS volume is a tree of files and
  sub-directories.&nbsp; AFS volumes are created by administrators and are joined
--- 583,602 ----
  
  <div class=Section1>
  
! <p class=MsoTitle>OpenAFS for Windows 1.5.28<br>
  Release Notes</p>
  
  <p class=MsoBodyText>The Andrew File System (AFS) is a location-independent
! file system that uses a local cache to increase its performance.&nbsp; An AFS client
! accesses files anonymously or via a Kerberos authentication.&nbsp; The global
! AFS is partitioned into cells.&nbsp; The AFS cell is a collection of AFS
  volumes that are administered by a common entity.&nbsp;&nbsp; AFS cells can be
  administered by a department even when the Kerberos realm used for local
  authentication is managed by a much larger organization.&nbsp; AFS clients and
  servers take advantage of Kerberos cross realm authentication to enable
! authenticated access by entities located outside the local realm.&nbsp;
! Authorization is enforced by the use of directory level access control lists
! which can consist of individual or group identities.&nbsp; </p>
  
  <p class=MsoBodyText>The AFS volume is a tree of files and
  sub-directories.&nbsp; AFS volumes are created by administrators and are joined
***************
*** 616,630 ****
  such that the user is unaware of the distinction between the use of AFS and
  Microsoft Windows file shares.&nbsp;&nbsp; OAFW can be part of a single sign-on
  solution by allowing credentials for a Kerberos principal to be obtained at
! logon and for that principal to be used to obtain AFS tokens for one or more cells.&nbsp;&nbsp;
! Although OAFW is implemented as a locally installed SMB to AFS gateway, OAFW
! maintains the portability of file paths by its use of the <a
  href="file:///\\AFS">\\AFS</a> UNC server name.</p>
  
! <p class=MsoBodyText>OpenAFS is the product of an open source development effort
! begun on October 31 2000.&nbsp; OpenAFS is maintained and developed by a group
! of volunteers with the support of the user community.&nbsp;&nbsp; If you use
! OpenAFS as part of your computing infrastructure please contribute to its
  continued growth.</p>
  
  <p class=MsoToc1><span class=MsoHyperlink><a href="#_Toc115417109">1. Installer
--- 620,634 ----
  such that the user is unaware of the distinction between the use of AFS and
  Microsoft Windows file shares.&nbsp;&nbsp; OAFW can be part of a single sign-on
  solution by allowing credentials for a Kerberos principal to be obtained at
! logon and for that principal to be used to obtain AFS tokens for one or more
! cells.&nbsp;&nbsp; Although OAFW is implemented as a locally installed SMB to
! AFS gateway, OAFW maintains the portability of file paths by its use of the <a
  href="file:///\\AFS">\\AFS</a> UNC server name.</p>
  
! <p class=MsoBodyText>OpenAFS is the product of an open source development
! effort begun on October 31 2000.&nbsp; OpenAFS is maintained and developed by a
! group of volunteers with the support of the user community.&nbsp;&nbsp; If you
! use OpenAFS as part of your computing infrastructure please contribute to its
  continued growth.</p>
  
  <p class=MsoToc1><span class=MsoHyperlink><a href="#_Toc115417109">1. Installer
***************
*** 659,668 ****
  Registry Values<span style='color:windowtext;display:none;mso-hide:all;
  text-decoration:none;text-underline:none'>. 26</span></a></span></p>
  
! <h1><a name="_Toc170268813"></a><a name="_Toc152605032"></a><a
  name="_Toc115416098"></a><a name="_Toc139993082"></a><a name="_Toc126872163"></a><a
  name="_Toc115417109"></a><a name="_Toc115417037"></a><span style='mso-bookmark:
! _Toc170268813'><span style='mso-bookmark:_Toc152605032'><span style='mso-bookmark:
  _Toc115416098'>1. Installer Options</span></span></span></h1>
  
  <p class=MsoNormal>It can be installed either as a new installation or an
--- 663,672 ----
  Registry Values<span style='color:windowtext;display:none;mso-hide:all;
  text-decoration:none;text-underline:none'>. 26</span></a></span></p>
  
! <h1><a name="_Toc184788738"></a><a name="_Toc152605032"></a><a
  name="_Toc115416098"></a><a name="_Toc139993082"></a><a name="_Toc126872163"></a><a
  name="_Toc115417109"></a><a name="_Toc115417037"></a><span style='mso-bookmark:
! _Toc184788738'><span style='mso-bookmark:_Toc152605032'><span style='mso-bookmark:
  _Toc115416098'>1. Installer Options</span></span></span></h1>
  
  <p class=MsoNormal>It can be installed either as a new installation or an
***************
*** 671,694 ****
  
  <p class=MsoNormal style='margin-left:18.0pt;text-indent:-18.0pt'><span
  style='font-size:9.0pt'>1.</span><span style='font-size:7.0pt;font-family:"Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
! </span>an executable (.exe) that is built using the Nullsoft Scriptable
! Installation System, or</p>
  
  <p class=MsoNormal style='margin-left:18.0pt;text-indent:-18.0pt'><span
  style='font-size:9.0pt'>2.</span><span style='font-size:7.0pt;font-family:"Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
! </span>a Windows Installer package (.msi) that is built using WiX and can be
! customized for organizations via the use of MSI Transforms (see <a
! href="#_MSI_Deployment_Guide">MSI Deployment Guide</a>)</p>
  
! <h1><a name="_Toc170268814"></a><a name="_Toc152605033"></a><a
  name="_Toc115416099"></a><a name="_Toc139993083"></a><a name="_Toc126872164"></a><a
  name="_Toc115417110"></a><a name="_Toc115417038"></a><span style='mso-bookmark:
! _Toc170268814'><span style='mso-bookmark:_Toc152605033'><span style='mso-bookmark:
  _Toc115416099'>2. System Requirements</span></span></span></h1>
  
! <h2><a name="_Toc170268815"></a><a name="_Toc152605034"></a><a
  name="_Toc115416100"></a><a name="_Toc139993084"></a><a name="_Toc126872165"></a><a
! name="_Toc115417039"></a><span style='mso-bookmark:_Toc170268815'><span
  style='mso-bookmark:_Toc152605034'><span style='mso-bookmark:_Toc115416100'>2.1
  Supported Operating Systems</span></span></span></h2>
  
--- 675,698 ----
  
  <p class=MsoNormal style='margin-left:18.0pt;text-indent:-18.0pt'><span
  style='font-size:9.0pt'>1.</span><span style='font-size:7.0pt;font-family:"Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
! </span><span class=GramE>an</span> executable (.exe) that is built using the
! Nullsoft Scriptable Installation System, or</p>
  
  <p class=MsoNormal style='margin-left:18.0pt;text-indent:-18.0pt'><span
  style='font-size:9.0pt'>2.</span><span style='font-size:7.0pt;font-family:"Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
! </span><span class=GramE>a</span> Windows Installer package (.msi) that is
! built using WiX and can be customized for organizations via the use of MSI
! Transforms (see <a href="#_MSI_Deployment_Guide">MSI Deployment Guide</a>)</p>
  
! <h1><a name="_Toc184788739"></a><a name="_Toc152605033"></a><a
  name="_Toc115416099"></a><a name="_Toc139993083"></a><a name="_Toc126872164"></a><a
  name="_Toc115417110"></a><a name="_Toc115417038"></a><span style='mso-bookmark:
! _Toc184788739'><span style='mso-bookmark:_Toc152605033'><span style='mso-bookmark:
  _Toc115416099'>2. System Requirements</span></span></span></h1>
  
! <h2><a name="_Toc184788740"></a><a name="_Toc152605034"></a><a
  name="_Toc115416100"></a><a name="_Toc139993084"></a><a name="_Toc126872165"></a><a
! name="_Toc115417039"></a><span style='mso-bookmark:_Toc184788740'><span
  style='mso-bookmark:_Toc152605034'><span style='mso-bookmark:_Toc115416100'>2.1
  Supported Operating Systems</span></span></span></h2>
  
***************
*** 700,706 ****
  <p class=MsoNormal style='margin-left:14.15pt;text-indent:-14.15pt'><span
  style='font-size:9.0pt;font-family:Symbol'>·</span><span style='font-size:7.0pt;
  font-family:"Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>Microsoft
! Windows 2000 Server</p>
  
  <p class=MsoNormal style='margin-left:14.15pt;text-indent:-14.15pt'><span
  style='font-size:9.0pt;font-family:Symbol'>·</span><span style='font-size:7.0pt;
--- 704,710 ----
  <p class=MsoNormal style='margin-left:14.15pt;text-indent:-14.15pt'><span
  style='font-size:9.0pt;font-family:Symbol'>·</span><span style='font-size:7.0pt;
  font-family:"Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>Microsoft
! Windows 2000 Server </p>
  
  <p class=MsoNormal style='margin-left:14.15pt;text-indent:-14.15pt'><span
  style='font-size:9.0pt;font-family:Symbol'>·</span><span style='font-size:7.0pt;
***************
*** 732,740 ****
  font-family:"Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>Microsoft
  Windows <st1:place w:st="on">Vista</st1:place> (32-bit and 64-bit Intel)</p>
  
! <h3><a name="_Toc170268816"></a><a name="_Toc152605035"></a><a
  name="_Toc115416101"></a><a name="_Toc139993085"></a><a name="_Toc126872166"></a><span
! style='mso-bookmark:_Toc170268816'><span style='mso-bookmark:_Toc152605035'><span
  style='mso-bookmark:_Toc115416101'>2.1.1 Unsupported Operating Systems</span></span></span></h3>
  
  <p class=MsoNormal style='margin-left:14.15pt;text-indent:-14.15pt'><span
--- 736,749 ----
  font-family:"Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>Microsoft
  Windows <st1:place w:st="on">Vista</st1:place> (32-bit and 64-bit Intel)</p>
  
! <p class=MsoNormal style='margin-left:14.15pt;text-indent:-14.15pt'><span
! style='font-size:9.0pt;font-family:Symbol'>·</span><span style='font-size:7.0pt;
! font-family:"Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>Microsoft
! Windows 2008 Server (32-bit and 64-bit Intel) [experimental]</p>
! 
! <h3><a name="_Toc184788741"></a><a name="_Toc152605035"></a><a
  name="_Toc115416101"></a><a name="_Toc139993085"></a><a name="_Toc126872166"></a><span
! style='mso-bookmark:_Toc184788741'><span style='mso-bookmark:_Toc152605035'><span
  style='mso-bookmark:_Toc115416101'>2.1.1 Unsupported Operating Systems</span></span></span></h3>
  
  <p class=MsoNormal style='margin-left:14.15pt;text-indent:-14.15pt'><span
***************
*** 763,775 ****
  NT</p>
  
  <p class=MsoNormal>Older releases of OpenAFS are available for download if
! unsupported operating systems must be used.&nbsp; The last version of OpenAFS with
! support for Win9x is 1.2.2b.&nbsp; The last version with support for Windows NT
! 4.0 is 1.2.10.</p>
  
! <h2><a name="_Toc170268817"></a><a name="_Toc152605036"></a><a
  name="_Toc115416102"></a><a name="_Toc139993086"></a><a name="_Toc126872167"></a><a
! name="_Toc115417040"></a><span style='mso-bookmark:_Toc170268817'><span
  style='mso-bookmark:_Toc152605036'><span style='mso-bookmark:_Toc115416102'>2.2
  Disk Space</span></span></span></h2>
  
--- 772,784 ----
  NT</p>
  
  <p class=MsoNormal>Older releases of OpenAFS are available for download if
! unsupported operating systems must be used.&nbsp; The last version of OpenAFS
! with support for Win9x is 1.2.2b.&nbsp; The last version with support for
! Windows NT 4.0 is 1.2.10.</p>
  
! <h2><a name="_Toc184788742"></a><a name="_Toc152605036"></a><a
  name="_Toc115416102"></a><a name="_Toc139993086"></a><a name="_Toc126872167"></a><a
! name="_Toc115417040"></a><span style='mso-bookmark:_Toc184788742'><span
  style='mso-bookmark:_Toc152605036'><span style='mso-bookmark:_Toc115416102'>2.2
  Disk Space</span></span></span></h2>
  
***************
*** 777,801 ****
  the default AFSCache file.&nbsp;&nbsp; (The size of the AFSCache file may be
  adjusted via the Registry after installation.)</p>
  
! <h2><a name="_Toc170268818"></a><a name="_Toc152605037"></a><a
  name="_Toc115416103"></a><a name="_Toc139993087"></a><a name="_Toc126872168"></a><a
! name="_Toc115417041"></a><span style='mso-bookmark:_Toc170268818'><span
  style='mso-bookmark:_Toc152605037'><span style='mso-bookmark:_Toc115416103'>2.3
  Additional Software</span> Packages</span></span></h2>
  
  <p class=MsoNormal><a href="http://web.mit.edu/kerberos/dist/index.html">MIT
  Kerberos for Windows</a> 2.6.x or 3.1.x if Kerberos v5 authentication support
! is desired.</p>
  
! <h1><a name="_Toc170268819"></a><a name="_Toc152605038"></a><a
  name="_Toc115416104"></a><a name="_Toc139993088"></a><a name="_Toc126872169"></a><a
  name="_Toc115417111"></a><a name="_Toc115417042"></a><span style='mso-bookmark:
! _Toc170268819'><span style='mso-bookmark:_Toc152605038'><span style='mso-bookmark:
  _Toc115416104'>3. Operational Notes</span></span></span></h1>
  
! <h2><a name="_Toc170268820"></a><a name="_Toc152605039"></a><a
  name="_Toc115416105"></a><a name="_Toc139993089"></a><a name="_Toc126872170"></a><a
! name="_Toc115417043"></a><span style='mso-bookmark:_Toc170268820'><span
  style='mso-bookmark:_Toc152605039'><span style='mso-bookmark:_Toc115416105'>3.1.
  Requirements for Kerberos v5 Authentication</span></span></span></h2>
  
--- 786,811 ----
  the default AFSCache file.&nbsp;&nbsp; (The size of the AFSCache file may be
  adjusted via the Registry after installation.)</p>
  
! <h2><a name="_Toc184788743"></a><a name="_Toc152605037"></a><a
  name="_Toc115416103"></a><a name="_Toc139993087"></a><a name="_Toc126872168"></a><a
! name="_Toc115417041"></a><span style='mso-bookmark:_Toc184788743'><span
  style='mso-bookmark:_Toc152605037'><span style='mso-bookmark:_Toc115416103'>2.3
  Additional Software</span> Packages</span></span></h2>
  
  <p class=MsoNormal><a href="http://web.mit.edu/kerberos/dist/index.html">MIT
  Kerberos for Windows</a> 2.6.x or 3.1.x if Kerberos v5 authentication support
! is desired.<span style='mso-spacerun:yes'>  </span>The recommended release is
! version 3.2.2.<span style='mso-spacerun:yes'>  </span></p>
  
! <h1><a name="_Toc184788744"></a><a name="_Toc152605038"></a><a
  name="_Toc115416104"></a><a name="_Toc139993088"></a><a name="_Toc126872169"></a><a
  name="_Toc115417111"></a><a name="_Toc115417042"></a><span style='mso-bookmark:
! _Toc184788744'><span style='mso-bookmark:_Toc152605038'><span style='mso-bookmark:
  _Toc115416104'>3. Operational Notes</span></span></span></h1>
  
! <h2><a name="_Toc184788745"></a><a name="_Toc152605039"></a><a
  name="_Toc115416105"></a><a name="_Toc139993089"></a><a name="_Toc126872170"></a><a
! name="_Toc115417043"></a><span style='mso-bookmark:_Toc184788745'><span
  style='mso-bookmark:_Toc152605039'><span style='mso-bookmark:_Toc115416105'>3.1.
  Requirements for Kerberos v5 Authentication</span></span></span></h2>
  
***************
*** 809,819 ****
  Service.<span style='mso-spacerun:yes'>   </span></p>
  
  <p class=MsoNormal>The recommended version of <a
! href="http://web.mit.edu/kerberos/">MIT Kerberos for Windows</a> is 3.2.<span
! style='mso-spacerun:yes'>  </span>KFW 3.2 includes Network Identity Manager 1.2
! which integrates with the <a href="#_3.1.3._Network_Identity">AFS Provider</a>
! installed as part of OpenAFS for Windows.<span style='mso-spacerun:yes'> 
! </span></p>
  
  <p class=MsoNormal>When KFW is installed, the OpenAFS for Windows client will
  obtain Kerberos v5 tickets and use them as tokens without modification.&nbsp;
--- 819,829 ----
  Service.<span style='mso-spacerun:yes'>   </span></p>
  
  <p class=MsoNormal>The recommended version of <a
! href="http://web.mit.edu/kerberos/">MIT Kerberos for Windows</a> is 3.2.2.<span
! style='mso-spacerun:yes'>  </span>KFW 3.2.2 includes Network Identity Manager
! 1.3.1 which integrates with the <a href="#_3.1.3._Network_Identity">AFS
! Provider</a> installed as part of OpenAFS for Windows.<span
! style='mso-spacerun:yes'>  </span></p>
  
  <p class=MsoNormal>When KFW is installed, the OpenAFS for Windows client will
  obtain Kerberos v5 tickets and use them as tokens without modification.&nbsp;
***************
*** 825,833 ****
  style='mso-spacerun:yes'>  </span>IBM Transarc servers do not support Kerberos
  v5.</p>
  
! <h3><a name="_Toc170268821"></a><a name="_Toc152605040"></a><a
  name="_Toc115416106"></a><a name="_Toc139993090"></a><a name="_Toc126872171"></a><span
! style='mso-bookmark:_Toc170268821'><span style='mso-bookmark:_Toc152605040'><span
  style='mso-bookmark:_Toc115416106'>3.1.1. Active Directory</span></span></span></h3>
  
  <p class=MsoNormal>Microsoft Windows Active Directory can be used as a Kerberos
--- 835,843 ----
  style='mso-spacerun:yes'>  </span>IBM Transarc servers do not support Kerberos
  v5.</p>
  
! <h3><a name="_Toc184788746"></a><a name="_Toc152605040"></a><a
  name="_Toc115416106"></a><a name="_Toc139993090"></a><a name="_Toc126872171"></a><span
! style='mso-bookmark:_Toc184788746'><span style='mso-bookmark:_Toc152605040'><span
  style='mso-bookmark:_Toc115416106'>3.1.1. Active Directory</span></span></span></h3>
  
  <p class=MsoNormal>Microsoft Windows Active Directory can be used as a Kerberos
***************
*** 845,851 ****
  OpenAFS 1.2 servers only support the DES-CBC-CRC enctype.<span
  style='mso-spacerun:yes'>  </span>As a result, OpenAFS 1.2 servers cannot
  process the resulting Kerberos v5 tokens.<span style='mso-spacerun:yes'> 
! </span>Windows 2000 Active Directory issued tickets with the DES-CBC-CRC
  enctype.</p>
  
  <p class=MsoNormal>Microsoft has documented in <a
--- 855,861 ----
  OpenAFS 1.2 servers only support the DES-CBC-CRC enctype.<span
  style='mso-spacerun:yes'>  </span>As a result, OpenAFS 1.2 servers cannot
  process the resulting Kerberos v5 tokens.<span style='mso-spacerun:yes'> 
! </span>Windows 2000 Active Directory issues tickets with the DES-CBC-CRC
  enctype.</p>
  
  <p class=MsoNormal>Microsoft has documented in <a
***************
*** 855,869 ****
  set, the PAC authorization data will not be included in the ticket.<span
  style='mso-spacerun:yes'>  </span>Setting this flag is recommended for all
  accounts that are associated with non-Windows services and that do not
! understand the authorization data stored in the <st1:place w:st="on">PAC.</st1:place></p>
  
! <h3><a name="_Toc170268822"></a><a name="_Toc152605041"></a><a
  name="_Toc115416107"></a><a name="_Toc139993091"></a><a name="_Toc126872172"></a><span
! style='mso-bookmark:_Toc170268822'><span style='mso-bookmark:_Toc152605041'><span
  style='mso-bookmark:_Toc115416107'>3.1.2. Using the krb524 service</span></span></span></h3>
  
! <p class=MsoNormal>Some organizations which have AFS cell names and Kerberos
! realm names which differ by more then just lower and upper case rely on a modification
  to krb524d which maps a Kerberos v5 ticket from realm FOO to a Kerberos v4
  ticket in realm BAR.&nbsp; This allows user@FOO to appear to be user@bar for
  the purposes of accessing the AFS cell.&nbsp; As of OpenAFS 1.2.8, support was
--- 865,881 ----
  set, the PAC authorization data will not be included in the ticket.<span
  style='mso-spacerun:yes'>  </span>Setting this flag is recommended for all
  accounts that are associated with non-Windows services and that do not
! understand the authorization data stored in the <st1:place w:st="on">PAC.</st1:place><span
! style='mso-spacerun:yes'>  </span>This flag cannot be used if AFS service
! tickets are obtained via cross-realm using an Active Directory user principal.</p>
  
! <h3><a name="_Toc184788747"></a><a name="_Toc152605041"></a><a
  name="_Toc115416107"></a><a name="_Toc139993091"></a><a name="_Toc126872172"></a><span
! style='mso-bookmark:_Toc184788747'><span style='mso-bookmark:_Toc152605041'><span
  style='mso-bookmark:_Toc115416107'>3.1.2. Using the krb524 service</span></span></span></h3>
  
! <p class=MsoNormal>Some organizations have AFS cell names and Kerberos realm
! names which differ by more then just lower and upper case and rely on a modification
  to krb524d which maps a Kerberos v5 ticket from realm FOO to a Kerberos v4
  ticket in realm BAR.&nbsp; This allows user@FOO to appear to be user@bar for
  the purposes of accessing the AFS cell.&nbsp; As of OpenAFS 1.2.8, support was
***************
*** 874,880 ****
  to cryptographically stronger algorithms for authentication and encryption. </p>
  
  <p class=MsoNormal>Another reason for using Kerberos v5 directly is because the
! krb524 service runs on a port (4444) which has become increasingly blocked by
  ISPs.&nbsp; The port was used to spread a worm which attacked Microsoft Windows
  in the summer of 2003.&nbsp; When the port is blocked users find that they are
  unable to authenticate.</p>
--- 886,892 ----
  to cryptographically stronger algorithms for authentication and encryption. </p>
  
  <p class=MsoNormal>Another reason for using Kerberos v5 directly is because the
! krb524 service runs on a port (4444/udp) which has increasingly been blocked by
  ISPs.&nbsp; The port was used to spread a worm which attacked Microsoft Windows
  in the summer of 2003.&nbsp; When the port is blocked users find that they are
  unable to authenticate.</p>
***************
*** 888,895 ****
  should only be used by individuals until such time as their organizations can
  provide a more permanent solution.</p>
  
! <h3><a name="_Toc170268823"></a><a name="_Toc152605042"></a><a
! name="_3.1.3._Network_Identity"></a><span style='mso-bookmark:_Toc170268823'><span
  style='mso-bookmark:_Toc152605042'>3.1.3. Network Identity Manager P</span>rovider</span></h3>
  
  <p class=MsoNormal>As of release 1.5.9, OpenAFS for Windows includes a Network
--- 900,911 ----
  should only be used by individuals until such time as their organizations can
  provide a more permanent solution.</p>
  
! <p class=MsoNormal>Note that the OpenAFS 1.4.x servers permit the use of a
! secondary realm name that can be treated as equivalent to the cell name for
! authentication. </p>
! 
! <h3><a name="_Toc184788748"></a><a name="_Toc152605042"></a><a
! name="_3.1.3._Network_Identity"></a><span style='mso-bookmark:_Toc184788748'><span
  style='mso-bookmark:_Toc152605042'>3.1.3. Network Identity Manager P</span>rovider</span></h3>
  
  <p class=MsoNormal>As of release 1.5.9, OpenAFS for Windows includes a Network
***************
*** 901,908 ****
  href="http://web.mit.edu/kerberos/">MIT Kerberos for Windows</a> version 3.0
  and above.<span style='mso-spacerun:yes'>  </span>The OpenAFS plug-in requires <a
  href="http://web.mit.edu/kerberos/">MIT Kerberos for Windows</a> version 3.1 or
! above.<span style='mso-spacerun:yes'>  </span>Version 3.2 is required for the
! best user experience.</p>
  
  <p class=MsoNormal align=center style='text-align:center'><!--[if gte vml 1]><v:shapetype
   id="_x0000_t75" coordsize="21600,21600" o:spt="75" o:preferrelative="t"
--- 917,924 ----
  href="http://web.mit.edu/kerberos/">MIT Kerberos for Windows</a> version 3.0
  and above.<span style='mso-spacerun:yes'>  </span>The OpenAFS plug-in requires <a
  href="http://web.mit.edu/kerberos/">MIT Kerberos for Windows</a> version 3.1 or
! above.<span style='mso-spacerun:yes'>  </span>Version 3.2.2 is recommended for
! the best user experience.</p>
  
  <p class=MsoNormal align=center style='text-align:center'><!--[if gte vml 1]><v:shapetype
   id="_x0000_t75" coordsize="21600,21600" o:spt="75" o:preferrelative="t"
***************
*** 933,941 ****
  <p class=MsoNormal>The Network Identity Manager replaces the former KFW ticket
  manager, Leash”, and when combined with the OpenAFS Provider, it is intended to
  be used as a replacement for the AFS System Tray Tool (afscreds.exe).<span
! style='mso-spacerun:yes'>  </span>Unlike both Leash and the AFS System Tray
! Tool, Network Identity Manager with the OpenAFS Provider can easily manage AFS
! tokens for multiple cells from one or more Kerberos v5 identities.</p>
  
  <p class=MsoNormal align=center style='text-align:center'><!--[if gte vml 1]><v:shape
   id="_x0000_i1026" type="#_x0000_t75" style='width:406.5pt;height:294.75pt'>
--- 949,957 ----
  <p class=MsoNormal>The Network Identity Manager replaces the former KFW ticket
  manager, Leash”, and when combined with the OpenAFS Provider, it is intended to
  be used as a replacement for the AFS System Tray Tool (afscreds.exe).<span
! style='mso-spacerun:yes'>  </span>Unlike both Leash and the AFS System Tray Tool,
! Network Identity Manager with the OpenAFS Provider can easily manage AFS tokens
! for multiple cells from one or more Kerberos v5 identities.</p>
  
  <p class=MsoNormal align=center style='text-align:center'><!--[if gte vml 1]><v:shape
   id="_x0000_i1026" type="#_x0000_t75" style='width:406.5pt;height:294.75pt'>
***************
*** 946,954 ****
  <p class=MsoNormal>The AFS configuration panel for each Kerberos v5 identity is
  used to configure which cells credentials should be obtained for and how they
  should be obtained.<span style='mso-spacerun:yes'>  </span>If the cell to realm
! mapping cannot be automatically determined, it can be explicitly specified.<span
! style='mso-spacerun:yes'>  </span>If the cell does not support Kerberos v5
! tickets as tokens, then a krb524 service can be configured.</p>
  
  <p class=MsoNormal align=center style='text-align:center'><!--[if gte vml 1]><v:shape
   id="_x0000_i1027" type="#_x0000_t75" style='width:406.5pt;height:294.75pt'>
--- 962,970 ----
  <p class=MsoNormal>The AFS configuration panel for each Kerberos v5 identity is
  used to configure which cells credentials should be obtained for and how they
  should be obtained.<span style='mso-spacerun:yes'>  </span>If the cell to realm
! mapping cannot be automatically determined, it can be explicitly
! specified.<span style='mso-spacerun:yes'>  </span>If the cell does not support
! Kerberos v5 tickets as tokens, then a krb524 service can be configured.</p>
  
  <p class=MsoNormal align=center style='text-align:center'><!--[if gte vml 1]><v:shape
   id="_x0000_i1027" type="#_x0000_t75" style='width:406.5pt;height:294.75pt'>
***************
*** 963,971 ****
  login.<span style='mso-spacerun:yes'>   </span>A shortcut to the OpenAFS
  Control Panel is also provided.</p>
  
! <h2><a name="_Toc170268824"></a><a name="_Toc152605043"></a><a
  name="_Toc115416108"></a><a name="_Toc139993092"></a><a name="_Toc126872173"></a><a
! name="_Toc115417044"></a><span style='mso-bookmark:_Toc170268824'><span
  style='mso-bookmark:_Toc152605043'><span style='mso-bookmark:_Toc115416108'>3.2.
  Use of the Microsoft Loopback Adapter</span> by the AFS Client Service</span></span></h2>
  
--- 979,987 ----
  login.<span style='mso-spacerun:yes'>   </span>A shortcut to the OpenAFS
  Control Panel is also provided.</p>
  
! <h2><a name="_Toc184788749"></a><a name="_Toc152605043"></a><a
  name="_Toc115416108"></a><a name="_Toc139993092"></a><a name="_Toc126872173"></a><a
! name="_Toc115417044"></a><span style='mso-bookmark:_Toc184788749'><span
  style='mso-bookmark:_Toc152605043'><span style='mso-bookmark:_Toc115416108'>3.2.
  Use of the Microsoft Loopback Adapter</span> by the AFS Client Service</span></span></h2>
  
***************
*** 973,981 ****
  behavior in a plug-n-play network environment.&nbsp; Changes to the number of
  network adapters or their assigned IP addresses will cause the service to
  terminate unexpectedly.&nbsp; To avoid this behavior OpenAFS for Windows
! installs a single instance of the Microsoft Loopback Adapter (MLA) on the machine.&nbsp;
! With the MLA installed, the OpenAFS Client Service will not be affected by the
! configuration changes of other network adapters installed on the system.&nbsp; </p>
  
  <p class=MsoNormal>The MLA is installed with a name of &quot;AFS&quot; and a
  pre-assigned IP address in the 10.x.x.x range.&nbsp; The MLA is bound to the
--- 989,998 ----
  behavior in a plug-n-play network environment.&nbsp; Changes to the number of
  network adapters or their assigned IP addresses will cause the service to
  terminate unexpectedly.&nbsp; To avoid this behavior OpenAFS for Windows
! installs a single instance of the Microsoft Loopback Adapter (MLA) on the
! machine.&nbsp; With the MLA installed, the OpenAFS Client Service will not be
! affected by the configuration changes of other network adapters installed on
! the system.&nbsp; </p>
  
  <p class=MsoNormal>The MLA is installed with a name of &quot;AFS&quot; and a
  pre-assigned IP address in the 10.x.x.x range.&nbsp; The MLA is bound to the
***************
*** 1016,1030 ****
  
  <p class=MsoNormal>When the MLA is not installed the unique NETBIOS name
  published by OpenAFS SMB server is &quot;<i>MACHINE</i>-AFS&quot;.&nbsp; One of
! the benefits of using the MLA is that the NETBIOS name does not have to be
! published on any adapter other than the MLA.&nbsp; Therefore the chosen name is
! no longer required to be unique.&nbsp; Instead the NETBIOS name associated with
! the AFS Client Service is simply &quot;AFS&quot; and portable UNC paths of the
! form \\AFS\cellname\path can now be used on all machines.</p>
  
! <h2><a name="_Toc170268825"></a><a name="_Toc152605044"></a><a
  name="_Toc115416109"></a><a name="_Toc139993093"></a><a name="_Toc126872174"></a><a
! name="_Toc115417045"></a><span style='mso-bookmark:_Toc170268825'><span
  style='mso-bookmark:_Toc152605044'><span style='mso-bookmark:_Toc115416109'>3.3.
  Using Freelance (Dynamic Root) Mode to Improve Mobility</span></span></span></h2>
  
--- 1033,1047 ----
  
  <p class=MsoNormal>When the MLA is not installed the unique NETBIOS name
  published by OpenAFS SMB server is &quot;<i>MACHINE</i>-AFS&quot;.&nbsp; One of
! the benefits of using the MLA is that the NETBIOS name does not have to be published
! on any adapter other than the MLA.&nbsp; Therefore the chosen name is no longer
! required to be unique.&nbsp; Instead the NETBIOS name associated with the AFS
! Client Service is simply &quot;AFS&quot; and portable UNC paths of the form
! \\AFS\cellname\path can now be used on all machines.</p>
  
! <h2><a name="_Toc184788750"></a><a name="_Toc152605044"></a><a
  name="_Toc115416109"></a><a name="_Toc139993093"></a><a name="_Toc126872174"></a><a
! name="_Toc115417045"></a><span style='mso-bookmark:_Toc184788750'><span
  style='mso-bookmark:_Toc152605044'><span style='mso-bookmark:_Toc115416109'>3.3.
  Using Freelance (Dynamic Root) Mode to Improve Mobility</span></span></span></h2>
  
***************
*** 1050,1066 ****
  path </i>and <i>read-write path </i>mount point used to access the
  &quot;root.cell&quot; volume of the default AFS cell.&nbsp; Any attempt to
  access a valid cell name will result in a new mount point being created in the
! fake &quot;root.afs&quot; volume.&nbsp; If the cellname begins with a &quot;.&quot;
! the mount point will be a <i>read-write path</i>; otherwise the mount point
! will be a <i>regular path</i>.&nbsp; These mount points are preserved in the
! registry at key:</p>
  
  <p class=preformattedtext style='margin-left:35.45pt'><a
  href="#_Regkey:_[HKLMSOFTWAREOpenAFSClie">HKLM\SOFTWARE\OpenAFS\Client\Freelance</a></p>
  
  <p class=MsoNormal>Additional mount points may be manually created using the
! &quot;fs mkmount&quot; command.&nbsp; Mount points may be removed using the
! &quot;fs rmmount&quot; command.</p>
  
  <p class=preformattedtext style='margin-left:35.45pt'>&gt;fs mkmount
  \\AFS\athena.mit.edu root.cell athena.mit.edu</p>
--- 1067,1083 ----
  path </i>and <i>read-write path </i>mount point used to access the
  &quot;root.cell&quot; volume of the default AFS cell.&nbsp; Any attempt to
  access a valid cell name will result in a new mount point being created in the
! fake &quot;root.afs&quot; volume.&nbsp; If the cellname begins with a
! &quot;.&quot; the mount point will be a <i>read-write path</i>; otherwise the
! mount point will be a <i>regular path</i>.&nbsp; These mount points are
! preserved in the registry at key:</p>
  
  <p class=preformattedtext style='margin-left:35.45pt'><a
  href="#_Regkey:_[HKLMSOFTWAREOpenAFSClie">HKLM\SOFTWARE\OpenAFS\Client\Freelance</a></p>
  
  <p class=MsoNormal>Additional mount points may be manually created using the
! &quot;fs mkmount&quot; command.&nbsp; Mount points may be removed using the &quot;fs
! rmmount&quot; command.</p>
  
  <p class=preformattedtext style='margin-left:35.45pt'>&gt;fs mkmount
  \\AFS\athena.mit.edu root.cell athena.mit.edu</p>
***************
*** 1093,1101 ****
  <p class=preformattedtext style='margin-left:35.45pt'><a
  href="#_Regkey:_[HKLMSOFTWAREOpenAFSClie_1">HKLM\SOFTWARE\OpenAFS\Client\Freelance\Symlinks</a>&nbsp;</p>
  
! <h2><a name="_Toc170268826"></a><a name="_Toc152605045"></a><a
  name="_Toc115416110"></a><a name="_Toc139993094"></a><a name="_Toc126872175"></a><a
! name="_Toc115417046"></a><span style='mso-bookmark:_Toc170268826'><span
  style='mso-bookmark:_Toc152605045'><span style='mso-bookmark:_Toc115416110'>3.4.
  Locating AFS Volume Database Servers</span> via DNS</span></span> </h2>
  
--- 1110,1118 ----
  <p class=preformattedtext style='margin-left:35.45pt'><a
  href="#_Regkey:_[HKLMSOFTWAREOpenAFSClie_1">HKLM\SOFTWARE\OpenAFS\Client\Freelance\Symlinks</a>&nbsp;</p>
  
! <h2><a name="_Toc184788751"></a><a name="_Toc152605045"></a><a
  name="_Toc115416110"></a><a name="_Toc139993094"></a><a name="_Toc126872175"></a><a
! name="_Toc115417046"></a><span style='mso-bookmark:_Toc184788751'><span
  style='mso-bookmark:_Toc152605045'><span style='mso-bookmark:_Toc115416110'>3.4.
  Locating AFS Volume Database Servers</span> via DNS</span></span> </h2>
  
***************
*** 1104,1112 ****
  are not present in the client's CellServDB file
  (\%PROGRAMFILES%\OpenAFS\Client\CellServDB).</p>
  
! <h2><a name="_Toc170268827"></a><a name="_Toc152605046"></a><a
  name="_Toc115416111"></a><a name="_Toc139993095"></a><a name="_Toc126872176"></a><a
! name="_Toc115417047"></a><span style='mso-bookmark:_Toc170268827'><span
  style='mso-bookmark:_Toc152605046'><span style='mso-bookmark:_Toc115416111'>3.5.
  Obtaining AFS Tokens as a Integrated Part of Windows Logon</span></span></span></h2>
  
--- 1121,1129 ----
  are not present in the client's CellServDB file
  (\%PROGRAMFILES%\OpenAFS\Client\CellServDB).</p>
  
! <h2><a name="_Toc184788752"></a><a name="_Toc152605046"></a><a
  name="_Toc115416111"></a><a name="_Toc139993095"></a><a name="_Toc126872176"></a><a
! name="_Toc115417047"></a><span style='mso-bookmark:_Toc184788752'><span
  style='mso-bookmark:_Toc152605046'><span style='mso-bookmark:_Toc115416111'>3.5.
  Obtaining AFS Tokens as a Integrated Part of Windows Logon</span></span></span></h2>
  
***************
*** 1143,1151 ****
  multiple cells.&nbsp; For further information on how to configure this feature
  read about the <a href="#_Value:_TheseCells">TheseCells</a> value.</p>
  
! <h2><a name="_Toc170268828"></a><a name="_Toc152605047"></a><a
  name="_Toc115416112"></a><a name="_Toc139993096"></a><a name="_Toc126872177"></a><a
! name="_Toc115417048"></a><span style='mso-bookmark:_Toc170268828'><span
  style='mso-bookmark:_Toc152605047'><span style='mso-bookmark:_Toc115416112'>3.6.
  AFS System Tray Command Line Options</span></span></span></h2>
  
--- 1160,1168 ----
  multiple cells.&nbsp; For further information on how to configure this feature
  read about the <a href="#_Value:_TheseCells">TheseCells</a> value.</p>
  
! <h2><a name="_Toc184788753"></a><a name="_Toc152605047"></a><a
  name="_Toc115416112"></a><a name="_Toc139993096"></a><a name="_Toc126872177"></a><a
! name="_Toc115417048"></a><span style='mso-bookmark:_Toc184788753'><span
  style='mso-bookmark:_Toc152605047'><span style='mso-bookmark:_Toc115416112'>3.6.
  AFS System Tray Command Line Options</span></span></span></h2>
  
***************
*** 1201,1209 ****
  basis.&nbsp; See <a href="#_Value___:_AfscredsShortcutParams">AfscredsShortcutParams</a>
  in <a href="#_Appendix_A:_Registry_Values">Appendix A</a>.</p>
  
! <h2><a name="_Toc170268829"></a><a name="_Toc152605048"></a><a
  name="_Toc115416113"></a><a name="_Toc139993097"></a><a name="_Toc126872178"></a><a
! name="_Toc115417049"></a><span style='mso-bookmark:_Toc170268829'><span
  style='mso-bookmark:_Toc152605048'><span style='mso-bookmark:_Toc115416113'>3.7.
  The “AFS Client Admins” Authorization Group</span></span></span></h2>
  
--- 1218,1226 ----
  basis.&nbsp; See <a href="#_Value___:_AfscredsShortcutParams">AfscredsShortcutParams</a>
  in <a href="#_Appendix_A:_Registry_Values">Appendix A</a>.</p>
  
! <h2><a name="_Toc184788754"></a><a name="_Toc152605048"></a><a
  name="_Toc115416113"></a><a name="_Toc139993097"></a><a name="_Toc126872178"></a><a
! name="_Toc115417049"></a><span style='mso-bookmark:_Toc184788754'><span
  style='mso-bookmark:_Toc152605048'><span style='mso-bookmark:_Toc115416113'>3.7.
  The “AFS Client Admins” Authorization Group</span></span></span></h2>
  
***************
*** 1282,1290 ****
  the <a href="#_Value_:_SysName">registry</a> and not via &quot;fs
  sysname&quot;.</p>
  
! <h2><a name="_Toc170268830"></a><a name="_Toc152605049"></a><a
  name="_Toc115416114"></a><a name="_Toc139993098"></a><a name="_Toc126872179"></a><a
! name="_Toc115417050"></a><span style='mso-bookmark:_Toc170268830'><span
  style='mso-bookmark:_Toc152605049'><span style='mso-bookmark:_Toc115416114'>3.8.
  OpenAFS support for UNC paths</span></span></span> </h2>
  
--- 1299,1307 ----
  the <a href="#_Value_:_SysName">registry</a> and not via &quot;fs
  sysname&quot;.</p>
  
! <h2><a name="_Toc184788755"></a><a name="_Toc152605049"></a><a
  name="_Toc115416114"></a><a name="_Toc139993098"></a><a name="_Toc126872179"></a><a
! name="_Toc115417050"></a><span style='mso-bookmark:_Toc184788755'><span
  style='mso-bookmark:_Toc152605049'><span style='mso-bookmark:_Toc115416114'>3.8.
  OpenAFS support for UNC paths</span></span></span> </h2>
  
***************
*** 1305,1317 ****
  many AFS specific functions and variables have been added to the command
  language.</p>
  
! <p class=MsoNormal>JPSoftware's web site is <span class=MsoHyperlink>http://www.jpsoft.com</span>.</p>
  
! <h2><a name="_Toc170268831"></a><a name="_Toc152605050"></a><a
  name="_Toc115416115"></a><a name="_Toc139993099"></a><a name="_Toc126872180"></a><a
! name="_Toc115417051"></a><span style='mso-bookmark:_Toc170268831'><span
  style='mso-bookmark:_Toc152605050'><span style='mso-bookmark:_Toc115416115'>3.9.
! aklog.exe</span></span></span></h2>
  
  <p class=MsoNormal>The OpenAFS Client ships with its own version of aklog.exe
  which should be used in preference to those obtained by other sources.&nbsp;
--- 1322,1335 ----
  many AFS specific functions and variables have been added to the command
  language.</p>
  
! <p class=MsoNormal>JPSoftware's web site is <span class=MsoHyperlink><a
! href="http://www.jpsoft.com/">http://www.jpsoft.com</a></span>.</p>
  
! <h2><a name="_Toc184788756"></a><a name="_Toc152605050"></a><a
  name="_Toc115416115"></a><a name="_Toc139993099"></a><a name="_Toc126872180"></a><a
! name="_Toc115417051"></a><span style='mso-bookmark:_Toc184788756'><span
  style='mso-bookmark:_Toc152605050'><span style='mso-bookmark:_Toc115416115'>3.9.
! <span class=GramE>aklog.exe</span></span></span></span></h2>
  
  <p class=MsoNormal>The OpenAFS Client ships with its own version of aklog.exe
  which should be used in preference to those obtained by other sources.&nbsp;
***************
*** 1350,1358 ****
  <p class=preformattedtext>&nbsp;&nbsp; -m = use krb524d to convert Kerberos V
  tickets to Kerberos IV</p>
  
! <h2><a name="_Toc170268832"></a><a name="_Toc152605051"></a><a
  name="_Toc115416116"></a><a name="_Toc139993100"></a><a name="_Toc126872181"></a><a
! name="_Toc115417052"></a><span style='mso-bookmark:_Toc170268832'><span
  style='mso-bookmark:_Toc152605051'><span style='mso-bookmark:_Toc115416116'>3.10.
  OpenAFS Servers on Windows are Unsupported</span></span></span></h2>
  
--- 1368,1376 ----
  <p class=preformattedtext>&nbsp;&nbsp; -m = use krb524d to convert Kerberos V
  tickets to Kerberos IV</p>
  
! <h2><a name="_Toc184788757"></a><a name="_Toc152605051"></a><a
  name="_Toc115416116"></a><a name="_Toc139993100"></a><a name="_Toc126872181"></a><a
! name="_Toc115417052"></a><span style='mso-bookmark:_Toc184788757'><span
  style='mso-bookmark:_Toc152605051'><span style='mso-bookmark:_Toc115416116'>3.10.
  OpenAFS Servers on Windows are Unsupported</span></span></span></h2>
  
***************
*** 1362,1370 ****
  lost should not be stored in an OpenAFS Server on Windows.</p>
  
  <p class=MsoNormal>Known issues include lack of support for power management
! and dynamic network configuration.</p>
  
! <h3><a name="_Toc170268833">3.10.1. OpenAFS Server Installation</a></h3>
  
  <p class=MsoNormal>When the OpenAFS Server is installed, the TransarcAFSServer
  service (bosctlsvc.exe) will be installed and configured.<span
--- 1380,1389 ----
  lost should not be stored in an OpenAFS Server on Windows.</p>
  
  <p class=MsoNormal>Known issues include lack of support for power management
! and dynamic network configuration.<span style='mso-spacerun:yes'> 
! </span>Salvager is also known to crash.</p>
  
! <h3><a name="_Toc184788758">3.10.1. OpenAFS Server Installation</a></h3>
  
  <p class=MsoNormal>When the OpenAFS Server is installed, the TransarcAFSServer
  service (bosctlsvc.exe) will be installed and configured.<span
***************
*** 1373,1388 ****
  former AFS Server Configuration wizard makes assumptions that no longer hold
  true and it has therefore been disabled.<span style='mso-spacerun:yes'> 
  </span>However, following the instructions for installing the AFS Servers on
! UNIX it is possible to properly configure the AFS Servers on Microsoft Windows.<span
! style='mso-spacerun:yes'>  </span>The AFS Server binaries, configuration files,
! and log files are installed under %Program Files%\OpenAFS\Server.<span
! style='mso-spacerun:yes'>   </span><span style='color:red'><a
! href="http://www.openafs.org/no-more-des.html"><span style='color:red'>kaserver
! has been deprecated and its use is strongly discouraged.</span></a></span><span
  style='mso-spacerun:yes'>  </span>Instead, Active Directory or some other
  Kerberos v5 KDC should be used in its place.</p>
  
! <h3><a name="_Toc170268834">3.10.2. Using the AFS Client Service when the
  Server is installed</a></h3>
  
  <p class=MsoNormal>A few notes on the usage of the AFS Client Service if it is
--- 1392,1408 ----
  former AFS Server Configuration wizard makes assumptions that no longer hold
  true and it has therefore been disabled.<span style='mso-spacerun:yes'> 
  </span>However, following the instructions for installing the AFS Servers on
! UNIX it is possible to properly configure the AFS Servers on Microsoft
! Windows.<span style='mso-spacerun:yes'>  </span>The AFS Server binaries,
! configuration files, and log files are installed under %Program
! Files%\OpenAFS\Server.<span style='mso-spacerun:yes'>   </span><span
! style='color:red'><a href="http://www.openafs.org/no-more-des.html"><span
! class=GramE><span style='color:red'>kaserver</span></span><span
! style='color:red'> has been deprecated and its use is strongly discouraged.</span></a></span><span
  style='mso-spacerun:yes'>  </span>Instead, Active Directory or some other
  Kerberos v5 KDC should be used in its place.</p>
  
! <h3><a name="_Toc184788759">3.10.2. Using the AFS Client Service when the
  Server is installed</a></h3>
  
  <p class=MsoNormal>A few notes on the usage of the AFS Client Service if it is
***************
*** 1407,1421 ****
  <p class=MsoNormal style='margin-left:14.15pt;text-indent:-14.15pt'><span
  style='font-size:9.0pt;font-family:Symbol'>·</span><span style='font-size:7.0pt;
  font-family:"Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>The
! AFS Servers are not aware of power management events nor are they aware of
! network configuration changes.<span style='mso-spacerun:yes'>  </span>It is
! strongly advised that the AFS servers be installed only on systems that will
! not be shutdown or suspended unexpectedly.<span style='mso-spacerun:yes'>  
! </span>An inadvertent shutdown will corrupt volume data.</p>
  
! <h2><a name="_Toc170268835"></a><a name="_Toc152605052"></a><a
  name="_Toc115416117"></a><a name="_Toc139993101"></a><a name="_Toc126872182"></a><a
! name="_Toc115417053"></a><span style='mso-bookmark:_Toc170268835'><span
  style='mso-bookmark:_Toc152605052'><span style='mso-bookmark:_Toc115416117'>3.11.
  OpenAFS Debugging Symbol files</span></span></span></h2>
  
--- 1427,1441 ----
  <p class=MsoNormal style='margin-left:14.15pt;text-indent:-14.15pt'><span
  style='font-size:9.0pt;font-family:Symbol'>·</span><span style='font-size:7.0pt;
  font-family:"Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>The
! AFS Servers are not aware of power management events nor are they aware of network
! configuration changes.<span style='mso-spacerun:yes'>  </span>It is strongly
! advised that the AFS servers be installed only on systems that will not be
! shutdown or suspended unexpectedly.<span style='mso-spacerun:yes'>   </span>An
! inadvertent shutdown will corrupt volume data.</p>
  
! <h2><a name="_Toc184788760"></a><a name="_Toc152605052"></a><a
  name="_Toc115416117"></a><a name="_Toc139993101"></a><a name="_Toc126872182"></a><a
! name="_Toc115417053"></a><span style='mso-bookmark:_Toc184788760'><span
  style='mso-bookmark:_Toc152605052'><span style='mso-bookmark:_Toc115416117'>3.11.
  OpenAFS Debugging Symbol files</span></span></span></h2>
  
***************
*** 1448,1480 ****
  or not additional debug statements were compiled into the binaries (release:
  no, debug: yes)</p>
  
! <h2><a name="_Toc170268836"></a><a name="_Toc152605053"></a><a
  name="_Toc115416118"></a><a name="_Toc139993102"></a><a name="_Toc126872183"></a><a
! name="_Toc115417054"></a><span style='mso-bookmark:_Toc170268836'><span
  style='mso-bookmark:_Toc152605053'><span style='mso-bookmark:_Toc115416118'>3.12.
  </span>Large File (64-bit) Support</span></span></h2>
  
! <p class=MsoNormal>As of release 1.5.3, OpenAFS for Windows supports files
! larger than 2GB.&nbsp; The maximum file size is now 16777216 terabytes when the
! AFS File Server supports large files.&nbsp;&nbsp; If the AFS File Server does
! not support large files, then the file size limit remains 2GB.</p>
  
! <h2><a name="_Toc170268837"></a><a name="_Toc152605054"></a><a
  name="_Toc115416119"></a><a name="_Toc139993103"></a><a name="_Toc126872184"></a><a
! name="_Toc115417055"></a><span style='mso-bookmark:_Toc170268837'><span
  style='mso-bookmark:_Toc152605054'><span style='mso-bookmark:_Toc115416119'>3.13.
  Encrypted AFS Network Communication</span></span></span></h2>
  
  <p class=MsoNormal>The OpenAFS for Windows installer by default activates a
  weak form of encrypted data transfer between the AFS client and the AFS
  servers.&nbsp; This is often referred to as &quot;fcrypt&quot; mode.&nbsp;
! Encrypted data transfer can be turned on or off with the “fs crypt”
! command.&nbsp; Transitions between “crypt” and “non-crypt” modes are logged to
! the Windows Application Event Log. </p>
  
! <h2><a name="_Toc170268838"></a><a name="_Toc152605055"></a><a
  name="_Toc115416120"></a><a name="_Toc139993104"></a><a name="_Toc126872185"></a><a
! name="_Toc115417056"></a><span style='mso-bookmark:_Toc170268838'><span
  style='mso-bookmark:_Toc152605055'><span style='mso-bookmark:_Toc115416120'>3.14.
  Authenticated Access to the OpenAFS Client Service</span></span></span></h2>
  
--- 1468,1500 ----
  or not additional debug statements were compiled into the binaries (release:
  no, debug: yes)</p>
  
! <h2><a name="_Toc184788761"></a><a name="_Toc152605053"></a><a
  name="_Toc115416118"></a><a name="_Toc139993102"></a><a name="_Toc126872183"></a><a
! name="_Toc115417054"></a><span style='mso-bookmark:_Toc184788761'><span
  style='mso-bookmark:_Toc152605053'><span style='mso-bookmark:_Toc115416118'>3.12.
  </span>Large File (64-bit) Support</span></span></h2>
  
! <p class=MsoNormal>As of release 1.5.3, OpenAFS for Windows supports files larger
! than 2GB.&nbsp; The maximum file size is now 16777216 terabytes when the AFS
! File Server supports large files.&nbsp;&nbsp; If the AFS File Server does not
! support 64-bit file sizes, then the maximum file size remains 2GB.</p>
  
! <h2><a name="_Toc184788762"></a><a name="_Toc152605054"></a><a
  name="_Toc115416119"></a><a name="_Toc139993103"></a><a name="_Toc126872184"></a><a
! name="_Toc115417055"></a><span style='mso-bookmark:_Toc184788762'><span
  style='mso-bookmark:_Toc152605054'><span style='mso-bookmark:_Toc115416119'>3.13.
  Encrypted AFS Network Communication</span></span></span></h2>
  
  <p class=MsoNormal>The OpenAFS for Windows installer by default activates a
  weak form of encrypted data transfer between the AFS client and the AFS
  servers.&nbsp; This is often referred to as &quot;fcrypt&quot; mode.&nbsp;
! Encrypted data transfer can be turned on or off with the “fs crypt” command.&nbsp;
! Transitions between “crypt” and “non-crypt” modes are logged to the Windows
! Application Event Log. </p>
  
! <h2><a name="_Toc184788763"></a><a name="_Toc152605055"></a><a
  name="_Toc115416120"></a><a name="_Toc139993104"></a><a name="_Toc126872185"></a><a
! name="_Toc115417056"></a><span style='mso-bookmark:_Toc184788763'><span
  style='mso-bookmark:_Toc152605055'><span style='mso-bookmark:_Toc115416120'>3.14.
  Authenticated Access to the OpenAFS Client Service</span></span></span></h2>
  
***************
*** 1495,1503 ****
  Instead, Windows will internally recognize the request as coming from a local
  logon session.</p>
  
! <h2><a name="_Toc170268839"></a><a name="_Toc152605056"></a><a
  name="_Toc115416121"></a><a name="_Toc139993105"></a><a name="_Toc126872186"></a><a
! name="_Toc115417057"></a><span style='mso-bookmark:_Toc170268839'><span
  style='mso-bookmark:_Toc152605056'><span style='mso-bookmark:_Toc115416121'>3.15.
  No More INI Files</span></span></span></h2>
  
--- 1515,1523 ----
  Instead, Windows will internally recognize the request as coming from a local
  logon session.</p>
  
! <h2><a name="_Toc184788764"></a><a name="_Toc152605056"></a><a
  name="_Toc115416121"></a><a name="_Toc139993105"></a><a name="_Toc126872186"></a><a
! name="_Toc115417057"></a><span style='mso-bookmark:_Toc184788764'><span
  style='mso-bookmark:_Toc152605056'><span style='mso-bookmark:_Toc115416121'>3.15.
  No More INI Files</span></span></span></h2>
  
***************
*** 1514,1522 ****
  the “afs_freelance.ini” file to the Windows registry.&nbsp;&nbsp; OpenAFS will
  not process the contents of the “afsddbmt.ini”.</p>
  
! <h2><a name="_Toc170268840"></a><a name="_Toc152605057"></a><a
  name="_Toc115416122"></a><a name="_Toc139993106"></a><a name="_Toc126872187"></a><a
! name="_Toc115417058"></a><span style='mso-bookmark:_Toc170268840'><span
  style='mso-bookmark:_Toc152605057'><span style='mso-bookmark:_Toc115416122'>3.16.
  Microsoft Windows Internet Connection Firewall</span></span></span></h2>
  
--- 1534,1542 ----
  the “afs_freelance.ini” file to the Windows registry.&nbsp;&nbsp; OpenAFS will
  not process the contents of the “afsddbmt.ini”.</p>
  
! <h2><a name="_Toc184788765"></a><a name="_Toc152605057"></a><a
  name="_Toc115416122"></a><a name="_Toc139993106"></a><a name="_Toc126872187"></a><a
! name="_Toc115417058"></a><span style='mso-bookmark:_Toc184788765'><span
  style='mso-bookmark:_Toc152605057'><span style='mso-bookmark:_Toc115416122'>3.16.
  Microsoft Windows Internet Connection Firewall</span></span></span></h2>
  
***************
*** 1528,1536 ****
  to allow SMB authentication to be performed across the Microsoft Loopback
  Adapter.</p>
  
! <h2><a name="_Toc170268841"></a><a name="_Toc152605058"></a><a
  name="_Toc115416123"></a><a name="_Toc139993107"></a><a name="_Toc126872188"></a><a
! name="_Toc115417059"></a><span style='mso-bookmark:_Toc170268841'><span
  style='mso-bookmark:_Toc152605058'><span style='mso-bookmark:_Toc115416123'>3.17.
  Browsing AFS from the Explorer Shell and Office</span></span></span></h2>
  
--- 1548,1556 ----
  to allow SMB authentication to be performed across the Microsoft Loopback
  Adapter.</p>
  
! <h2><a name="_Toc184788766"></a><a name="_Toc152605058"></a><a
  name="_Toc115416123"></a><a name="_Toc139993107"></a><a name="_Toc126872188"></a><a
! name="_Toc115417059"></a><span style='mso-bookmark:_Toc184788766'><span
  style='mso-bookmark:_Toc152605058'><span style='mso-bookmark:_Toc115416123'>3.17.
  Browsing AFS from the Explorer Shell and Office</span></span></span></h2>
  
***************
*** 1539,1547 ****
  significantly enhances the interoperability of AFS volumes within the Explorer
  Shell and Microsoft Office applications.</p>
  
! <h2><a name="_Toc170268842"></a><a name="_Toc152605059"></a><a
  name="_Toc115416124"></a><a name="_Toc139993108"></a><a name="_Toc126872189"></a><a
! name="_Toc115417060"></a><span style='mso-bookmark:_Toc170268842'><span
  style='mso-bookmark:_Toc152605059'><span style='mso-bookmark:_Toc115416124'>3.18.
  </span><st1:place w:st="on"><st1:PlaceName w:st="on">Byte</st1:PlaceName> <st1:PlaceType
   w:st="on">Range</st1:PlaceType></st1:place> Locking</span></span></h2>
--- 1559,1567 ----
  significantly enhances the interoperability of AFS volumes within the Explorer
  Shell and Microsoft Office applications.</p>
  
! <h2><a name="_Toc184788767"></a><a name="_Toc152605059"></a><a
  name="_Toc115416124"></a><a name="_Toc139993108"></a><a name="_Toc126872189"></a><a
! name="_Toc115417060"></a><span style='mso-bookmark:_Toc184788767'><span
  style='mso-bookmark:_Toc152605059'><span style='mso-bookmark:_Toc115416124'>3.18.
  </span><st1:place w:st="on"><st1:PlaceName w:st="on">Byte</st1:PlaceName> <st1:PlaceType
   w:st="on">Range</st1:PlaceType></st1:place> Locking</span></span></h2>
***************
*** 1562,1568 ****
  <p class=MsoNormal>Most Windows applications and Windows itself opens files in
  shared read mode. When this is done, a read lock is applied to the
  file.&nbsp;&nbsp; This does not prevent shared read access across multiple
! machines but is used to ensure that no one writes to the file while it is in use.</p>
  
  <p class=MsoNormal>As the CIFS-AFS gateway server attempts to implement Windows
  lock semantics on top of AFS lock semantics it is important to understand how
--- 1582,1589 ----
  <p class=MsoNormal>Most Windows applications and Windows itself opens files in
  shared read mode. When this is done, a read lock is applied to the
  file.&nbsp;&nbsp; This does not prevent shared read access across multiple
! machines but is used to ensure that no one writes to the file while it is in
! use.</p>
  
  <p class=MsoNormal>As the CIFS-AFS gateway server attempts to implement Windows
  lock semantics on top of AFS lock semantics it is important to understand how
***************
*** 1575,1586 ****
  that you can obtain a read lock on it.&nbsp;&nbsp; The ability to obtain read
  locks is granted only if you have the lock (or ‘k’) privilege.&nbsp; This
  behavior is required in order to allow anonymous users to read files while
! preventing them from being able to deny access to the files to other
! users.&nbsp; <i>OpenAFS 1.4.0 and earlier as well as all IBM AFS file servers
! have an implementation bug that prevents users with write privileges from being
! able to obtain locks without the lock privilege.</i>&nbsp; When AFS serves data
! out of read-only volumes the file server will deny all requests for read and
! write locks because the contents of the volume cannot be changed by the client.</p>
  
  <p class=MsoNormal>Since Microsoft Windows applications almost always attempt
  to obtain a temporary exclusive lock when accessing files the OpenAFS Client’s
--- 1596,1607 ----
  that you can obtain a read lock on it.&nbsp;&nbsp; The ability to obtain read
  locks is granted only if you have the lock (or ‘k’) privilege.&nbsp; This
  behavior is required in order to allow anonymous users to read files while
! preventing them from being able to deny access to the files to other users.&nbsp;
! <i>OpenAFS 1.4.0 and earlier as well as all IBM AFS file servers have an
! implementation bug that prevents users with write privileges from being able to
! obtain locks without the lock privilege.</i>&nbsp; When AFS serves data out of
! read-only volumes the file server will deny all requests for read and write
! locks because the contents of the volume cannot be changed by the client.</p>
  
  <p class=MsoNormal>Since Microsoft Windows applications almost always attempt
  to obtain a temporary exclusive lock when accessing files the OpenAFS Client’s
***************
*** 1588,1606 ****
  inconvenience on end users.&nbsp; </p>
  
  <ul style='margin-top:0pt' type=disc>
!  <li class=MsoNormal style='mso-list:l0 level1 lfo3;tab-stops:list 36.0pt'>If
       the file is located on a read-only volume and the application requests a
       shared lock, the CIFS-AFS server will grant the lock request without
       asking the AFS file server.</li>
!  <li class=MsoNormal style='mso-list:l0 level1 lfo3;tab-stops:list 36.0pt'>If
       the file is located on a read-only volume and the application opens the
       file with write access and requests an exclusive lock, the CIFS-AFS server
       will refuse the lock request and return a read only error.</li>
!  <li class=MsoNormal style='mso-list:l0 level1 lfo3;tab-stops:list 36.0pt'>If
       the file is located on a read-only volume and the application opens the
       file with only read access and requests an exclusive lock, the CIFS-AFS
       server will fulfill the lock request with a read lock.</li>
!  <li class=MsoNormal style='mso-list:l0 level1 lfo3;tab-stops:list 36.0pt'>If
       the file is located on a read-write volume and the application requests an
       exclusive lock, the CIFS-AFS server will request a write lock from the AFS
       file server.&nbsp; If granted by the file server, then the CIFS-AFS server
--- 1609,1627 ----
  inconvenience on end users.&nbsp; </p>
  
  <ul style='margin-top:0pt' type=disc>
!  <li class=MsoNormal style='mso-list:l1 level1 lfo3;tab-stops:list 36.0pt'>If
       the file is located on a read-only volume and the application requests a
       shared lock, the CIFS-AFS server will grant the lock request without
       asking the AFS file server.</li>
!  <li class=MsoNormal style='mso-list:l1 level1 lfo3;tab-stops:list 36.0pt'>If
       the file is located on a read-only volume and the application opens the
       file with write access and requests an exclusive lock, the CIFS-AFS server
       will refuse the lock request and return a read only error.</li>
!  <li class=MsoNormal style='mso-list:l1 level1 lfo3;tab-stops:list 36.0pt'>If
       the file is located on a read-only volume and the application opens the
       file with only read access and requests an exclusive lock, the CIFS-AFS
       server will fulfill the lock request with a read lock.</li>
!  <li class=MsoNormal style='mso-list:l1 level1 lfo3;tab-stops:list 36.0pt'>If
       the file is located on a read-write volume and the application requests an
       exclusive lock, the CIFS-AFS server will request a write lock from the AFS
       file server.&nbsp; If granted by the file server, then the CIFS-AFS server
***************
*** 1613,1619 ****
       the request even though the AFS file server said ‘no’.&nbsp; If the user
       does not have at least those permissions, the CIFS-AFS server will deny
       the request.</li>
!  <li class=MsoNormal style='mso-list:l0 level1 lfo3;tab-stops:list 36.0pt'>If
       the file is located on a read-write volume and the application requests a
       shared lock, the CIFS-AFS server will request a read lock from the AFS
       file server.&nbsp; If granted by the file server, then the CIFS-AFS server
--- 1634,1640 ----
       the request even though the AFS file server said ‘no’.&nbsp; If the user
       does not have at least those permissions, the CIFS-AFS server will deny
       the request.</li>
!  <li class=MsoNormal style='mso-list:l1 level1 lfo3;tab-stops:list 36.0pt'>If
       the file is located on a read-write volume and the application requests a
       shared lock, the CIFS-AFS server will request a read lock from the AFS
       file server.&nbsp; If granted by the file server, then the CIFS-AFS server
***************
*** 1622,1632 ****
       lock privilege, then the CIFS-AFS server will grant the request even
       though the AFS file server said ‘no’.&nbsp; If the user does not have at
       least those permissions, the CIFS-AFS server will deny the request.</li>
!  <li class=MsoNormal style='mso-list:l0 level1 lfo3;tab-stops:list 36.0pt'>If
       multiple processes on the same machine attempt to access the same file
       simultaneously, the CIFS-AFS server will locally manage the granted locks
       and all processes will share a single lock on the AFS file server.</li>
!  <li class=MsoNormal style='mso-list:l0 level1 lfo3;tab-stops:list 36.0pt'>If
       the CIFS-AFS server is unable to renew the AFS file server locks, then it
       will invalidate the associated file handles.&nbsp; This is the same
       behavior that an application will experience if it was using a Windows
--- 1643,1653 ----
       lock privilege, then the CIFS-AFS server will grant the request even
       though the AFS file server said ‘no’.&nbsp; If the user does not have at
       least those permissions, the CIFS-AFS server will deny the request.</li>
!  <li class=MsoNormal style='mso-list:l1 level1 lfo3;tab-stops:list 36.0pt'>If
       multiple processes on the same machine attempt to access the same file
       simultaneously, the CIFS-AFS server will locally manage the granted locks
       and all processes will share a single lock on the AFS file server.</li>
!  <li class=MsoNormal style='mso-list:l1 level1 lfo3;tab-stops:list 36.0pt'>If
       the CIFS-AFS server is unable to renew the AFS file server locks, then it
       will invalidate the associated file handles.&nbsp; This is the same
       behavior that an application will experience if it was using a Windows
***************
*** 1638,1664 ****
  file server, this can be performed using the <a
  href="#_Value:_EnableServerLocks">EnableServerLocks</a> registry value.</p>
  
! <h2><a name="_Toc170268843"></a><a name="_Toc152605060"></a><a
  name="_Toc115416125"></a><a name="_Toc139993109"></a><a name="_Toc126872190"></a><a
! name="_Toc115417061"></a><span style='mso-bookmark:_Toc170268843'><span
  style='mso-bookmark:_Toc152605060'><span style='mso-bookmark:_Toc115416125'>3.19.
  Automatic Discarding of AFS Tokens at Logoff</span></span></span></h2>
  
  <p class=MsoNormal>The OpenAFS Client will automatically forget a user's tokens
  upon Logoff unless the user's profile was loaded from an AFS volume.&nbsp; In
! this situation there is no mechanism to determine when the profile has been
! successfully written back to the network.&nbsp; It is therefore unsafe to
! release the user's tokens.&nbsp; Whether or not the profile has been loaded
! from the registry can be determined for Local Accounts, Active Directory
! accounts and NT4 accounts.</p>
  
  <p class=MsoNormal>If there is a need to disable this functionality, the <a
  href="#_Value_:_LogoffPreserveTokens">LogoffPreserveTokens</a> registry value
! can be used. (see <a href="#_Appendix_A:_Registry_Values">Appendix A</a>.)</p>
  
! <h2><a name="_Toc170268844"></a><a name="_Toc152605061"></a><a
  name="_Toc115416126"></a><a name="_Toc139993110"></a><a name="_Toc126872191"></a><a
! name="_Toc115417062"></a><span style='mso-bookmark:_Toc170268844'><span
  style='mso-bookmark:_Toc152605061'><span style='mso-bookmark:_Toc115416126'>3.20.
  Windows Terminal Server installations</span></span></span></h2>
  
--- 1659,1685 ----
  file server, this can be performed using the <a
  href="#_Value:_EnableServerLocks">EnableServerLocks</a> registry value.</p>
  
! <h2><a name="_Toc184788768"></a><a name="_Toc152605060"></a><a
  name="_Toc115416125"></a><a name="_Toc139993109"></a><a name="_Toc126872190"></a><a
! name="_Toc115417061"></a><span style='mso-bookmark:_Toc184788768'><span
  style='mso-bookmark:_Toc152605060'><span style='mso-bookmark:_Toc115416125'>3.19.
  Automatic Discarding of AFS Tokens at Logoff</span></span></span></h2>
  
  <p class=MsoNormal>The OpenAFS Client will automatically forget a user's tokens
  upon Logoff unless the user's profile was loaded from an AFS volume.&nbsp; In
! this situation there is no mechanism to determine when the profile has been successfully
! written back to the network.&nbsp; It is therefore unsafe to release the user's
! tokens.&nbsp; Whether or not the profile has been loaded from the registry can
! be determined for Local Accounts, Active Directory accounts and NT4 accounts.</p>
  
  <p class=MsoNormal>If there is a need to disable this functionality, the <a
  href="#_Value_:_LogoffPreserveTokens">LogoffPreserveTokens</a> registry value
! can be used. (<span class=GramE>see</span> <a
! href="#_Appendix_A:_Registry_Values">Appendix A</a>.)</p>
  
! <h2><a name="_Toc184788769"></a><a name="_Toc152605061"></a><a
  name="_Toc115416126"></a><a name="_Toc139993110"></a><a name="_Toc126872191"></a><a
! name="_Toc115417062"></a><span style='mso-bookmark:_Toc184788769'><span
  style='mso-bookmark:_Toc152605061'><span style='mso-bookmark:_Toc115416126'>3.20.
  Windows Terminal Server installations</span></span></span></h2>
  
***************
*** 1668,1676 ****
  The AFS Server should not be installed on a machine with Terminal Server
  installed.</p>
  
! <h2><a name="_Toc170268845"></a><a name="_Toc152605062"></a><a
  name="_Toc115416127"></a><a name="_Toc139993111"></a><a name="_Toc126872192"></a><a
! name="_Toc115417063"></a><span style='mso-bookmark:_Toc170268845'><span
  style='mso-bookmark:_Toc152605062'><span style='mso-bookmark:_Toc115416127'>3.21.
  Hidden Dot Files</span></span></span></h2>
  
--- 1689,1697 ----
  The AFS Server should not be installed on a machine with Terminal Server
  installed.</p>
  
! <h2><a name="_Toc184788770"></a><a name="_Toc152605062"></a><a
  name="_Toc115416127"></a><a name="_Toc139993111"></a><a name="_Toc126872192"></a><a
! name="_Toc115417063"></a><span style='mso-bookmark:_Toc184788770'><span
  style='mso-bookmark:_Toc152605062'><span style='mso-bookmark:_Toc115416127'>3.21.
  Hidden Dot Files</span></span></span></h2>
  
***************
*** 1681,1689 ****
  style='mso-spacerun:yes'>  </span>This behavior can be altered via the <a
  href="#_Value:_HideDotFiles">HideDotFiles</a> registry value.</p>
  
! <h2><a name="_Toc170268846"></a><a name="_Toc152605063"></a><a
  name="_Toc115416128"></a><a name="_Toc139993112"></a><a name="_Toc126872193"></a><a
! name="_Toc115417064"></a><span style='mso-bookmark:_Toc170268846'><span
  style='mso-bookmark:_Toc152605063'><span style='mso-bookmark:_Toc115416128'>3.22.
  Status Cache Limits</span></span></span></h2>
  
--- 1702,1710 ----
  style='mso-spacerun:yes'>  </span>This behavior can be altered via the <a
  href="#_Value:_HideDotFiles">HideDotFiles</a> registry value.</p>
  
! <h2><a name="_Toc184788771"></a><a name="_Toc152605063"></a><a
  name="_Toc115416128"></a><a name="_Toc139993112"></a><a name="_Toc126872193"></a><a
! name="_Toc115417064"></a><span style='mso-bookmark:_Toc184788771'><span
  style='mso-bookmark:_Toc152605063'><span style='mso-bookmark:_Toc115416128'>3.22.
  Status Cache Limits</span></span></span></h2>
  
***************
*** 1703,1711 ****
  style='mso-spacerun:yes'>  </span>This can be adjusted using the <a
  href="#_Value:_Stats">Stats</a> registry value.</p>
  
! <h2><a name="_Toc170268847"></a><a name="_Toc152605064"></a><a
  name="_Toc115416129"></a><a name="_Toc139993113"></a><a name="_Toc126872194"></a><a
! name="_Toc115417065"></a><span style='mso-bookmark:_Toc170268847'><span
  style='mso-bookmark:_Toc152605064'><span style='mso-bookmark:_Toc115416129'>3.23.
  NETBIOS over TCP/IP must be enabled</span></span></span></h2>
  
--- 1724,1732 ----
  style='mso-spacerun:yes'>  </span>This can be adjusted using the <a
  href="#_Value:_Stats">Stats</a> registry value.</p>
  
! <h2><a name="_Toc184788772"></a><a name="_Toc152605064"></a><a
  name="_Toc115416129"></a><a name="_Toc139993113"></a><a name="_Toc126872194"></a><a
! name="_Toc115417065"></a><span style='mso-bookmark:_Toc184788772'><span
  style='mso-bookmark:_Toc152605064'><span style='mso-bookmark:_Toc115416129'>3.23.
  NETBIOS over TCP/IP must be enabled</span></span></span></h2>
  
***************
*** 1716,1724 ****
  style='mso-spacerun:yes'>  </span>If you are using the Microsoft Loopback
  Adapter, configure the “Netbios over TCP/IP” setting for the adapter.</p>
  
! <h2><a name="_Toc170268848"></a><a name="_Toc152605065"></a><a
  name="_Toc115416130"></a><a name="_Toc139993114"></a><a name="_Toc126872195"></a><a
! name="_Toc115417066"></a><span style='mso-bookmark:_Toc170268848'><span
  style='mso-bookmark:_Toc152605065'><span style='mso-bookmark:_Toc115416130'>3.24.
  OpenAFS binaries are digitally signed</span></span></span></h2>
  
--- 1737,1745 ----
  style='mso-spacerun:yes'>  </span>If you are using the Microsoft Loopback
  Adapter, configure the “Netbios over TCP/IP” setting for the adapter.</p>
  
! <h2><a name="_Toc184788773"></a><a name="_Toc152605065"></a><a
  name="_Toc115416130"></a><a name="_Toc139993114"></a><a name="_Toc126872195"></a><a
! name="_Toc115417066"></a><span style='mso-bookmark:_Toc184788773'><span
  style='mso-bookmark:_Toc152605065'><span style='mso-bookmark:_Toc115416130'>3.24.
  OpenAFS binaries are digitally signed</span></span></span></h2>
  
***************
*** 1737,1745 ****
  registry value which can be used to disable the signature check.&nbsp; The file
  version check cannot be disabled.</p>
  
! <h2><a name="_Toc170268849"></a><a name="_Toc152605066"></a><a
  name="_Toc115416131"></a><a name="_Toc139993115"></a><a name="_Toc126872196"></a><a
! name="_Toc115417067"></a><span style='mso-bookmark:_Toc170268849'><span
  style='mso-bookmark:_Toc152605066'><span style='mso-bookmark:_Toc115416131'>3.25.
  Maximum Size of the AFSCache File</span></span></span></h2>
  
--- 1758,1766 ----
  registry value which can be used to disable the signature check.&nbsp; The file
  version check cannot be disabled.</p>
  
! <h2><a name="_Toc184788774"></a><a name="_Toc152605066"></a><a
  name="_Toc115416131"></a><a name="_Toc139993115"></a><a name="_Toc126872196"></a><a
! name="_Toc115417067"></a><span style='mso-bookmark:_Toc184788774'><span
  style='mso-bookmark:_Toc152605066'><span style='mso-bookmark:_Toc115416131'>3.25.
  Maximum Size of the AFSCache File</span></span></span></h2>
  
***************
*** 1752,1772 ****
  signature check.<span style='mso-spacerun:yes'>  </span>Significantly larger
  cache sizes can be used on 64-bit Windows.</p>
  
! <h2><a name="_Toc170268850"></a><a name="_Toc152605067"></a><a
  name="_Toc115416132"></a><a name="_Toc139993116"></a><a name="_Toc126872197"></a><a
! name="_Toc115417068"></a><span style='mso-bookmark:_Toc170268850'><span
  style='mso-bookmark:_Toc152605067'><span style='mso-bookmark:_Toc115416132'>3.26.
  Filename Character Sets</span></span></span></h2>
  
  <p class=MsoNormal>OpenAFS for Windows implements an SMB server which is used
! as a gateway to the AFS filesystem.&nbsp; Because of limitations of the SMB
! implementation, Windows stores all files into AFS using OEM code pages such as
! CP437 (United States) or CP850 (Western Europe).&nbsp; These code pages are
! incompatible with the ISO Latin-1 character set typically used as the default
! on UNIX systems in both the <st1:country-region w:st="on">United States</st1:country-region>
! and <st1:place w:st="on">Western Europe</st1:place>.&nbsp; Filenames stored by
! OpenAFS for Windows are therefore unreadable on UNIX systems if they include
! any of the following characters:</p>
  
  <table class=MsoNormalTable border=0 cellspacing=0 cellpadding=0
   style='border-collapse:collapse;mso-padding-alt:0pt 0pt 0pt 0pt'>
--- 1773,1793 ----
  signature check.<span style='mso-spacerun:yes'>  </span>Significantly larger
  cache sizes can be used on 64-bit Windows.</p>
  
! <h2><a name="_Toc184788775"></a><a name="_Toc152605067"></a><a
  name="_Toc115416132"></a><a name="_Toc139993116"></a><a name="_Toc126872197"></a><a
! name="_Toc115417068"></a><span style='mso-bookmark:_Toc184788775'><span
  style='mso-bookmark:_Toc152605067'><span style='mso-bookmark:_Toc115416132'>3.26.
  Filename Character Sets</span></span></span></h2>
  
  <p class=MsoNormal>OpenAFS for Windows implements an SMB server which is used
! as a gateway to the AFS filesystem.&nbsp; Because of limitations of the SMB implementation,
! Windows stores all files into AFS using OEM code pages such as CP437 (United
! States) or CP850 (Western Europe).&nbsp; These code pages are incompatible with
! the ISO Latin-1 character set typically used as the default on UNIX systems in
! both the <st1:country-region w:st="on">United States</st1:country-region> and <st1:place
! w:st="on">Western Europe</st1:place>.&nbsp; Filenames stored by OpenAFS for
! Windows are therefore unreadable on UNIX systems if they include any of the
! following characters:</p>
  
  <table class=MsoNormalTable border=0 cellspacing=0 cellpadding=0
   style='border-collapse:collapse;mso-padding-alt:0pt 0pt 0pt 0pt'>
***************
*** 1820,1838 ****
    <p class=preformattedtext><span lang=IT style='mso-ansi-language:IT'>&nbsp;&nbsp;&nbsp;&nbsp;
    [ò]&nbsp; 149&nbsp; 09/05&nbsp; 225&nbsp; 95&nbsp; o grave<o:p></o:p></span></p>
    <p class=preformattedtext><span lang=IT style='mso-ansi-language:IT'>&nbsp;&nbsp;&nbsp;&nbsp;
!   [û]&nbsp; 150&nbsp; 09/06&nbsp; 226&nbsp; 96&nbsp; u circumflex<o:p></o:p></span></p>
!   <p class=preformattedtext><span lang=IT style='mso-ansi-language:IT'>&nbsp;&nbsp;&nbsp;&nbsp;
!   </span><span lang=FR style='mso-ansi-language:FR'>[ù]&nbsp; 151&nbsp;
!   09/07&nbsp; 227&nbsp; 97&nbsp; u grave<o:p></o:p></span></p>
    <p class=preformattedtext><span lang=FR style='mso-ansi-language:FR'>&nbsp;&nbsp;&nbsp;&nbsp;
!   [ÿ]&nbsp; 152&nbsp; 09/08&nbsp; 230&nbsp; 98&nbsp; y diaeresis<o:p></o:p></span></p>
    <p class=preformattedtext><span lang=FR style='mso-ansi-language:FR'>&nbsp;&nbsp;&nbsp;&nbsp;
!   </span><span lang=IT style='mso-ansi-language:IT'>[Ö]&nbsp; 153&nbsp;
!   09/09&nbsp; 231&nbsp; 99&nbsp; O diaeresis<o:p></o:p></span></p>
    <p class=preformattedtext><span lang=IT style='mso-ansi-language:IT'>&nbsp;&nbsp;&nbsp;&nbsp;
!   [Ü]&nbsp; 154&nbsp; 09/10&nbsp; 232&nbsp; 9A&nbsp; U diaeresis<o:p></o:p></span></p>
    <p class=preformattedtext><span lang=IT style='mso-ansi-language:IT'>&nbsp;&nbsp;&nbsp;&nbsp;
!   </span>[ø]&nbsp; 155&nbsp; 09/11&nbsp; 233&nbsp; 9B&nbsp; o slash</p>
    <p class=preformattedtext>&nbsp;&nbsp;&nbsp;&nbsp; [£]&nbsp; 156&nbsp;
    09/12&nbsp; 234&nbsp; 9C&nbsp; Pound sterling sign</p>
    <p class=preformattedtext>&nbsp;&nbsp;&nbsp;&nbsp; <span lang=IT
--- 1841,1859 ----
    <p class=preformattedtext><span lang=IT style='mso-ansi-language:IT'>&nbsp;&nbsp;&nbsp;&nbsp;
    [ò]&nbsp; 149&nbsp; 09/05&nbsp; 225&nbsp; 95&nbsp; o grave<o:p></o:p></span></p>
    <p class=preformattedtext><span lang=IT style='mso-ansi-language:IT'>&nbsp;&nbsp;&nbsp;&nbsp;
!   </span><span lang=FR style='mso-ansi-language:FR'>[û]&nbsp; 150&nbsp;
!   09/06&nbsp; 226&nbsp; 96&nbsp; u circumflex<o:p></o:p></span></p>
    <p class=preformattedtext><span lang=FR style='mso-ansi-language:FR'>&nbsp;&nbsp;&nbsp;&nbsp;
!   [ù]&nbsp; 151&nbsp; 09/07&nbsp; 227&nbsp; 97&nbsp; u grave<o:p></o:p></span></p>
    <p class=preformattedtext><span lang=FR style='mso-ansi-language:FR'>&nbsp;&nbsp;&nbsp;&nbsp;
!   </span><span lang=IT style='mso-ansi-language:IT'>[ÿ]&nbsp; 152&nbsp;
!   09/08&nbsp; 230&nbsp; 98&nbsp; y diaeresis<o:p></o:p></span></p>
    <p class=preformattedtext><span lang=IT style='mso-ansi-language:IT'>&nbsp;&nbsp;&nbsp;&nbsp;
!   [Ö]&nbsp; 153&nbsp; 09/09&nbsp; 231&nbsp; 99&nbsp; O diaeresis<o:p></o:p></span></p>
    <p class=preformattedtext><span lang=IT style='mso-ansi-language:IT'>&nbsp;&nbsp;&nbsp;&nbsp;
!   </span>[Ü]&nbsp; 154&nbsp; 09/10&nbsp; 232&nbsp; 9A&nbsp; U diaeresis</p>
!   <p class=preformattedtext>&nbsp;&nbsp;&nbsp;&nbsp; [ø]&nbsp; 155&nbsp;
!   09/11&nbsp; 233&nbsp; 9B&nbsp; o slash</p>
    <p class=preformattedtext>&nbsp;&nbsp;&nbsp;&nbsp; [£]&nbsp; 156&nbsp;
    09/12&nbsp; 234&nbsp; 9C&nbsp; Pound sterling sign</p>
    <p class=preformattedtext>&nbsp;&nbsp;&nbsp;&nbsp; <span lang=IT
***************
*** 1850,1865 ****
  <p class=preformattedtext>&nbsp;</p>
  
  <p class=MsoNormal>The OpenAFS Client provides an optional registry value, <i><a
! href="#_Value___:_StoreAnsiFilenames">StoreAnsiFilenames</a></i>, that can be
! set to instruct OpenAFS to store filenames using the ANSI Code Page instead of
! the OEM Code Page.&nbsp; The ANSI Code Page is a compatible superset of
! Latin-1.&nbsp; This setting is not the default setting because making this
! change would prevent OpenAFS for Windows from being able to access filenames
! containing the above characters which were created without this setting.</p>
  
! <h2><a name="_Toc170268851"></a><a name="_Toc152605068"></a><a
  name="_Toc115416133"></a><a name="_Toc139993117"></a><a name="_Toc126872198"></a><a
! name="_Toc115417069"></a><span style='mso-bookmark:_Toc170268851'><span
  style='mso-bookmark:_Toc152605068'><span style='mso-bookmark:_Toc115416133'>3.27.
  Known Character Set Issues with Roaming Profiles</span></span></span></h2>
  
--- 1871,1887 ----
  <p class=preformattedtext>&nbsp;</p>
  
  <p class=MsoNormal>The OpenAFS Client provides an optional registry value, <i><a
! href="#_Value___:_StoreAnsiFilenames">StoreAnsiFilenames</a></i><span
! class=GramE>, that</span> can be set to instruct OpenAFS to store filenames
! using the ANSI Code Page instead of the OEM Code Page.&nbsp; The ANSI Code Page
! is a compatible superset of Latin-1.&nbsp; This setting is not the default
! setting because making this change would prevent OpenAFS for Windows from being
! able to access filenames containing the above characters which were created
! without this setting.</p>
  
! <h2><a name="_Toc184788776"></a><a name="_Toc152605068"></a><a
  name="_Toc115416133"></a><a name="_Toc139993117"></a><a name="_Toc126872198"></a><a
! name="_Toc115417069"></a><span style='mso-bookmark:_Toc184788776'><span
  style='mso-bookmark:_Toc152605068'><span style='mso-bookmark:_Toc115416133'>3.27.
  Known Character Set Issues with Roaming Profiles</span></span></span></h2>
  
***************
*** 1872,1880 ****
  (assigned by group policy) which rename all files to use only the supported
  characters for the locale.</p>
  
! <h2><a name="_Toc170268852"></a><a name="_Toc152605069"></a><a
  name="_Toc115416134"></a><a name="_Toc139993118"></a><a name="_Toc126872199"></a><a
! name="_Toc115417070"></a><span style='mso-bookmark:_Toc170268852'><span
  style='mso-bookmark:_Toc152605069'><span style='mso-bookmark:_Toc115416134'>3.28.
  The AFSCache File</span></span></span></h2>
  
--- 1894,1902 ----
  (assigned by group policy) which rename all files to use only the supported
  characters for the locale.</p>
  
! <h2><a name="_Toc184788777"></a><a name="_Toc152605069"></a><a
  name="_Toc115416134"></a><a name="_Toc139993118"></a><a name="_Toc126872199"></a><a
! name="_Toc115417070"></a><span style='mso-bookmark:_Toc184788777'><span
  style='mso-bookmark:_Toc152605069'><span style='mso-bookmark:_Toc115416134'>3.28.
  The AFSCache File</span></span></span></h2>
  
***************
*** 1892,1900 ****
  gains can be achieved by defragmenting the AFSCache file with Sysinternal's
  Contig utility while the AFS Client Service is stopped.</p>
  
! <h2><a name="_Toc170268853"></a><a name="_Toc152605070"></a><a
  name="_Toc115416135"></a><a name="_Toc139993119"></a><a name="_Toc126872200"></a><a
! name="_Toc115417071"></a><span style='mso-bookmark:_Toc170268853'><span
  style='mso-bookmark:_Toc152605070'><span style='mso-bookmark:_Toc115416135'>3.29.
  Restricting OpenAFS Client Service Start and Stop</span></span></span></h2>
  
--- 1914,1922 ----
  gains can be achieved by defragmenting the AFSCache file with Sysinternal's
  Contig utility while the AFS Client Service is stopped.</p>
  
! <h2><a name="_Toc184788778"></a><a name="_Toc152605070"></a><a
  name="_Toc115416135"></a><a name="_Toc139993119"></a><a name="_Toc126872200"></a><a
! name="_Toc115417071"></a><span style='mso-bookmark:_Toc184788778'><span
  style='mso-bookmark:_Toc152605070'><span style='mso-bookmark:_Toc115416135'>3.29.
  Restricting OpenAFS Client Service Start and Stop</span></span></span></h2>
  
***************
*** 1921,1929 ****
  <p class=preformattedtext>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  &nbsp;&nbsp;-show&nbsp; : Show current DACL (SDSF)</p>
  
! <h2><a name="_Toc170268854"></a><a name="_Toc152605071"></a><a
  name="_Toc115416136"></a><a name="_Toc139993120"></a><a name="_Toc126872201"></a><a
! name="_Toc115417072"></a><span style='mso-bookmark:_Toc170268854'><span
  style='mso-bookmark:_Toc152605071'><span style='mso-bookmark:_Toc115416136'>3.30.
  The @sys Name List</span></span></span></h2>
  
--- 1943,1951 ----
  <p class=preformattedtext>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  &nbsp;&nbsp;-show&nbsp; : Show current DACL (SDSF)</p>
  
! <h2><a name="_Toc184788779"></a><a name="_Toc152605071"></a><a
  name="_Toc115416136"></a><a name="_Toc139993120"></a><a name="_Toc126872201"></a><a
! name="_Toc115417072"></a><span style='mso-bookmark:_Toc184788779'><span
  style='mso-bookmark:_Toc152605071'><span style='mso-bookmark:_Toc115416136'>3.30.
  The @sys Name List</span></span></span></h2>
  
***************
*** 1931,1939 ****
  &quot;x86_win32 i386_w2k i386_nt40&quot; for 32-bit x86 systems.&nbsp; The
  default is &quot;amd64_win64&quot; for amd 64-bit versions of Windows.</p>
  
! <h2><a name="_Toc170268855"></a><a name="_Toc152605072"></a><a
  name="_Toc115416137"></a><a name="_Toc139993121"></a><a name="_Toc126872202"></a><a
! name="_Toc115417073"></a><span style='mso-bookmark:_Toc170268855'><span
  style='mso-bookmark:_Toc152605072'><span style='mso-bookmark:_Toc115416137'>3.31.
  Symlinks to AFS UNC paths</span></span></span></h2>
  
--- 1953,1961 ----
  &quot;x86_win32 i386_w2k i386_nt40&quot; for 32-bit x86 systems.&nbsp; The
  default is &quot;amd64_win64&quot; for amd 64-bit versions of Windows.</p>
  
! <h2><a name="_Toc184788780"></a><a name="_Toc152605072"></a><a
  name="_Toc115416137"></a><a name="_Toc139993121"></a><a name="_Toc126872202"></a><a
! name="_Toc115417073"></a><span style='mso-bookmark:_Toc184788780'><span
  style='mso-bookmark:_Toc152605072'><span style='mso-bookmark:_Toc115416137'>3.31.
  Symlinks to AFS UNC paths</span></span></span></h2>
  
***************
*** 1941,1951 ****
  treated the same as symlinks to /afs/...&nbsp; However, please use /afs/... as
  the Windows UNC form will not work on UNIX client.</p>
  
! <h2><a name="_Toc170268856"></a><a name="_Toc152605073"></a><a
  name="_Toc115416138"></a><a name="_Toc139993122"></a><a name="_Toc126872203"></a><a
! name="_Toc115417074"></a><span style='mso-bookmark:_Toc170268856'><span
  style='mso-bookmark:_Toc152605073'><span style='mso-bookmark:_Toc115416138'>3.32.
! Cache Manager Debugging Now Supported</span></span></span></h2>
  
  <p class=MsoNormal>The OpenAFS Client implements the Cache Manager Debugging
  RPC Interface.&nbsp; The CM debugger can be queried with cmdebug.exe.</p>
--- 1963,1973 ----
  treated the same as symlinks to /afs/...&nbsp; However, please use /afs/... as
  the Windows UNC form will not work on UNIX client.</p>
  
! <h2><a name="_Toc184788781"></a><a name="_Toc152605073"></a><a
  name="_Toc115416138"></a><a name="_Toc139993122"></a><a name="_Toc126872203"></a><a
! name="_Toc115417074"></a><span style='mso-bookmark:_Toc184788781'><span
  style='mso-bookmark:_Toc152605073'><span style='mso-bookmark:_Toc115416138'>3.32.
! Cache Manager Debugging</span></span></span></h2>
  
  <p class=MsoNormal>The OpenAFS Client implements the Cache Manager Debugging
  RPC Interface.&nbsp; The CM debugger can be queried with cmdebug.exe.</p>
***************
*** 1964,1972 ****
  <p class=preformattedtext>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -cache&nbsp;
  print only cache configuration</p>
  
! <h2><a name="_Toc170268857"></a><a name="_Toc152605074"></a><a
  name="_Toc115416139"></a><a name="_Toc139993123"></a><a name="_Toc126872204"></a><a
! name="_Toc115417075"></a><span style='mso-bookmark:_Toc170268857'><span
  style='mso-bookmark:_Toc152605074'><span style='mso-bookmark:_Toc115416139'>3.33.
  Windows Logon Caching vs. Kerberos Logons</span></span></span></h2>
  
--- 1986,1994 ----
  <p class=preformattedtext>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -cache&nbsp;
  print only cache configuration</p>
  
! <h2><a name="_Toc184788782"></a><a name="_Toc152605074"></a><a
  name="_Toc115416139"></a><a name="_Toc139993123"></a><a name="_Toc126872204"></a><a
! name="_Toc115417075"></a><span style='mso-bookmark:_Toc184788782'><span
  style='mso-bookmark:_Toc152605074'><span style='mso-bookmark:_Toc115416139'>3.33.
  Windows Logon Caching vs. Kerberos Logons</span></span></span></h2>
  
***************
*** 1975,1983 ****
  multi-domain Windows forest, you must enable Windows logon caching unless the
  workstation is Windows Vista.</p>
  
! <h2><a name="_Toc170268858"></a><a name="_Toc152605075"></a><a
  name="_Toc115416140"></a><a name="_Toc139993124"></a><a name="_Toc126872205"></a><a
! name="_Toc115417076"></a><span style='mso-bookmark:_Toc170268858'><span
  style='mso-bookmark:_Toc152605075'><span style='mso-bookmark:_Toc115416140'>3.34.
  Initial Server Preferences</span></span></span></h2>
  
--- 1997,2005 ----
  multi-domain Windows forest, you must enable Windows logon caching unless the
  workstation is Windows Vista.</p>
  
! <h2><a name="_Toc184788783"></a><a name="_Toc152605075"></a><a
  name="_Toc115416140"></a><a name="_Toc139993124"></a><a name="_Toc126872205"></a><a
! name="_Toc115417076"></a><span style='mso-bookmark:_Toc184788783'><span
  style='mso-bookmark:_Toc152605075'><span style='mso-bookmark:_Toc115416140'>3.34.
  Initial Server Preferences</span></span></span></h2>
  
***************
*** 1988,1996 ****
  &quot;<a href="#_Regkey:_[HKLMSOFTWAREOpenAFSClie_2">Server Preferences</a>&quot;
  keys.</p>
  
! <h2><a name="_Toc170268859"></a><a name="_Toc152605076"></a><a
  name="_Toc115416141"></a><a name="_Toc139993125"></a><a name="_Toc126872206"></a><a
! name="_Toc115417077"></a><span style='mso-bookmark:_Toc170268859'><span
  style='mso-bookmark:_Toc152605076'><span style='mso-bookmark:_Toc115416141'>3.35.
  File Timestamps</span></span></span></h2>
  
--- 2010,2018 ----
  &quot;<a href="#_Regkey:_[HKLMSOFTWAREOpenAFSClie_2">Server Preferences</a>&quot;
  keys.</p>
  
! <h2><a name="_Toc184788784"></a><a name="_Toc152605076"></a><a
  name="_Toc115416141"></a><a name="_Toc139993125"></a><a name="_Toc126872206"></a><a
! name="_Toc115417077"></a><span style='mso-bookmark:_Toc184788784'><span
  style='mso-bookmark:_Toc152605076'><span style='mso-bookmark:_Toc115416141'>3.35.
  File Timestamps</span></span></span></h2>
  
***************
*** 2008,2020 ****
  <p class=MsoNormal>It should be noted that UNIX based operating systems (such
  as Solaris) do not appear to report file times to applications in UTC.&nbsp;
  They do preserve the relative local time.&nbsp; This may confuse some users who
! are used to being able to compare the timestamp in an UNIX shell with the timestamp
! from the Windows explorer.&nbsp; During DST, these two times will no longer
! agree even though they are in fact representing the same moment in time.</p>
  
! <h2><a name="_Toc170268860"></a><a name="_Toc152605077"></a><a
  name="_Toc115416142"></a><a name="_Toc139993126"></a><a name="_Toc126872207"></a><a
! name="_Toc115417078"></a><span style='mso-bookmark:_Toc170268860'><span
  style='mso-bookmark:_Toc152605077'><span style='mso-bookmark:_Toc115416142'>3.36.
  Windows RPC client support must be installed</span></span></span> </h2>
  
--- 2030,2042 ----
  <p class=MsoNormal>It should be noted that UNIX based operating systems (such
  as Solaris) do not appear to report file times to applications in UTC.&nbsp;
  They do preserve the relative local time.&nbsp; This may confuse some users who
! are used to being able to compare the timestamp in an UNIX shell with the
! timestamp from the Windows explorer.&nbsp; During DST, these two times will no
! longer agree even though they are in fact representing the same moment in time.</p>
  
! <h2><a name="_Toc184788785"></a><a name="_Toc152605077"></a><a
  name="_Toc115416142"></a><a name="_Toc139993126"></a><a name="_Toc126872207"></a><a
! name="_Toc115417078"></a><span style='mso-bookmark:_Toc184788785'><span
  style='mso-bookmark:_Toc152605077'><span style='mso-bookmark:_Toc115416142'>3.36.
  Windows RPC client support must be installed</span></span></span> </h2>
  
***************
*** 2031,2042 ****
  <p class=preformattedtext>&nbsp;&nbsp; HKLM
  &quot;SOFTWARE\Microsoft\RPC\ClientProtocols&quot; &quot;ncadg_ip_udp&quot;</p>
  
! <p class=preformattedtext>&nbsp;&nbsp; HKLM
! &quot;SOFTWARE\Microsoft\RPC\ClientProtocols&quot; &quot;ncacn_http&quot;</p>
  
! <h2><a name="_Toc170268861"></a><a name="_Toc152605078"></a><a
  name="_Toc115416143"></a><a name="_Toc139993127"></a><a name="_Toc126872208"></a><a
! name="_Toc115417079"></a><span style='mso-bookmark:_Toc170268861'><span
  style='mso-bookmark:_Toc152605078'><span style='mso-bookmark:_Toc115416143'>3.37.
  Generating Minidumps of the OpenAFS Client Service</span></span></span></h2>
  
--- 2053,2064 ----
  <p class=preformattedtext>&nbsp;&nbsp; HKLM
  &quot;SOFTWARE\Microsoft\RPC\ClientProtocols&quot; &quot;ncadg_ip_udp&quot;</p>
  
! <p class=preformattedtext>&nbsp;&nbsp; HKLM &quot;SOFTWARE\Microsoft\RPC\ClientProtocols&quot;
! &quot;ncacn_http&quot;</p>
  
! <h2><a name="_Toc184788786"></a><a name="_Toc152605078"></a><a
  name="_Toc115416143"></a><a name="_Toc139993127"></a><a name="_Toc126872208"></a><a
! name="_Toc115417079"></a><span style='mso-bookmark:_Toc184788786'><span
  style='mso-bookmark:_Toc152605078'><span style='mso-bookmark:_Toc115416143'>3.37.
  Generating Minidumps of the OpenAFS Client Service</span></span></span></h2>
  
***************
*** 2046,2054 ****
  process.&nbsp;&nbsp; This output can be very helpful when debugging the AFS
  Client Service when it is unresponsive to SMB/CIFS requests.</p>
  
! <h2><a name="_Toc170268862"></a><a name="_Toc152605079"></a><a
  name="_Toc115416144"></a><a name="_Toc139993128"></a><a name="_Toc126872209"></a><a
! name="_Toc115417080"></a><span style='mso-bookmark:_Toc170268862'><span
  style='mso-bookmark:_Toc152605079'><span style='mso-bookmark:_Toc115416144'>3.38.
  AFS Client Universally Unique Identifiers (UUIDs) vs. System Cloning</span></span></span></h2>
  
--- 2068,2076 ----
  process.&nbsp;&nbsp; This output can be very helpful when debugging the AFS
  Client Service when it is unresponsive to SMB/CIFS requests.</p>
  
! <h2><a name="_Toc184788787"></a><a name="_Toc152605079"></a><a
  name="_Toc115416144"></a><a name="_Toc139993128"></a><a name="_Toc126872209"></a><a
! name="_Toc115417080"></a><span style='mso-bookmark:_Toc184788787'><span
  style='mso-bookmark:_Toc152605079'><span style='mso-bookmark:_Toc115416144'>3.38.
  AFS Client Universally Unique Identifiers (UUIDs) vs. System Cloning</span></span></span></h2>
  
***************
*** 2077,2094 ****
  be generated for the AFS client service on each restart.</p>
  
  <p class=MsoNormal>When a Windows system is cloned, the Microsoft Loopback
! Adapter will be disabled in the cloned system. <span
! style='mso-spacerun:yes'> </span>Administrators must re-install the Microsoft
! Loopback Adapter within the cloned environment. <span
! style='mso-spacerun:yes'> </span>This can be automated by using the OpenAFS “<i
! style='mso-bidi-font-style:normal'>instloop.exe</i> –<i style='mso-bidi-font-style:
! normal'>i</i>” command. <span style='mso-spacerun:yes'> </span>Instloop.exe can
! be extracted from the MSI installer by performing an administrative install via
! <i style='mso-bidi-font-style:normal'>msiexec.exe /a</i>.</p>
! 
! <h2><a name="_Toc139993129"></a><a name="_Toc152605080"></a><a
! name="_Toc170268863"><span style='mso-bookmark:_Toc152605080'><span
! style='mso-bookmark:_Toc139993129'>3.39. Delayed Write Errors with Microsoft
  Office Applications</span></span></a></h2>
  
  <p class=MsoBodyText>Microsoft Office makes heavy use of asynchronous
--- 2099,2116 ----
  be generated for the AFS client service on each restart.</p>
  
  <p class=MsoNormal>When a Windows system is cloned, the Microsoft Loopback
! Adapter will be disabled in the cloned system.<span style='mso-spacerun:yes'> 
! </span>Administrators must re-install the Microsoft Loopback Adapter within the
! cloned environment.<span style='mso-spacerun:yes'>  </span>This can be
! automated by using the OpenAFS “<i style='mso-bidi-font-style:normal'>instloop.exe</i>
! –<i style='mso-bidi-font-style:normal'>i</i>” command.<span
! style='mso-spacerun:yes'>  </span>Instloop.exe can be extracted from the MSI
! installer by performing an administrative install via <i style='mso-bidi-font-style:
! normal'>msiexec.exe /a</i>.</p>
! 
! <h2><a name="_Toc184788788"></a><a name="_Toc139993129"></a><a
! name="_Toc152605080"><span style='mso-bookmark:_Toc139993129'><span
! style='mso-bookmark:_Toc184788788'>3.39. Delayed Write Errors with Microsoft
  Office Applications</span></span></a></h2>
  
  <p class=MsoBodyText>Microsoft Office makes heavy use of asynchronous
***************
*** 2108,2119 ****
  <p class=MsoBodyText>The CIFS session timeout defaults to 45 seconds and can be
  increased by modifying the <a href="#_Value:_ConnDeadTimeout">registry</a>.</p>
  
! <h2><a name="_Toc170268864"></a><a name="_Toc152605081"></a><a
  name="_Toc139993130"><span style='mso-bookmark:_Toc152605081'><span
! style='mso-bookmark:_Toc170268864'>3.40. Global Drives (aka </span></span></a><st1:Street
! w:st="on"><st1:address w:st="on"><span style='mso-bookmark:_Toc170268864'><span
    style='mso-bookmark:_Toc152605081'>Service Drive</span></span></st1:address></st1:Street><span
! style='mso-bookmark:_Toc170268864'><span style='mso-bookmark:_Toc152605081'>
  Letters) are no longer supported by Microsoft</span></span></h2>
  
  <p class=MsoBodyText>The Global DriveAuto-mount feature has been deprecated due
--- 2130,2141 ----
  <p class=MsoBodyText>The CIFS session timeout defaults to 45 seconds and can be
  increased by modifying the <a href="#_Value:_ConnDeadTimeout">registry</a>.</p>
  
! <h2><a name="_Toc184788789"></a><a name="_Toc152605081"></a><a
  name="_Toc139993130"><span style='mso-bookmark:_Toc152605081'><span
! style='mso-bookmark:_Toc184788789'>3.40. Global Drives (aka </span></span></a><st1:Street
! w:st="on"><st1:address w:st="on"><span style='mso-bookmark:_Toc184788789'><span
    style='mso-bookmark:_Toc152605081'>Service Drive</span></span></st1:address></st1:Street><span
! style='mso-bookmark:_Toc184788789'><span style='mso-bookmark:_Toc152605081'>
  Letters) are no longer supported by Microsoft</span></span></h2>
  
  <p class=MsoBodyText>The Global DriveAuto-mount feature has been deprecated due
***************
*** 2132,2140 ****
  applications should be modified to use of \\AFS\&lt;cellname&gt;\&lt;path&gt;
  instead of drive letters.</p>
  
! <h2><a name="_Toc139993131"></a><a name="_Toc152605082"></a><a
! name="_Toc170268865"><span style='mso-bookmark:_Toc152605082'><span
! style='mso-bookmark:_Toc139993131'>3.41. 64-bit Microsoft Windows Installations</span></span></a></h2>
  
  <p class=MsoBodyText>Although 64-bit Windows platforms support both 64-bit and
  32-bit applications, the OpenAFS Service installed on the machine must be
--- 2154,2162 ----
  applications should be modified to use of \\AFS\&lt;cellname&gt;\&lt;path&gt;
  instead of drive letters.</p>
  
! <h2><a name="_Toc184788790"></a><a name="_Toc139993131"></a><a
! name="_Toc152605082"><span style='mso-bookmark:_Toc139993131'><span
! style='mso-bookmark:_Toc184788790'>3.41. 64-bit Microsoft Windows Installations</span></span></a></h2>
  
  <p class=MsoBodyText>Although 64-bit Windows platforms support both 64-bit and
  32-bit applications, the OpenAFS Service installed on the machine must be
***************
*** 2149,2164 ****
  Without this restriction the AFS Cache File can become arbitrarily large
  limited only by available disk space.</p>
  
! <h2><a name="_Toc170268866"></a><a name="_Toc152605083"></a><a
  name="_Toc139993132"><span style='mso-bookmark:_Toc152605083'><span
! style='mso-bookmark:_Toc170268866'>3.42. Known Issues with Microsoft Windows </span></span></a><st1:place
! w:st="on"><span style='mso-bookmark:_Toc170268866'><span style='mso-bookmark:
   _Toc152605083'>Vista</span></span></st1:place></h2>
  
! <p class=MsoBodyText>OpenAFS for Windows works with Microsoft Windows Vista from
! both the command prompt and the Explorer Shell.<span style='mso-spacerun:yes'> 
! </span>When performing an upgrade from earlier versions of Microsoft Windows
! the Microsoft Loopback Adapter (MSLA) may be uninstalled.<span
  style='mso-spacerun:yes'>   </span>OpenAFS should be re-installed after the
  Microsoft Vista installation to restore the MSLA configuration.</p>
  
--- 2171,2186 ----
  Without this restriction the AFS Cache File can become arbitrarily large
  limited only by available disk space.</p>
  
! <h2><a name="_Toc184788791"></a><a name="_Toc152605083"></a><a
  name="_Toc139993132"><span style='mso-bookmark:_Toc152605083'><span
! style='mso-bookmark:_Toc184788791'>3.42. Known Issues with Microsoft Windows </span></span></a><st1:place
! w:st="on"><span style='mso-bookmark:_Toc184788791'><span style='mso-bookmark:
   _Toc152605083'>Vista</span></span></st1:place></h2>
  
! <p class=MsoBodyText>OpenAFS for Windows works with Microsoft Windows Vista
! from both the command prompt and the Explorer Shell.<span
! style='mso-spacerun:yes'>  </span>When performing an upgrade from earlier
! versions of Microsoft Windows the Microsoft Loopback Adapter (MSLA) may be uninstalled.<span
  style='mso-spacerun:yes'>   </span>OpenAFS should be re-installed after the
  Microsoft Vista installation to restore the MSLA configuration.</p>
  
***************
*** 2178,2184 ****
  privilege.<span style='mso-spacerun:yes'>  </span>With UAC, applications only
  run with the minimum required privileges.<span style='mso-spacerun:yes'> 
  </span>Even Administrator accounts run applications without the “Administrator”
! access control credentials. <span style='mso-spacerun:yes'> </span>One side
  effect of this is that existing applications that mix user and system
  configuration capabilities must be re-written to separate those functions that
  require “Administrator” privileges into a separate process space.<span
--- 2200,2206 ----
  privilege.<span style='mso-spacerun:yes'>  </span>With UAC, applications only
  run with the minimum required privileges.<span style='mso-spacerun:yes'> 
  </span>Even Administrator accounts run applications without the “Administrator”
! access control credentials.<span style='mso-spacerun:yes'>  </span>One side
  effect of this is that existing applications that mix user and system
  configuration capabilities must be re-written to separate those functions that
  require “Administrator” privileges into a separate process space.<span
***************
*** 2189,2195 ****
  style='mso-spacerun:yes'>  </span>When a <st1:place w:st="on">Vista</st1:place>
  user account that is a member of the “Administrators” group is used to access
  the AFS Control Panel (afs_config.exe), the process must be “Run as
! Administrator”. <span style='mso-spacerun:yes'>  </span>Otherwise, attempts to
  modify the OpenAFS configuration will appear to succeed but in reality will
  have failed due to <st1:place w:st="on">Vista</st1:place>’s system file and
  registry virtualization feature.</p>
--- 2211,2217 ----
  style='mso-spacerun:yes'>  </span>When a <st1:place w:st="on">Vista</st1:place>
  user account that is a member of the “Administrators” group is used to access
  the AFS Control Panel (afs_config.exe), the process must be “Run as
! Administrator”.<span style='mso-spacerun:yes'>   </span>Otherwise, attempts to
  modify the OpenAFS configuration will appear to succeed but in reality will
  have failed due to <st1:place w:st="on">Vista</st1:place>’s system file and
  registry virtualization feature.</p>
***************
*** 2198,2206 ****
  href="http://support.microsoft.com/kb/917607">Windows Vista does not include a
  help engine for this format.</a> </p>
  
! <h2><a name="_Toc115416145"></a><a name="_Toc170268867"></a><a
  name="_Toc139993133"></a><a name="_Toc126872210"></a><a name="_Toc115417081"></a><span
! style='mso-bookmark:_Toc115416145'><span style='mso-bookmark:_Toc170268867'>3.43.
  New AFS Share Name Syntax Provides Direct Access to Volumes</span></span></h2>
  
  <p class=MsoBodyText><span style='mso-bookmark:_Toc115416145'>Starting with the
--- 2220,2228 ----
  href="http://support.microsoft.com/kb/917607">Windows Vista does not include a
  help engine for this format.</a> </p>
  
! <h2><a name="_Toc115416145"></a><a name="_Toc184788792"></a><a
  name="_Toc139993133"></a><a name="_Toc126872210"></a><a name="_Toc115417081"></a><span
! style='mso-bookmark:_Toc115416145'><span style='mso-bookmark:_Toc184788792'>3.43.
  New AFS Share Name Syntax Provides Direct Access to Volumes</span></span></h2>
  
  <p class=MsoBodyText><span style='mso-bookmark:_Toc115416145'>Starting with the
***************
*** 2227,2233 ****
  <p class=MsoBodyText><span style='mso-bookmark:_Toc115416145'><span
  style='mso-tab-count:1'>            </span>\\AFS\athena.mit.edu# 537235559\</span></p>
  
! <h2><span style='mso-bookmark:_Toc115416145'><a name="_Toc170268868">3.44.
  Differences between Windows and UNIX “fs examine”</a></span></h2>
  
  <p class=MsoBodyText><span style='mso-bookmark:_Toc115416145'>The OpenAFS for
--- 2249,2255 ----
  <p class=MsoBodyText><span style='mso-bookmark:_Toc115416145'><span
  style='mso-tab-count:1'>            </span>\\AFS\athena.mit.edu# 537235559\</span></p>
  
! <h2><span style='mso-bookmark:_Toc115416145'><a name="_Toc184788793">3.44.
  Differences between Windows and UNIX “fs examine”</a></span></h2>
  
  <p class=MsoBodyText><span style='mso-bookmark:_Toc115416145'>The OpenAFS for
***************
*** 2246,2264 ****
  style='mso-bookmark:_Toc115416145'>Volume is online <b style='mso-bidi-font-weight:
  normal'><o:p></o:p></b></span></pre>
  
! <h1><span style='mso-bookmark:_Toc115416145'><a name="_Toc170268869">4. How to
  Debug Problems with OpenAFS for Windows:</a></span></h1>
  
  <p class=MsoNormal>OpenAFS for Windows provides a wide range of tools to assist
  you in debugging problems.&nbsp; The techniques available to you are varied
  because of the wide range of issues that have been discovered over the years.</p>
  
! <h2><a name="_Toc170268870"></a><a name="_Toc139993134"></a><a
  name="_Toc126872211"></a><a name="_Toc115417082"></a><span style='mso-bookmark:
! _Toc170268870'>4.1. pioctl debugging (</span><a href="#_Value:_IoctlDebug"><span
! style='mso-bookmark:_Toc170268870'>IoctlDebug</span><span style='mso-bookmark:
! _Toc170268870'></span></a><span style='mso-bookmark:_Toc170268870'> registry
! key)</span></h2>
  
  <p class=MsoNormal>pioctl (path-based ioctl) calls are used by various tools to
  communicate with the AFS Client Service.&nbsp; Some of the operations performed
--- 2268,2286 ----
  style='mso-bookmark:_Toc115416145'>Volume is online <b style='mso-bidi-font-weight:
  normal'><o:p></o:p></b></span></pre>
  
! <h1><span style='mso-bookmark:_Toc115416145'><a name="_Toc184788794">4. How to
  Debug Problems with OpenAFS for Windows:</a></span></h1>
  
  <p class=MsoNormal>OpenAFS for Windows provides a wide range of tools to assist
  you in debugging problems.&nbsp; The techniques available to you are varied
  because of the wide range of issues that have been discovered over the years.</p>
  
! <h2><a name="_Toc184788795"></a><a name="_Toc139993134"></a><a
  name="_Toc126872211"></a><a name="_Toc115417082"></a><span style='mso-bookmark:
! _Toc184788795'>4.1. <span class=GramE>pioctl</span> debugging (</span><a
! href="#_Value:_IoctlDebug"><span style='mso-bookmark:_Toc184788795'>IoctlDebug</span><span
! style='mso-bookmark:_Toc184788795'></span></a><span style='mso-bookmark:_Toc184788795'>
! registry key)</span></h2>
  
  <p class=MsoNormal>pioctl (path-based ioctl) calls are used by various tools to
  communicate with the AFS Client Service.&nbsp; Some of the operations performed
***************
*** 2320,2340 ****
  set the pioctl library will generate debugging output to stderr.&nbsp; The
  output will contain the Win32 API calls executed along with their most
  important parameters and their return code.&nbsp;&nbsp; The MSDN Library and
! the Microsoft KnowledgeBase can be used as a reference to help you determine the
! configuration probem with your system.</p>
  
! <h2><a name="_Toc170268871"></a><a name="_Toc139993135"></a><a
  name="_Toc126872212"></a><a name="_Toc115417083"></a><span style='mso-bookmark:
! _Toc170268871'>4.2. afsd_service initialization log
  (%WinDir%\TEMP\afsd_init.log)</span></h2>
  
  <p class=MsoNormal>Every time the AFS Client Service starts it appends data
  about its progress and configuration to a file.&nbsp; This file provides
  information crucial to determining why the service cannot start when there are
! problems.&nbsp; When the process terminates due to a panic condition it will
! write to this file the source code file and line number of the error.&nbsp; In
! many cases the panic condition is due to a misconfiguration of the machine.&nbsp;
! In other cases it might be due to a programming error in the software.&nbsp; A
  quick review of the location in the source code will quickly reveal the reason
  for the termination.</p>
  
--- 2342,2362 ----
  set the pioctl library will generate debugging output to stderr.&nbsp; The
  output will contain the Win32 API calls executed along with their most
  important parameters and their return code.&nbsp;&nbsp; The MSDN Library and
! the Microsoft KnowledgeBase can be used as a reference to help you determine
! the configuration probem with your system.</p>
  
! <h2><a name="_Toc184788796"></a><a name="_Toc139993135"></a><a
  name="_Toc126872212"></a><a name="_Toc115417083"></a><span style='mso-bookmark:
! _Toc184788796'>4.2. afsd_service initialization log
  (%WinDir%\TEMP\afsd_init.log)</span></h2>
  
  <p class=MsoNormal>Every time the AFS Client Service starts it appends data
  about its progress and configuration to a file.&nbsp; This file provides
  information crucial to determining why the service cannot start when there are
! problems.&nbsp; When the process terminates due to a panic condition it will write
! to this file the source code file and line number of the error.&nbsp; In many
! cases the panic condition is due to a misconfiguration of the machine.&nbsp; In
! other cases it might be due to a programming error in the software.&nbsp; A
  quick review of the location in the source code will quickly reveal the reason
  for the termination.</p>
  
***************
*** 2344,2352 ****
  starts, the file will be reset to 0 bytes.&nbsp; If value is set to 0, the file
  will be allowed to grow indefinitely.</p>
  
! <h2><a name="_Toc170268872"></a><a name="_Toc139993136"></a><a
  name="_Toc126872213"></a><a name="_Toc115417084"></a><span style='mso-bookmark:
! _Toc170268872'>4.3. afsd_service debug logs (fs trace {-on, -off, -dump}
  -&gt;%WinDir%\TEMP\afsd.log)</span></h2>
  
  <p class=MsoNormal>When attempting to debug the behavior of the SMB/CIFS Server
--- 2366,2374 ----
  starts, the file will be reset to 0 bytes.&nbsp; If value is set to 0, the file
  will be allowed to grow indefinitely.</p>
  
! <h2><a name="_Toc184788797"></a><a name="_Toc139993136"></a><a
  name="_Toc126872213"></a><a name="_Toc115417084"></a><span style='mso-bookmark:
! _Toc184788797'>4.3. afsd_service debug logs (fs trace {-on, -off, -dump}
  -&gt;%WinDir%\TEMP\afsd.log)</span></h2>
  
  <p class=MsoNormal>When attempting to debug the behavior of the SMB/CIFS Server
***************
*** 2356,2372 ****
  at any one time is 5000.&nbsp; This can be adjusted with the <a
  href="#_Value_:_TraceBufferSize">registry value</a>:</p>
  
! <p class=preformattedtext>&nbsp; [HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters]</p>
  
  <p class=preformattedtext>&nbsp; REG_DWORD&nbsp; TraceBufferSize </p>
  
! <p class=MsoNormal>A restart of the service is necessary when adjusting this
! value.&nbsp;&nbsp; Execute &quot;fs trace -on&quot; to clear to the log and
! &quot;fs trace -dump&quot; to output the contents of the log to the file.</p>
  
! <h2><a name="_Toc170268873"></a><a name="_Toc139993137"></a><a
  name="_Toc126872214"></a><a name="_Toc115417085"></a><span style='mso-bookmark:
! _Toc170268873'>4.4. Using SysInternal’s DbgView and ProcMon or FileMon Tools</span></h2>
  
  <p class=MsoNormal>An alternatve option to the use of &quot;fs trace
  -dump&quot; to capture internal OpenAFS Client Service events is to use a tool
--- 2378,2395 ----
  at any one time is 5000.&nbsp; This can be adjusted with the <a
  href="#_Value_:_TraceBufferSize">registry value</a>:</p>
  
! <p class=preformattedtext>&nbsp;
! [HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters]</p>
  
  <p class=preformattedtext>&nbsp; REG_DWORD&nbsp; TraceBufferSize </p>
  
! <p class=MsoNormal>A restart of the service is necessary when adjusting this value.&nbsp;&nbsp;
! Execute &quot;fs trace -on&quot; to clear to the log and &quot;fs trace
! -dump&quot; to output the contents of the log to the file.</p>
  
! <h2><a name="_Toc184788798"></a><a name="_Toc139993137"></a><a
  name="_Toc126872214"></a><a name="_Toc115417085"></a><span style='mso-bookmark:
! _Toc184788798'>4.4. Using SysInternal’s DbgView and ProcMon or FileMon Tools</span></h2>
  
  <p class=MsoNormal>An alternatve option to the use of &quot;fs trace
  -dump&quot; to capture internal OpenAFS Client Service events is to use a tool
***************
*** 2376,2388 ****
  trace log events are output using the Windows Debug Monitor interface
  (OutputDebugString).&nbsp; </p>
  
! <p class=preformattedtext>&nbsp; [HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters]</p>
  
  <p class=preformattedtext style='text-indent:12.0pt'>REG_DWORD&nbsp;&nbsp;
  TraceOption = 0x04</p>
  
! <p class=MsoNormal>Use “fs trace –on” and “fs trace –off” to toggle the
! generation of log messages. </p>
  
  <p class=MsoNormal><a name="_Toc115416150"></a><a name="_Toc126872215"></a><a
  name="_Toc115417086"></a><span style='mso-bookmark:_Toc115416150'>Sysinternal’s
--- 2399,2412 ----
  trace log events are output using the Windows Debug Monitor interface
  (OutputDebugString).&nbsp; </p>
  
! <p class=preformattedtext>&nbsp;
! [HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters]</p>
  
  <p class=preformattedtext style='text-indent:12.0pt'>REG_DWORD&nbsp;&nbsp;
  TraceOption = 0x04</p>
  
! <p class=MsoNormal>Use “fs trace –on” and “fs trace –off” to toggle the generation
! of log messages. </p>
  
  <p class=MsoNormal><a name="_Toc115416150"></a><a name="_Toc126872215"></a><a
  name="_Toc115417086"></a><span style='mso-bookmark:_Toc115416150'>Sysinternal’s
***************
*** 2404,2410 ****
  data can be stored to files for inclusion in <a href="#_5._Reporting_Bugs:">bug
  reports</a>.</p>
  
! <h2><a name="_Toc170268874">4.5. Microsoft MiniDumps <br>
  (fs minidump -&gt; %WinDir%\TEMP\afsd.dmp)</a></h2>
  
  <p class=MsoNormal>If the AFS Client Service become unresponsive to any form of
--- 2428,2434 ----
  data can be stored to files for inclusion in <a href="#_5._Reporting_Bugs:">bug
  reports</a>.</p>
  
! <h2><a name="_Toc184788799">4.5. Microsoft MiniDumps <br>
  (fs minidump -&gt; %WinDir%\TEMP\afsd.dmp)</a></h2>
  
  <p class=MsoNormal>If the AFS Client Service become unresponsive to any form of
***************
*** 2413,2421 ****
  minidump&quot; command can be used to force the generation of a MiniDump file
  containing the state of all of the threads in the AFS Client Service process.</p>
  
! <h2><a name="_Toc170268875"></a><a name="_Toc139993139"></a><a
  name="_Toc126872216"></a><a name="_Toc115417087"></a><span style='mso-bookmark:
! _Toc170268875'>4.6. Single Sign-on (Integrated Logon) debugging</span></h2>
  
  <p class=MsoNormal>If you are having trouble with the Integrated Logon
  operations it is often useful to be able to obtain a log of what it is
--- 2437,2445 ----
  minidump&quot; command can be used to force the generation of a MiniDump file
  containing the state of all of the threads in the AFS Client Service process.</p>
  
! <h2><a name="_Toc184788800"></a><a name="_Toc139993139"></a><a
  name="_Toc126872216"></a><a name="_Toc115417087"></a><span style='mso-bookmark:
! _Toc184788800'>4.6. Single Sign-on (Integrated Logon) debugging</span></h2>
  
  <p class=MsoNormal>If you are having trouble with the Integrated Logon
  operations it is often useful to be able to obtain a log of what it is
***************
*** 2428,2439 ****
  <p class=preformattedtext>&nbsp; REG_DWORD&nbsp;&nbsp; TraceOption = 0x01</p>
  
  <p class=MsoNormal>will instruct the Integrated Logon Network Provider and
! Event Handlers to log information to the Windows Event Log: Application under
! the name “AFS Logon&quot;.</p>
  
! <h2><a name="_Toc170268876"></a><a name="_Toc139993140"></a><a
  name="_Toc126872217"></a><a name="_Toc115417088"></a><span style='mso-bookmark:
! _Toc170268876'>4.7. RX (AFS RPC) debugging (rxdebug)</span></h2>
  
  <p class=MsoNormal>The rxdebug.exe tool can be used to query a variety of
  information about the AFS services installed on a given machine.&nbsp; The port
--- 2452,2463 ----
  <p class=preformattedtext>&nbsp; REG_DWORD&nbsp;&nbsp; TraceOption = 0x01</p>
  
  <p class=MsoNormal>will instruct the Integrated Logon Network Provider and
! Event Handlers to log information to the Windows Event Log: Application under the
! name “AFS Logon&quot;.</p>
  
! <h2><a name="_Toc184788801"></a><a name="_Toc139993140"></a><a
  name="_Toc126872217"></a><a name="_Toc115417088"></a><span style='mso-bookmark:
! _Toc184788801'>4.7. RX (AFS RPC) debugging (rxdebug)</span></h2>
  
  <p class=MsoNormal>The rxdebug.exe tool can be used to query a variety of
  information about the AFS services installed on a given machine.&nbsp; The port
***************
*** 2464,2471 ****
  <p class=preformattedtext>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  -allconnections&nbsp; don't filter out uninteresting connections</p>
  
! <p class=preformattedtext>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -rxstats&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
! show Rx statistics</p>
  
  <p class=preformattedtext>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  -onlyserver&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; only show server conns</p>
--- 2488,2495 ----
  <p class=preformattedtext>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  -allconnections&nbsp; don't filter out uninteresting connections</p>
  
! <p class=preformattedtext>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
! -rxstats&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; show Rx statistics</p>
  
  <p class=preformattedtext>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  -onlyserver&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; only show server conns</p>
***************
*** 2482,2490 ****
  <p class=preformattedtext>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  -peers&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; show peers</p>
  
! <h2><a name="_Toc170268877"></a><a name="_Toc139993141"></a><a
  name="_Toc126872218"></a><a name="_Toc115417089"></a><span style='mso-bookmark:
! _Toc170268877'>4.8. Cache Manager debugging (cmdebug)</span></h2>
  
  <p class=MsoNormal>The cmdebug.exe tool can be used to query the state of the
  AFS Cache Manager on a given machine.</p>
--- 2506,2514 ----
  <p class=preformattedtext>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  -peers&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; show peers</p>
  
! <h2><a name="_Toc184788802"></a><a name="_Toc139993141"></a><a
  name="_Toc126872218"></a><a name="_Toc115417089"></a><span style='mso-bookmark:
! _Toc184788802'>4.8. Cache Manager debugging (cmdebug)</span></h2>
  
  <p class=MsoNormal>The cmdebug.exe tool can be used to query the state of the
  AFS Cache Manager on a given machine.</p>
***************
*** 2511,2519 ****
  <p class=preformattedtext>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  -cache&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; print only cache configuration</p>
  
! <h2><a name="_Toc170268878"></a><a name="_Toc139993142"></a><a
  name="_Toc126872219"></a><a name="_Toc115417090"></a><span style='mso-bookmark:
! _Toc170268878'>4.9. Persistent Cache consistency check</span></h2>
  
  <p class=MsoNormal>The persistent cache is stored in a Hidden System file at
  %WinDir%\TEMP\AFSCache.&nbsp; If there is a problem with the persistent cache
--- 2535,2543 ----
  <p class=preformattedtext>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  -cache&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; print only cache configuration</p>
  
! <h2><a name="_Toc184788803"></a><a name="_Toc139993142"></a><a
  name="_Toc126872219"></a><a name="_Toc115417090"></a><span style='mso-bookmark:
! _Toc184788803'>4.9. Persistent Cache consistency check</span></h2>
  
  <p class=MsoNormal>The persistent cache is stored in a Hidden System file at
  %WinDir%\TEMP\AFSCache.&nbsp; If there is a problem with the persistent cache
***************
*** 2523,2542 ****
  <p class=preformattedtext>&nbsp; afsd_service.exe --validate-cache
  &lt;cache-path&gt;</p>
  
! <h2>4.10. Token Acquisition Debugging</h2>
  
  <p class=MsoNormal>If you are having trouble obtaining tokens with the Network
  Identity Manager AFS credential provider, it is recommended that you verify
  your ability to obtain tokens using the command-line tools <i style='mso-bidi-font-style:
  normal'>klog.exe</i> (if you are using kaserver) or <i style='mso-bidi-font-style:
  normal'>kinit.exe</i> and <i style='mso-bidi-font-style:normal'>aklog.exe</i>
! (if you are using Kerberos v5.) <span style='mso-spacerun:yes'> </span>The
  aklog.exe <i style='mso-bidi-font-style:normal'>–d</i> option will be quite
  helpful in diagnosing Kerberos v5 related problems. </p>
  
! <h1><a name="_Toc170268879"></a><a name="_Toc139993143"></a><a
  name="_Toc126872220"></a><a name="_Toc115417113"></a><a name="_Toc115417091"></a><a
! name="_5._Reporting_Bugs:"></a><span style='mso-bookmark:_Toc170268879'>5.
  Reporting Bugs:</span></h1>
  
  <p class=MsoNormal>Bug reports should be sent to <a
--- 2547,2566 ----
  <p class=preformattedtext>&nbsp; afsd_service.exe --validate-cache
  &lt;cache-path&gt;</p>
  
! <h2><a name="_Toc184788804">4.10. Token Acquisition Debugging</a></h2>
  
  <p class=MsoNormal>If you are having trouble obtaining tokens with the Network
  Identity Manager AFS credential provider, it is recommended that you verify
  your ability to obtain tokens using the command-line tools <i style='mso-bidi-font-style:
  normal'>klog.exe</i> (if you are using kaserver) or <i style='mso-bidi-font-style:
  normal'>kinit.exe</i> and <i style='mso-bidi-font-style:normal'>aklog.exe</i>
! (if you are using Kerberos v5.)<span style='mso-spacerun:yes'>  </span>The
  aklog.exe <i style='mso-bidi-font-style:normal'>–d</i> option will be quite
  helpful in diagnosing Kerberos v5 related problems. </p>
  
! <h1><a name="_Toc184788805"></a><a name="_Toc139993143"></a><a
  name="_Toc126872220"></a><a name="_Toc115417113"></a><a name="_Toc115417091"></a><a
! name="_5._Reporting_Bugs:"></a><span style='mso-bookmark:_Toc184788805'>5.
  Reporting Bugs:</span></h1>
  
  <p class=MsoNormal>Bug reports should be sent to <a
***************
*** 2619,2628 ****
  <p class=MsoNormal>When reporting a error, please be sure to include the
  version of OpenAFS.</p>
  
! <h1><a name="_Toc170268880"></a><a name="_Toc152605095"></a><a
  name="_Toc115416156"></a><a name="_Toc139993144"></a><a name="_Toc126872221"></a><a
  name="_Toc115417114"></a><a name="_Toc115417092"></a><span style='mso-bookmark:
! _Toc170268880'><span style='mso-bookmark:_Toc152605095'><span style='mso-bookmark:
  _Toc115416156'>6. How to Contribute to the Development of OpenAFS for Windows</span></span></span></h1>
  
  <p class=MsoNormal>Contributions to the development of OpenAFS for Windows are
--- 2643,2652 ----
  <p class=MsoNormal>When reporting a error, please be sure to include the
  version of OpenAFS.</p>
  
! <h1><a name="_Toc184788806"></a><a name="_Toc152605095"></a><a
  name="_Toc115416156"></a><a name="_Toc139993144"></a><a name="_Toc126872221"></a><a
  name="_Toc115417114"></a><a name="_Toc115417092"></a><span style='mso-bookmark:
! _Toc184788806'><span style='mso-bookmark:_Toc152605095'><span style='mso-bookmark:
  _Toc115416156'>6. How to Contribute to the Development of OpenAFS for Windows</span></span></span></h1>
  
  <p class=MsoNormal>Contributions to the development of OpenAFS for Windows are
***************
*** 2630,2645 ****
  donations, support contracts, donated developer time, and even donated tech
  writer time.</p>
  
! <h2><a name="_Toc170268881"></a><a name="_Toc152605096"></a><a
  name="_Toc115416157"></a><a name="_Toc139993145"></a><a name="_Toc126872222"></a><a
! name="_Toc115417093"></a><span style='mso-bookmark:_Toc170268881'><span
  style='mso-bookmark:_Toc152605096'><span style='mso-bookmark:_Toc115416157'>6.1.
  The USENIX OpenAFS Fund</span></span></span> </h2>
  
  <p class=MsoBodyText><a href="http://www.usenix.org/">USENIX</a>, a 501c3
! non-profit corporation, has formed the USENIX OpenAFS Fund in order to accept
! tax deductible donations on behalf of the OpenAFS Elders. The donated funds will
! be allocated by the OpenAFS Elders to fund OpenAFS development, documentation,
  project management, and maintaining openafs.org. <o:p></o:p></p>
  
  <div>
--- 2654,2669 ----
  donations, support contracts, donated developer time, and even donated tech
  writer time.</p>
  
! <h2><a name="_Toc184788807"></a><a name="_Toc152605096"></a><a
  name="_Toc115416157"></a><a name="_Toc139993145"></a><a name="_Toc126872222"></a><a
! name="_Toc115417093"></a><span style='mso-bookmark:_Toc184788807'><span
  style='mso-bookmark:_Toc152605096'><span style='mso-bookmark:_Toc115416157'>6.1.
  The USENIX OpenAFS Fund</span></span></span> </h2>
  
  <p class=MsoBodyText><a href="http://www.usenix.org/">USENIX</a>, a 501c3
! non-profit corporation, has formed the USENIX OpenAFS Fund in order to accept tax
! deductible donations on behalf of the OpenAFS Elders. The donated funds will be
! allocated by the OpenAFS Elders to fund OpenAFS development, documentation,
  project management, and maintaining openafs.org. <o:p></o:p></p>
  
  <div>
***************
*** 2666,2685 ****
  bank, made out to the USENIX OpenAFS Fund or by making a <a
  href="https://db.usenix.org/cgi-bin/openafs/openafs.cgi">donation online</a>.</p>
  
! <h2><a name="_Toc170268882"></a><a name="_Toc152605097"></a><a
  name="_Toc115417094"></a><a name="_Toc139993146"></a><a name="_Toc126872223"></a><span
! style='mso-bookmark:_Toc170268882'><span style='mso-bookmark:_Toc152605097'><span
  style='mso-bookmark:_Toc115417094'>6.2. Secure Endpoints Inc.</span></span></span>
  </h2>
  
  <p class=MsoBodyText><a href="http://www.secure-endpoints.com/">Secure
  Endpoints Inc.</a> provides development and support services for OpenAFS for
  Windows and <a href="http://web.mit.edu/kerberos/">MIT Kerberos for Windows</a>.
! &nbsp;Donations provided to Secure Endpoints Inc. for the development of OpenAFS
! are used to cover the OpenAFS gatekeeper responsibilities; providing support to
! the OpenAFS community via the OpenAFS mailing lists; and furthering development
! of desired features that are either too small to be financed by development
! contracts.</p>
  
  <p class=MsoBodyText>Secure Endpoints Inc. accepts software development
  agreements from organizations who wish to fund a well-defined set of bug fixes
--- 2690,2709 ----
  bank, made out to the USENIX OpenAFS Fund or by making a <a
  href="https://db.usenix.org/cgi-bin/openafs/openafs.cgi">donation online</a>.</p>
  
! <h2><a name="_Toc184788808"></a><a name="_Toc152605097"></a><a
  name="_Toc115417094"></a><a name="_Toc139993146"></a><a name="_Toc126872223"></a><span
! style='mso-bookmark:_Toc184788808'><span style='mso-bookmark:_Toc152605097'><span
  style='mso-bookmark:_Toc115417094'>6.2. Secure Endpoints Inc.</span></span></span>
  </h2>
  
  <p class=MsoBodyText><a href="http://www.secure-endpoints.com/">Secure
  Endpoints Inc.</a> provides development and support services for OpenAFS for
  Windows and <a href="http://web.mit.edu/kerberos/">MIT Kerberos for Windows</a>.
! &nbsp;Donations provided to Secure Endpoints Inc. for the development of
! OpenAFS are used to cover the OpenAFS gatekeeper responsibilities; providing
! support to the OpenAFS community via the OpenAFS mailing lists; and furthering
! development of desired features that are either too small to be financed by
! development contracts.</p>
  
  <p class=MsoBodyText>Secure Endpoints Inc. accepts software development
  agreements from organizations who wish to fund a well-defined set of bug fixes
***************
*** 2689,2698 ****
  the OpenAFS for Windows and the <a href="http://web.mit.edu/kerberos/">MIT
  Kerberos for Windows</a> products. </p>
  
! <h2><a name="_Toc170268883"></a><a name="_Toc152605098"></a><a
  name="_Toc115417096"></a><a name="_Toc139993147"></a><a name="_Toc126872224"></a><a
  name="_Toc139993148"></a><a name="_Toc126872225"></a><span style='mso-bookmark:
! _Toc170268883'><span style='mso-bookmark:_Toc152605098'><span style='mso-bookmark:
  _Toc115417096'>6.3. Direct contributions of code and/or documentation</span></span></span>
  </h2>
  
--- 2713,2722 ----
  the OpenAFS for Windows and the <a href="http://web.mit.edu/kerberos/">MIT
  Kerberos for Windows</a> products. </p>
  
! <h2><a name="_Toc184788809"></a><a name="_Toc152605098"></a><a
  name="_Toc115417096"></a><a name="_Toc139993147"></a><a name="_Toc126872224"></a><a
  name="_Toc139993148"></a><a name="_Toc126872225"></a><span style='mso-bookmark:
! _Toc184788809'><span style='mso-bookmark:_Toc152605098'><span style='mso-bookmark:
  _Toc115417096'>6.3. Direct contributions of code and/or documentation</span></span></span>
  </h2>
  
***************
*** 2701,2709 ****
  make to OpenAFS.org via <u><span style='color:blue'>openafs-bugs@openafs.org</span></u>.
  &nbsp;Contributions of documentation are highly desired. </p>
  
! <h2><a name="_Toc170268884"></a><a name="_Toc152605099"></a><a
  name="_Toc115417097"></a><a name="_Toc139993149"></a><a name="_Toc126872226"></a><span
! style='mso-bookmark:_Toc170268884'><span style='mso-bookmark:_Toc152605099'><span
  style='mso-bookmark:_Toc115417097'>6.4. OpenAFS for Windows Mailing Lists</span></span></span></h2>
  
  <p class=MsoNormal>If you wish to participate in OpenAFS for Windows
--- 2725,2733 ----
  make to OpenAFS.org via <u><span style='color:blue'>openafs-bugs@openafs.org</span></u>.
  &nbsp;Contributions of documentation are highly desired. </p>
  
! <h2><a name="_Toc184788810"></a><a name="_Toc152605099"></a><a
  name="_Toc115417097"></a><a name="_Toc139993149"></a><a name="_Toc126872226"></a><span
! style='mso-bookmark:_Toc184788810'><span style='mso-bookmark:_Toc152605099'><span
  style='mso-bookmark:_Toc115417097'>6.4. OpenAFS for Windows Mailing Lists</span></span></span></h2>
  
  <p class=MsoNormal>If you wish to participate in OpenAFS for Windows
***************
*** 2722,2731 ****
  <p class=MsoNormal>You must join the mailing lists if you wish to post to the
  list without incurring a moderation delay.</p>
  
! <h1><a name="_Toc170268885"></a><a name="_Toc152605100"></a><a
  name="_Toc139993150"></a><a name="_Toc126872227"></a><a name="_Toc115417115"></a><a
  name="_Toc115417098"></a><a name="_Toc115416158"></a><a
! name="_MSI_Deployment_Guide"></a><span style='mso-bookmark:_Toc170268885'><span
  style='mso-bookmark:_Toc152605100'>7. MSI Deployment Guide</span></span></h1>
  
  <b><span style='font-size:16.0pt;font-family:Albany;mso-fareast-font-family:
--- 2746,2755 ----
  <p class=MsoNormal>You must join the mailing lists if you wish to post to the
  list without incurring a moderation delay.</p>
  
! <h1><a name="_Toc184788811"></a><a name="_Toc152605100"></a><a
  name="_Toc139993150"></a><a name="_Toc126872227"></a><a name="_Toc115417115"></a><a
  name="_Toc115417098"></a><a name="_Toc115416158"></a><a
! name="_MSI_Deployment_Guide"></a><span style='mso-bookmark:_Toc184788811'><span
  style='mso-bookmark:_Toc152605100'>7. MSI Deployment Guide</span></span></h1>
  
  <b><span style='font-size:16.0pt;font-family:Albany;mso-fareast-font-family:
***************
*** 2734,2742 ****
  style='page-break-before:always'>
  </span></b>
  
! <h2><a name="_Toc170268886"></a><a name="_Toc152605101"></a><a
  name="_Toc115416159"></a><a name="_Toc139993151"></a><a name="_Toc126872228"></a><a
! name="_Toc115417099"></a><span style='mso-bookmark:_Toc170268886'><span
  style='mso-bookmark:_Toc152605101'><span style='mso-bookmark:_Toc115416159'>7.1.
  Introduction</span></span></span></h2>
  
--- 2758,2766 ----
  style='page-break-before:always'>
  </span></b>
  
! <h2><a name="_Toc184788812"></a><a name="_Toc152605101"></a><a
  name="_Toc115416159"></a><a name="_Toc139993151"></a><a name="_Toc126872228"></a><a
! name="_Toc115417099"></a><span style='mso-bookmark:_Toc184788812'><span
  style='mso-bookmark:_Toc152605101'><span style='mso-bookmark:_Toc115416159'>7.1.
  Introduction</span></span></span></h2>
  
***************
*** 2752,2760 ****
  files through group policy and/or startup scripts so that machines where
  OpenAFS for Windows is already installed will pick up these customizations.</p>
  
! <h3><a name="_Toc170268887"></a><a name="_Toc152605102"></a><a
  name="_Toc115416160"></a><a name="_Toc139993152"></a><a name="_Toc126872229"></a><span
! style='mso-bookmark:_Toc170268887'><span style='mso-bookmark:_Toc152605102'><span
  style='mso-bookmark:_Toc115416160'>7.1.1 Requirements</span></span></span></h3>
  
  <p class=MsoNormal>The information in this document applies to MSI packages
--- 2776,2784 ----
  files through group policy and/or startup scripts so that machines where
  OpenAFS for Windows is already installed will pick up these customizations.</p>
  
! <h3><a name="_Toc184788813"></a><a name="_Toc152605102"></a><a
  name="_Toc115416160"></a><a name="_Toc139993152"></a><a name="_Toc126872229"></a><span
! style='mso-bookmark:_Toc184788813'><span style='mso-bookmark:_Toc152605102'><span
  style='mso-bookmark:_Toc115416160'>7.1.1 Requirements</span></span></span></h3>
  
  <p class=MsoNormal>The information in this document applies to MSI packages
***************
*** 2792,2800 ****
  <p class=MsoNormal>&nbsp;&nbsp;&nbsp; <a
  href="http://msdn.microsoft.com/library/en-us/msi/setup/a_customization_transform_example.asp">http://msdn.microsoft.com/library/en-us/msi/setup/a_customization_transform_example.asp</a></p>
  
! <h3><a name="_Toc170268888"></a><a name="_Toc152605103"></a><a
  name="_Toc115416161"></a><a name="_Toc139993153"></a><a name="_Toc126872230"></a><span
! style='mso-bookmark:_Toc170268888'><span style='mso-bookmark:_Toc152605103'><span
  style='mso-bookmark:_Toc115416161'>7.1.2 Authoring a Transform</span></span></span></h3>
  
  <p class=MsoNormal>Transforms describe a set of modifications to be performed
--- 2816,2824 ----
  <p class=MsoNormal>&nbsp;&nbsp;&nbsp; <a
  href="http://msdn.microsoft.com/library/en-us/msi/setup/a_customization_transform_example.asp">http://msdn.microsoft.com/library/en-us/msi/setup/a_customization_transform_example.asp</a></p>
  
! <h3><a name="_Toc184788814"></a><a name="_Toc152605103"></a><a
  name="_Toc115416161"></a><a name="_Toc139993153"></a><a name="_Toc126872230"></a><span
! style='mso-bookmark:_Toc184788814'><span style='mso-bookmark:_Toc152605103'><span
  style='mso-bookmark:_Toc115416161'>7.1.2 Authoring a Transform</span></span></span></h3>
  
  <p class=MsoNormal>Transforms describe a set of modifications to be performed
***************
*** 2841,2863 ****
  the MSI databases directly when editing openafs-modified.msi.&nbsp; More
  details are given below.</p>
  
! <h2><a name="_Toc170268889"></a><a name="_Toc152605104"></a><a
  name="_Toc115416162"></a><a name="_Toc139993154"></a><a name="_Toc126872231"></a><a
! name="_Toc115417100"></a><span style='mso-bookmark:_Toc170268889'><span
  style='mso-bookmark:_Toc152605104'><span style='mso-bookmark:_Toc115416162'>7.2.
  Configuration Options</span></span></span></h2>
  
  <p class=MsoNormal>The logic necessary to implement many of the settings
! described in <a href="#_Appendix_A:_Registry_Values">Appendix A</a> are present
! in the MSI.&nbsp; Most of these can be controlled by setting the corresponding
! properties to the desired value.&nbsp; Some settings may require modifying
! existing registry entries (though not recommended) or adding new resources
! (like files or registry keys).&nbsp; Instructions for performing these tasks
! are below.</p>
  
! <h3><a name="_Toc170268890"></a><a name="_Toc152605105"></a><a
  name="_Toc115416163"></a><a name="_Toc139993155"></a><a name="_Toc126872232"></a><span
! style='mso-bookmark:_Toc170268890'><span style='mso-bookmark:_Toc152605105'><span
  style='mso-bookmark:_Toc115416163'>7.2.1 Configurable Properties</span></span></span></h3>
  
  <p class=MsoNormal>Most configurable properties correspond to registry keys or
--- 2865,2887 ----
  the MSI databases directly when editing openafs-modified.msi.&nbsp; More
  details are given below.</p>
  
! <h2><a name="_Toc184788815"></a><a name="_Toc152605104"></a><a
  name="_Toc115416162"></a><a name="_Toc139993154"></a><a name="_Toc126872231"></a><a
! name="_Toc115417100"></a><span style='mso-bookmark:_Toc184788815'><span
  style='mso-bookmark:_Toc152605104'><span style='mso-bookmark:_Toc115416162'>7.2.
  Configuration Options</span></span></span></h2>
  
  <p class=MsoNormal>The logic necessary to implement many of the settings
! described in <a href="#_Appendix_A:_Registry_Values">Appendix <span
! class=GramE>A</span></a> are present in the MSI.&nbsp; Most of these can be
! controlled by setting the corresponding properties to the desired value.&nbsp;
! Some settings may require modifying existing registry entries (though not
! recommended) or adding new resources (like files or registry keys).&nbsp; Instructions
! for performing these tasks are below.</p>
  
! <h3><a name="_Toc184788816"></a><a name="_Toc152605105"></a><a
  name="_Toc115416163"></a><a name="_Toc139993155"></a><a name="_Toc126872232"></a><span
! style='mso-bookmark:_Toc184788816'><span style='mso-bookmark:_Toc152605105'><span
  style='mso-bookmark:_Toc115416163'>7.2.1 Configurable Properties</span></span></span></h3>
  
  <p class=MsoNormal>Most configurable properties correspond to registry keys or
***************
*** 2870,2877 ****
  
  <p class=MsoNormal>When one of the configurable properties is set, the
  installer will use the property value to set the corresponding setting in the
! HKEY_LOCAL_MACHINE registry hive.&nbsp; The HKEY_CURRENT_USER hive is not
! touched by the installer.</p>
  
  <p class=MsoNormal>For each property, the associated registry setting is
  referenced by the same text used in <a href="#_Appendix_A:_Registry_Values">Appendix
--- 2894,2901 ----
  
  <p class=MsoNormal>When one of the configurable properties is set, the
  installer will use the property value to set the corresponding setting in the
! HKEY_LOCAL_MACHINE registry hive.&nbsp; The HKEY_CURRENT_USER hive is not touched
! by the installer.</p>
  
  <p class=MsoNormal>For each property, the associated registry setting is
  referenced by the same text used in <a href="#_Appendix_A:_Registry_Values">Appendix
***************
*** 2883,2891 ****
  
  <p class=MsoNormal>Numeric values should be authored as decimal strings.</p>
  
! <h4><a name="_Toc170268891"></a><a name="_Toc152605106"></a><a
  name="_Toc115416164"></a><a name="_Toc139993156"></a><a name="_Toc126872233"></a><span
! style='mso-bookmark:_Toc170268891'><span style='mso-bookmark:_Toc152605106'><span
  style='mso-bookmark:_Toc115416164'>7.2.1.1 Setting Properties</span></span></span></h4>
  
  <p class=MsoNormal>In order to set a property,</p>
--- 2907,2915 ----
  
  <p class=MsoNormal>Numeric values should be authored as decimal strings.</p>
  
! <h4><a name="_Toc184788817"></a><a name="_Toc152605106"></a><a
  name="_Toc115416164"></a><a name="_Toc139993156"></a><a name="_Toc126872233"></a><span
! style='mso-bookmark:_Toc184788817'><span style='mso-bookmark:_Toc152605106'><span
  style='mso-bookmark:_Toc115416164'>7.2.1.1 Setting Properties</span></span></span></h4>
  
  <p class=MsoNormal>In order to set a property,</p>
***************
*** 2912,2968 ****
  </span>If the property does not exist in the property list, right click the
  list and select 'Add Row', type the property name and the desired value.</p>
  
! <h4><a name="_Toc170268892"></a><a name="_Toc152605107"></a><a
  name="_Toc115416165"></a><a name="_Toc139993157"></a><a name="_Toc126872234"></a><span
! style='mso-bookmark:_Toc170268892'><span style='mso-bookmark:_Toc152605107'><span
  style='mso-bookmark:_Toc115416165'>7.2.1.2 OpenAFS for Windows Properties</span></span></span></h4>
  
  <table class=MsoNormalTable border=1 cellspacing=3 cellpadding=0
   style='mso-cellspacing:2.2pt;mso-padding-alt:0pt 0pt 0pt 0pt'>
   <tr style='mso-yfti-irow:0;mso-yfti-firstrow:yes'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <h5><a name="_Toc170268893"></a><a name="_Toc152605108"></a><a
    name="_Toc139993158"></a><a name="_Toc126872235"></a><a name="_Toc115416166"></a><a
!   name="_(Service_parameters):"></a><span style='mso-bookmark:_Toc170268893'><span
    style='mso-bookmark:_Toc152605108'>(Service parameters):</span></span></h5>
    <p class=listcontents style='margin-left:0pt'>[HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters]</p>
    </td>
   </tr>
   <tr style='mso-yfti-irow:1'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <h5><a name="_Toc170268894"></a><a name="_Toc152605109"></a><a
    name="_Toc139993159"></a><a name="_Toc126872236"></a><a name="_Toc115416167"></a><a
!   name="_(Network_provider):"></a><span style='mso-bookmark:_Toc170268894'><span
    style='mso-bookmark:_Toc152605109'>(Network provider):</span></span></h5>
    <p class=listcontents style='margin-left:0pt'>[HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider]</p>
    </td>
   </tr>
   <tr style='mso-yfti-irow:2;mso-yfti-lastrow:yes'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <h5><a name="_Toc170268895"></a><a name="_Toc152605110"></a><a
    name="_Toc139993160"></a><a name="_Toc126872237"></a><a name="_Toc115416168"></a><a
!   name="_(OpenAFS_Client):"></a><span style='mso-bookmark:_Toc170268895'><span
    style='mso-bookmark:_Toc152605110'>(OpenAFS Client):</span></span></h5>
    <p class=listcontents style='margin-left:0pt'>[HKLM\SOFTWARE\OpenAFS\Client]</p>
    </td>
   </tr>
  </table>
  
! <h5><a name="_Toc170268896"></a><a name="_Toc152605111"></a><a
  name="_Toc115416169"></a><a name="_Toc139993161"></a><a name="_Toc126872238"></a><span
! style='mso-bookmark:_Toc170268896'><span style='mso-bookmark:_Toc152605111'><span
  style='mso-bookmark:_Toc115416169'>7.2.1.2.1 Registry Properties</span></span></span></h5>
  
! <p class=MsoNormal>These properties are used to set the values of registry
! entries associated with OpenAFS for Windows.</p>
  
  <table class=MsoNormalTable border=1 cellspacing=3 cellpadding=0
   style='mso-cellspacing:2.2pt;mso-padding-alt:0pt 0pt 0pt 0pt'>
   <tr style='mso-yfti-irow:0;mso-yfti-firstrow:yes'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <h6><a name="_Toc170268897"></a><a name="_Toc152605112"></a><a
    name="_Toc115416170"></a><a name="_Toc139993162"></a><a name="_Toc126872239"></a><span
!   style='mso-bookmark:_Toc170268897'><span style='mso-bookmark:_Toc152605112'><span
    style='mso-bookmark:_Toc115416170'>AFSCACHEPATH</span></span></span></h6>
    <p class=MsoList>Registry key&nbsp;&nbsp;&nbsp; : <a
    href="#_(Service_parameters):">(Service parameters)</a></p>
--- 2936,2992 ----
  </span>If the property does not exist in the property list, right click the
  list and select 'Add Row', type the property name and the desired value.</p>
  
! <h4><a name="_Toc184788818"></a><a name="_Toc152605107"></a><a
  name="_Toc115416165"></a><a name="_Toc139993157"></a><a name="_Toc126872234"></a><span
! style='mso-bookmark:_Toc184788818'><span style='mso-bookmark:_Toc152605107'><span
  style='mso-bookmark:_Toc115416165'>7.2.1.2 OpenAFS for Windows Properties</span></span></span></h4>
  
  <table class=MsoNormalTable border=1 cellspacing=3 cellpadding=0
   style='mso-cellspacing:2.2pt;mso-padding-alt:0pt 0pt 0pt 0pt'>
   <tr style='mso-yfti-irow:0;mso-yfti-firstrow:yes'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <h5><a name="_Toc184788819"></a><a name="_Toc152605108"></a><a
    name="_Toc139993158"></a><a name="_Toc126872235"></a><a name="_Toc115416166"></a><a
!   name="_(Service_parameters):"></a><span style='mso-bookmark:_Toc184788819'><span
    style='mso-bookmark:_Toc152605108'>(Service parameters):</span></span></h5>
    <p class=listcontents style='margin-left:0pt'>[HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters]</p>
    </td>
   </tr>
   <tr style='mso-yfti-irow:1'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <h5><a name="_Toc184788820"></a><a name="_Toc152605109"></a><a
    name="_Toc139993159"></a><a name="_Toc126872236"></a><a name="_Toc115416167"></a><a
!   name="_(Network_provider):"></a><span style='mso-bookmark:_Toc184788820'><span
    style='mso-bookmark:_Toc152605109'>(Network provider):</span></span></h5>
    <p class=listcontents style='margin-left:0pt'>[HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider]</p>
    </td>
   </tr>
   <tr style='mso-yfti-irow:2;mso-yfti-lastrow:yes'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <h5><a name="_Toc184788821"></a><a name="_Toc152605110"></a><a
    name="_Toc139993160"></a><a name="_Toc126872237"></a><a name="_Toc115416168"></a><a
!   name="_(OpenAFS_Client):"></a><span style='mso-bookmark:_Toc184788821'><span
    style='mso-bookmark:_Toc152605110'>(OpenAFS Client):</span></span></h5>
    <p class=listcontents style='margin-left:0pt'>[HKLM\SOFTWARE\OpenAFS\Client]</p>
    </td>
   </tr>
  </table>
  
! <h5><a name="_Toc184788822"></a><a name="_Toc152605111"></a><a
  name="_Toc115416169"></a><a name="_Toc139993161"></a><a name="_Toc126872238"></a><span
! style='mso-bookmark:_Toc184788822'><span style='mso-bookmark:_Toc152605111'><span
  style='mso-bookmark:_Toc115416169'>7.2.1.2.1 Registry Properties</span></span></span></h5>
  
! <p class=MsoNormal>These properties are used to set the values of registry entries
! associated with OpenAFS for Windows.</p>
  
  <table class=MsoNormalTable border=1 cellspacing=3 cellpadding=0
   style='mso-cellspacing:2.2pt;mso-padding-alt:0pt 0pt 0pt 0pt'>
   <tr style='mso-yfti-irow:0;mso-yfti-firstrow:yes'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <h6><a name="_Toc184788823"></a><a name="_Toc152605112"></a><a
    name="_Toc115416170"></a><a name="_Toc139993162"></a><a name="_Toc126872239"></a><span
!   style='mso-bookmark:_Toc184788823'><span style='mso-bookmark:_Toc152605112'><span
    style='mso-bookmark:_Toc115416170'>AFSCACHEPATH</span></span></span></h6>
    <p class=MsoList>Registry key&nbsp;&nbsp;&nbsp; : <a
    href="#_(Service_parameters):">(Service parameters)</a></p>
***************
*** 2972,2980 ****
   </tr>
   <tr style='mso-yfti-irow:1'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <h6><a name="_Toc170268898"></a><a name="_Toc152605113"></a><a
    name="_Toc115416171"></a><a name="_Toc139993163"></a><a name="_Toc126872240"></a><span
!   style='mso-bookmark:_Toc170268898'><span style='mso-bookmark:_Toc152605113'><span
    style='mso-bookmark:_Toc115416171'>AFSCACHESIZE</span></span></span></h6>
    <p class=MsoList>Registry key&nbsp;&nbsp;&nbsp; : <a
    href="#_(Service_parameters):">(Service parameters)</a></p>
--- 2996,3004 ----
   </tr>
   <tr style='mso-yfti-irow:1'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <h6><a name="_Toc184788824"></a><a name="_Toc152605113"></a><a
    name="_Toc115416171"></a><a name="_Toc139993163"></a><a name="_Toc126872240"></a><span
!   style='mso-bookmark:_Toc184788824'><span style='mso-bookmark:_Toc152605113'><span
    style='mso-bookmark:_Toc115416171'>AFSCACHESIZE</span></span></span></h6>
    <p class=MsoList>Registry key&nbsp;&nbsp;&nbsp; : <a
    href="#_(Service_parameters):">(Service parameters)</a></p>
***************
*** 2984,2992 ****
   </tr>
   <tr style='mso-yfti-irow:2'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <h6><a name="_Toc170268899"></a><a name="_Toc152605114"></a><a
    name="_Toc115416172"></a><a name="_Toc139993164"></a><a name="_Toc126872241"></a><span
!   style='mso-bookmark:_Toc170268899'><span style='mso-bookmark:_Toc152605114'><span
    style='mso-bookmark:_Toc115416172'>AFSCELLNAME</span></span></span></h6>
    <p class=MsoList>Registry key&nbsp;&nbsp;&nbsp; : <a
    href="#_(Service_parameters):">(Service parameters)</a></p>
--- 3008,3016 ----
   </tr>
   <tr style='mso-yfti-irow:2'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <h6><a name="_Toc184788825"></a><a name="_Toc152605114"></a><a
    name="_Toc115416172"></a><a name="_Toc139993164"></a><a name="_Toc126872241"></a><span
!   style='mso-bookmark:_Toc184788825'><span style='mso-bookmark:_Toc152605114'><span
    style='mso-bookmark:_Toc115416172'>AFSCELLNAME</span></span></span></h6>
    <p class=MsoList>Registry key&nbsp;&nbsp;&nbsp; : <a
    href="#_(Service_parameters):">(Service parameters)</a></p>
***************
*** 2996,3004 ****
   </tr>
   <tr style='mso-yfti-irow:3'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <h6><a name="_Toc170268900"></a><a name="_Toc152605115"></a><a
    name="_Toc115416173"></a><a name="_Toc139993165"></a><a name="_Toc126872242"></a><span
!   style='mso-bookmark:_Toc170268900'><span style='mso-bookmark:_Toc152605115'><span
    style='mso-bookmark:_Toc115416173'>FREELANCEMODE</span></span></span></h6>
    <p class=MsoList>Registry key&nbsp;&nbsp;&nbsp; : <a
    href="#_(Service_parameters):">(Service parameters)</a></p>
--- 3020,3028 ----
   </tr>
   <tr style='mso-yfti-irow:3'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <h6><a name="_Toc184788826"></a><a name="_Toc152605115"></a><a
    name="_Toc115416173"></a><a name="_Toc139993165"></a><a name="_Toc126872242"></a><span
!   style='mso-bookmark:_Toc184788826'><span style='mso-bookmark:_Toc152605115'><span
    style='mso-bookmark:_Toc115416173'>FREELANCEMODE</span></span></span></h6>
    <p class=MsoList>Registry key&nbsp;&nbsp;&nbsp; : <a
    href="#_(Service_parameters):">(Service parameters)</a></p>
***************
*** 3008,3016 ****
   </tr>
   <tr style='mso-yfti-irow:4'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <h6><a name="_Toc170268901"></a><a name="_Toc152605116"></a><a
    name="_Toc115416174"></a><a name="_Toc139993166"></a><a name="_Toc126872243"></a><span
!   style='mso-bookmark:_Toc170268901'><span style='mso-bookmark:_Toc152605116'><span
    style='mso-bookmark:_Toc115416174'>HIDEDOTFILES</span></span></span></h6>
    <p class=MsoList>Registry key&nbsp;&nbsp;&nbsp; : <a
    href="#_(Service_parameters):">(Service parameters)</a></p>
--- 3032,3040 ----
   </tr>
   <tr style='mso-yfti-irow:4'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <h6><a name="_Toc184788827"></a><a name="_Toc152605116"></a><a
    name="_Toc115416174"></a><a name="_Toc139993166"></a><a name="_Toc126872243"></a><span
!   style='mso-bookmark:_Toc184788827'><span style='mso-bookmark:_Toc152605116'><span
    style='mso-bookmark:_Toc115416174'>HIDEDOTFILES</span></span></span></h6>
    <p class=MsoList>Registry key&nbsp;&nbsp;&nbsp; : <a
    href="#_(Service_parameters):">(Service parameters)</a></p>
***************
*** 3020,3028 ****
   </tr>
   <tr style='mso-yfti-irow:5'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <h6><a name="_Toc170268902"></a><a name="_Toc152605117"></a><a
    name="_Toc115416175"></a><a name="_Toc139993167"></a><a name="_Toc126872244"></a><span
!   style='mso-bookmark:_Toc170268902'><span style='mso-bookmark:_Toc152605117'><span
    style='mso-bookmark:_Toc115416175'>LOGONOPTIONS</span></span></span></h6>
    <p class=MsoList>Registry key&nbsp;&nbsp;&nbsp; : <a
    href="#_(Network_provider):">(Network provider)</a></p>
--- 3044,3052 ----
   </tr>
   <tr style='mso-yfti-irow:5'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <h6><a name="_Toc184788828"></a><a name="_Toc152605117"></a><a
    name="_Toc115416175"></a><a name="_Toc139993167"></a><a name="_Toc126872244"></a><span
!   style='mso-bookmark:_Toc184788828'><span style='mso-bookmark:_Toc152605117'><span
    style='mso-bookmark:_Toc115416175'>LOGONOPTIONS</span></span></span></h6>
    <p class=MsoList>Registry key&nbsp;&nbsp;&nbsp; : <a
    href="#_(Network_provider):">(Network provider)</a></p>
***************
*** 3035,3043 ****
   </tr>
   <tr style='mso-yfti-irow:6'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <h6><a name="_Toc170268903"></a><a name="_Toc152605118"></a><a
    name="_Toc115416176"></a><a name="_Toc139993168"></a><a name="_Toc126872245"></a><span
!   style='mso-bookmark:_Toc170268903'><span style='mso-bookmark:_Toc152605118'><span
    style='mso-bookmark:_Toc115416176'>MOUNTROOT</span></span></span></h6>
    <p class=MsoList>Registry key&nbsp;&nbsp;&nbsp; : <a
    href="#_(Service_parameters):">(Service parameters)</a></p>
--- 3059,3067 ----
   </tr>
   <tr style='mso-yfti-irow:6'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <h6><a name="_Toc184788829"></a><a name="_Toc152605118"></a><a
    name="_Toc115416176"></a><a name="_Toc139993168"></a><a name="_Toc126872245"></a><span
!   style='mso-bookmark:_Toc184788829'><span style='mso-bookmark:_Toc152605118'><span
    style='mso-bookmark:_Toc115416176'>MOUNTROOT</span></span></span></h6>
    <p class=MsoList>Registry key&nbsp;&nbsp;&nbsp; : <a
    href="#_(Service_parameters):">(Service parameters)</a></p>
***************
*** 3047,3055 ****
   </tr>
   <tr style='mso-yfti-irow:7'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <h6><a name="_Toc170268904"></a><a name="_Toc152605119"></a><a
    name="_Toc115416177"></a><a name="_Toc139993169"></a><a name="_Toc126872246"></a><span
!   style='mso-bookmark:_Toc170268904'><span style='mso-bookmark:_Toc152605119'><span
    style='mso-bookmark:_Toc115416177'>NETBIOSNAME</span></span></span></h6>
    <p class=MsoList>Registry key&nbsp;&nbsp;&nbsp; : <a
    href="#_(Service_parameters):">(Service parameters)</a></p>
--- 3071,3079 ----
   </tr>
   <tr style='mso-yfti-irow:7'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <h6><a name="_Toc184788830"></a><a name="_Toc152605119"></a><a
    name="_Toc115416177"></a><a name="_Toc139993169"></a><a name="_Toc126872246"></a><span
!   style='mso-bookmark:_Toc184788830'><span style='mso-bookmark:_Toc152605119'><span
    style='mso-bookmark:_Toc115416177'>NETBIOSNAME</span></span></span></h6>
    <p class=MsoList>Registry key&nbsp;&nbsp;&nbsp; : <a
    href="#_(Service_parameters):">(Service parameters)</a></p>
***************
*** 3060,3068 ****
   </tr>
   <tr style='mso-yfti-irow:8'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <h6><a name="_Toc170268905"></a><a name="_Toc152605120"></a><a
    name="_Toc115416178"></a><a name="_Toc139993170"></a><a name="_Toc126872247"></a><span
!   style='mso-bookmark:_Toc170268905'><span style='mso-bookmark:_Toc152605120'><span
    style='mso-bookmark:_Toc115416178'>NOFINDLANABYNAME</span></span></span></h6>
    <p class=MsoList>Registry key&nbsp;&nbsp;&nbsp; : <a
    href="#_(Service_parameters):">(Service parameters)</a></p>
--- 3084,3092 ----
   </tr>
   <tr style='mso-yfti-irow:8'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <h6><a name="_Toc184788831"></a><a name="_Toc152605120"></a><a
    name="_Toc115416178"></a><a name="_Toc139993170"></a><a name="_Toc126872247"></a><span
!   style='mso-bookmark:_Toc184788831'><span style='mso-bookmark:_Toc152605120'><span
    style='mso-bookmark:_Toc115416178'>NOFINDLANABYNAME</span></span></span></h6>
    <p class=MsoList>Registry key&nbsp;&nbsp;&nbsp; : <a
    href="#_(Service_parameters):">(Service parameters)</a></p>
***************
*** 3072,3080 ****
   </tr>
   <tr style='mso-yfti-irow:9'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <h6><a name="_Toc170268906"></a><a name="_Toc152605121"></a><a
    name="_Toc115416179"></a><a name="_Toc139993171"></a><a name="_Toc126872248"></a><span
!   style='mso-bookmark:_Toc170268906'><span style='mso-bookmark:_Toc152605121'><span
    style='mso-bookmark:_Toc115416179'>RXMAXMTU</span></span></span></h6>
    <p class=MsoList>Registry key&nbsp;&nbsp;&nbsp; : <a
    href="#_(Service_parameters):">(Service parameters)</a></p>
--- 3096,3104 ----
   </tr>
   <tr style='mso-yfti-irow:9'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <h6><a name="_Toc184788832"></a><a name="_Toc152605121"></a><a
    name="_Toc115416179"></a><a name="_Toc139993171"></a><a name="_Toc126872248"></a><span
!   style='mso-bookmark:_Toc184788832'><span style='mso-bookmark:_Toc152605121'><span
    style='mso-bookmark:_Toc115416179'>RXMAXMTU</span></span></span></h6>
    <p class=MsoList>Registry key&nbsp;&nbsp;&nbsp; : <a
    href="#_(Service_parameters):">(Service parameters)</a></p>
***************
*** 3084,3092 ****
   </tr>
   <tr style='mso-yfti-irow:10'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <h6><a name="_Toc170268907"></a><a name="_Toc152605122"></a><a
    name="_Toc115416180"></a><a name="_Toc139993172"></a><a name="_Toc126872249"></a><span
!   style='mso-bookmark:_Toc170268907'><span style='mso-bookmark:_Toc152605122'><span
    style='mso-bookmark:_Toc115416180'>SECURITYLEVEL</span></span></span></h6>
    <p class=MsoList>Registry key&nbsp;&nbsp;&nbsp; : <a
    href="#_(Service_parameters):">(Service parameters)</a></p>
--- 3108,3116 ----
   </tr>
   <tr style='mso-yfti-irow:10'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <h6><a name="_Toc184788833"></a><a name="_Toc152605122"></a><a
    name="_Toc115416180"></a><a name="_Toc139993172"></a><a name="_Toc126872249"></a><span
!   style='mso-bookmark:_Toc184788833'><span style='mso-bookmark:_Toc152605122'><span
    style='mso-bookmark:_Toc115416180'>SECURITYLEVEL</span></span></span></h6>
    <p class=MsoList>Registry key&nbsp;&nbsp;&nbsp; : <a
    href="#_(Service_parameters):">(Service parameters)</a></p>
***************
*** 3096,3104 ****
   </tr>
   <tr style='mso-yfti-irow:11'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <h6><a name="_Toc170268908"></a><a name="_Toc152605123"></a><a
    name="_Toc115416181"></a><a name="_Toc139993173"></a><a name="_Toc126872250"></a><span
!   style='mso-bookmark:_Toc170268908'><span style='mso-bookmark:_Toc152605123'><span
    style='mso-bookmark:_Toc115416181'>SMBAUTHTYPE</span></span></span></h6>
    <p class=MsoList>Registry key&nbsp;&nbsp;&nbsp; : <a
    href="#_(Service_parameters):">(Service parameters)</a></p>
--- 3120,3128 ----
   </tr>
   <tr style='mso-yfti-irow:11'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <h6><a name="_Toc184788834"></a><a name="_Toc152605123"></a><a
    name="_Toc115416181"></a><a name="_Toc139993173"></a><a name="_Toc126872250"></a><span
!   style='mso-bookmark:_Toc184788834'><span style='mso-bookmark:_Toc152605123'><span
    style='mso-bookmark:_Toc115416181'>SMBAUTHTYPE</span></span></span></h6>
    <p class=MsoList>Registry key&nbsp;&nbsp;&nbsp; : <a
    href="#_(Service_parameters):">(Service parameters)</a></p>
***************
*** 3108,3116 ****
   </tr>
   <tr style='mso-yfti-irow:12'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <h6><a name="_Toc170268909"></a><a name="_Toc152605124"></a><a
    name="_Toc115416182"></a><a name="_Toc139993174"></a><a name="_Toc126872251"></a><span
!   style='mso-bookmark:_Toc170268909'><span style='mso-bookmark:_Toc152605124'><span
    style='mso-bookmark:_Toc115416182'>STOREANSIFILENAMES</span></span></span></h6>
    <p class=MsoList>Registry key&nbsp;&nbsp;&nbsp; : <a
    href="#_(OpenAFS_Client):">(OpenAFS Client)</a></p>
--- 3132,3140 ----
   </tr>
   <tr style='mso-yfti-irow:12'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <h6><a name="_Toc184788835"></a><a name="_Toc152605124"></a><a
    name="_Toc115416182"></a><a name="_Toc139993174"></a><a name="_Toc126872251"></a><span
!   style='mso-bookmark:_Toc184788835'><span style='mso-bookmark:_Toc152605124'><span
    style='mso-bookmark:_Toc115416182'>STOREANSIFILENAMES</span></span></span></h6>
    <p class=MsoList>Registry key&nbsp;&nbsp;&nbsp; : <a
    href="#_(OpenAFS_Client):">(OpenAFS Client)</a></p>
***************
*** 3120,3128 ****
   </tr>
   <tr style='mso-yfti-irow:13;mso-yfti-lastrow:yes'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <h6><a name="_Toc170268910"></a><a name="_Toc152605125"></a><a
    name="_Toc115416183"></a><a name="_Toc139993175"></a><a name="_Toc126872252"></a><span
!   style='mso-bookmark:_Toc170268910'><span style='mso-bookmark:_Toc152605125'><span
    style='mso-bookmark:_Toc115416183'>USEDNS</span></span></span></h6>
    <p class=MsoList>Registry key&nbsp;&nbsp;&nbsp; : <a
    href="#_(Service_parameters):">(Service parameters)</a></p>
--- 3144,3152 ----
   </tr>
   <tr style='mso-yfti-irow:13;mso-yfti-lastrow:yes'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <h6><a name="_Toc184788836"></a><a name="_Toc152605125"></a><a
    name="_Toc115416183"></a><a name="_Toc139993175"></a><a name="_Toc126872252"></a><span
!   style='mso-bookmark:_Toc184788836'><span style='mso-bookmark:_Toc152605125'><span
    style='mso-bookmark:_Toc115416183'>USEDNS</span></span></span></h6>
    <p class=MsoList>Registry key&nbsp;&nbsp;&nbsp; : <a
    href="#_(Service_parameters):">(Service parameters)</a></p>
***************
*** 3132,3170 ****
   </tr>
  </table>
  
! <h5><a name="_Toc170268911"></a><a name="_Toc152605126"></a><a
  name="_Toc139993176"></a><a name="_Toc126872253"></a><a name="_Toc115416184"></a><a
! name="_7.2.1.2.2_AFSCreds.exe_Properties"></a><span style='mso-bookmark:_Toc170268911'><span
  style='mso-bookmark:_Toc152605126'>7.2.1.2.2 AFSCreds.exe Properties</span></span></h5>
  
  <p class=MsoNormal>These properties are combined to add a command line option
! to the shortcut that will be created in the Start:Programs:OpenAFS and
! Start:Programs:Startup folders (see CREDSSTARTUP). &nbsp;The method of
! specifying the option was chosen for easy integration with the Windows
! Installer user interface.&nbsp; Although other methods can be used to specify
! options to AFSCREDS.EXE, it is advised that they be avoided as transforms
! including such options may not apply to future releases of OpenAFS.</p>
  
  <table class=MsoNormalTable border=1 cellspacing=3 cellpadding=0
   style='mso-cellspacing:2.2pt;mso-padding-alt:0pt 0pt 0pt 0pt'>
   <tr style='mso-yfti-irow:0;mso-yfti-firstrow:yes'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <h6><a name="_Toc170268912"></a><a name="_Toc152605127"></a><a
    name="_Toc115416185"></a><a name="_Toc139993177"></a><a name="_Toc126872254"></a><span
!   style='mso-bookmark:_Toc170268912'><span style='mso-bookmark:_Toc152605127'><span
    style='mso-bookmark:_Toc115416185'>CREDSSTARTUP</span></span></span></h6>
    <p class=MsoList>Valid values&nbsp;&nbsp;&nbsp; : '1' or '0'</p>
    <p class=MsoList>Controls whether AFSCreds.exe starts up automatically when
!   the user logs on.&nbsp; When CREDSSTARTUP is '1' a shortcut is added to the 'Startup'
!   folder in the 'Program menu' which starts AFSCREDS.EXE with the options that
!   are determined by the other CREDS* properties.</p>
    </td>
   </tr>
   <tr style='mso-yfti-irow:1'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <h6><a name="_Toc170268913"></a><a name="_Toc152605128"></a><a
    name="_Toc115416186"></a><a name="_Toc139993178"></a><a name="_Toc126872255"></a><span
!   style='mso-bookmark:_Toc170268913'><span style='mso-bookmark:_Toc152605128'><span
    style='mso-bookmark:_Toc115416186'>CREDSAUTOINIT</span></span></span></h6>
    <p class=MsoList>Valid values&nbsp;&nbsp;&nbsp; : '-a' or ''</p>
    <p class=MsoList>Enables automatic initialization.</p>
--- 3156,3194 ----
   </tr>
  </table>
  
! <h5><a name="_Toc184788837"></a><a name="_Toc152605126"></a><a
  name="_Toc139993176"></a><a name="_Toc126872253"></a><a name="_Toc115416184"></a><a
! name="_7.2.1.2.2_AFSCreds.exe_Properties"></a><span style='mso-bookmark:_Toc184788837'><span
  style='mso-bookmark:_Toc152605126'>7.2.1.2.2 AFSCreds.exe Properties</span></span></h5>
  
  <p class=MsoNormal>These properties are combined to add a command line option
! to the shortcut that will be created in the Start:Programs:OpenAFS and Start:Programs:Startup
! folders (see CREDSSTARTUP). &nbsp;The method of specifying the option was
! chosen for easy integration with the Windows Installer user interface.&nbsp;
! Although other methods can be used to specify options to AFSCREDS.EXE, it is
! advised that they be avoided as transforms including such options may not apply
! to future releases of OpenAFS.</p>
  
  <table class=MsoNormalTable border=1 cellspacing=3 cellpadding=0
   style='mso-cellspacing:2.2pt;mso-padding-alt:0pt 0pt 0pt 0pt'>
   <tr style='mso-yfti-irow:0;mso-yfti-firstrow:yes'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <h6><a name="_Toc184788838"></a><a name="_Toc152605127"></a><a
    name="_Toc115416185"></a><a name="_Toc139993177"></a><a name="_Toc126872254"></a><span
!   style='mso-bookmark:_Toc184788838'><span style='mso-bookmark:_Toc152605127'><span
    style='mso-bookmark:_Toc115416185'>CREDSSTARTUP</span></span></span></h6>
    <p class=MsoList>Valid values&nbsp;&nbsp;&nbsp; : '1' or '0'</p>
    <p class=MsoList>Controls whether AFSCreds.exe starts up automatically when
!   the user logs on.&nbsp; When CREDSSTARTUP is '1' a shortcut is added to the
!   'Startup' folder in the 'Program menu' which starts AFSCREDS.EXE with the
!   options that are determined by the other CREDS* properties.</p>
    </td>
   </tr>
   <tr style='mso-yfti-irow:1'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <h6><a name="_Toc184788839"></a><a name="_Toc152605128"></a><a
    name="_Toc115416186"></a><a name="_Toc139993178"></a><a name="_Toc126872255"></a><span
!   style='mso-bookmark:_Toc184788839'><span style='mso-bookmark:_Toc152605128'><span
    style='mso-bookmark:_Toc115416186'>CREDSAUTOINIT</span></span></span></h6>
    <p class=MsoList>Valid values&nbsp;&nbsp;&nbsp; : '-a' or ''</p>
    <p class=MsoList>Enables automatic initialization.</p>
***************
*** 3172,3180 ****
   </tr>
   <tr style='mso-yfti-irow:2'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <h6><a name="_Toc170268914"></a><a name="_Toc152605129"></a><a
    name="_Toc115416187"></a><a name="_Toc139993179"></a><a name="_Toc126872256"></a><span
!   style='mso-bookmark:_Toc170268914'><span style='mso-bookmark:_Toc152605129'><span
    style='mso-bookmark:_Toc115416187'>CREDSIPCHDET</span></span></span></h6>
    <p class=MsoList>Valid values&nbsp;&nbsp;&nbsp; : '-n' or ''</p>
    <p class=MsoList>Enables IP address change detection.</p>
--- 3196,3204 ----
   </tr>
   <tr style='mso-yfti-irow:2'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <h6><a name="_Toc184788840"></a><a name="_Toc152605129"></a><a
    name="_Toc115416187"></a><a name="_Toc139993179"></a><a name="_Toc126872256"></a><span
!   style='mso-bookmark:_Toc184788840'><span style='mso-bookmark:_Toc152605129'><span
    style='mso-bookmark:_Toc115416187'>CREDSIPCHDET</span></span></span></h6>
    <p class=MsoList>Valid values&nbsp;&nbsp;&nbsp; : '-n' or ''</p>
    <p class=MsoList>Enables IP address change detection.</p>
***************
*** 3182,3190 ****
   </tr>
   <tr style='mso-yfti-irow:3'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <h6><a name="_Toc170268915"></a><a name="_Toc152605130"></a><a
    name="_Toc115416188"></a><a name="_Toc139993180"></a><a name="_Toc126872257"></a><span
!   style='mso-bookmark:_Toc170268915'><span style='mso-bookmark:_Toc152605130'><span
    style='mso-bookmark:_Toc115416188'>CREDSQUIET</span></span></span></h6>
    <p class=MsoList>Valid values&nbsp;&nbsp;&nbsp; : '-q' or ''</p>
    <p class=MsoList>Enables quiet mode.</p>
--- 3206,3214 ----
   </tr>
   <tr style='mso-yfti-irow:3'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <h6><a name="_Toc184788841"></a><a name="_Toc152605130"></a><a
    name="_Toc115416188"></a><a name="_Toc139993180"></a><a name="_Toc126872257"></a><span
!   style='mso-bookmark:_Toc184788841'><span style='mso-bookmark:_Toc152605130'><span
    style='mso-bookmark:_Toc115416188'>CREDSQUIET</span></span></span></h6>
    <p class=MsoList>Valid values&nbsp;&nbsp;&nbsp; : '-q' or ''</p>
    <p class=MsoList>Enables quiet mode.</p>
***************
*** 3192,3200 ****
   </tr>
   <tr style='mso-yfti-irow:4'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <h6><a name="_Toc170268916"></a><a name="_Toc152605131"></a><a
    name="_Toc115416189"></a><a name="_Toc139993181"></a><a name="_Toc126872258"></a><span
!   style='mso-bookmark:_Toc170268916'><span style='mso-bookmark:_Toc152605131'><span
    style='mso-bookmark:_Toc115416189'>CREDSRENEWDRMAP</span></span></span></h6>
    <p class=MsoList>Valid values&nbsp;&nbsp;&nbsp; : '-m' or '’</p>
    <p class=MsoList>Enables renewing drive map at startup.</p>
--- 3216,3224 ----
   </tr>
   <tr style='mso-yfti-irow:4'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <h6><a name="_Toc184788842"></a><a name="_Toc152605131"></a><a
    name="_Toc115416189"></a><a name="_Toc139993181"></a><a name="_Toc126872258"></a><span
!   style='mso-bookmark:_Toc184788842'><span style='mso-bookmark:_Toc152605131'><span
    style='mso-bookmark:_Toc115416189'>CREDSRENEWDRMAP</span></span></span></h6>
    <p class=MsoList>Valid values&nbsp;&nbsp;&nbsp; : '-m' or '’</p>
    <p class=MsoList>Enables renewing drive map at startup.</p>
***************
*** 3202,3210 ****
   </tr>
   <tr style='mso-yfti-irow:5;mso-yfti-lastrow:yes'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <h6><a name="_Toc170268917"></a><a name="_Toc152605132"></a><a
    name="_Toc115416190"></a><a name="_Toc139993182"></a><a name="_Toc126872259"></a><span
!   style='mso-bookmark:_Toc170268917'><span style='mso-bookmark:_Toc152605132'><span
    style='mso-bookmark:_Toc115416190'>CREDSSHOW</span></span></span></h6>
    <p class=MsoList>Valid values&nbsp;&nbsp;&nbsp; : '-s' or ''</p>
    <p class=MsoList>Enables displaying the credential manager window when
--- 3226,3234 ----
   </tr>
   <tr style='mso-yfti-irow:5;mso-yfti-lastrow:yes'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <h6><a name="_Toc184788843"></a><a name="_Toc152605132"></a><a
    name="_Toc115416190"></a><a name="_Toc139993182"></a><a name="_Toc126872259"></a><span
!   style='mso-bookmark:_Toc184788843'><span style='mso-bookmark:_Toc152605132'><span
    style='mso-bookmark:_Toc115416190'>CREDSSHOW</span></span></span></h6>
    <p class=MsoList>Valid values&nbsp;&nbsp;&nbsp; : '-s' or ''</p>
    <p class=MsoList>Enables displaying the credential manager window when
***************
*** 3213,3221 ****
   </tr>
  </table>
  
! <h3><a name="_Toc170268918"></a><a name="_Toc152605133"></a><a
  name="_Toc115416191"></a><a name="_Toc139993183"></a><a name="_Toc126872260"></a><span
! style='mso-bookmark:_Toc170268918'><span style='mso-bookmark:_Toc152605133'><span
  style='mso-bookmark:_Toc115416191'>7.2.2 Existing Registry Entries</span></span></span></h3>
  
  <p class=MsoNormal>You can change existing registry values subject to the
--- 3237,3245 ----
   </tr>
  </table>
  
! <h3><a name="_Toc184788844"></a><a name="_Toc152605133"></a><a
  name="_Toc115416191"></a><a name="_Toc139993183"></a><a name="_Toc126872260"></a><span
! style='mso-bookmark:_Toc184788844'><span style='mso-bookmark:_Toc152605133'><span
  style='mso-bookmark:_Toc115416191'>7.2.2 Existing Registry Entries</span></span></span></h3>
  
  <p class=MsoNormal>You can change existing registry values subject to the
***************
*** 3224,3232 ****
  'Registry' table.&nbsp; If you want to add additional registry keys please
  refer to section 3 (Additional resources).</p>
  
! <h3><a name="_Toc170268919"></a><a name="_Toc152605134"></a><a
  name="_Toc115416192"></a><a name="_Toc139993184"></a><a name="_Toc126872261"></a><span
! style='mso-bookmark:_Toc170268919'><span style='mso-bookmark:_Toc152605134'><span
  style='mso-bookmark:_Toc115416192'>7.2.3 Replacing Configuration Files</span></span></span></h3>
  
  <p class=MsoNormal>The OpenAFS configuration files (CellServDB) can be replaced
--- 3248,3256 ----
  'Registry' table.&nbsp; If you want to add additional registry keys please
  refer to section 3 (Additional resources).</p>
  
! <h3><a name="_Toc184788845"></a><a name="_Toc152605134"></a><a
  name="_Toc115416192"></a><a name="_Toc139993184"></a><a name="_Toc126872261"></a><span
! style='mso-bookmark:_Toc184788845'><span style='mso-bookmark:_Toc152605134'><span
  style='mso-bookmark:_Toc115416192'>7.2.3 Replacing Configuration Files</span></span></span></h3>
  
  <p class=MsoNormal>The OpenAFS configuration files (CellServDB) can be replaced
***************
*** 3270,3277 ****
  <p class=MsoNormal style='margin-top:4.3pt;margin-right:0pt;margin-bottom:4.3pt;
  margin-left:39.6pt;text-indent:-21.6pt'>1.4.<span style='font-size:7.0pt;
  font-family:"Times New Roman"'>&nbsp;&nbsp; </span>Enter a condition that
! evaluates to false. I.e. 'DONOTINSTALL'. (Note that an undefined property always
! evaluates to false).</p>
  
  <p class=MsoNormal>Note that you can also use this step to disable other
  configuration files without providing replacements.</p>
--- 3294,3301 ----
  <p class=MsoNormal style='margin-top:4.3pt;margin-right:0pt;margin-bottom:4.3pt;
  margin-left:39.6pt;text-indent:-21.6pt'>1.4.<span style='font-size:7.0pt;
  font-family:"Times New Roman"'>&nbsp;&nbsp; </span>Enter a condition that
! evaluates to false. I.e. 'DONOTINSTALL'. (Note that an undefined property
! always evaluates to false).</p>
  
  <p class=MsoNormal>Note that you can also use this step to disable other
  configuration files without providing replacements.</p>
***************
*** 3666,3690 ****
  <p class=MsoNormal style='margin-left:35.45pt'>The sequence number of 1000
  designates this as the media source for the newly added file.</p>
  
! <h4><a name="_Toc170268920"></a><a name="_Toc152605135"></a><a
  name="_Toc139993185"></a><a name="_Toc126872262"></a><a name="_Toc115416193"></a><a
! name="_2.3.1_Components_for_Configuration_"></a><span style='mso-bookmark:_Toc170268920'><span
  style='mso-bookmark:_Toc152605135'>7.2.3.1 Components for Configuration Files</span></span></h4>
  
  <p class=preformattedtext style='text-indent:35.45pt'>CellServDB:
  'cpf_CellServDB' (ID {D5BA4C15-DBEC-4292-91FC-B54C30F24F2A})</p>
  
! <h3><a name="_Toc170268921"></a><a name="_Toc152605136"></a><a
  name="_Toc115416194"></a><a name="_Toc139993186"></a><a name="_Toc126872263"></a><span
! style='mso-bookmark:_Toc170268921'><span style='mso-bookmark:_Toc152605136'><span
  style='mso-bookmark:_Toc115416194'>7.2.4 Adding Domain Specific Registry Keys</span></span></span></h3>
  
  <p class=MsoNormal>Following is an example for adding domain specific registry
  keys.</p>
  
  <p class=MsoNormal>&nbsp;&nbsp;&nbsp; Refer to <a
! href="#_Appendix_A:_Registry_Values">Appendix A</a> section 2.1 for more
! information.</p>
  
  <p class=MsoNormal>&nbsp;&nbsp;&nbsp; Columns that are unspecified should be
  left empty.</p>
--- 3690,3714 ----
  <p class=MsoNormal style='margin-left:35.45pt'>The sequence number of 1000
  designates this as the media source for the newly added file.</p>
  
! <h4><a name="_Toc184788846"></a><a name="_Toc152605135"></a><a
  name="_Toc139993185"></a><a name="_Toc126872262"></a><a name="_Toc115416193"></a><a
! name="_2.3.1_Components_for_Configuration_"></a><span style='mso-bookmark:_Toc184788846'><span
  style='mso-bookmark:_Toc152605135'>7.2.3.1 Components for Configuration Files</span></span></h4>
  
  <p class=preformattedtext style='text-indent:35.45pt'>CellServDB:
  'cpf_CellServDB' (ID {D5BA4C15-DBEC-4292-91FC-B54C30F24F2A})</p>
  
! <h3><a name="_Toc184788847"></a><a name="_Toc152605136"></a><a
  name="_Toc115416194"></a><a name="_Toc139993186"></a><a name="_Toc126872263"></a><span
! style='mso-bookmark:_Toc184788847'><span style='mso-bookmark:_Toc152605136'><span
  style='mso-bookmark:_Toc115416194'>7.2.4 Adding Domain Specific Registry Keys</span></span></span></h3>
  
  <p class=MsoNormal>Following is an example for adding domain specific registry
  keys.</p>
  
  <p class=MsoNormal>&nbsp;&nbsp;&nbsp; Refer to <a
! href="#_Appendix_A:_Registry_Values">Appendix <span class=GramE>A</span></a>
! section 2.1 for more information.</p>
  
  <p class=MsoNormal>&nbsp;&nbsp;&nbsp; Columns that are unspecified should be
  left empty.</p>
***************
*** 3764,3771 ****
    <p class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    (new row)<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
!   Registry&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; :
!   'reg_domkey0'<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    Root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    : 2<br>
--- 3788,3794 ----
    <p class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    (new row)<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
!   Registry&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : 'reg_domkey0'<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    Root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    : 2<br>
***************
*** 3855,3861 ****
    : 2<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    Key&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
!   : SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider\Domain\LOCALHOST'<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    Name&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    : '*'<br>
--- 3878,3885 ----
    : 2<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    Key&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
!   :
!   SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider\Domain\LOCALHOST'<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    Name&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    : '*'<br>
***************
*** 3915,3927 ****
  
  <p class=MsoNormal>&nbsp;</p>
  
! <p class=MsoNormal>The example adds domain specific keys for 'ATHENA.MIT.EDU' (enable
! integrated logon) and 'LOCALHOST' (disable integrated logon and fail logins
! silently).</p>
  
! <h3><a name="_Toc170268922"></a><a name="_Toc152605137"></a><a
  name="_Toc115416195"></a><a name="_Toc139993187"></a><a name="_Toc126872264"></a><span
! style='mso-bookmark:_Toc170268922'><span style='mso-bookmark:_Toc152605137'><span
  style='mso-bookmark:_Toc115416195'>7.2.5 Adding Site Specific Freelance
  Registry Keys</span></span></span></h3>
  
--- 3939,3951 ----
  
  <p class=MsoNormal>&nbsp;</p>
  
! <p class=MsoNormal>The example adds domain specific keys for 'ATHENA.MIT.EDU'
! (enable integrated logon) and 'LOCALHOST' (disable integrated logon and fail
! logins silently).</p>
  
! <h3><a name="_Toc184788848"></a><a name="_Toc152605137"></a><a
  name="_Toc115416195"></a><a name="_Toc139993187"></a><a name="_Toc126872264"></a><span
! style='mso-bookmark:_Toc184788848'><span style='mso-bookmark:_Toc152605137'><span
  style='mso-bookmark:_Toc115416195'>7.2.5 Adding Site Specific Freelance
  Registry Keys</span></span></span></h3>
  
***************
*** 3944,3953 ****
   </tr>
   <tr style='mso-yfti-irow:1'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <p class=MsoNormal>&nbsp;&nbsp;&nbsp;
!   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (new row)<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
!   Feature&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : 'feaFreelanceKeys'<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Feature
    Parent : 'feaClient'<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
--- 3968,3978 ----
   </tr>
   <tr style='mso-yfti-irow:1'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <p class=MsoNormal>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
!   (new row)<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
!   Feature&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; :
!   'feaFreelanceKeys'<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Feature
    Parent : 'feaClient'<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
***************
*** 4012,4018 ****
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    Root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    : 2<br>
!   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Key&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    : 'SOFTWARE\OpenAFS\Client\Freelance'<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    Component&nbsp;&nbsp;&nbsp;&nbsp; : 'rcm_FreelanceKeys'</p>
--- 4037,4044 ----
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    Root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    : 2<br>
!   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
!   Key&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    : 'SOFTWARE\OpenAFS\Client\Freelance'<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    Component&nbsp;&nbsp;&nbsp;&nbsp; : 'rcm_FreelanceKeys'</p>
***************
*** 4046,4052 ****
    <p class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    (new row)<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
!   Registry&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : 'reg_freekey2'<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    Root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    : 2<br>
--- 4072,4079 ----
    <p class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    (new row)<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
!   Registry&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; :
!   'reg_freekey2'<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    Root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    : 2<br>
***************
*** 4097,4104 ****
    Name&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    : '0'<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
!   Value&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;
!   : 'athena:athena.mit.edu.'<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    Component&nbsp;&nbsp;&nbsp;&nbsp; : 'rcm_FreelanceKeys'</p>
    </td>
--- 4124,4131 ----
    Name&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    : '0'<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
!   Value&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
!   &nbsp;&nbsp; : 'athena:athena.mit.edu.'<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    Component&nbsp;&nbsp;&nbsp;&nbsp; : 'rcm_FreelanceKeys'</p>
    </td>
***************
*** 4132,4141 ****
  athena.mit.edu cell's root.afs volume as well as a read-write mountpoint.&nbsp;
  Aliases are also provided using symlinks.</p>
  
! <h2><a name="_Toc170268923"></a><a name="_Toc152605138"></a><a
  name="_Ref115275867"></a><a name="_Toc139993188"></a><a name="_Toc126872265"></a><a
  name="_Toc115417101"></a><a name="_Toc115416196"></a><span style='mso-bookmark:
! _Toc170268923'><span style='mso-bookmark:_Toc152605138'><span style='mso-bookmark:
  _Ref115275867'>7.3 Additional Resources</span></span></span></h2>
  
  <p class=MsoNormal>If you want to add registry keys or files you need to create
--- 4159,4168 ----
  athena.mit.edu cell's root.afs volume as well as a read-write mountpoint.&nbsp;
  Aliases are also provided using symlinks.</p>
  
! <h2><a name="_Toc184788849"></a><a name="_Toc152605138"></a><a
  name="_Ref115275867"></a><a name="_Toc139993188"></a><a name="_Toc126872265"></a><a
  name="_Toc115417101"></a><a name="_Toc115416196"></a><span style='mso-bookmark:
! _Toc184788849'><span style='mso-bookmark:_Toc152605138'><span style='mso-bookmark:
  _Ref115275867'>7.3 Additional Resources</span></span></span></h2>
  
  <p class=MsoNormal>If you want to add registry keys or files you need to create
***************
*** 4178,4186 ****
  <p class=MsoNormal>See the Platform SDK documentation for information on
  command line options for MSITRAN.EXE.</p>
  
! <h2><a name="_Toc170268924"></a><a name="_Toc152605139"></a><a
  name="_Toc115416197"></a><a name="_Toc139993189"></a><a name="_Toc126872266"></a><a
! name="_Toc115417102"></a><span style='mso-bookmark:_Toc170268924'><span
  style='mso-bookmark:_Toc152605139'><span style='mso-bookmark:_Toc115416197'>7.4.
  Upgrades</span></span></span></h2>
  
--- 4205,4213 ----
  <p class=MsoNormal>See the Platform SDK documentation for information on
  command line options for MSITRAN.EXE.</p>
  
! <h2><a name="_Toc184788850"></a><a name="_Toc152605139"></a><a
  name="_Toc115416197"></a><a name="_Toc139993189"></a><a name="_Toc126872266"></a><a
! name="_Toc115417102"></a><span style='mso-bookmark:_Toc184788850'><span
  style='mso-bookmark:_Toc152605139'><span style='mso-bookmark:_Toc115416197'>7.4.
  Upgrades</span></span></span></h2>
  
***************
*** 4223,4246 ****
  <p class=MsoNormal>When performing an upgrade with msiexec.exe execute the MSI
  with the repair options &quot;vomus&quot;.</p>
  
! <h1><a name="_Toc170268925"></a><a name="_Toc152605140"></a><a
  name="_Toc139993190"></a><a name="_Toc126872267"></a><a name="_Toc115417116"></a><a
  name="_Toc115417103"></a><a name="_Toc115416198"></a><a
! name="_Appendix_A:_Registry_Values"></a><span style='mso-bookmark:_Toc170268925'><span
  style='mso-bookmark:_Toc152605140'>Appendix A: Registry Values</span></span></h1>
  
! <h2><a name="_Toc170268926"></a><a name="_Toc152605141"></a><a
  name="_Toc115416199"></a><a name="_Toc139993191"></a><a name="_Toc126872268"></a><a
! name="_Toc115417104"></a><span style='mso-bookmark:_Toc170268926'><span
  style='mso-bookmark:_Toc152605141'><span style='mso-bookmark:_Toc115416199'>A.1.
  Service parameters</span></span></span></h2>
  
  <p class=MsoBodyText>The service parameters primarily affect the behavior of
  the AFS client service (afsd_service.exe).</p>
  
! <h3><a name="_Toc170268927"></a><a name="_Toc152605142"></a><a
  name="_Toc115416200"></a><a name="_Toc139993192"></a><a name="_Toc126872269"></a><span
! style='mso-bookmark:_Toc170268927'><span style='mso-bookmark:_Toc152605142'><span
  style='mso-bookmark:_Toc115416200'>Regkey:<br>
  [HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters]</span></span></span></h3>
  
--- 4250,4273 ----
  <p class=MsoNormal>When performing an upgrade with msiexec.exe execute the MSI
  with the repair options &quot;vomus&quot;.</p>
  
! <h1><a name="_Toc184788851"></a><a name="_Toc152605140"></a><a
  name="_Toc139993190"></a><a name="_Toc126872267"></a><a name="_Toc115417116"></a><a
  name="_Toc115417103"></a><a name="_Toc115416198"></a><a
! name="_Appendix_A:_Registry_Values"></a><span style='mso-bookmark:_Toc184788851'><span
  style='mso-bookmark:_Toc152605140'>Appendix A: Registry Values</span></span></h1>
  
! <h2><a name="_Toc184788852"></a><a name="_Toc152605141"></a><a
  name="_Toc115416199"></a><a name="_Toc139993191"></a><a name="_Toc126872268"></a><a
! name="_Toc115417104"></a><span style='mso-bookmark:_Toc184788852'><span
  style='mso-bookmark:_Toc152605141'><span style='mso-bookmark:_Toc115416199'>A.1.
  Service parameters</span></span></span></h2>
  
  <p class=MsoBodyText>The service parameters primarily affect the behavior of
  the AFS client service (afsd_service.exe).</p>
  
! <h3><a name="_Toc184788853"></a><a name="_Toc152605142"></a><a
  name="_Toc115416200"></a><a name="_Toc139993192"></a><a name="_Toc126872269"></a><span
! style='mso-bookmark:_Toc184788853'><span style='mso-bookmark:_Toc152605142'><span
  style='mso-bookmark:_Toc115416200'>Regkey:<br>
  [HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters]</span></span></span></h3>
  
***************
*** 4249,4257 ****
   <tr style='mso-yfti-irow:0;mso-yfti-firstrow:yes;height:145.25pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:145.25pt'>
!   <h5><a name="_Toc170268928"></a><a name="_Toc152605143"></a><a
    name="_Toc115416201"></a><a name="_Toc139993193"></a><a name="_Toc126872270"></a><span
!   style='mso-bookmark:_Toc170268928'><span style='mso-bookmark:_Toc152605143'><span
    style='mso-bookmark:_Toc115416201'>Value: LANadapter</span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD<br>
    Default: -1<br>
--- 4276,4284 ----
   <tr style='mso-yfti-irow:0;mso-yfti-firstrow:yes;height:145.25pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:145.25pt'>
!   <h5><a name="_Toc184788854"></a><a name="_Toc152605143"></a><a
    name="_Toc115416201"></a><a name="_Toc139993193"></a><a name="_Toc126872270"></a><span
!   style='mso-bookmark:_Toc184788854'><span style='mso-bookmark:_Toc152605143'><span
    style='mso-bookmark:_Toc115416201'>Value: LANadapter</span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD<br>
    Default: -1<br>
***************
*** 4268,4276 ****
   <tr style='mso-yfti-irow:1;height:79.25pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:79.25pt'>
!   <h5><a name="_Toc170268929"></a><a name="_Toc152605144"></a><a
    name="_Toc139993194"></a><a name="_Toc126872271"></a><a name="_Toc115416202"></a><a
!   name="_Value___:_CacheSize"></a><span style='mso-bookmark:_Toc170268929'><span
    style='mso-bookmark:_Toc152605144'>Value: CacheSize</span></span></h5>
    <p class=MsoBodyText>Type: DWORD<br>
    Default: 98304 (CM_CONFIGDEFAULT_CACHESIZE)<br>
--- 4295,4303 ----
   <tr style='mso-yfti-irow:1;height:79.25pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:79.25pt'>
!   <h5><a name="_Toc184788855"></a><a name="_Toc152605144"></a><a
    name="_Toc139993194"></a><a name="_Toc126872271"></a><a name="_Toc115416202"></a><a
!   name="_Value___:_CacheSize"></a><span style='mso-bookmark:_Toc184788855'><span
    style='mso-bookmark:_Toc152605144'>Value: CacheSize</span></span></h5>
    <p class=MsoBodyText>Type: DWORD<br>
    Default: 98304 (CM_CONFIGDEFAULT_CACHESIZE)<br>
***************
*** 4281,4289 ****
   <tr style='mso-yfti-irow:2;height:79.25pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:79.25pt'>
!   <h5><a name="_Toc170268930"></a><a name="_Toc152605145"></a><a
    name="_Toc115416203"></a><a name="_Toc139993195"></a><a name="_Toc126872272"></a><span
!   style='mso-bookmark:_Toc170268930'><span style='mso-bookmark:_Toc152605145'><span
    style='mso-bookmark:_Toc115416203'>Value: ChunkSize</span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD<br>
    Default: 20 (CM_CONFIGDEFAULT_CHUNKSIZE)<br>
--- 4308,4316 ----
   <tr style='mso-yfti-irow:2;height:79.25pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:79.25pt'>
!   <h5><a name="_Toc184788856"></a><a name="_Toc152605145"></a><a
    name="_Toc115416203"></a><a name="_Toc139993195"></a><a name="_Toc126872272"></a><span
!   style='mso-bookmark:_Toc184788856'><span style='mso-bookmark:_Toc152605145'><span
    style='mso-bookmark:_Toc115416203'>Value: ChunkSize</span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD<br>
    Default: 20 (CM_CONFIGDEFAULT_CHUNKSIZE)<br>
***************
*** 4295,4303 ****
   <tr style='mso-yfti-irow:3;height:92.0pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:92.0pt'>
!   <h5><a name="_Toc170268931"></a><a name="_Toc152605146"></a><a
    name="_Toc115416204"></a><a name="_Toc139993196"></a><a name="_Toc126872273"></a><span
!   style='mso-bookmark:_Toc170268931'><span style='mso-bookmark:_Toc152605146'><span
    style='mso-bookmark:_Toc115416204'>Value: Daemons</span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD<br>
    Default: 2 (CM_CONFIGDEFAULT_DAEMONS)<br>
--- 4322,4330 ----
   <tr style='mso-yfti-irow:3;height:92.0pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:92.0pt'>
!   <h5><a name="_Toc184788857"></a><a name="_Toc152605146"></a><a
    name="_Toc115416204"></a><a name="_Toc139993196"></a><a name="_Toc126872273"></a><span
!   style='mso-bookmark:_Toc184788857'><span style='mso-bookmark:_Toc152605146'><span
    style='mso-bookmark:_Toc115416204'>Value: Daemons</span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD<br>
    Default: 2 (CM_CONFIGDEFAULT_DAEMONS)<br>
***************
*** 4309,4317 ****
   <tr style='mso-yfti-irow:4;height:92.0pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:92.0pt'>
!   <h5><a name="_Toc170268932"></a><a name="_Toc152605147"></a><a
    name="_Toc115416205"></a><a name="_Toc139993197"></a><a name="_Toc126872274"></a><span
!   style='mso-bookmark:_Toc170268932'><span style='mso-bookmark:_Toc152605147'><span
    style='mso-bookmark:_Toc115416205'>Value: ServerThreads</span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD<br>
    Default: 25 (CM_CONFIGDEFAULT_SVTHREADS)<br>
--- 4336,4344 ----
   <tr style='mso-yfti-irow:4;height:92.0pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:92.0pt'>
!   <h5><a name="_Toc184788858"></a><a name="_Toc152605147"></a><a
    name="_Toc115416205"></a><a name="_Toc139993197"></a><a name="_Toc126872274"></a><span
!   style='mso-bookmark:_Toc184788858'><span style='mso-bookmark:_Toc152605147'><span
    style='mso-bookmark:_Toc115416205'>Value: ServerThreads</span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD<br>
    Default: 25 (CM_CONFIGDEFAULT_SVTHREADS)<br>
***************
*** 4323,4331 ****
   <tr style='mso-yfti-irow:5;height:79.25pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:79.25pt'>
!   <h5><a name="_Toc170268933"></a><a name="_Toc152605148"></a><a
    name="_Toc115416206"></a><a name="_Value:_Stats"></a><a name="_Toc139993198"></a><a
!   name="_Toc126872275"></a><span style='mso-bookmark:_Toc170268933'><span
    style='mso-bookmark:_Toc152605148'><span style='mso-bookmark:_Toc115416206'>Value:
    Stats</span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD<br>
--- 4350,4358 ----
   <tr style='mso-yfti-irow:5;height:79.25pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:79.25pt'>
!   <h5><a name="_Toc184788859"></a><a name="_Toc152605148"></a><a
    name="_Toc115416206"></a><a name="_Value:_Stats"></a><a name="_Toc139993198"></a><a
!   name="_Toc126872275"></a><span style='mso-bookmark:_Toc184788859'><span
    style='mso-bookmark:_Toc152605148'><span style='mso-bookmark:_Toc115416206'>Value:
    Stats</span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD<br>
***************
*** 4337,4345 ****
   <tr style='mso-yfti-irow:6;height:78.5pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:78.5pt'>
!   <h5><a name="_Toc170268934"></a><a name="_Toc152605149"></a><a
    name="_Toc139993199"></a><a name="_Toc126872276"></a><a name="_Toc115416207"></a><a
!   name="_Value_:_LogoffPreserveTokens"></a><span style='mso-bookmark:_Toc170268934'><span
    style='mso-bookmark:_Toc152605149'>Value: LogoffPreserveTokens</span></span></h5>
    <p class=MsoBodyText>Type: DWORD {1,0}<br>
    Default : 0</p>
--- 4364,4372 ----
   <tr style='mso-yfti-irow:6;height:78.5pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:78.5pt'>
!   <h5><a name="_Toc184788860"></a><a name="_Toc152605149"></a><a
    name="_Toc139993199"></a><a name="_Toc126872276"></a><a name="_Toc115416207"></a><a
!   name="_Value_:_LogoffPreserveTokens"></a><span style='mso-bookmark:_Toc184788860'><span
    style='mso-bookmark:_Toc152605149'>Value: LogoffPreserveTokens</span></span></h5>
    <p class=MsoBodyText>Type: DWORD {1,0}<br>
    Default : 0</p>
***************
*** 4351,4359 ****
   <tr style='mso-yfti-irow:7;height:79.25pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:79.25pt'>
!   <h5><a name="_Toc170268935"></a><a name="_Toc152605150"></a><a
    name="_Toc115416208"></a><a name="_Toc139993200"></a><a name="_Toc126872277"></a><span
!   style='mso-bookmark:_Toc170268935'><span style='mso-bookmark:_Toc152605150'><span
    style='mso-bookmark:_Toc115416208'>Value: RootVolume</span></span></span></h5>
    <p class=MsoBodyText>Type: REG_SZ<br>
    Default: &quot;root.afs&quot;<br>
--- 4378,4386 ----
   <tr style='mso-yfti-irow:7;height:79.25pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:79.25pt'>
!   <h5><a name="_Toc184788861"></a><a name="_Toc152605150"></a><a
    name="_Toc115416208"></a><a name="_Toc139993200"></a><a name="_Toc126872277"></a><span
!   style='mso-bookmark:_Toc184788861'><span style='mso-bookmark:_Toc152605150'><span
    style='mso-bookmark:_Toc115416208'>Value: RootVolume</span></span></span></h5>
    <p class=MsoBodyText>Type: REG_SZ<br>
    Default: &quot;root.afs&quot;<br>
***************
*** 4364,4372 ****
   <tr style='mso-yfti-irow:8;height:145.25pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:145.25pt'>
!   <h5><a name="_Toc170268936"></a><a name="_Toc152605151"></a><a
    name="_Toc139993201"></a><a name="_Toc126872278"></a><a name="_Toc115416209"></a><a
!   name="_Value_:_Mountroot"></a><span style='mso-bookmark:_Toc170268936'><span
    style='mso-bookmark:_Toc152605151'>Value: MountRoot</span></span></h5>
    <p class=MsoBodyText>Type: REG_SZ<br>
    Default: &quot;/afs&quot;<br>
--- 4391,4399 ----
   <tr style='mso-yfti-irow:8;height:145.25pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:145.25pt'>
!   <h5><a name="_Toc184788862"></a><a name="_Toc152605151"></a><a
    name="_Toc139993201"></a><a name="_Toc126872278"></a><a name="_Toc115416209"></a><a
!   name="_Value_:_Mountroot"></a><span style='mso-bookmark:_Toc184788862'><span
    style='mso-bookmark:_Toc152605151'>Value: MountRoot</span></span></h5>
    <p class=MsoBodyText>Type: REG_SZ<br>
    Default: &quot;/afs&quot;<br>
***************
*** 4384,4392 ****
   <tr style='mso-yfti-irow:9;height:92.0pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:92.0pt'>
!   <h5><a name="_Toc170268937"></a><a name="_Toc152605152"></a><a
    name="_Toc139993202"></a><a name="_Toc126872279"></a><a name="_Toc115416210"></a><a
!   name="_Value_:_CachePath"></a><span style='mso-bookmark:_Toc170268937'><span
    style='mso-bookmark:_Toc152605152'>Value: CachePath</span></span></h5>
    <p class=MsoBodyText>Type: REG_SZ or REG_EXPAND_SZ<br>
    Default: &quot;%TEMP%\AFSCache&quot;<br>
--- 4411,4419 ----
   <tr style='mso-yfti-irow:9;height:92.0pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:92.0pt'>
!   <h5><a name="_Toc184788863"></a><a name="_Toc152605152"></a><a
    name="_Toc139993202"></a><a name="_Toc126872279"></a><a name="_Toc115416210"></a><a
!   name="_Value_:_CachePath"></a><span style='mso-bookmark:_Toc184788863'><span
    style='mso-bookmark:_Toc152605152'>Value: CachePath</span></span></h5>
    <p class=MsoBodyText>Type: REG_SZ or REG_EXPAND_SZ<br>
    Default: &quot;%TEMP%\AFSCache&quot;<br>
***************
*** 4399,4407 ****
   <tr style='mso-yfti-irow:10;height:119.0pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:119.0pt'>
!   <h5><a name="_Toc170268938"></a><a name="_Toc152605153"></a><a
    name="_Toc115416211"></a><a name="_Toc139993203"></a><a name="_Toc126872280"></a><span
!   style='mso-bookmark:_Toc170268938'><span style='mso-bookmark:_Toc152605153'><span
    style='mso-bookmark:_Toc115416211'>Value: NonPersistentCaching</span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD [0..1]<br>
    Default: 0<br>
--- 4426,4434 ----
   <tr style='mso-yfti-irow:10;height:119.0pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:119.0pt'>
!   <h5><a name="_Toc184788864"></a><a name="_Toc152605153"></a><a
    name="_Toc115416211"></a><a name="_Toc139993203"></a><a name="_Toc126872280"></a><span
!   style='mso-bookmark:_Toc184788864'><span style='mso-bookmark:_Toc152605153'><span
    style='mso-bookmark:_Toc115416211'>Value: NonPersistentCaching</span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD [0..1]<br>
    Default: 0<br>
***************
*** 4415,4423 ****
   <tr style='mso-yfti-irow:11;height:125.5pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:125.5pt'>
!   <h5><a name="_Toc170268939"></a><a name="_Toc152605154"></a><a
    name="_Toc115416212"></a><a name="_Toc139993204"></a><a name="_Toc126872281"></a><span
!   style='mso-bookmark:_Toc170268939'><span style='mso-bookmark:_Toc152605154'><span
    style='mso-bookmark:_Toc115416212'>Value: ValidateCache</span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD [0..2]<br>
    Default: 1<br>
--- 4442,4450 ----
   <tr style='mso-yfti-irow:11;height:125.5pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:125.5pt'>
!   <h5><a name="_Toc184788865"></a><a name="_Toc152605154"></a><a
    name="_Toc115416212"></a><a name="_Toc139993204"></a><a name="_Toc126872281"></a><span
!   style='mso-bookmark:_Toc184788865'><span style='mso-bookmark:_Toc152605154'><span
    style='mso-bookmark:_Toc115416212'>Value: ValidateCache</span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD [0..2]<br>
    Default: 1<br>
***************
*** 4432,4440 ****
   <tr style='mso-yfti-irow:12;height:79.25pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:79.25pt'>
!   <h5><a name="_Toc170268940"></a><a name="_Toc152605155"></a><a
    name="_Toc115416213"></a><a name="_Toc139993205"></a><a name="_Toc126872282"></a><span
!   style='mso-bookmark:_Toc170268940'><span style='mso-bookmark:_Toc152605155'><span
    style='mso-bookmark:_Toc115416213'>Value: TrapOnPanic</span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD {1,0}<br>
    Default: 0<br>
--- 4459,4467 ----
   <tr style='mso-yfti-irow:12;height:79.25pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:79.25pt'>
!   <h5><a name="_Toc184788866"></a><a name="_Toc152605155"></a><a
    name="_Toc115416213"></a><a name="_Toc139993205"></a><a name="_Toc126872282"></a><span
!   style='mso-bookmark:_Toc184788866'><span style='mso-bookmark:_Toc152605155'><span
    style='mso-bookmark:_Toc115416213'>Value: TrapOnPanic</span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD {1,0}<br>
    Default: 0<br>
***************
*** 4446,4454 ****
   <tr style='mso-yfti-irow:13;height:92.0pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:92.0pt'>
!   <h5><a name="_Toc170268941"></a><a name="_Toc152605156"></a><a
    name="_Toc139993206"></a><a name="_Toc126872283"></a><a name="_Toc115416214"></a><a
!   name="_Value___:_NetbiosName"></a><span style='mso-bookmark:_Toc170268941'><span
    style='mso-bookmark:_Toc152605156'>Value: NetbiosName</span></span></h5>
    <p class=MsoBodyText>Type: REG_EXPAND_SZ<br>
    Default: &quot;AFS&quot;<br>
--- 4473,4481 ----
   <tr style='mso-yfti-irow:13;height:92.0pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:92.0pt'>
!   <h5><a name="_Toc184788867"></a><a name="_Toc152605156"></a><a
    name="_Toc139993206"></a><a name="_Toc126872283"></a><a name="_Toc115416214"></a><a
!   name="_Value___:_NetbiosName"></a><span style='mso-bookmark:_Toc184788867'><span
    style='mso-bookmark:_Toc152605156'>Value: NetbiosName</span></span></h5>
    <p class=MsoBodyText>Type: REG_EXPAND_SZ<br>
    Default: &quot;AFS&quot;<br>
***************
*** 4461,4469 ****
   <tr style='mso-yfti-irow:14;height:152.0pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:152.0pt'>
!   <h5><a name="_Toc170268942"></a><a name="_Toc152605157"></a><a
    name="_Toc115416215"></a><a name="_Toc139993207"></a><a name="_Toc126872284"></a><span
!   style='mso-bookmark:_Toc170268942'><span style='mso-bookmark:_Toc152605157'><span
    style='mso-bookmark:_Toc115416215'>Value: IsGateway</span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD {1,0}<br>
    Default: 0<br>
--- 4488,4496 ----
   <tr style='mso-yfti-irow:14;height:152.0pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:152.0pt'>
!   <h5><a name="_Toc184788868"></a><a name="_Toc152605157"></a><a
    name="_Toc115416215"></a><a name="_Toc139993207"></a><a name="_Toc126872284"></a><span
!   style='mso-bookmark:_Toc184788868'><span style='mso-bookmark:_Toc152605157'><span
    style='mso-bookmark:_Toc115416215'>Value: IsGateway</span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD {1,0}<br>
    Default: 0<br>
***************
*** 4481,4489 ****
   <tr style='mso-yfti-irow:15;height:92.0pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:92.0pt'>
!   <h5><a name="_Toc170268943"></a><a name="_Toc152605158"></a><a
    name="_Toc115416216"></a><a name="_Toc139993208"></a><a name="_Toc126872285"></a><span
!   style='mso-bookmark:_Toc170268943'><span style='mso-bookmark:_Toc152605158'><span
    style='mso-bookmark:_Toc115416216'>Value: ReportSessionStartups</span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD {1,0}<br>
    Default: 0<br>
--- 4508,4516 ----
   <tr style='mso-yfti-irow:15;height:92.0pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:92.0pt'>
!   <h5><a name="_Toc184788869"></a><a name="_Toc152605158"></a><a
    name="_Toc115416216"></a><a name="_Toc139993208"></a><a name="_Toc126872285"></a><span
!   style='mso-bookmark:_Toc184788869'><span style='mso-bookmark:_Toc152605158'><span
    style='mso-bookmark:_Toc115416216'>Value: ReportSessionStartups</span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD {1,0}<br>
    Default: 0<br>
***************
*** 4496,4504 ****
   <tr style='mso-yfti-irow:16;height:79.25pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:79.25pt'>
!   <h5><a name="_Toc170268944"></a><a name="_Toc152605159"></a><a
    name="_Toc139993209"></a><a name="_Toc126872286"></a><a name="_Toc115416217"></a><a
!   name="_Value_:_TraceBufferSize"></a><span style='mso-bookmark:_Toc170268944'><span
    style='mso-bookmark:_Toc152605159'>Value: TraceBufferSize</span></span></h5>
    <p class=MsoBodyText>Type: DWORD<br>
    Default: 5000 (CM_CONFIGDEFAULT_TRACEBUFSIZE)<br>
--- 4523,4531 ----
   <tr style='mso-yfti-irow:16;height:79.25pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:79.25pt'>
!   <h5><a name="_Toc184788870"></a><a name="_Toc152605159"></a><a
    name="_Toc139993209"></a><a name="_Toc126872286"></a><a name="_Toc115416217"></a><a
!   name="_Value_:_TraceBufferSize"></a><span style='mso-bookmark:_Toc184788870'><span
    style='mso-bookmark:_Toc152605159'>Value: TraceBufferSize</span></span></h5>
    <p class=MsoBodyText>Type: DWORD<br>
    Default: 5000 (CM_CONFIGDEFAULT_TRACEBUFSIZE)<br>
***************
*** 4509,4517 ****
   <tr style='mso-yfti-irow:17;height:92.0pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:92.0pt'>
!   <h5><a name="_Toc170268945"></a><a name="_Toc152605160"></a><a
    name="_Toc139993210"></a><a name="_Toc126872287"></a><a name="_Toc115416218"></a><a
!   name="_Value_:_SysName"></a><span style='mso-bookmark:_Toc170268945'><span
    style='mso-bookmark:_Toc152605160'>Value: SysName</span></span></h5>
    <p class=MsoBodyText>Type: REG_SZ<br>
    Default: &quot;x86_win32 i386_w2k i386_nt40&quot; (X86) <br>
--- 4536,4544 ----
   <tr style='mso-yfti-irow:17;height:92.0pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:92.0pt'>
!   <h5><a name="_Toc184788871"></a><a name="_Toc152605160"></a><a
    name="_Toc139993210"></a><a name="_Toc126872287"></a><a name="_Toc115416218"></a><a
!   name="_Value_:_SysName"></a><span style='mso-bookmark:_Toc184788871'><span
    style='mso-bookmark:_Toc152605160'>Value: SysName</span></span></h5>
    <p class=MsoBodyText>Type: REG_SZ<br>
    Default: &quot;x86_win32 i386_w2k i386_nt40&quot; (X86) <br>
***************
*** 4525,4533 ****
   <tr style='mso-yfti-irow:18;height:79.25pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:79.25pt'>
!   <h5><a name="_Toc170268946"></a><a name="_Toc152605161"></a><a
    name="_Toc139993211"></a><a name="_Toc126872288"></a><a name="_Toc115416219"></a><a
!   name="_Value_:_SecurityLevel"></a><span style='mso-bookmark:_Toc170268946'><span
    style='mso-bookmark:_Toc152605161'>Value: SecurityLevel</span></span></h5>
    <p class=MsoBodyText>Type: DWORD {1,0}<br>
    Default: 0<br>
--- 4552,4560 ----
   <tr style='mso-yfti-irow:18;height:79.25pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:79.25pt'>
!   <h5><a name="_Toc184788872"></a><a name="_Toc152605161"></a><a
    name="_Toc139993211"></a><a name="_Toc126872288"></a><a name="_Toc115416219"></a><a
!   name="_Value_:_SecurityLevel"></a><span style='mso-bookmark:_Toc184788872'><span
    style='mso-bookmark:_Toc152605161'>Value: SecurityLevel</span></span></h5>
    <p class=MsoBodyText>Type: DWORD {1,0}<br>
    Default: 0<br>
***************
*** 4538,4546 ****
   <tr style='mso-yfti-irow:19;height:112.25pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:112.25pt'>
!   <h5><a name="_Toc170268947"></a><a name="_Toc152605162"></a><a
    name="_Toc139993212"></a><a name="_Toc126872289"></a><a name="_Toc115416220"></a><a
!   name="_Value_:_UseDNS"></a><span style='mso-bookmark:_Toc170268947'><span
    style='mso-bookmark:_Toc152605162'>Value: UseDNS</span></span></h5>
    <p class=MsoBodyText>Type: DWORD {1,0}<br>
    Default: 1<br>
--- 4565,4573 ----
   <tr style='mso-yfti-irow:19;height:112.25pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:112.25pt'>
!   <h5><a name="_Toc184788873"></a><a name="_Toc152605162"></a><a
    name="_Toc139993212"></a><a name="_Toc126872289"></a><a name="_Toc115416220"></a><a
!   name="_Value_:_UseDNS"></a><span style='mso-bookmark:_Toc184788873'><span
    style='mso-bookmark:_Toc152605162'>Value: UseDNS</span></span></h5>
    <p class=MsoBodyText>Type: DWORD {1,0}<br>
    Default: 1<br>
***************
*** 4553,4561 ****
   <tr style='mso-yfti-irow:20;height:79.25pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:79.25pt'>
!   <h5><a name="_Toc170268948"></a><a name="_Toc152605163"></a><a
    name="_Toc139993213"></a><a name="_Toc126872290"></a><a name="_Toc115416221"></a><a
!   name="_Value_:_FreelanceClient"></a><span style='mso-bookmark:_Toc170268948'><span
    style='mso-bookmark:_Toc152605163'>Value: FreelanceClient</span></span></h5>
    <p class=MsoBodyText>Type: DWORD {1,0}<br>
    Default: 0<br>
--- 4580,4588 ----
   <tr style='mso-yfti-irow:20;height:79.25pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:79.25pt'>
!   <h5><a name="_Toc184788874"></a><a name="_Toc152605163"></a><a
    name="_Toc139993213"></a><a name="_Toc126872290"></a><a name="_Toc115416221"></a><a
!   name="_Value_:_FreelanceClient"></a><span style='mso-bookmark:_Toc184788874'><span
    style='mso-bookmark:_Toc152605163'>Value: FreelanceClient</span></span></h5>
    <p class=MsoBodyText>Type: DWORD {1,0}<br>
    Default: 0<br>
***************
*** 4566,4575 ****
   <tr style='mso-yfti-irow:21;height:92.0pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:92.0pt'>
!   <h5><a name="_Toc170268949"></a><a name="_Toc152605164"></a><a
    name="_Value:_HideDotFiles"></a><a name="_Toc139993214"></a><a
    name="_Toc126872291"></a><a name="_Toc115416222"></a><a
!   name="_Value_:_HideDotFiles"></a><span style='mso-bookmark:_Toc170268949'><span
    style='mso-bookmark:_Toc152605164'>Value: HideDotFiles</span></span></h5>
    <p class=MsoBodyText>Type: DWORD {1,0}<br>
    Default: 1<br>
--- 4593,4602 ----
   <tr style='mso-yfti-irow:21;height:92.0pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:92.0pt'>
!   <h5><a name="_Toc184788875"></a><a name="_Toc152605164"></a><a
    name="_Value:_HideDotFiles"></a><a name="_Toc139993214"></a><a
    name="_Toc126872291"></a><a name="_Toc115416222"></a><a
!   name="_Value_:_HideDotFiles"></a><span style='mso-bookmark:_Toc184788875'><span
    style='mso-bookmark:_Toc152605164'>Value: HideDotFiles</span></span></h5>
    <p class=MsoBodyText>Type: DWORD {1,0}<br>
    Default: 1<br>
***************
*** 4582,4590 ****
   <tr style='mso-yfti-irow:22;height:79.25pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:79.25pt'>
!   <h5><a name="_Toc170268950"></a><a name="_Toc152605165"></a><a
    name="_Toc115416223"></a><a name="_Toc139993215"></a><a name="_Toc126872292"></a><span
!   style='mso-bookmark:_Toc170268950'><span style='mso-bookmark:_Toc152605165'><span
    style='mso-bookmark:_Toc115416223'>Value: MaxMpxRequests</span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD<br>
    Default: 50<br>
--- 4609,4617 ----
   <tr style='mso-yfti-irow:22;height:79.25pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:79.25pt'>
!   <h5><a name="_Toc184788876"></a><a name="_Toc152605165"></a><a
    name="_Toc115416223"></a><a name="_Toc139993215"></a><a name="_Toc126872292"></a><span
!   style='mso-bookmark:_Toc184788876'><span style='mso-bookmark:_Toc152605165'><span
    style='mso-bookmark:_Toc115416223'>Value: MaxMpxRequests</span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD<br>
    Default: 50<br>
***************
*** 4596,4604 ****
   <tr style='mso-yfti-irow:23;height:79.25pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:79.25pt'>
!   <h5><a name="_Toc170268951"></a><a name="_Toc152605166"></a><a
    name="_Toc115416224"></a><a name="_Toc139993216"></a><a name="_Toc126872293"></a><span
!   style='mso-bookmark:_Toc170268951'><span style='mso-bookmark:_Toc152605166'><span
    style='mso-bookmark:_Toc115416224'>Value: MaxVCPerServer</span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD<br>
    Default: 100<br>
--- 4623,4631 ----
   <tr style='mso-yfti-irow:23;height:79.25pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:79.25pt'>
!   <h5><a name="_Toc184788877"></a><a name="_Toc152605166"></a><a
    name="_Toc115416224"></a><a name="_Toc139993216"></a><a name="_Toc126872293"></a><span
!   style='mso-bookmark:_Toc184788877'><span style='mso-bookmark:_Toc152605166'><span
    style='mso-bookmark:_Toc115416224'>Value: MaxVCPerServer</span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD<br>
    Default: 100<br>
***************
*** 4609,4617 ****
   <tr style='mso-yfti-irow:24;height:79.25pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:79.25pt'>
!   <h5><a name="_Toc170268952"></a><a name="_Toc152605167"></a><a
    name="_Toc139993217"></a><a name="_Toc126872294"></a><a name="_Toc115416225"></a><a
!   name="_Value_:_Cell"></a><span style='mso-bookmark:_Toc170268952'><span
    style='mso-bookmark:_Toc152605167'>Value: Cell</span></span></h5>
    <p class=MsoBodyText>Type: REG_SZ<br>
    Default: &lt;none&gt;<br>
--- 4636,4644 ----
   <tr style='mso-yfti-irow:24;height:79.25pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:79.25pt'>
!   <h5><a name="_Toc184788878"></a><a name="_Toc152605167"></a><a
    name="_Toc139993217"></a><a name="_Toc126872294"></a><a name="_Toc115416225"></a><a
!   name="_Value_:_Cell"></a><span style='mso-bookmark:_Toc184788878'><span
    style='mso-bookmark:_Toc152605167'>Value: Cell</span></span></h5>
    <p class=MsoBodyText>Type: REG_SZ<br>
    Default: &lt;none&gt;<br>
***************
*** 4623,4631 ****
   <tr style='mso-yfti-irow:25;height:79.25pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:79.25pt'>
!   <h5><a name="_Toc170268953"></a><a name="_Toc152605168"></a><a
    name="_Toc115416226"></a><a name="_Toc139993218"></a><a name="_Toc126872295"></a><span
!   style='mso-bookmark:_Toc170268953'><span style='mso-bookmark:_Toc152605168'><span
    style='mso-bookmark:_Toc115416226'>Value: RxNoJumbo</span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD {0,1}<br>
    Default: 0<br>
--- 4650,4658 ----
   <tr style='mso-yfti-irow:25;height:79.25pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:79.25pt'>
!   <h5><a name="_Toc184788879"></a><a name="_Toc152605168"></a><a
    name="_Toc115416226"></a><a name="_Toc139993218"></a><a name="_Toc126872295"></a><span
!   style='mso-bookmark:_Toc184788879'><span style='mso-bookmark:_Toc152605168'><span
    style='mso-bookmark:_Toc115416226'>Value: RxNoJumbo</span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD {0,1}<br>
    Default: 0<br>
***************
*** 4637,4645 ****
   <tr style='mso-yfti-irow:26;height:124.75pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:124.75pt'>
!   <h5><a name="_Toc170268954"></a><a name="_Toc152605169"></a><a
    name="_Toc139993219"></a><a name="_Toc126872296"></a><a name="_Toc115416227"></a><a
!   name="_Value_:_RxMaxMTU"></a><span style='mso-bookmark:_Toc170268954'><span
    style='mso-bookmark:_Toc152605169'>Value: RxMaxMTU</span></span></h5>
    <p class=MsoBodyText>Type: DWORD<br>
    Default: -1<br>
--- 4664,4672 ----
   <tr style='mso-yfti-irow:26;height:124.75pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:124.75pt'>
!   <h5><a name="_Toc184788880"></a><a name="_Toc152605169"></a><a
    name="_Toc139993219"></a><a name="_Toc126872296"></a><a name="_Toc115416227"></a><a
!   name="_Value_:_RxMaxMTU"></a><span style='mso-bookmark:_Toc184788880'><span
    style='mso-bookmark:_Toc152605169'>Value: RxMaxMTU</span></span></h5>
    <p class=MsoBodyText>Type: DWORD<br>
    Default: -1<br>
***************
*** 4653,4661 ****
   <tr style='mso-yfti-irow:27;height:151.75pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:151.75pt'>
!   <h5><a name="_Toc170268955"></a><a name="_Toc152605170"></a><a
    name="_Toc139993220"></a><a name="_Toc126872297"></a><a name="_Toc115416228"></a><a
!   name="_Value:_ConnDeadTimeout"></a><span style='mso-bookmark:_Toc170268955'><span
    style='mso-bookmark:_Toc152605170'>Value: ConnDeadTimeout</span></span></h5>
    <p class=MsoBodyText>Type: DWORD<br>
    Default: 60 (seconds)<br>
--- 4680,4688 ----
   <tr style='mso-yfti-irow:27;height:151.75pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:151.75pt'>
!   <h5><a name="_Toc184788881"></a><a name="_Toc152605170"></a><a
    name="_Toc139993220"></a><a name="_Toc126872297"></a><a name="_Toc115416228"></a><a
!   name="_Value:_ConnDeadTimeout"></a><span style='mso-bookmark:_Toc184788881'><span
    style='mso-bookmark:_Toc152605170'>Value: ConnDeadTimeout</span></span></h5>
    <p class=MsoBodyText>Type: DWORD<br>
    Default: 60 (seconds)<br>
***************
*** 4672,4680 ****
   <tr style='mso-yfti-irow:28;height:92.0pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:92.0pt'>
!   <h5><a name="_Toc170268956"></a><a name="_Toc152605171"></a><a
    name="_Toc115416229"></a><a name="_Toc139993221"></a><a name="_Toc126872298"></a><span
!   style='mso-bookmark:_Toc170268956'><span style='mso-bookmark:_Toc152605171'><span
    style='mso-bookmark:_Toc115416229'>Value: HardDeadTimeout</span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD<br>
    Default: 120 (seconds)<br>
--- 4699,4707 ----
   <tr style='mso-yfti-irow:28;height:92.0pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:92.0pt'>
!   <h5><a name="_Toc184788882"></a><a name="_Toc152605171"></a><a
    name="_Toc115416229"></a><a name="_Toc139993221"></a><a name="_Toc126872298"></a><span
!   style='mso-bookmark:_Toc184788882'><span style='mso-bookmark:_Toc152605171'><span
    style='mso-bookmark:_Toc115416229'>Value: HardDeadTimeout</span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD<br>
    Default: 120 (seconds)<br>
***************
*** 4686,4694 ****
   <tr style='mso-yfti-irow:29;height:158.5pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:158.5pt'>
!   <h5><a name="_Toc170268957"></a><a name="_Toc152605172"></a><a
    name="_Toc139993222"></a><a name="_Toc126872299"></a><a name="_Toc115416230"></a><a
!   name="_Value__:_TraceOption"></a><span style='mso-bookmark:_Toc170268957'><span
    style='mso-bookmark:_Toc152605172'>Value: TraceOption</span></span></h5>
    <p class=MsoBodyText>Type: DWORD {0-15}<br>
    Default: 0</p>
--- 4713,4721 ----
   <tr style='mso-yfti-irow:29;height:158.5pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:158.5pt'>
!   <h5><a name="_Toc184788883"></a><a name="_Toc152605172"></a><a
    name="_Toc139993222"></a><a name="_Toc126872299"></a><a name="_Toc115416230"></a><a
!   name="_Value__:_TraceOption"></a><span style='mso-bookmark:_Toc184788883'><span
    style='mso-bookmark:_Toc152605172'>Value: TraceOption</span></span></h5>
    <p class=MsoBodyText>Type: DWORD {0-15}<br>
    Default: 0</p>
***************
*** 4707,4715 ****
   <tr style='mso-yfti-irow:30;height:98.5pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:98.5pt'>
!   <h5><a name="_Toc170268958"></a><a name="_Toc152605173"></a><a
    name="_Toc115416231"></a><a name="_Toc139993223"></a><a name="_Toc126872300"></a><span
!   style='mso-bookmark:_Toc170268958'><span style='mso-bookmark:_Toc152605173'><span
    style='mso-bookmark:_Toc115416231'>Value: AllSubmount</span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD {0, 1}<br>
    Default: 1</p>
--- 4734,4742 ----
   <tr style='mso-yfti-irow:30;height:98.5pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:98.5pt'>
!   <h5><a name="_Toc184788884"></a><a name="_Toc152605173"></a><a
    name="_Toc115416231"></a><a name="_Toc139993223"></a><a name="_Toc126872300"></a><span
!   style='mso-bookmark:_Toc184788884'><span style='mso-bookmark:_Toc152605173'><span
    style='mso-bookmark:_Toc115416231'>Value: AllSubmount</span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD {0, 1}<br>
    Default: 1</p>
***************
*** 4722,4730 ****
   <tr style='mso-yfti-irow:31;height:78.5pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:78.5pt'>
!   <h5><a name="_Toc170268959"></a><a name="_Toc152605174"></a><a
    name="_Toc139993224"></a><a name="_Toc126872301"></a><a name="_Toc115416232"></a><a
!   name="_Value___:_NoFindLanaByName"></a><span style='mso-bookmark:_Toc170268959'><span
    style='mso-bookmark:_Toc152605174'>Value: NoFindLanaByName</span></span></h5>
    <p class=MsoBodyText>Type: DWORD {0, 1}<br>
    Default: 0</p>
--- 4749,4757 ----
   <tr style='mso-yfti-irow:31;height:78.5pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:78.5pt'>
!   <h5><a name="_Toc184788885"></a><a name="_Toc152605174"></a><a
    name="_Toc139993224"></a><a name="_Toc126872301"></a><a name="_Toc115416232"></a><a
!   name="_Value___:_NoFindLanaByName"></a><span style='mso-bookmark:_Toc184788885'><span
    style='mso-bookmark:_Toc152605174'>Value: NoFindLanaByName</span></span></h5>
    <p class=MsoBodyText>Type: DWORD {0, 1}<br>
    Default: 0</p>
***************
*** 4735,4743 ****
   <tr style='mso-yfti-irow:32;height:78.5pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:78.5pt'>
!   <h5><a name="_Toc170268960"></a><a name="_Toc152605175"></a><a
    name="_Toc115416233"></a><a name="_Toc139993225"></a><a name="_Toc126872302"></a><span
!   style='mso-bookmark:_Toc170268960'><span style='mso-bookmark:_Toc152605175'><span
    style='mso-bookmark:_Toc115416233'>Value: MaxCPUs</span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD {1..32} or {1..64} depending on the architecture<br>
    Default: &lt;no default&gt;</p>
--- 4762,4770 ----
   <tr style='mso-yfti-irow:32;height:78.5pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:78.5pt'>
!   <h5><a name="_Toc184788886"></a><a name="_Toc152605175"></a><a
    name="_Toc115416233"></a><a name="_Toc139993225"></a><a name="_Toc126872302"></a><span
!   style='mso-bookmark:_Toc184788886'><span style='mso-bookmark:_Toc152605175'><span
    style='mso-bookmark:_Toc115416233'>Value: MaxCPUs</span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD {1..32} or {1..64} depending on the architecture<br>
    Default: &lt;no default&gt;</p>
***************
*** 4749,4757 ****
   <tr style='mso-yfti-irow:33;height:151.75pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:151.75pt'>
!   <h5><a name="_Toc170268961"></a><a name="_Toc152605176"></a><a
    name="_Toc139993226"></a><a name="_Toc126872303"></a><a name="_Toc115416234"></a><a
!   name="_Value___:_smbAuthType"></a><span style='mso-bookmark:_Toc170268961'><span
    style='mso-bookmark:_Toc152605176'>Value: smbAuthType</span></span></h5>
    <p class=MsoBodyText>Type: DWORD {0..2}<br>
    Default: 2</p>
--- 4776,4784 ----
   <tr style='mso-yfti-irow:33;height:151.75pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:151.75pt'>
!   <h5><a name="_Toc184788887"></a><a name="_Toc152605176"></a><a
    name="_Toc139993226"></a><a name="_Toc126872303"></a><a name="_Toc115416234"></a><a
!   name="_Value___:_smbAuthType"></a><span style='mso-bookmark:_Toc184788887'><span
    style='mso-bookmark:_Toc152605176'>Value: smbAuthType</span></span></h5>
    <p class=MsoBodyText>Type: DWORD {0..2}<br>
    Default: 2</p>
***************
*** 4767,4775 ****
   <tr style='mso-yfti-irow:34;height:92.0pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:92.0pt'>
!   <h5><a name="_Toc170268962"></a><a name="_Toc152605177"></a><a
    name="_Toc139993227"></a><a name="_Toc126872304"></a><a name="_Toc115416235"></a><a
!   name="_Value___:_MaxLogSize"></a><span style='mso-bookmark:_Toc170268962'><span
    style='mso-bookmark:_Toc152605177'>Value: MaxLogSize</span></span></h5>
    <p class=MsoBodyText>Type: DWORD {0 .. MAXDWORD}<br>
    Default: 100K</p>
--- 4794,4802 ----
   <tr style='mso-yfti-irow:34;height:92.0pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:92.0pt'>
!   <h5><a name="_Toc184788888"></a><a name="_Toc152605177"></a><a
    name="_Toc139993227"></a><a name="_Toc126872304"></a><a name="_Toc115416235"></a><a
!   name="_Value___:_MaxLogSize"></a><span style='mso-bookmark:_Toc184788888'><span
    style='mso-bookmark:_Toc152605177'>Value: MaxLogSize</span></span></h5>
    <p class=MsoBodyText>Type: DWORD {0 .. MAXDWORD}<br>
    Default: 100K</p>
***************
*** 4782,4790 ****
   <tr style='mso-yfti-irow:35;height:65.75pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:65.75pt'>
!   <h5><a name="_Toc170268963"></a><a name="_Toc152605178"></a><a
    name="_Toc115416236"></a><a name="_Toc139993228"></a><a name="_Toc126872305"></a><span
!   style='mso-bookmark:_Toc170268963'><span style='mso-bookmark:_Toc152605178'><span
    style='mso-bookmark:_Toc115416236'>Value: FlushOnHibernate</span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD {0,1}<br>
    Default: 1</p>
--- 4809,4817 ----
   <tr style='mso-yfti-irow:35;height:65.75pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:65.75pt'>
!   <h5><a name="_Toc184788889"></a><a name="_Toc152605178"></a><a
    name="_Toc115416236"></a><a name="_Toc139993228"></a><a name="_Toc126872305"></a><span
!   style='mso-bookmark:_Toc184788889'><span style='mso-bookmark:_Toc152605178'><span
    style='mso-bookmark:_Toc115416236'>Value: FlushOnHibernate</span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD {0,1}<br>
    Default: 1</p>
***************
*** 4795,4802 ****
   <tr style='mso-yfti-irow:36;height:65.75pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:65.75pt'>
!   <h5><a name="_Toc170268964"></a><a name="_Toc152605179"><span
!   style='mso-bookmark:_Toc170268964'>Value: daemonCheckDownInterval</span></a></h5>
    <p class=MsoBodyText>Type: DWORD (seconds)<br>
    Default: 180</p>
    <p class=MsoBodyText><span style='mso-fareast-font-family:"Times New Roman"'>This
--- 4822,4829 ----
   <tr style='mso-yfti-irow:36;height:65.75pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:65.75pt'>
!   <h5><a name="_Toc184788890"></a><a name="_Toc152605179"><span
!   style='mso-bookmark:_Toc184788890'>Value: daemonCheckDownInterval</span></a></h5>
    <p class=MsoBodyText>Type: DWORD (seconds)<br>
    Default: 180</p>
    <p class=MsoBodyText><span style='mso-fareast-font-family:"Times New Roman"'>This
***************
*** 4807,4814 ****
   <tr style='mso-yfti-irow:37;height:65.75pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:65.75pt'>
!   <h5><a name="_Toc170268965"></a><a name="_Toc152605180"><span
!   style='mso-bookmark:_Toc170268965'>Value: daemonCheckUpInterval</span></a></h5>
    <p class=MsoBodyText>Type: DWORD (seconds)<br>
    Default: 600</p>
    <p class=MsoBodyText>This value controls how frequently the AFS cache manager
--- 4834,4841 ----
   <tr style='mso-yfti-irow:37;height:65.75pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:65.75pt'>
!   <h5><a name="_Toc184788891"></a><a name="_Toc152605180"><span
!   style='mso-bookmark:_Toc184788891'>Value: daemonCheckUpInterval</span></a></h5>
    <p class=MsoBodyText>Type: DWORD (seconds)<br>
    Default: 600</p>
    <p class=MsoBodyText>This value controls how frequently the AFS cache manager
***************
*** 4818,4825 ****
   <tr style='mso-yfti-irow:38;height:65.75pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:65.75pt'>
!   <h5><a name="_Toc170268966"></a><a name="_Toc152605181"><span
!   style='mso-bookmark:_Toc170268966'>Value: daemonCheckVolInterval</span></a></h5>
    <p class=MsoBodyText>Type: DWORD (seconds)<br>
    Default: 3600</p>
    <p class=MsoBodyText><span style='mso-fareast-font-family:"Times New Roman"'>This
--- 4845,4852 ----
   <tr style='mso-yfti-irow:38;height:65.75pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:65.75pt'>
!   <h5><a name="_Toc184788892"></a><a name="_Toc152605181"><span
!   style='mso-bookmark:_Toc184788892'>Value: daemonCheckVolInterval</span></a></h5>
    <p class=MsoBodyText>Type: DWORD (seconds)<br>
    Default: 3600</p>
    <p class=MsoBodyText><span style='mso-fareast-font-family:"Times New Roman"'>This
***************
*** 4830,4837 ****
   <tr style='mso-yfti-irow:39;height:65.75pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:65.75pt'>
!   <h5><a name="_Toc170268967"></a><a name="_Toc152605182"><span
!   style='mso-bookmark:_Toc170268967'>Value: daemonCheckCBInterval</span></a></h5>
    <p class=MsoBodyText>Type: DWORD (seconds)<br>
    Default: 60</p>
    <p class=MsoBodyText><span style='mso-fareast-font-family:"Times New Roman"'>This
--- 4857,4864 ----
   <tr style='mso-yfti-irow:39;height:65.75pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:65.75pt'>
!   <h5><a name="_Toc184788893"></a><a name="_Toc152605182"><span
!   style='mso-bookmark:_Toc184788893'>Value: daemonCheckCBInterval</span></a></h5>
    <p class=MsoBodyText>Type: DWORD (seconds)<br>
    Default: 60</p>
    <p class=MsoBodyText><span style='mso-fareast-font-family:"Times New Roman"'>This
***************
*** 4842,4849 ****
   <tr style='mso-yfti-irow:40;height:65.75pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:65.75pt'>
!   <h5><a name="_Toc170268968"></a><a name="_Toc152605183"><span
!   style='mso-bookmark:_Toc170268968'>Value: daemonCheckLockInterval</span></a></h5>
    <p class=MsoBodyText>Type: DWORD (seconds)<br>
    Default: 60</p>
    <p class=MsoBodyText><span style='mso-fareast-font-family:"Times New Roman"'>This
--- 4869,4876 ----
   <tr style='mso-yfti-irow:40;height:65.75pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:65.75pt'>
!   <h5><a name="_Toc184788894"></a><a name="_Toc152605183"><span
!   style='mso-bookmark:_Toc184788894'>Value: daemonCheckLockInterval</span></a></h5>
    <p class=MsoBodyText>Type: DWORD (seconds)<br>
    Default: 60</p>
    <p class=MsoBodyText><span style='mso-fareast-font-family:"Times New Roman"'>This
***************
*** 4854,4861 ****
   <tr style='mso-yfti-irow:41;height:65.75pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:65.75pt'>
!   <h5><a name="_Toc170268969"></a><a name="_Toc152605184"><span
!   style='mso-bookmark:_Toc170268969'>Value: daemonCheckTokenInterval</span></a></h5>
    <p class=MsoBodyText>Type: DWORD (seconds)<br>
    Default: 180</p>
    <p class=MsoBodyText><span style='mso-fareast-font-family:"Times New Roman"'>This
--- 4881,4888 ----
   <tr style='mso-yfti-irow:41;height:65.75pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:65.75pt'>
!   <h5><a name="_Toc184788895"></a><a name="_Toc152605184"><span
!   style='mso-bookmark:_Toc184788895'>Value: daemonCheckTokenInterval</span></a></h5>
    <p class=MsoBodyText>Type: DWORD (seconds)<br>
    Default: 180</p>
    <p class=MsoBodyText><span style='mso-fareast-font-family:"Times New Roman"'>This
***************
*** 4866,4872 ****
   <tr style='mso-yfti-irow:42;height:65.75pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:65.75pt'>
!   <h5><a name="_Toc170268970">Value: daemonCheckOfflineVolInterval</a></h5>
    <p class=MsoBodyText>Type: DWORD (seconds)<br>
    Default: 600</p>
    <p class=MsoBodyText>This value controls how frequently the AFS cache manager
--- 4893,4899 ----
   <tr style='mso-yfti-irow:42;height:65.75pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:65.75pt'>
!   <h5><a name="_Toc184788896">Value: daemonCheckOfflineVolInterval</a></h5>
    <p class=MsoBodyText>Type: DWORD (seconds)<br>
    Default: 600</p>
    <p class=MsoBodyText>This value controls how frequently the AFS cache manager
***************
*** 4878,4885 ****
   <tr style='mso-yfti-irow:43;height:65.75pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:65.75pt'>
!   <h5><a name="_Toc170268971"></a><a name="_Toc152605185"><span
!   style='mso-bookmark:_Toc170268971'>Value: CallBackPort</span></a></h5>
    <p class=MsoBodyText>Type: DWORD<br>
    Default: 7001</p>
    <p class=MsoBodyText>This value specifies which port number should be used
--- 4905,4912 ----
   <tr style='mso-yfti-irow:43;height:65.75pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:65.75pt'>
!   <h5><a name="_Toc184788897"></a><a name="_Toc152605185"><span
!   style='mso-bookmark:_Toc184788897'>Value: CallBackPort</span></a></h5>
    <p class=MsoBodyText>Type: DWORD<br>
    Default: 7001</p>
    <p class=MsoBodyText>This value specifies which port number should be used
***************
*** 4890,4900 ****
    configured.</p>
    </td>
   </tr>
!  <tr style='mso-yfti-irow:44;mso-yfti-lastrow:yes;height:65.75pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:65.75pt'>
!   <h5><a name="_Toc170268972"></a><a name="_Toc152605186"></a><a
!   name="_Value:_EnableServerLocks"></a><span style='mso-bookmark:_Toc170268972'><span
    style='mso-bookmark:_Toc152605186'>Value: EnableServerLocks</span></span></h5>
    <p class=MsoBodyText>Type: DWORD {0, 1, 2}<br>
    Default: 1</p>
--- 4917,4927 ----
    configured.</p>
    </td>
   </tr>
!  <tr style='mso-yfti-irow:44;height:65.75pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:65.75pt'>
!   <h5><a name="_Toc184788898"></a><a name="_Toc152605186"></a><a
!   name="_Value:_EnableServerLocks"></a><span style='mso-bookmark:_Toc184788898'><span
    style='mso-bookmark:_Toc152605186'>Value: EnableServerLocks</span></span></h5>
    <p class=MsoBodyText>Type: DWORD {0, 1, 2}<br>
    Default: 1</p>
***************
*** 4908,4919 ****
    always obtain server locks<o:p></o:p></span></p>
    </td>
   </tr>
  </table>
  
! <h3><a name="_Toc170268973"></a><a name="_Toc152605187"></a><a
  name="_Toc115416237"></a><a name="_Toc139993229"></a><a name="_Toc126872306"></a><span
! style='mso-bookmark:_Toc170268973'><span style='mso-bookmark:_Toc152605187'><span
! style='mso-bookmark:_Toc115416237'>Regkey:<br>
  [HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters\GlobalAutoMapper]</span></span></span></h3>
  
  <table class=MsoNormalTable border=1 cellspacing=3 cellpadding=0
--- 4935,5035 ----
    always obtain server locks<o:p></o:p></span></p>
    </td>
   </tr>
+  <tr style='mso-yfti-irow:45;height:65.75pt'>
+   <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
+   height:65.75pt'>
+   <h5><a name="_Toc184788899">Value: DeleteReadOnly</a></h5>
+   <p class=MsoBodyText>Type: DWORD {0, 1}<br>
+   Default: 0</p>
+   <p class=MsoBodyText>Determines whether or not the AFS Cache Manager will
+   permit files marked with the “Read Only” DOS attribute to be deleted or
+   not.<span style='mso-spacerun:yes'>  </span>For compatibility with Explorer,
+   the default is ‘no’.</p>
+   <p class=MsoBodyText><span style='mso-fareast-font-family:"Times New Roman"'>0:
+   do not permit “Read Only” files to be deleted.<o:p></o:p></span></p>
+   <p class=MsoBodyText>1: delete files that have the “Read Only” attribute set
+   without complaint.<span style='mso-fareast-font-family:"Times New Roman"'><o:p></o:p></span></p>
+   </td>
+  </tr>
+  <tr style='mso-yfti-irow:46;height:65.75pt'>
+   <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
+   height:65.75pt'>
+   <h5><a name="_Toc184788900">Value: BPlusTrees</a></h5>
+   <p class=MsoBodyText>Type: DWORD {0, 1}<br>
+   Default: 1</p>
+   <p class=MsoBodyText>Determines whether or not the AFS Cache Manager uses
+   locally constructed B+ Trees to speed up the performance of directory
+   searches.<span style='mso-spacerun:yes'>  </span></p>
+   <p class=MsoBodyText>0: do not use B+ Trees for directory lookups</p>
+   <p class=MsoBodyText>1: use B+ Trees for directory lookups<span
+   style='mso-fareast-font-family:"Times New Roman"'><o:p></o:p></span></p>
+   </td>
+  </tr>
+  <tr style='mso-yfti-irow:47;height:65.75pt'>
+   <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
+   height:65.75pt'>
+   <h5><a name="_Toc184788901">Value: PrefetchExecutableExtensions</a></h5>
+   <p class=MsoBodyText>Type: MULTI_SZ <br>
+   Default: none specified</p>
+   <p class=MsoNormal>The AFS Cache Manager will pre-fetch the entire contents
+   of any file whose name matches ends with one of the specified
+   extensions.<span style='mso-spacerun:yes'>  </span>This option is intended
+   for use primarily with executables and dynamic link libraries that should be
+   fully cached prior to a machine losing its connection with the file server.</p>
+   </td>
+  </tr>
+  <tr style='mso-yfti-irow:48;height:65.75pt'>
+   <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
+   height:65.75pt'>
+   <h5><a name="_Toc184788902">Value: OfflineReadOnlyIsValid</a></h5>
+   <p class=MsoBodyText>Type: DWORD {0, 1}<br>
+   Default: 0</p>
+   <p class=MsoBodyText>Determines whether or not cached data from .readonly
+   volumes is considered valid even if a callback cannot be registered with a
+   file server.<span style='mso-spacerun:yes'>  </span>This option is meant to
+   be used by organizations for <span class=GramE>whom</span> .readonly volume
+   content very rarely changes (if ever.)</p>
+   <p class=MsoBodyText>0: do not treat offline .readonly content as valid</p>
+   <p class=MsoNormal>1: treat offline .readonly content as valid</p>
+   </td>
+  </tr>
+  <tr style='mso-yfti-irow:49;height:65.75pt'>
+   <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
+   height:65.75pt'>
+   <h5><a name="_Toc184788903">Value: GiveUpAllCallBacks</a></h5>
+   <p class=MsoBodyText>Type: DWORD {0, 1}<br>
+   Default: 0</p>
+   <p class=MsoNormal>Determines whether or not the AFS Cache Manager will give
+   up all callbacks prior to the service being suspended or shutdown. <span
+   style='mso-spacerun:yes'> </span>Doing so will have significant performance
+   benefits for the file servers.<span style='mso-spacerun:yes'> 
+   </span>However, file servers older than 1.4.6 can become unstable if the
+   GiveUpAllCallBacks RPC is executed.</p>
+   <p class=MsoNormal>0: do not perform GiveUpAllCallBacks RPCs</p>
+   <p class=MsoNormal>1: perform GiveUpAllCallBacks RPCs </p>
+   </td>
+  </tr>
+  <tr style='mso-yfti-irow:50;mso-yfti-lastrow:yes;height:65.75pt'>
+   <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
+   height:65.75pt'>
+   <h5><a name="_Toc184788904">Value: FollowBackupPath</a></h5>
+   <p class=MsoBodyText>Type: DWORD {0, 1}<br>
+   Default: 0</p>
+   <p class=MsoNormal>Determines whether or not the AFS Cache Manager will give
+   preference to .backup volumes when following mount points that originate in a
+   .backup volume.</p>
+   <p class=MsoNormal>0: do not prefer .backup volumes when the mount point
+   originates in a .backup volume.</p>
+   <p class=MsoNormal>1: prefer .backup volumes when the mount point originates
+   in a .backup volume.</p>
+   </td>
+  </tr>
  </table>
  
! <h3><a name="_Toc184788905"></a><a name="_Toc152605187"></a><a
  name="_Toc115416237"></a><a name="_Toc139993229"></a><a name="_Toc126872306"></a><span
! style='mso-bookmark:_Toc184788905'><span style='mso-bookmark:_Toc152605187'><span
! style='mso-bookmark:_Toc115416237'>Regkey<span class=GramE>:</span><br>
  [HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters\GlobalAutoMapper]</span></span></span></h3>
  
  <table class=MsoNormalTable border=1 cellspacing=3 cellpadding=0
***************
*** 4922,4930 ****
    height:65.0pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:65.0pt'>
!   <h5><a name="_Toc170268974"></a><a name="_Toc152605188"></a><a
    name="_Toc115416238"></a><a name="_Toc139993230"></a><a name="_Toc126872307"></a><span
!   style='mso-bookmark:_Toc170268974'><span style='mso-bookmark:_Toc152605188'><span
    style='mso-bookmark:_Toc115416238'>Value: &lt;Drive Letter:&gt; for example
    &quot;G:&quot;</span></span></span></h5>
    <p class=MsoBodyText>Type: REG_SZ</p>
--- 5038,5046 ----
    height:65.0pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:65.0pt'>
!   <h5><a name="_Toc184788906"></a><a name="_Toc152605188"></a><a
    name="_Toc115416238"></a><a name="_Toc139993230"></a><a name="_Toc126872307"></a><span
!   style='mso-bookmark:_Toc184788906'><span style='mso-bookmark:_Toc152605188'><span
    style='mso-bookmark:_Toc115416238'>Value: &lt;Drive Letter:&gt; for example
    &quot;G:&quot;</span></span></span></h5>
    <p class=MsoBodyText>Type: REG_SZ</p>
***************
*** 4936,4944 ****
   </tr>
  </table>
  
! <h3><a name="_Toc170268975"></a><a name="_Toc152605189"></a><a
  name="_Toc115416239"></a><a name="_Toc139993231"></a><a name="_Toc126872308"></a><span
! style='mso-bookmark:_Toc170268975'><span style='mso-bookmark:_Toc152605189'><span
  style='mso-bookmark:_Toc115416239'>Regkey:<br>
  [HKLM\SOFTWARE\OpenAFS\Client]</span></span></span></h3>
  
--- 5052,5060 ----
   </tr>
  </table>
  
! <h3><a name="_Toc184788907"></a><a name="_Toc152605189"></a><a
  name="_Toc115416239"></a><a name="_Toc139993231"></a><a name="_Toc126872308"></a><span
! style='mso-bookmark:_Toc184788907'><span style='mso-bookmark:_Toc152605189'><span
  style='mso-bookmark:_Toc115416239'>Regkey:<br>
  [HKLM\SOFTWARE\OpenAFS\Client]</span></span></span></h3>
  
***************
*** 4947,4955 ****
   <tr style='mso-yfti-irow:0;mso-yfti-firstrow:yes;height:78.5pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:78.5pt'>
!   <h5><a name="_Toc170268976"></a><a name="_Toc152605190"></a><a
    name="_Toc139993232"></a><a name="_Toc126872309"></a><a name="_Toc115416240"></a><a
!   name="_Value___:_CellServDBDir"></a><span style='mso-bookmark:_Toc170268976'><span
    style='mso-bookmark:_Toc152605190'>Value: CellServDBDir</span></span></h5>
    <p class=MsoBodyText>Type: REG_SZ<br>
    Default: &lt;not defined&gt;</p>
--- 5063,5071 ----
   <tr style='mso-yfti-irow:0;mso-yfti-firstrow:yes;height:78.5pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:78.5pt'>
!   <h5><a name="_Toc184788908"></a><a name="_Toc152605190"></a><a
    name="_Toc139993232"></a><a name="_Toc126872309"></a><a name="_Toc115416240"></a><a
!   name="_Value___:_CellServDBDir"></a><span style='mso-bookmark:_Toc184788908'><span
    style='mso-bookmark:_Toc152605190'>Value: CellServDBDir</span></span></h5>
    <p class=MsoBodyText>Type: REG_SZ<br>
    Default: &lt;not defined&gt;</p>
***************
*** 4961,4969 ****
   <tr style='mso-yfti-irow:1;height:145.25pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:145.25pt'>
!   <h5><a name="_Toc170268977"></a><a name="_Toc152605191"></a><a
    name="_Toc139993233"></a><a name="_Toc126872310"></a><a name="_Toc115416241"></a><a
!   name="_Value___:_VerifyServiceSignature"></a><span style='mso-bookmark:_Toc170268977'><span
    style='mso-bookmark:_Toc152605191'>Value: VerifyServiceSignature</span></span></h5>
    <p class=MsoBodyText>Type: REG_DWORD<br>
    Default: 0x1</p>
--- 5077,5085 ----
   <tr style='mso-yfti-irow:1;height:145.25pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:145.25pt'>
!   <h5><a name="_Toc184788909"></a><a name="_Toc152605191"></a><a
    name="_Toc139993233"></a><a name="_Toc126872310"></a><a name="_Toc115416241"></a><a
!   name="_Value___:_VerifyServiceSignature"></a><span style='mso-bookmark:_Toc184788909'><span
    style='mso-bookmark:_Toc152605191'>Value: VerifyServiceSignature</span></span></h5>
    <p class=MsoBodyText>Type: REG_DWORD<br>
    Default: 0x1</p>
***************
*** 4981,4990 ****
   <tr style='mso-yfti-irow:2;height:105.5pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:105.5pt'>
!   <h5><a name="_Toc170268978"></a><a name="_Toc152605192"></a><a
    name="_Value:_IoctlDebug"></a><a name="_Toc139993234"></a><a
    name="_Toc126872311"></a><a name="_Toc115416242"></a><a
!   name="_Value___:_IoctlDebug"></a><span style='mso-bookmark:_Toc170268978'><span
    style='mso-bookmark:_Toc152605192'>Value: IoctlDebug</span></span></h5>
    <p class=MsoBodyText>Type: REG_DWORD<br>
    Default: 0x0</p>
--- 5097,5106 ----
   <tr style='mso-yfti-irow:2;height:105.5pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:105.5pt'>
!   <h5><a name="_Toc184788910"></a><a name="_Toc152605192"></a><a
    name="_Value:_IoctlDebug"></a><a name="_Toc139993234"></a><a
    name="_Toc126872311"></a><a name="_Toc115416242"></a><a
!   name="_Value___:_IoctlDebug"></a><span style='mso-bookmark:_Toc184788910'><span
    style='mso-bookmark:_Toc152605192'>Value: IoctlDebug</span></span></h5>
    <p class=MsoBodyText>Type: REG_DWORD<br>
    Default: 0x0</p>
***************
*** 4998,5006 ****
   <tr style='mso-yfti-irow:3;height:330.75pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:330.75pt'>
!   <h5><a name="_Toc170268979"></a><a name="_Toc152605193"></a><a
    name="_Toc115416243"></a><a name="_Toc139993235"></a><a name="_Toc126872312"></a><span
!   style='mso-bookmark:_Toc170268979'><span style='mso-bookmark:_Toc152605193'><span
    style='mso-bookmark:_Toc115416243'>Value: MiniDumpType</span></span></span></h5>
    <p class=MsoBodyText>Type: REG_DWORD<br>
    Default: 0x0 (MiniDumpNormal)</p>
--- 5114,5122 ----
   <tr style='mso-yfti-irow:3;height:330.75pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:330.75pt'>
!   <h5><a name="_Toc184788911"></a><a name="_Toc152605193"></a><a
    name="_Toc115416243"></a><a name="_Toc139993235"></a><a name="_Toc126872312"></a><span
!   style='mso-bookmark:_Toc184788911'><span style='mso-bookmark:_Toc152605193'><span
    style='mso-bookmark:_Toc115416243'>Value: MiniDumpType</span></span></span></h5>
    <p class=MsoBodyText>Type: REG_DWORD<br>
    Default: 0x0 (MiniDumpNormal)</p>
***************
*** 5031,5045 ****
   <tr style='mso-yfti-irow:4;mso-yfti-lastrow:yes;height:138.25pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:138.25pt'>
!   <h5><a name="_Toc170268980"></a><a name="_Toc152605194"></a><a
    name="_Toc139993236"></a><a name="_Toc126872313"></a><a name="_Toc115416244"></a><a
!   name="_Value___:_StoreAnsiFilenames"></a><span style='mso-bookmark:_Toc170268980'><span
    style='mso-bookmark:_Toc152605194'>Value: StoreAnsiFilenames</span></span></h5>
    <p class=MsoBodyText>Type: REG_DWORD<br>
    Default: 0x0</p>
!   <p class=MsoBodyText>This value can be used to force the AFS Client Service to
!   store filenames using the Windows system's ANSI character set instead of the
!   OEM Code Page character set which has traditionally been used by SMB file
    systems.&nbsp; </p>
    <p class=MsoBodyText>Note: The use of ANSI characters will render access to
    files with 8-bit OEM file names unaccessible from Windows.&nbsp; This option
--- 5147,5161 ----
   <tr style='mso-yfti-irow:4;mso-yfti-lastrow:yes;height:138.25pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:138.25pt'>
!   <h5><a name="_Toc184788912"></a><a name="_Toc152605194"></a><a
    name="_Toc139993236"></a><a name="_Toc126872313"></a><a name="_Toc115416244"></a><a
!   name="_Value___:_StoreAnsiFilenames"></a><span style='mso-bookmark:_Toc184788912'><span
    style='mso-bookmark:_Toc152605194'>Value: StoreAnsiFilenames</span></span></h5>
    <p class=MsoBodyText>Type: REG_DWORD<br>
    Default: 0x0</p>
!   <p class=MsoBodyText>This value can be used to force the AFS Client Service
!   to store filenames using the Windows system's ANSI character set instead of
!   the OEM Code Page character set which has traditionally been used by SMB file
    systems.&nbsp; </p>
    <p class=MsoBodyText>Note: The use of ANSI characters will render access to
    files with 8-bit OEM file names unaccessible from Windows.&nbsp; This option
***************
*** 5049,5057 ****
   </tr>
  </table>
  
! <h3><a name="_Toc170268981"></a><a name="_Toc152605195"></a><a
  name="_Toc115416245"></a><a name="_Toc139993237"></a><a name="_Toc126872314"></a><span
! style='mso-bookmark:_Toc170268981'><span style='mso-bookmark:_Toc152605195'><span
  style='mso-bookmark:_Toc115416245'>Regkey:<br>
  [HKLM\SOFTWARE\OpenAFS\Client\CSCPolicy]</span></span></span></h3>
  
--- 5165,5173 ----
   </tr>
  </table>
  
! <h3><a name="_Toc184788913"></a><a name="_Toc152605195"></a><a
  name="_Toc115416245"></a><a name="_Toc139993237"></a><a name="_Toc126872314"></a><span
! style='mso-bookmark:_Toc184788913'><span style='mso-bookmark:_Toc152605195'><span
  style='mso-bookmark:_Toc115416245'>Regkey:<br>
  [HKLM\SOFTWARE\OpenAFS\Client\CSCPolicy]</span></span></span></h3>
  
***************
*** 5061,5069 ****
    height:112.0pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:112.0pt'>
!   <h5><a name="_Toc170268982"></a><a name="_Toc152605196"></a><a
    name="_Toc115416246"></a><a name="_Toc139993238"></a><a name="_Toc126872315"></a><span
!   style='mso-bookmark:_Toc170268982'><span style='mso-bookmark:_Toc152605196'><span
    style='mso-bookmark:_Toc115416246'>Value: &quot;smb/cifs share name&quot;</span></span></span></h5>
    <p class=MsoBodyText>Type: REG_SZ<br>
    Default: &lt;none&gt;</p>
--- 5177,5185 ----
    height:112.0pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:112.0pt'>
!   <h5><a name="_Toc184788914"></a><a name="_Toc152605196"></a><a
    name="_Toc115416246"></a><a name="_Toc139993238"></a><a name="_Toc126872315"></a><span
!   style='mso-bookmark:_Toc184788914'><span style='mso-bookmark:_Toc152605196'><span
    style='mso-bookmark:_Toc115416246'>Value: &quot;smb/cifs share name&quot;</span></span></span></h5>
    <p class=MsoBodyText>Type: REG_SZ<br>
    Default: &lt;none&gt;</p>
***************
*** 5076,5084 ****
   </tr>
  </table>
  
! <h3><a name="_Toc170268983"></a><a name="_Toc152605197"></a><a
  name="_Toc139993239"></a><a name="_Toc126872316"></a><a name="_Toc115416247"></a><a
! name="_Regkey:_[HKLM\SOFTWARE\OpenAFS\Clie"></a><span style='mso-bookmark:_Toc170268983'><span
  style='mso-bookmark:_Toc152605197'>Regkey:<br>
  [HKLM\SOFTWARE\OpenAFS\Client\Freelance]</span></span></h3>
  
--- 5192,5200 ----
   </tr>
  </table>
  
! <h3><a name="_Toc184788915"></a><a name="_Toc152605197"></a><a
  name="_Toc139993239"></a><a name="_Toc126872316"></a><a name="_Toc115416247"></a><a
! name="_Regkey:_[HKLM\SOFTWARE\OpenAFS\Clie"></a><span style='mso-bookmark:_Toc184788915'><span
  style='mso-bookmark:_Toc152605197'>Regkey:<br>
  [HKLM\SOFTWARE\OpenAFS\Client\Freelance]</span></span></h3>
  
***************
*** 5088,5102 ****
    height:138.5pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:138.5pt'>
!   <h5><a name="_Toc170268984"></a><a name="_Toc152605198"></a><a
    name="_Toc115416248"></a><a name="_Toc139993240"></a><a name="_Toc126872317"></a><span
!   style='mso-bookmark:_Toc170268984'><span style='mso-bookmark:_Toc152605198'><span
    style='mso-bookmark:_Toc115416248'>Value: &quot;numeric value&quot;</span></span></span></h5>
    <p class=MsoBodyText>Type: REG_SZ<br>
    Default: &lt;none&gt;</p>
!   <p class=MsoBodyText>This key is used to store dot terminated mount point
!   strings for use in constructing the fake root.afs volume when Freelance
!   (dynamic roots) mode is activated.</p>
    <p class=MsoBodyText>&quot;athena.mit.edu#athena.mit.edu:root.cell.&quot;</p>
    <p class=MsoBodyText>&quot;.athena.mit.edu%athena.mit.edu:root.cell.&quot;</p>
    <p class=MsoBodyText>These values used to be stored in afs_freelance.ini</p>
--- 5204,5218 ----
    height:138.5pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:138.5pt'>
!   <h5><a name="_Toc184788916"></a><a name="_Toc152605198"></a><a
    name="_Toc115416248"></a><a name="_Toc139993240"></a><a name="_Toc126872317"></a><span
!   style='mso-bookmark:_Toc184788916'><span style='mso-bookmark:_Toc152605198'><span
    style='mso-bookmark:_Toc115416248'>Value: &quot;numeric value&quot;</span></span></span></h5>
    <p class=MsoBodyText>Type: REG_SZ<br>
    Default: &lt;none&gt;</p>
!   <p class=MsoBodyText>This key is used to store dot terminated mount point strings
!   for use in constructing the fake root.afs volume when Freelance (dynamic
!   roots) mode is activated.</p>
    <p class=MsoBodyText>&quot;athena.mit.edu#athena.mit.edu:root.cell.&quot;</p>
    <p class=MsoBodyText>&quot;.athena.mit.edu%athena.mit.edu:root.cell.&quot;</p>
    <p class=MsoBodyText>These values used to be stored in afs_freelance.ini</p>
***************
*** 5104,5113 ****
   </tr>
  </table>
  
! <h3><a name="_Toc170268985"></a><a name="_Toc152605199"></a><a
  name="_Toc139993241"></a><a name="_Toc126872318"></a><a name="_Toc115416249"></a><a
  name="_Regkey:_[HKLM\SOFTWARE\OpenAFS\Clie_1"></a><span style='mso-bookmark:
! _Toc170268985'><span style='mso-bookmark:_Toc152605199'>Regkey:<br>
  [HKLM\SOFTWARE\OpenAFS\Client\Freelance\Symlinks]</span></span></h3>
  
  <table class=MsoNormalTable border=1 cellspacing=3 cellpadding=0
--- 5220,5229 ----
   </tr>
  </table>
  
! <h3><a name="_Toc184788917"></a><a name="_Toc152605199"></a><a
  name="_Toc139993241"></a><a name="_Toc126872318"></a><a name="_Toc115416249"></a><a
  name="_Regkey:_[HKLM\SOFTWARE\OpenAFS\Clie_1"></a><span style='mso-bookmark:
! _Toc184788917'><span style='mso-bookmark:_Toc152605199'>Regkey:<br>
  [HKLM\SOFTWARE\OpenAFS\Client\Freelance\Symlinks]</span></span></h3>
  
  <table class=MsoNormalTable border=1 cellspacing=3 cellpadding=0
***************
*** 5116,5124 ****
    height:145.0pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:145.0pt'>
!   <h5><a name="_Toc170268986"></a><a name="_Toc152605200"></a><a
    name="_Toc115416250"></a><a name="_Toc139993242"></a><a name="_Toc126872319"></a><span
!   style='mso-bookmark:_Toc170268986'><span style='mso-bookmark:_Toc152605200'><span
    style='mso-bookmark:_Toc115416250'>Value: &quot;numeric value&quot;</span></span></span></h5>
    <p class=MsoBodyText>Type: REG_SZ<br>
    Default: &lt;none&gt;</p>
--- 5232,5240 ----
    height:145.0pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:145.0pt'>
!   <h5><a name="_Toc184788918"></a><a name="_Toc152605200"></a><a
    name="_Toc115416250"></a><a name="_Toc139993242"></a><a name="_Toc126872319"></a><span
!   style='mso-bookmark:_Toc184788918'><span style='mso-bookmark:_Toc152605200'><span
    style='mso-bookmark:_Toc115416250'>Value: &quot;numeric value&quot;</span></span></span></h5>
    <p class=MsoBodyText>Type: REG_SZ<br>
    Default: &lt;none&gt;</p>
***************
*** 5133,5141 ****
   </tr>
  </table>
  
! <h3><a name="_Toc170268987"></a><a name="_Toc152605201"></a><a
  name="_Toc115416251"></a><a name="_Toc139993243"></a><a name="_Toc126872320"></a><span
! style='mso-bookmark:_Toc170268987'><span style='mso-bookmark:_Toc152605201'><span
  style='mso-bookmark:_Toc115416251'>Regkey:<br>
  [HKLM\SOFTWARE\OpenAFS\Client\Submounts]</span></span></span></h3>
  
--- 5249,5257 ----
   </tr>
  </table>
  
! <h3><a name="_Toc184788919"></a><a name="_Toc152605201"></a><a
  name="_Toc115416251"></a><a name="_Toc139993243"></a><a name="_Toc126872320"></a><span
! style='mso-bookmark:_Toc184788919'><span style='mso-bookmark:_Toc152605201'><span
  style='mso-bookmark:_Toc115416251'>Regkey:<br>
  [HKLM\SOFTWARE\OpenAFS\Client\Submounts]</span></span></span></h3>
  
***************
*** 5145,5153 ****
    height:171.75pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:171.75pt'>
!   <h5><a name="_Toc170268988"></a><a name="_Toc152605202"></a><a
    name="_Toc115416252"></a><a name="_Toc139993244"></a><a name="_Toc126872321"></a><span
!   style='mso-bookmark:_Toc170268988'><span style='mso-bookmark:_Toc152605202'><span
    style='mso-bookmark:_Toc115416252'>Value: &quot;submount name&quot;</span></span></span></h5>
    <p class=MsoBodyText>Type: REG_EXPAND_SZ<br>
    Default: &lt;none&gt;</p>
--- 5261,5269 ----
    height:171.75pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:171.75pt'>
!   <h5><a name="_Toc184788920"></a><a name="_Toc152605202"></a><a
    name="_Toc115416252"></a><a name="_Toc139993244"></a><a name="_Toc126872321"></a><span
!   style='mso-bookmark:_Toc184788920'><span style='mso-bookmark:_Toc152605202'><span
    style='mso-bookmark:_Toc115416252'>Value: &quot;submount name&quot;</span></span></span></h5>
    <p class=MsoBodyText>Type: REG_EXPAND_SZ<br>
    Default: &lt;none&gt;</p>
***************
*** 5164,5173 ****
   </tr>
  </table>
  
! <h3><a name="_Toc170268989"></a><a name="_Toc152605203"></a><a
  name="_Toc139993245"></a><a name="_Toc126872322"></a><a name="_Toc115416253"></a><a
  name="_Regkey:_[HKLM\SOFTWARE\OpenAFS\Clie_2"></a><span style='mso-bookmark:
! _Toc170268989'><span style='mso-bookmark:_Toc152605203'>Regkey:<br>
  [HKLM\SOFTWARE\OpenAFS\Client\Server Preferences\VLDB]</span></span></h3>
  
  <table class=MsoNormalTable border=1 cellspacing=3 cellpadding=0
--- 5280,5289 ----
   </tr>
  </table>
  
! <h3><a name="_Toc184788921"></a><a name="_Toc152605203"></a><a
  name="_Toc139993245"></a><a name="_Toc126872322"></a><a name="_Toc115416253"></a><a
  name="_Regkey:_[HKLM\SOFTWARE\OpenAFS\Clie_2"></a><span style='mso-bookmark:
! _Toc184788921'><span style='mso-bookmark:_Toc152605203'>Regkey:<br>
  [HKLM\SOFTWARE\OpenAFS\Client\Server Preferences\VLDB]</span></span></h3>
  
  <table class=MsoNormalTable border=1 cellspacing=3 cellpadding=0
***************
*** 5176,5184 ****
    height:105.5pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:105.5pt'>
!   <h5><a name="_Toc170268990"></a><a name="_Toc152605204"></a><a
    name="_Toc115416254"></a><a name="_Toc139993246"></a><a name="_Toc126872323"></a><span
!   style='mso-bookmark:_Toc170268990'><span style='mso-bookmark:_Toc152605204'><span
    style='mso-bookmark:_Toc115416254'>Value: &quot;hostname or ip address&quot;</span></span></span></h5>
    <p class=MsoBodyText>Type: REG_DWORD<br>
    Default: &lt;none&gt;</p>
--- 5292,5300 ----
    height:105.5pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:105.5pt'>
!   <h5><a name="_Toc184788922"></a><a name="_Toc152605204"></a><a
    name="_Toc115416254"></a><a name="_Toc139993246"></a><a name="_Toc126872323"></a><span
!   style='mso-bookmark:_Toc184788922'><span style='mso-bookmark:_Toc152605204'><span
    style='mso-bookmark:_Toc115416254'>Value: &quot;hostname or ip address&quot;</span></span></span></h5>
    <p class=MsoBodyText>Type: REG_DWORD<br>
    Default: &lt;none&gt;</p>
***************
*** 5191,5199 ****
   </tr>
  </table>
  
! <h3><a name="_Toc170268991"></a><a name="_Toc152605205"></a><a
  name="_Toc115416255"></a><a name="_Toc139993247"></a><a name="_Toc126872324"></a><span
! style='mso-bookmark:_Toc170268991'><span style='mso-bookmark:_Toc152605205'><span
  style='mso-bookmark:_Toc115416255'>Regkey:<br>
  [HKLM\SOFTWARE\OpenAFS\Client\Server Preferences\File]</span></span></span></h3>
  
--- 5307,5315 ----
   </tr>
  </table>
  
! <h3><a name="_Toc184788923"></a><a name="_Toc152605205"></a><a
  name="_Toc115416255"></a><a name="_Toc139993247"></a><a name="_Toc126872324"></a><span
! style='mso-bookmark:_Toc184788923'><span style='mso-bookmark:_Toc152605205'><span
  style='mso-bookmark:_Toc115416255'>Regkey:<br>
  [HKLM\SOFTWARE\OpenAFS\Client\Server Preferences\File]</span></span></span></h3>
  
***************
*** 5203,5211 ****
    height:105.5pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:105.5pt'>
!   <h5><a name="_Toc170268992"></a><a name="_Toc152605206"></a><a
    name="_Toc115416256"></a><a name="_Toc139993248"></a><a name="_Toc126872325"></a><span
!   style='mso-bookmark:_Toc170268992'><span style='mso-bookmark:_Toc152605206'><span
    style='mso-bookmark:_Toc115416256'>Value: &quot;hostname or ip address&quot;</span></span></span></h5>
    <p class=MsoBodyText>Type: REG_DWORD<br>
    Default: &lt;none&gt;</p>
--- 5319,5327 ----
    height:105.5pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:105.5pt'>
!   <h5><a name="_Toc184788924"></a><a name="_Toc152605206"></a><a
    name="_Toc115416256"></a><a name="_Toc139993248"></a><a name="_Toc126872325"></a><span
!   style='mso-bookmark:_Toc184788924'><span style='mso-bookmark:_Toc152605206'><span
    style='mso-bookmark:_Toc115416256'>Value: &quot;hostname or ip address&quot;</span></span></span></h5>
    <p class=MsoBodyText>Type: REG_DWORD<br>
    Default: &lt;none&gt;</p>
***************
*** 5218,5234 ****
   </tr>
  </table>
  
! <h2><a name="_Toc170268993"></a><a name="_Toc152605207"></a><a
  name="_Toc115416257"></a><a name="_Toc139993249"></a><a name="_Toc126872326"></a><a
! name="_Toc115417105"></a><span style='mso-bookmark:_Toc170268993'><span
  style='mso-bookmark:_Toc152605207'><span style='mso-bookmark:_Toc115416257'>A.2.
  Integrated Logon Network provider parameters</span></span></span></h2>
  
  <p class=MsoBodyText>Affects the network provider (afslogon.dll).</p>
  
! <h3><a name="_Toc170268994"></a><a name="_Toc152605208"></a><a
  name="_Toc115416258"></a><a name="_Toc139993250"></a><a name="_Toc126872327"></a><span
! style='mso-bookmark:_Toc170268994'><span style='mso-bookmark:_Toc152605208'><span
  style='mso-bookmark:_Toc115416258'>Regkey:
  [HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters]</span></span></span></h3>
  
--- 5334,5350 ----
   </tr>
  </table>
  
! <h2><a name="_Toc184788925"></a><a name="_Toc152605207"></a><a
  name="_Toc115416257"></a><a name="_Toc139993249"></a><a name="_Toc126872326"></a><a
! name="_Toc115417105"></a><span style='mso-bookmark:_Toc184788925'><span
  style='mso-bookmark:_Toc152605207'><span style='mso-bookmark:_Toc115416257'>A.2.
  Integrated Logon Network provider parameters</span></span></span></h2>
  
  <p class=MsoBodyText>Affects the network provider (afslogon.dll).</p>
  
! <h3><a name="_Toc184788926"></a><a name="_Toc152605208"></a><a
  name="_Toc115416258"></a><a name="_Toc139993250"></a><a name="_Toc126872327"></a><span
! style='mso-bookmark:_Toc184788926'><span style='mso-bookmark:_Toc152605208'><span
  style='mso-bookmark:_Toc115416258'>Regkey:
  [HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters]</span></span></span></h3>
  
***************
*** 5238,5246 ****
    height:65.75pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:65.75pt'>
!   <h5><a name="_Toc170268995"></a><a name="_Toc152605209"></a><a
    name="_Toc115416259"></a><a name="_Toc139993251"></a><a name="_Toc126872328"></a><span
!   style='mso-bookmark:_Toc170268995'><span style='mso-bookmark:_Toc152605209'><span
    style='mso-bookmark:_Toc115416259'>Value: FailLoginsSilently</span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD<br>
    Default: 0</p>
--- 5354,5362 ----
    height:65.75pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:65.75pt'>
!   <h5><a name="_Toc184788927"></a><a name="_Toc152605209"></a><a
    name="_Toc115416259"></a><a name="_Toc139993251"></a><a name="_Toc126872328"></a><span
!   style='mso-bookmark:_Toc184788927'><span style='mso-bookmark:_Toc152605209'><span
    style='mso-bookmark:_Toc115416259'>Value: FailLoginsSilently</span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD<br>
    Default: 0</p>
***************
*** 5249,5257 ****
   </tr>
  </table>
  
! <h3><a name="_Toc170268996"></a><a name="_Toc152605210"></a><a
  name="_Toc115416260"></a><a name="_Toc139993252"></a><a name="_Toc126872329"></a><span
! style='mso-bookmark:_Toc170268996'><span style='mso-bookmark:_Toc152605210'><span
  style='mso-bookmark:_Toc115416260'>Regkey:<br>
  [HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider]</span></span></span></h3>
  
--- 5365,5373 ----
   </tr>
  </table>
  
! <h3><a name="_Toc184788928"></a><a name="_Toc152605210"></a><a
  name="_Toc115416260"></a><a name="_Toc139993252"></a><a name="_Toc126872329"></a><span
! style='mso-bookmark:_Toc184788928'><span style='mso-bookmark:_Toc152605210'><span
  style='mso-bookmark:_Toc115416260'>Regkey:<br>
  [HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider]</span></span></span></h3>
  
***************
*** 5260,5268 ****
   <tr style='mso-yfti-irow:0;mso-yfti-firstrow:yes;height:65.75pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:65.75pt'>
!   <h5><a name="_Toc170268997"></a><a name="_Toc152605211"></a><a
    name="_Toc115416261"></a><a name="_Toc139993253"></a><a name="_Toc126872330"></a><span
!   style='mso-bookmark:_Toc170268997'><span style='mso-bookmark:_Toc152605211'><span
    style='mso-bookmark:_Toc115416261'>Value: NoWarnings</span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD<br>
    Default: 0</p>
--- 5376,5384 ----
   <tr style='mso-yfti-irow:0;mso-yfti-firstrow:yes;height:65.75pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:65.75pt'>
!   <h5><a name="_Toc184788929"></a><a name="_Toc152605211"></a><a
    name="_Toc115416261"></a><a name="_Toc139993253"></a><a name="_Toc126872330"></a><span
!   style='mso-bookmark:_Toc184788929'><span style='mso-bookmark:_Toc152605211'><span
    style='mso-bookmark:_Toc115416261'>Value: NoWarnings</span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD<br>
    Default: 0</p>
***************
*** 5272,5280 ****
   <tr style='mso-yfti-irow:1;height:65.75pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:65.75pt'>
!   <h5><a name="_Toc170268998"></a><a name="_Toc152605212"></a><a
    name="_Toc115416262"></a><a name="_Toc139993254"></a><a name="_Toc126872331"></a><span
!   style='mso-bookmark:_Toc170268998'><span style='mso-bookmark:_Toc152605212'><span
    style='mso-bookmark:_Toc115416262'>Value: AuthentProviderPath</span></span></span></h5>
    <p class=MsoBodyText>Type: REG_SZ<br>
    NSIS: %WINDIR%\SYSTEM32\afslogon.dll</p>
--- 5388,5396 ----
   <tr style='mso-yfti-irow:1;height:65.75pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:65.75pt'>
!   <h5><a name="_Toc184788930"></a><a name="_Toc152605212"></a><a
    name="_Toc115416262"></a><a name="_Toc139993254"></a><a name="_Toc126872331"></a><span
!   style='mso-bookmark:_Toc184788930'><span style='mso-bookmark:_Toc152605212'><span
    style='mso-bookmark:_Toc115416262'>Value: AuthentProviderPath</span></span></span></h5>
    <p class=MsoBodyText>Type: REG_SZ<br>
    NSIS: %WINDIR%\SYSTEM32\afslogon.dll</p>
***************
*** 5285,5293 ****
   <tr style='mso-yfti-irow:2;height:65.75pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:65.75pt'>
!   <h5><a name="_Toc170268999"></a><a name="_Toc152605213"></a><a
    name="_Toc115416263"></a><a name="_Toc139993255"></a><a name="_Toc126872332"></a><span
!   style='mso-bookmark:_Toc170268999'><span style='mso-bookmark:_Toc152605213'><span
    style='mso-bookmark:_Toc115416263'>Value: Class</span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD<br>
    NSIS: 0x02</p>
--- 5401,5409 ----
   <tr style='mso-yfti-irow:2;height:65.75pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:65.75pt'>
!   <h5><a name="_Toc184788931"></a><a name="_Toc152605213"></a><a
    name="_Toc115416263"></a><a name="_Toc139993255"></a><a name="_Toc126872332"></a><span
!   style='mso-bookmark:_Toc184788931'><span style='mso-bookmark:_Toc152605213'><span
    style='mso-bookmark:_Toc115416263'>Value: Class</span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD<br>
    NSIS: 0x02</p>
***************
*** 5297,5305 ****
   <tr style='mso-yfti-irow:3;height:92.0pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:92.0pt'>
!   <h5><a name="_Toc170269000"></a><a name="_Toc152605214"></a><a
    name="_Toc115416264"></a><a name="_Toc139993256"></a><a name="_Toc126872333"></a><span
!   style='mso-bookmark:_Toc170269000'><span style='mso-bookmark:_Toc152605214'><span
    style='mso-bookmark:_Toc115416264'>Value: DependOnGroup</span></span></span></h5>
    <p class=MsoBodyText>Type: REG_MULTI_SZ<br>
    NSIS: PNP_TDI</p>
--- 5413,5421 ----
   <tr style='mso-yfti-irow:3;height:92.0pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:92.0pt'>
!   <h5><a name="_Toc184788932"></a><a name="_Toc152605214"></a><a
    name="_Toc115416264"></a><a name="_Toc139993256"></a><a name="_Toc126872333"></a><span
!   style='mso-bookmark:_Toc184788932'><span style='mso-bookmark:_Toc152605214'><span
    style='mso-bookmark:_Toc115416264'>Value: DependOnGroup</span></span></span></h5>
    <p class=MsoBodyText>Type: REG_MULTI_SZ<br>
    NSIS: PNP_TDI</p>
***************
*** 5312,5320 ****
   <tr style='mso-yfti-irow:4;height:92.0pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:92.0pt'>
!   <h5><a name="_Toc170269001"></a><a name="_Toc152605215"></a><a
    name="_Toc115416265"></a><a name="_Toc139993257"></a><a name="_Toc126872334"></a><span
!   style='mso-bookmark:_Toc170269001'><span style='mso-bookmark:_Toc152605215'><span
    style='mso-bookmark:_Toc115416265'>Value: DependOnService</span></span></span></h5>
    <p class=MsoBodyText>Type: REG_MULTI_SZ<br>
    NSIS: Tcpip NETBIOS RpcSs</p>
--- 5428,5436 ----
   <tr style='mso-yfti-irow:4;height:92.0pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:92.0pt'>
!   <h5><a name="_Toc184788933"></a><a name="_Toc152605215"></a><a
    name="_Toc115416265"></a><a name="_Toc139993257"></a><a name="_Toc126872334"></a><span
!   style='mso-bookmark:_Toc184788933'><span style='mso-bookmark:_Toc152605215'><span
    style='mso-bookmark:_Toc115416265'>Value: DependOnService</span></span></span></h5>
    <p class=MsoBodyText>Type: REG_MULTI_SZ<br>
    NSIS: Tcpip NETBIOS RpcSs</p>
***************
*** 5326,5334 ****
   <tr style='mso-yfti-irow:5;height:65.75pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:65.75pt'>
!   <h5><a name="_Toc170269002"></a><a name="_Toc152605216"></a><a
    name="_Toc115416266"></a><a name="_Toc139993258"></a><a name="_Toc126872335"></a><span
!   style='mso-bookmark:_Toc170269002'><span style='mso-bookmark:_Toc152605216'><span
    style='mso-bookmark:_Toc115416266'>Value: Name</span></span></span></h5>
    <p class=MsoBodyText>Type: REG_SZ<br>
    NSIS: &quot;OpenAFSDaemon&quot;</p>
--- 5442,5450 ----
   <tr style='mso-yfti-irow:5;height:65.75pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:65.75pt'>
!   <h5><a name="_Toc184788934"></a><a name="_Toc152605216"></a><a
    name="_Toc115416266"></a><a name="_Toc139993258"></a><a name="_Toc126872335"></a><span
!   style='mso-bookmark:_Toc184788934'><span style='mso-bookmark:_Toc152605216'><span
    style='mso-bookmark:_Toc115416266'>Value: Name</span></span></span></h5>
    <p class=MsoBodyText>Type: REG_SZ<br>
    NSIS: &quot;OpenAFSDaemon&quot;</p>
***************
*** 5338,5346 ****
   <tr style='mso-yfti-irow:6;mso-yfti-lastrow:yes;height:65.75pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:65.75pt'>
!   <h5><a name="_Toc170269003"></a><a name="_Toc152605217"></a><a
    name="_Toc115416267"></a><a name="_Toc139993259"></a><a name="_Toc126872336"></a><span
!   style='mso-bookmark:_Toc170269003'><span style='mso-bookmark:_Toc152605217'><span
    style='mso-bookmark:_Toc115416267'>Value: ProviderPath</span></span></span></h5>
    <p class=MsoBodyText>Type: REG_SZ<br>
    NSIS: %WINDIR%\SYSTEM32\afslogon.dll</p>
--- 5454,5462 ----
   <tr style='mso-yfti-irow:6;mso-yfti-lastrow:yes;height:65.75pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:65.75pt'>
!   <h5><a name="_Toc184788935"></a><a name="_Toc152605217"></a><a
    name="_Toc115416267"></a><a name="_Toc139993259"></a><a name="_Toc126872336"></a><span
!   style='mso-bookmark:_Toc184788935'><span style='mso-bookmark:_Toc152605217'><span
    style='mso-bookmark:_Toc115416267'>Value: ProviderPath</span></span></span></h5>
    <p class=MsoBodyText>Type: REG_SZ<br>
    NSIS: %WINDIR%\SYSTEM32\afslogon.dll</p>
***************
*** 5349,5358 ****
   </tr>
  </table>
  
! <h2><a name="_Toc170269004"></a><a name="_Toc152605218"></a><a
  name="_Toc139993260"></a><a name="_Toc126872337"></a><a name="_Toc115417106"></a><a
  name="_Toc115416268"></a><a name="_A.2.1_Domain_specific_configuration"></a><span
! style='mso-bookmark:_Toc170269004'><span style='mso-bookmark:_Toc152605218'>A.2.1
  Domain specific configuration keys for the Network Provider</span></span></h2>
  
  <p class=MsoBodyText>The network provider can be configured to have different
--- 5465,5474 ----
   </tr>
  </table>
  
! <h2><a name="_Toc184788936"></a><a name="_Toc152605218"></a><a
  name="_Toc139993260"></a><a name="_Toc126872337"></a><a name="_Toc115417106"></a><a
  name="_Toc115416268"></a><a name="_A.2.1_Domain_specific_configuration"></a><span
! style='mso-bookmark:_Toc184788936'><span style='mso-bookmark:_Toc152605218'>A.2.1
  Domain specific configuration keys for the Network Provider</span></span></h2>
  
  <p class=MsoBodyText>The network provider can be configured to have different
***************
*** 5365,5402 ****
  
  <p class=MsoBodyText>Domain specific registry keys are:</p>
  
! <h3><a name="_Toc170269005"></a><a name="_Toc152605219"></a><a
  name="_Toc115416269"></a><a name="_Toc139993261"></a><a name="_Toc126872338"></a><span
! style='mso-bookmark:_Toc170269005'><span style='mso-bookmark:_Toc152605219'><span
  style='mso-bookmark:_Toc115416269'>[HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider]</span></span></span></h3>
  
  <p class=MsoBodyText>&nbsp; (NP key)</p>
  
! <h3><a name="_Toc170269006"></a><a name="_Toc152605220"></a><a
  name="_Toc115416270"></a><a name="_Toc139993262"></a><a name="_Toc126872339"></a><span
! style='mso-bookmark:_Toc170269006'><span style='mso-bookmark:_Toc152605220'><span
  style='mso-bookmark:_Toc115416270'>[HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider\Domain]</span></span></span></h3>
  
  <p class=MsoBodyText>&nbsp; (Domains key)</p>
  
! <h3><a name="_Toc170269007"></a><a name="_Toc152605221"></a><a
  name="_Toc115416271"></a><a name="_Toc139993263"></a><a name="_Toc126872340"></a><span
! style='mso-bookmark:_Toc170269007'><span style='mso-bookmark:_Toc152605221'><span
  style='mso-bookmark:_Toc115416271'>[HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider\Domain\&quot;domain
  name&quot;]</span></span></span></h3>
  
  <p class=MsoBodyText>&nbsp; (Specific domain key. One per domain.)</p>
  
! <h3><a name="_Toc170269008"></a><a name="_Toc152605222"></a><a
  name="_Toc115416272"></a><a name="_Toc139993264"></a><a name="_Toc126872341"></a><span
! style='mso-bookmark:_Toc170269008'><span style='mso-bookmark:_Toc152605222'><span
  style='mso-bookmark:_Toc115416272'>[HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider\Domain\LOCALHOST]</span></span></span></h3>
  
  <p class=MsoBodyText>&nbsp; (Localhost key)</p>
  
! <h3><a name="_Toc170269009"></a><a name="_Toc152605223"></a><a
  name="_Toc115416273"></a><a name="_Toc139993265"></a><a name="_Toc126872342"></a><span
! style='mso-bookmark:_Toc170269009'><span style='mso-bookmark:_Toc152605223'><span
  style='mso-bookmark:_Toc115416273'>Example:</span></span></span></h3>
  
  <p class=preformattedtext>&nbsp;HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider</p>
--- 5481,5518 ----
  
  <p class=MsoBodyText>Domain specific registry keys are:</p>
  
! <h3><a name="_Toc184788937"></a><a name="_Toc152605219"></a><a
  name="_Toc115416269"></a><a name="_Toc139993261"></a><a name="_Toc126872338"></a><span
! style='mso-bookmark:_Toc184788937'><span style='mso-bookmark:_Toc152605219'><span
  style='mso-bookmark:_Toc115416269'>[HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider]</span></span></span></h3>
  
  <p class=MsoBodyText>&nbsp; (NP key)</p>
  
! <h3><a name="_Toc184788938"></a><a name="_Toc152605220"></a><a
  name="_Toc115416270"></a><a name="_Toc139993262"></a><a name="_Toc126872339"></a><span
! style='mso-bookmark:_Toc184788938'><span style='mso-bookmark:_Toc152605220'><span
  style='mso-bookmark:_Toc115416270'>[HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider\Domain]</span></span></span></h3>
  
  <p class=MsoBodyText>&nbsp; (Domains key)</p>
  
! <h3><a name="_Toc184788939"></a><a name="_Toc152605221"></a><a
  name="_Toc115416271"></a><a name="_Toc139993263"></a><a name="_Toc126872340"></a><span
! style='mso-bookmark:_Toc184788939'><span style='mso-bookmark:_Toc152605221'><span
  style='mso-bookmark:_Toc115416271'>[HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider\Domain\&quot;domain
  name&quot;]</span></span></span></h3>
  
  <p class=MsoBodyText>&nbsp; (Specific domain key. One per domain.)</p>
  
! <h3><a name="_Toc184788940"></a><a name="_Toc152605222"></a><a
  name="_Toc115416272"></a><a name="_Toc139993264"></a><a name="_Toc126872341"></a><span
! style='mso-bookmark:_Toc184788940'><span style='mso-bookmark:_Toc152605222'><span
  style='mso-bookmark:_Toc115416272'>[HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider\Domain\LOCALHOST]</span></span></span></h3>
  
  <p class=MsoBodyText>&nbsp; (Localhost key)</p>
  
! <h3><a name="_Toc184788941"></a><a name="_Toc152605223"></a><a
  name="_Toc115416273"></a><a name="_Toc139993265"></a><a name="_Toc126872342"></a><span
! style='mso-bookmark:_Toc184788941'><span style='mso-bookmark:_Toc152605223'><span
  style='mso-bookmark:_Toc115416273'>Example:</span></span></span></h3>
  
  <p class=preformattedtext>&nbsp;HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider</p>
***************
*** 5415,5428 ****
  values described in 2.1.1.&nbsp; The effective values are chosen as described
  in 2.1.2.</p>
  
! <h3><a name="_Toc170269010"></a><a name="_Toc152605224"></a><a
  name="_Toc115416274"></a><a name="_Toc139993266"></a><a name="_Toc126872343"></a><span
! style='mso-bookmark:_Toc170269010'><span style='mso-bookmark:_Toc152605224'><span
  style='mso-bookmark:_Toc115416274'>A.2.1.1 Domain specific configuration values</span></span></span></h3>
  
! <h4><a name="_Toc170269011"></a><a name="_Toc152605225"></a><a
  name="_Toc115416275"></a><a name="_Toc139993267"></a><a name="_Toc126872344"></a><span
! style='mso-bookmark:_Toc170269011'><span style='mso-bookmark:_Toc152605225'><span
  style='mso-bookmark:_Toc115416275'>[HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider]<br>
  [HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider\Domain]<br>
  [HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider\Domain\&quot;domain
--- 5531,5544 ----
  values described in 2.1.1.&nbsp; The effective values are chosen as described
  in 2.1.2.</p>
  
! <h3><a name="_Toc184788942"></a><a name="_Toc152605224"></a><a
  name="_Toc115416274"></a><a name="_Toc139993266"></a><a name="_Toc126872343"></a><span
! style='mso-bookmark:_Toc184788942'><span style='mso-bookmark:_Toc152605224'><span
  style='mso-bookmark:_Toc115416274'>A.2.1.1 Domain specific configuration values</span></span></span></h3>
  
! <h4><a name="_Toc184788943"></a><a name="_Toc152605225"></a><a
  name="_Toc115416275"></a><a name="_Toc139993267"></a><a name="_Toc126872344"></a><span
! style='mso-bookmark:_Toc184788943'><span style='mso-bookmark:_Toc152605225'><span
  style='mso-bookmark:_Toc115416275'>[HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider]<br>
  [HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider\Domain]<br>
  [HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider\Domain\&quot;domain
***************
*** 5434,5442 ****
   <tr style='mso-yfti-irow:0;mso-yfti-firstrow:yes;height:191.0pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:191.0pt'>
!   <h5><a name="_Toc170269012"></a><a name="_Toc152605226"></a><a
    name="_Toc139993268"></a><a name="_Toc126872345"></a><a name="_Toc115416276"></a><a
!   name="_Value___:_LogonOptions"></a><span style='mso-bookmark:_Toc170269012'><span
    style='mso-bookmark:_Toc152605226'>Value: LogonOptions</span></span></h5>
    <p class=MsoBodyText>Type: DWORD<br>
    Default: 0x01</p>
--- 5550,5558 ----
   <tr style='mso-yfti-irow:0;mso-yfti-firstrow:yes;height:191.0pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:191.0pt'>
!   <h5><a name="_Toc184788944"></a><a name="_Toc152605226"></a><a
    name="_Toc139993268"></a><a name="_Toc126872345"></a><a name="_Toc115416276"></a><a
!   name="_Value___:_LogonOptions"></a><span style='mso-bookmark:_Toc184788944'><span
    style='mso-bookmark:_Toc152605226'>Value: LogonOptions</span></span></h5>
    <p class=MsoBodyText>Type: DWORD<br>
    Default: 0x01</p>
***************
*** 5456,5464 ****
   <tr style='mso-yfti-irow:1;height:92.0pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:92.0pt'>
!   <h5><a name="_Toc170269013"></a><a name="_Toc152605227"></a><a
    name="_Toc115416277"></a><a name="_Toc139993269"></a><a name="_Toc126872346"></a><span
!   style='mso-bookmark:_Toc170269013'><span style='mso-bookmark:_Toc152605227'><span
    style='mso-bookmark:_Toc115416277'>Value: FailLoginsSilentl</span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD (1|0)<br>
    Default: 0<br>
--- 5572,5580 ----
   <tr style='mso-yfti-irow:1;height:92.0pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:92.0pt'>
!   <h5><a name="_Toc184788945"></a><a name="_Toc152605227"></a><a
    name="_Toc115416277"></a><a name="_Toc139993269"></a><a name="_Toc126872346"></a><span
!   style='mso-bookmark:_Toc184788945'><span style='mso-bookmark:_Toc152605227'><span
    style='mso-bookmark:_Toc115416277'>Value: FailLoginsSilentl</span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD (1|0)<br>
    Default: 0<br>
***************
*** 5470,5478 ****
   <tr style='mso-yfti-irow:2;height:139.0pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:139.0pt'>
!   <h5><a name="_Toc170269014"></a><a name="_Toc152605228"></a><a
    name="_Toc115416278"></a><a name="_Toc139993270"></a><a name="_Toc126872347"></a><span
!   style='mso-bookmark:_Toc170269014'><span style='mso-bookmark:_Toc152605228'><span
    style='mso-bookmark:_Toc115416278'>Value: LogonScript</span></span></span></h5>
    <p class=MsoBodyText>Type: REG_SZ or REG_EXPAND_SZ<br>
    Default: (null)<br>
--- 5586,5594 ----
   <tr style='mso-yfti-irow:2;height:139.0pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:139.0pt'>
!   <h5><a name="_Toc184788946"></a><a name="_Toc152605228"></a><a
    name="_Toc115416278"></a><a name="_Toc139993270"></a><a name="_Toc126872347"></a><span
!   style='mso-bookmark:_Toc184788946'><span style='mso-bookmark:_Toc152605228'><span
    style='mso-bookmark:_Toc115416278'>Value: LogonScript</span></span></span></h5>
    <p class=MsoBodyText>Type: REG_SZ or REG_EXPAND_SZ<br>
    Default: (null)<br>
***************
*** 5489,5497 ****
   <tr style='mso-yfti-irow:3;height:105.5pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:105.5pt'>
!   <h5><a name="_Toc170269015"></a><a name="_Toc152605229"></a><a
    name="_Toc115416279"></a><a name="_Toc139993271"></a><a name="_Toc126872348"></a><span
!   style='mso-bookmark:_Toc170269015'><span style='mso-bookmark:_Toc152605229'><span
    style='mso-bookmark:_Toc115416279'>Value: LoginRetryInterval</span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD<br>
    Default: 30<br>
--- 5605,5613 ----
   <tr style='mso-yfti-irow:3;height:105.5pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:105.5pt'>
!   <h5><a name="_Toc184788947"></a><a name="_Toc152605229"></a><a
    name="_Toc115416279"></a><a name="_Toc139993271"></a><a name="_Toc126872348"></a><span
!   style='mso-bookmark:_Toc184788947'><span style='mso-bookmark:_Toc152605229'><span
    style='mso-bookmark:_Toc115416279'>Value: LoginRetryInterval</span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD<br>
    Default: 30<br>
***************
*** 5505,5513 ****
   <tr style='mso-yfti-irow:4;height:79.25pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:79.25pt'>
!   <h5><a name="_Toc170269016"></a><a name="_Toc152605230"></a><a
    name="_Toc115416280"></a><a name="_Toc139993272"></a><a name="_Toc126872349"></a><span
!   style='mso-bookmark:_Toc170269016'><span style='mso-bookmark:_Toc152605230'><span
    style='mso-bookmark:_Toc115416280'>Value: LoginSleepInterval</span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD<br>
    Default: 5<br>
--- 5621,5629 ----
   <tr style='mso-yfti-irow:4;height:79.25pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:79.25pt'>
!   <h5><a name="_Toc184788948"></a><a name="_Toc152605230"></a><a
    name="_Toc115416280"></a><a name="_Toc139993272"></a><a name="_Toc126872349"></a><span
!   style='mso-bookmark:_Toc184788948'><span style='mso-bookmark:_Toc152605230'><span
    style='mso-bookmark:_Toc115416280'>Value: LoginSleepInterval</span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD<br>
    Default: 5<br>
***************
*** 5515,5539 ****
    <p class=MsoBodyText>See description of LoginRetryInterval.</p>
    </td>
   </tr>
!  <tr style='mso-yfti-irow:5;mso-yfti-lastrow:yes;height:78.5pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:78.5pt'>
!   <h5><a name="_Toc170269018"></a>
!   <a name="_Value:_Realm"></a><span style='mso-bookmark:_Toc170269018'>Value: Realm</span></h5>
    <p class=MsoBodyText>Type: REG_SZ<br>
    NSIS: &lt;not set&gt;</p>
!   <p class=MsoBodyText>When Kerberos v5 is being used, Realm specifies the 
!   Kerberos v5 realm that should be appended to the first component of the 
!   Domain logon username to construct the Kerberos v5 principal for which
!   AFS tokens should be obtained.</p>
    </td>
   </tr>
!  <tr style='mso-yfti-irow:5;mso-yfti-lastrow:yes;height:78.5pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:78.5pt'>
!   <h5><a name="_Toc170269017"></a><a name="_Toc152605231"></a><a
    name="_Toc139993273"></a><a name="_Toc126872350"></a><a name="_Toc115416281"></a><a
!   name="_Value:_TheseCells"></a><span style='mso-bookmark:_Toc170269017'><span
    style='mso-bookmark:_Toc152605231'>Value: TheseCells</span></span></h5>
    <p class=MsoBodyText>Type: REG_MULTI_SZ<br>
    NSIS: &lt;not set&gt;</p>
--- 5631,5655 ----
    <p class=MsoBodyText>See description of LoginRetryInterval.</p>
    </td>
   </tr>
!  <tr style='mso-yfti-irow:5;height:78.5pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:78.5pt'>
!   <h5><a name="_Toc184788949"></a><a name="_Value:_Realm"></a><span
!   style='mso-bookmark:_Toc184788949'>Value: Realm</span></h5>
    <p class=MsoBodyText>Type: REG_SZ<br>
    NSIS: &lt;not set&gt;</p>
!   <p class=MsoBodyText>When Kerberos v5 is being used, Realm specifies the
!   Kerberos v5 realm that should be appended to the first component of the
!   Domain logon username to construct the Kerberos v5 principal for which AFS
!   tokens should be obtained.</p>
    </td>
   </tr>
!  <tr style='mso-yfti-irow:6;mso-yfti-lastrow:yes;height:78.5pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:78.5pt'>
!   <h5><a name="_Toc184788950"></a><a name="_Toc152605231"></a><a
    name="_Toc139993273"></a><a name="_Toc126872350"></a><a name="_Toc115416281"></a><a
!   name="_Value:_TheseCells"></a><span style='mso-bookmark:_Toc184788950'><span
    style='mso-bookmark:_Toc152605231'>Value: TheseCells</span></span></h5>
    <p class=MsoBodyText>Type: REG_MULTI_SZ<br>
    NSIS: &lt;not set&gt;</p>
***************
*** 5544,5552 ****
   </tr>
  </table>
  
! <h3><a name="_Toc170269018"></a><a name="_Toc152605232"></a><a
  name="_Toc115416282"></a><a name="_Toc139993274"></a><a name="_Toc126872351"></a><span
! style='mso-bookmark:_Toc170269018'><span style='mso-bookmark:_Toc152605232'><span
  style='mso-bookmark:_Toc115416282'>A.2.1.2 Selection of effective values for
  domain specific configuration</span></span></span></h3>
  
--- 5660,5668 ----
   </tr>
  </table>
  
! <h3><a name="_Toc184788951"></a><a name="_Toc152605232"></a><a
  name="_Toc115416282"></a><a name="_Toc139993274"></a><a name="_Toc126872351"></a><span
! style='mso-bookmark:_Toc184788951'><span style='mso-bookmark:_Toc152605232'><span
  style='mso-bookmark:_Toc115416282'>A.2.1.2 Selection of effective values for
  domain specific configuration</span></span></span></h3>
  
***************
*** 5580,5596 ****
  used.&nbsp; To re-iterate, a value in a more specific key supercedes a value in
  a less specific key.&nbsp; The exceptions to this rule are stated below.</p>
  
! <h3><a name="_Toc170269019"></a><a name="_Toc152605233"></a><a
  name="_Toc115416283"></a><a name="_Toc139993275"></a><a name="_Toc126872352"></a><span
! style='mso-bookmark:_Toc170269019'><span style='mso-bookmark:_Toc152605233'><span
  style='mso-bookmark:_Toc115416283'>A.2.1.3 Exceptions to A.2.1.2</span></span></span></h3>
  
  <p class=MsoBodyText>To retain backwards compatibility, the following
  exceptions are made to 2.1.2.</p>
  
! <h4><a name="_Toc170269020"></a><a name="_Toc152605234"></a><a
  name="_Toc115416284"></a><a name="_Toc139993276"></a><a name="_Toc126872353"></a><span
! style='mso-bookmark:_Toc170269020'><span style='mso-bookmark:_Toc152605234'><span
  style='mso-bookmark:_Toc115416284'>2.1.3.1 'FailLoginsSilently'</span></span></span></h4>
  
  <p class=MsoBodyText>Historically, the 'FailLoginsSilently' value was in
--- 5696,5712 ----
  used.&nbsp; To re-iterate, a value in a more specific key supercedes a value in
  a less specific key.&nbsp; The exceptions to this rule are stated below.</p>
  
! <h3><a name="_Toc184788952"></a><a name="_Toc152605233"></a><a
  name="_Toc115416283"></a><a name="_Toc139993275"></a><a name="_Toc126872352"></a><span
! style='mso-bookmark:_Toc184788952'><span style='mso-bookmark:_Toc152605233'><span
  style='mso-bookmark:_Toc115416283'>A.2.1.3 Exceptions to A.2.1.2</span></span></span></h3>
  
  <p class=MsoBodyText>To retain backwards compatibility, the following
  exceptions are made to 2.1.2.</p>
  
! <h4><a name="_Toc184788953"></a><a name="_Toc152605234"></a><a
  name="_Toc115416284"></a><a name="_Toc139993276"></a><a name="_Toc126872353"></a><span
! style='mso-bookmark:_Toc184788953'><span style='mso-bookmark:_Toc152605234'><span
  style='mso-bookmark:_Toc115416284'>2.1.3.1 'FailLoginsSilently'</span></span></span></h4>
  
  <p class=MsoBodyText>Historically, the 'FailLoginsSilently' value was in
***************
*** 5599,5607 ****
  Parameters key will supercede all instances of this value in other keys.&nbsp;
  In the absence of this value in the Parameters key, normal scope rules apply.</p>
  
! <h4><a name="_Toc170269021"></a><a name="_Toc152605235"></a><a
  name="_Toc115416285"></a><a name="_Toc139993277"></a><a name="_Toc126872354"></a><span
! style='mso-bookmark:_Toc170269021'><span style='mso-bookmark:_Toc152605235'><span
  style='mso-bookmark:_Toc115416285'>2.1.3.2 'LogonScript'</span></span></span></h4>
  
  <p class=MsoBodyText>If a 'LogonScript' is not specified in the specific domain
--- 5715,5723 ----
  Parameters key will supercede all instances of this value in other keys.&nbsp;
  In the absence of this value in the Parameters key, normal scope rules apply.</p>
  
! <h4><a name="_Toc184788954"></a><a name="_Toc152605235"></a><a
  name="_Toc115416285"></a><a name="_Toc139993277"></a><a name="_Toc126872354"></a><span
! style='mso-bookmark:_Toc184788954'><span style='mso-bookmark:_Toc152605235'><span
  style='mso-bookmark:_Toc115416285'>2.1.3.2 'LogonScript'</span></span></span></h4>
  
  <p class=MsoBodyText>If a 'LogonScript' is not specified in the specific domain
***************
*** 5611,5627 ****
  will be used regardless of the high security setting.&nbsp; Please be aware of
  this when setting this value.</p>
  
! <h2><a name="_Toc170269022"></a><a name="_Toc152605236"></a><a
  name="_Toc115416286"></a><a name="_Toc139993278"></a><a name="_Toc126872355"></a><a
! name="_Toc115417107"></a><span style='mso-bookmark:_Toc170269022'><span
  style='mso-bookmark:_Toc152605236'><span style='mso-bookmark:_Toc115416286'>A.3.
  AFS Credentials System Tray Tool parameters</span></span></span></h2>
  
  <p class=MsoBodyText>Affects the behavior of afscreds.exe</p>
  
! <h3><a name="_Toc170269023"></a><a name="_Toc152605237"></a><a
  name="_Toc115416287"></a><a name="_Toc139993279"></a><a name="_Toc126872356"></a><span
! style='mso-bookmark:_Toc170269023'><span style='mso-bookmark:_Toc152605237'><span
  style='mso-bookmark:_Toc115416287'>Regkey:<br>
  [HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters]</span></span></span></h3>
  
--- 5727,5743 ----
  will be used regardless of the high security setting.&nbsp; Please be aware of
  this when setting this value.</p>
  
! <h2><a name="_Toc184788955"></a><a name="_Toc152605236"></a><a
  name="_Toc115416286"></a><a name="_Toc139993278"></a><a name="_Toc126872355"></a><a
! name="_Toc115417107"></a><span style='mso-bookmark:_Toc184788955'><span
  style='mso-bookmark:_Toc152605236'><span style='mso-bookmark:_Toc115416286'>A.3.
  AFS Credentials System Tray Tool parameters</span></span></span></h2>
  
  <p class=MsoBodyText>Affects the behavior of afscreds.exe</p>
  
! <h3><a name="_Toc184788956"></a><a name="_Toc152605237"></a><a
  name="_Toc115416287"></a><a name="_Toc139993279"></a><a name="_Toc126872356"></a><span
! style='mso-bookmark:_Toc184788956'><span style='mso-bookmark:_Toc152605237'><span
  style='mso-bookmark:_Toc115416287'>Regkey:<br>
  [HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters]</span></span></span></h3>
  
***************
*** 5630,5638 ****
   <tr style='mso-yfti-irow:0;mso-yfti-firstrow:yes;height:92.0pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:92.0pt'>
!   <h5><a name="_Toc170269024"></a><a name="_Toc152605238"></a><a
    name="_Toc115416288"></a><a name="_Toc139993280"></a><a name="_Toc126872357"></a><span
!   style='mso-bookmark:_Toc170269024'><span style='mso-bookmark:_Toc152605238'><span
    style='mso-bookmark:_Toc115416288'>Value: Gateway</span></span></span></h5>
    <p class=MsoBodyText>Type: REG_SZ<br>
    Default: &quot;&quot;<br>
--- 5746,5754 ----
   <tr style='mso-yfti-irow:0;mso-yfti-firstrow:yes;height:92.0pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:92.0pt'>
!   <h5><a name="_Toc184788957"></a><a name="_Toc152605238"></a><a
    name="_Toc115416288"></a><a name="_Toc139993280"></a><a name="_Toc126872357"></a><span
!   style='mso-bookmark:_Toc184788957'><span style='mso-bookmark:_Toc152605238'><span
    style='mso-bookmark:_Toc115416288'>Value: Gateway</span></span></span></h5>
    <p class=MsoBodyText>Type: REG_SZ<br>
    Default: &quot;&quot;<br>
***************
*** 5644,5665 ****
   <tr style='mso-yfti-irow:1;mso-yfti-lastrow:yes;height:92.0pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:92.0pt'>
!   <h5><a name="_Toc170269025"></a><a name="_Toc152605239"></a><a
    name="_Toc115416289"></a><a name="_Toc139993281"></a><a name="_Toc126872358"></a><span
!   style='mso-bookmark:_Toc170269025'><span style='mso-bookmark:_Toc152605239'><span
    style='mso-bookmark:_Toc115416289'>Value: Cell</span></span></span></h5>
    <p class=MsoBodyText>Type: REG_SZ<br>
    Default: &lt;none&gt;<br>
    Variable: IsServiceConfigured()</p>
!   <p class=MsoBodyText>The value Cell is used to determine if the AFS Client
!   Service has been properly configured or not.</p>
    </td>
   </tr>
  </table>
  
! <h3><a name="_Toc170269026"></a><a name="_Toc152605240"></a><a
  name="_Toc115416290"></a><a name="_Toc139993282"></a><a name="_Toc126872359"></a><span
! style='mso-bookmark:_Toc170269026'><span style='mso-bookmark:_Toc152605240'><span
  style='mso-bookmark:_Toc115416290'>Regkey:<br>
  [HKLM\SOFTWARE\OpenAFS\Client]<br>
  [HKCU\SOFTWARE\OpenAFS\Client]</span></span></span></h3>
--- 5760,5781 ----
   <tr style='mso-yfti-irow:1;mso-yfti-lastrow:yes;height:92.0pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:92.0pt'>
!   <h5><a name="_Toc184788958"></a><a name="_Toc152605239"></a><a
    name="_Toc115416289"></a><a name="_Toc139993281"></a><a name="_Toc126872358"></a><span
!   style='mso-bookmark:_Toc184788958'><span style='mso-bookmark:_Toc152605239'><span
    style='mso-bookmark:_Toc115416289'>Value: Cell</span></span></span></h5>
    <p class=MsoBodyText>Type: REG_SZ<br>
    Default: &lt;none&gt;<br>
    Variable: IsServiceConfigured()</p>
!   <p class=MsoBodyText>The value Cell is used to determine if the AFS Client Service
!   has been properly configured or not.</p>
    </td>
   </tr>
  </table>
  
! <h3><a name="_Toc184788959"></a><a name="_Toc152605240"></a><a
  name="_Toc115416290"></a><a name="_Toc139993282"></a><a name="_Toc126872359"></a><span
! style='mso-bookmark:_Toc184788959'><span style='mso-bookmark:_Toc152605240'><span
  style='mso-bookmark:_Toc115416290'>Regkey:<br>
  [HKLM\SOFTWARE\OpenAFS\Client]<br>
  [HKCU\SOFTWARE\OpenAFS\Client]</span></span></span></h3>
***************
*** 5669,5697 ****
   <tr style='mso-yfti-irow:0;mso-yfti-firstrow:yes;height:157.5pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:157.5pt'>
!   <h5><a name="_Toc170269027"></a><a name="_Toc152605241"></a><a
    name="_Toc115416291"></a><a name="_Toc139993283"></a><a name="_Toc126872360"></a><span
!   style='mso-bookmark:_Toc170269027'><span style='mso-bookmark:_Toc152605241'><span
    style='mso-bookmark:_Toc115416291'>Value: ShowTrayIcon</span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD {0, 1}<br>
    Default: 1<br>
    Function: InitApp(), Main_OnCheckTerminate()</p>
!   <p class=MsoBodyText>This value is used to determine whether or not a shortcut
!   should be maintained in the user's Start Menu-&gt;Programs-&gt;Startup
!   folder. </p>
    <p class=MsoBodyText>This value used to be stored at
    [HKLM\Software\TransarcCorporation\AFS Client\AfsCreds].</p>
!   <p class=MsoBodyText>The current user value is checked first; if it does not
!   exist the local machine value is checked.</p>
    </td>
   </tr>
   <tr style='mso-yfti-irow:1;height:119.0pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:119.0pt'>
!   <h5><a name="_Toc170269028"></a><a name="_Toc152605242"></a><a
    name="_Toc115416292"></a><a name="_Value:_EnableKFW"></a><a name=EnableKFW></a><a
    name="_Toc139993284"></a><a name="_Toc126872361"></a><span style='mso-bookmark:
!   _Toc170269028'><span style='mso-bookmark:_Toc152605242'><span
    style='mso-bookmark:_Toc115416292'>Value: EnableKFW</span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD {0, 1}<br>
    Default: 1<br>
--- 5785,5813 ----
   <tr style='mso-yfti-irow:0;mso-yfti-firstrow:yes;height:157.5pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:157.5pt'>
!   <h5><a name="_Toc184788960"></a><a name="_Toc152605241"></a><a
    name="_Toc115416291"></a><a name="_Toc139993283"></a><a name="_Toc126872360"></a><span
!   style='mso-bookmark:_Toc184788960'><span style='mso-bookmark:_Toc152605241'><span
    style='mso-bookmark:_Toc115416291'>Value: ShowTrayIcon</span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD {0, 1}<br>
    Default: 1<br>
    Function: InitApp(), Main_OnCheckTerminate()</p>
!   <p class=MsoBodyText>This value is used to determine whether or not a
!   shortcut should be maintained in the user's Start
!   Menu-&gt;Programs-&gt;Startup folder. </p>
    <p class=MsoBodyText>This value used to be stored at
    [HKLM\Software\TransarcCorporation\AFS Client\AfsCreds].</p>
!   <p class=MsoBodyText>The current user value is checked first; if it does not exist
!   the local machine value is checked.</p>
    </td>
   </tr>
   <tr style='mso-yfti-irow:1;height:119.0pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:119.0pt'>
!   <h5><a name="_Toc184788961"></a><a name="_Toc152605242"></a><a
    name="_Toc115416292"></a><a name="_Value:_EnableKFW"></a><a name=EnableKFW></a><a
    name="_Toc139993284"></a><a name="_Toc126872361"></a><span style='mso-bookmark:
!   _Toc184788961'><span style='mso-bookmark:_Toc152605242'><span
    style='mso-bookmark:_Toc115416292'>Value: EnableKFW</span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD {0, 1}<br>
    Default: 1<br>
***************
*** 5706,5734 ****
   <tr style='mso-yfti-irow:2;height:119.0pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:119.0pt'>
!   <h5><span style='mso-bookmark:
!   _Toc170269029'><span style='mso-bookmark:_Toc152605243'><span
!   style='mso-bookmark:_Toc115416293'>Value: AcceptDottedPrincipalNames</span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD {0, 1}<br>
    Default: 1<br>
    Function: KFW_accept_dotted_usernames()</p>
!   <p class=MsoBodyText>Kerberos v5 principal names are traditionally mapped to 
! 	Kerberos v4 names by the AFS servers before they can be looked up in the 
! 	Protection database.&nbsp; The mapping algorithm used permits collisions to 
! 	occur.&nbsp; Both of the Kerberos v5 names, &quot;<a href="mailto:user.admin@REALM">user.admin@REALM</a>&quot; 
! 	and &quot;<a href="mailto:user/admin@REALM">user/admin@REALM</a>&quot; are interpreted 
! 	as the same user identity within the cell.&nbsp; To enable both names to be 
! 	sent to the server by AFSCreds or Integrated Logon, set this value to 1.</p>
    </td>
   </tr>
!  <tr style='mso-yfti-irow:2;height:119.0pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:119.0pt'>
!   <h5><a name="_Toc170269029"></a><a name="_Toc152605243"></a><a
!   name="_Value:_Use524"></a><a name=Use524></a><a name="_Toc139993285"></a><a
!   name="_Toc126872362"></a><a name="_Toc115416293"></a><a
!   name="_Value___:_Use524"></a><span style='mso-bookmark:_Toc170269029'><span
!   style='mso-bookmark:_Toc152605243'>Value: Use524</span></span></h5>
    <p class=MsoBodyText>Type: DWORD {0, 1}<br>
    Default: 0<br>
    Function: KFW_use_krb524()</p>
--- 5822,5848 ----
   <tr style='mso-yfti-irow:2;height:119.0pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:119.0pt'>
!   <h5><a name="_Toc184788962">Value: AcceptDottedPrincipalNames</a></h5>
    <p class=MsoBodyText>Type: DWORD {0, 1}<br>
    Default: 1<br>
    Function: KFW_accept_dotted_usernames()</p>
!   <p class=MsoBodyText>Kerberos v5 principal names are traditionally mapped to
!   Kerberos v4 names by the AFS servers before they can be looked up in the
!   Protection database.&nbsp; The mapping algorithm used permits collisions to
!   occur.&nbsp; Both of the Kerberos v5 names, &quot;<a
!   href="mailto:user.admin@REALM">user.admin@REALM</a>&quot; and &quot;<a
!   href="mailto:user/admin@REALM">user/admin@REALM</a>&quot; are interpreted as
!   the same user identity within the cell.&nbsp; To enable both names to be sent
!   to the server by AFSCreds or Integrated Logon, set this value to 1.</p>
    </td>
   </tr>
!  <tr style='mso-yfti-irow:3;height:119.0pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:119.0pt'>
!   <h5><a name="_Toc184788963"></a><a name="_Value:_Use524"></a><a name=Use524></a><a
!   name="_Toc139993285"></a><a name="_Toc126872362"></a><a
!   name="_Value___:_Use524"></a><span style='mso-bookmark:_Toc184788963'>Value:
!   Use524</span></h5>
    <p class=MsoBodyText>Type: DWORD {0, 1}<br>
    Default: 0<br>
    Function: KFW_use_krb524()</p>
***************
*** 5739,5750 ****
    exist the local machine value is checked.</p>
    </td>
   </tr>
!  <tr style='mso-yfti-irow:3;mso-yfti-lastrow:yes;height:251.5pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:251.5pt'>
!   <h5><a name="_Toc170269030"></a><a name="_Toc152605244"></a><a
    name="_Toc139993286"></a><a name="_Toc126872363"></a><a name="_Toc115416294"></a><a
!   name="_Value___:_AfscredsShortcutParams"></a><span style='mso-bookmark:_Toc170269030'><span
    style='mso-bookmark:_Toc152605244'>Value: AfscredsShortcutParams</span></span></h5>
    <p class=MsoBodyText>Type: REG_SZ<br>
    Default: &quot;-A -M -N -Q&quot;<br>
--- 5853,5864 ----
    exist the local machine value is checked.</p>
    </td>
   </tr>
!  <tr style='mso-yfti-irow:4;mso-yfti-lastrow:yes;height:251.5pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:251.5pt'>
!   <h5><a name="_Toc184788964"></a><a name="_Toc152605244"></a><a
    name="_Toc139993286"></a><a name="_Toc126872363"></a><a name="_Toc115416294"></a><a
!   name="_Value___:_AfscredsShortcutParams"></a><span style='mso-bookmark:_Toc184788964'><span
    style='mso-bookmark:_Toc152605244'>Value: AfscredsShortcutParams</span></span></h5>
    <p class=MsoBodyText>Type: REG_SZ<br>
    Default: &quot;-A -M -N -Q&quot;<br>
***************
*** 5769,5777 ****
   </tr>
  </table>
  
! <h3><a name="_Toc170269031"></a><a name="_Toc152605245"></a><a
  name="_Toc115416295"></a><a name="_Toc139993287"></a><a name="_Toc126872364"></a><span
! style='mso-bookmark:_Toc170269031'><span style='mso-bookmark:_Toc152605245'><span
  style='mso-bookmark:_Toc115416295'>Regkey:<br>
  [HKCU\SOFTWARE\OpenAFS\Client]</span></span></span></h3>
  
--- 5883,5891 ----
   </tr>
  </table>
  
! <h3><a name="_Toc184788965"></a><a name="_Toc152605245"></a><a
  name="_Toc115416295"></a><a name="_Toc139993287"></a><a name="_Toc126872364"></a><span
! style='mso-bookmark:_Toc184788965'><span style='mso-bookmark:_Toc152605245'><span
  style='mso-bookmark:_Toc115416295'>Regkey:<br>
  [HKCU\SOFTWARE\OpenAFS\Client]</span></span></span></h3>
  
***************
*** 5781,5789 ****
    height:92.0pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:92.0pt'>
!   <h5><a name="_Toc170269032"></a><a name="_Toc152605246"></a><a
    name="_Toc115416296"></a><a name="_Toc139993288"></a><a name="_Toc126872365"></a><span
!   style='mso-bookmark:_Toc170269032'><span style='mso-bookmark:_Toc152605246'><span
    style='mso-bookmark:_Toc115416296'>Value: Authentication Cell</span></span></span></h5>
    <p class=MsoBodyText>Type: REG_SZ<br>
    Default: &lt;none&gt;<br>
--- 5895,5903 ----
    height:92.0pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:92.0pt'>
!   <h5><a name="_Toc184788966"></a><a name="_Toc152605246"></a><a
    name="_Toc115416296"></a><a name="_Toc139993288"></a><a name="_Toc126872365"></a><span
!   style='mso-bookmark:_Toc184788966'><span style='mso-bookmark:_Toc152605246'><span
    style='mso-bookmark:_Toc115416296'>Value: Authentication Cell</span></span></span></h5>
    <p class=MsoBodyText>Type: REG_SZ<br>
    Default: &lt;none&gt;<br>
***************
*** 5794,5802 ****
   </tr>
  </table>
  
! <h3><a name="_Toc170269033"></a><a name="_Toc152605247"></a><a
  name="_Toc115416297"></a><a name="_Toc139993289"></a><a name="_Toc126872366"></a><span
! style='mso-bookmark:_Toc170269033'><span style='mso-bookmark:_Toc152605247'><span
  style='mso-bookmark:_Toc115416297'>Regkey:<br>
  [HKCU\SOFTWARE\OpenAFS\Client\Reminders]</span></span></span></h3>
  
--- 5908,5916 ----
   </tr>
  </table>
  
! <h3><a name="_Toc184788967"></a><a name="_Toc152605247"></a><a
  name="_Toc115416297"></a><a name="_Toc139993289"></a><a name="_Toc126872366"></a><span
! style='mso-bookmark:_Toc184788967'><span style='mso-bookmark:_Toc152605247'><span
  style='mso-bookmark:_Toc115416297'>Regkey:<br>
  [HKCU\SOFTWARE\OpenAFS\Client\Reminders]</span></span></span></h3>
  
***************
*** 5806,5829 ****
    height:124.75pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:124.75pt'>
!   <h5><a name="_Toc170269034"></a><a name="_Toc152605248"></a><a
    name="_Toc115416298"></a><a name="_Toc139993290"></a><a name="_Toc126872367"></a><span
!   style='mso-bookmark:_Toc170269034'><span style='mso-bookmark:_Toc152605248'><span
    style='mso-bookmark:_Toc115416298'>Value: &quot;afs cell name&quot;</span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD {0, 1}<br>
    Default: &lt;none&gt;<br>
    Function: LoadRemind(), SaveRemind()</p>
!   <p class=MsoBodyText>These values are used to save and restore the state of
!   the reminder flag for each cell for which the user has obtained tokens.</p>
    <p class=MsoBodyText>This value used to be stored at
    [HKLM\Software\TransarcCorporation\AFS Client\AfsCreds].</p>
    </td>
   </tr>
  </table>
  
! <h3><a name="_Toc170269035"></a><a name="_Toc152605249"></a><a
  name="_Toc115416299"></a><a name="_Toc139993291"></a><a name="_Toc126872368"></a><span
! style='mso-bookmark:_Toc170269035'><span style='mso-bookmark:_Toc152605249'><span
  style='mso-bookmark:_Toc115416299'>Regkey:<br>
  [HKCU\SOFTWARE\OpenAFS\Client\Active Maps]</span></span></span></h3>
  
--- 5920,5943 ----
    height:124.75pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:124.75pt'>
!   <h5><a name="_Toc184788968"></a><a name="_Toc152605248"></a><a
    name="_Toc115416298"></a><a name="_Toc139993290"></a><a name="_Toc126872367"></a><span
!   style='mso-bookmark:_Toc184788968'><span style='mso-bookmark:_Toc152605248'><span
    style='mso-bookmark:_Toc115416298'>Value: &quot;afs cell name&quot;</span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD {0, 1}<br>
    Default: &lt;none&gt;<br>
    Function: LoadRemind(), SaveRemind()</p>
!   <p class=MsoBodyText>These values are used to save and restore the state of the
!   reminder flag for each cell for which the user has obtained tokens.</p>
    <p class=MsoBodyText>This value used to be stored at
    [HKLM\Software\TransarcCorporation\AFS Client\AfsCreds].</p>
    </td>
   </tr>
  </table>
  
! <h3><a name="_Toc184788969"></a><a name="_Toc152605249"></a><a
  name="_Toc115416299"></a><a name="_Toc139993291"></a><a name="_Toc126872368"></a><span
! style='mso-bookmark:_Toc184788969'><span style='mso-bookmark:_Toc152605249'><span
  style='mso-bookmark:_Toc115416299'>Regkey:<br>
  [HKCU\SOFTWARE\OpenAFS\Client\Active Maps]</span></span></span></h3>
  
***************
*** 5833,5841 ****
    height:98.5pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:98.5pt'>
!   <h5><a name="_Toc170269036"></a><a name="_Toc152605250"></a><a
    name="_Toc115416300"></a><a name="_Toc139993292"></a><a name="_Toc126872369"></a><span
!   style='mso-bookmark:_Toc170269036'><span style='mso-bookmark:_Toc152605250'><span
    style='mso-bookmark:_Toc115416300'>Value: &quot;upper case drive letter&quot;</span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD {0, 1}<br>
    Default: &lt;none&gt;</p>
--- 5947,5955 ----
    height:98.5pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:98.5pt'>
!   <h5><a name="_Toc184788970"></a><a name="_Toc152605250"></a><a
    name="_Toc115416300"></a><a name="_Toc139993292"></a><a name="_Toc126872369"></a><span
!   style='mso-bookmark:_Toc184788970'><span style='mso-bookmark:_Toc152605250'><span
    style='mso-bookmark:_Toc115416300'>Value: &quot;upper case drive letter&quot;</span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD {0, 1}<br>
    Default: &lt;none&gt;</p>
***************
*** 5846,5854 ****
   </tr>
  </table>
  
! <h3><a name="_Toc170269037"></a><a name="_Toc152605251"></a><a
  name="_Toc115416301"></a><a name="_Toc139993293"></a><a name="_Toc126872370"></a><span
! style='mso-bookmark:_Toc170269037'><span style='mso-bookmark:_Toc152605251'><span
  style='mso-bookmark:_Toc115416301'>Regkey:<br>
  [HKCU\SOFTWARE\OpenAFS\Client\Mappings]</span></span></span></h3>
  
--- 5960,5968 ----
   </tr>
  </table>
  
! <h3><a name="_Toc184788971"></a><a name="_Toc152605251"></a><a
  name="_Toc115416301"></a><a name="_Toc139993293"></a><a name="_Toc126872370"></a><span
! style='mso-bookmark:_Toc184788971'><span style='mso-bookmark:_Toc152605251'><span
  style='mso-bookmark:_Toc115416301'>Regkey:<br>
  [HKCU\SOFTWARE\OpenAFS\Client\Mappings]</span></span></span></h3>
  
***************
*** 5858,5866 ****
    height:98.5pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:98.5pt'>
!   <h5><a name="_Toc170269038"></a><a name="_Toc152605252"></a><a
    name="_Toc115416302"></a><a name="_Toc139993294"></a><a name="_Toc126872371"></a><span
!   style='mso-bookmark:_Toc170269038'><span style='mso-bookmark:_Toc152605252'><span
    style='mso-bookmark:_Toc115416302'>Value: &quot;upper case drive letter&quot;</span></span></span></h5>
    <p class=MsoBodyText>Type: REG_SZ<br>
    Default: &lt;none&gt;</p>
--- 5972,5980 ----
    height:98.5pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:98.5pt'>
!   <h5><a name="_Toc184788972"></a><a name="_Toc152605252"></a><a
    name="_Toc115416302"></a><a name="_Toc139993294"></a><a name="_Toc126872371"></a><span
!   style='mso-bookmark:_Toc184788972'><span style='mso-bookmark:_Toc152605252'><span
    style='mso-bookmark:_Toc115416302'>Value: &quot;upper case drive letter&quot;</span></span></span></h5>
    <p class=MsoBodyText>Type: REG_SZ<br>
    Default: &lt;none&gt;</p>
***************
*** 5871,5879 ****
   </tr>
  </table>
  
! <h2><a name="_Toc170269039"></a><a name="_Toc152605253"></a><a
  name="_Toc115416303"></a><a name="_Toc139993295"></a><a name="_Toc126872372"></a><a
! name="_Toc115417108"></a><span style='mso-bookmark:_Toc170269039'><span
  style='mso-bookmark:_Toc152605253'><span style='mso-bookmark:_Toc115416303'><span
  lang=FR style='mso-ansi-language:FR'>A.4 OpenAFS Client Service Environment
  Variables</span></span></span></span><span lang=FR style='mso-ansi-language:
--- 5985,5993 ----
   </tr>
  </table>
  
! <h2><a name="_Toc184788973"></a><a name="_Toc152605253"></a><a
  name="_Toc115416303"></a><a name="_Toc139993295"></a><a name="_Toc126872372"></a><a
! name="_Toc115417108"></a><span style='mso-bookmark:_Toc184788973'><span
  style='mso-bookmark:_Toc152605253'><span style='mso-bookmark:_Toc115416303'><span
  lang=FR style='mso-ansi-language:FR'>A.4 OpenAFS Client Service Environment
  Variables</span></span></span></span><span lang=FR style='mso-ansi-language:
***************
*** 5883,5891 ****
   style='mso-cellspacing:2.2pt;mso-padding-alt:0pt 0pt 0pt 0pt'>
   <tr style='mso-yfti-irow:0;mso-yfti-firstrow:yes'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <h5><a name="_Toc170269040"></a><a name="_Toc152605254"></a><a
    name="_Toc115416304"></a><a name="_Toc139993296"></a><a name="_Toc126872373"></a><span
!   style='mso-bookmark:_Toc170269040'><span style='mso-bookmark:_Toc152605254'><span
    style='mso-bookmark:_Toc115416304'>Variable: AFS_RPC_ENCRYPT</span></span></span></h5>
    <p class=MsoBodyText>Values:&nbsp;&nbsp; &quot;OFF&quot; disables the use of
    RPC encryption any other value allows RPC encryption to be used<br>
--- 5997,6005 ----
   style='mso-cellspacing:2.2pt;mso-padding-alt:0pt 0pt 0pt 0pt'>
   <tr style='mso-yfti-irow:0;mso-yfti-firstrow:yes'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <h5><a name="_Toc184788974"></a><a name="_Toc152605254"></a><a
    name="_Toc115416304"></a><a name="_Toc139993296"></a><a name="_Toc126872373"></a><span
!   style='mso-bookmark:_Toc184788974'><span style='mso-bookmark:_Toc152605254'><span
    style='mso-bookmark:_Toc115416304'>Variable: AFS_RPC_ENCRYPT</span></span></span></h5>
    <p class=MsoBodyText>Values:&nbsp;&nbsp; &quot;OFF&quot; disables the use of
    RPC encryption any other value allows RPC encryption to be used<br>
***************
*** 5894,5902 ****
   </tr>
   <tr style='mso-yfti-irow:1;mso-yfti-lastrow:yes'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <h5><a name="_Toc170269041"></a><a name="_Toc152605255"></a><a
    name="_Toc115416305"></a><a name="_Toc139993297"></a><a name="_Toc126872374"></a><span
!   style='mso-bookmark:_Toc170269041'><span style='mso-bookmark:_Toc152605255'><span
    style='mso-bookmark:_Toc115416305'>Variable: AFS_RPC_PROTSEQ</span></span></span></h5>
    <p class=MsoBodyText>Values:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    &quot;ncalrpc&quot;&nbsp; - local RPC<br>
--- 6008,6016 ----
   </tr>
   <tr style='mso-yfti-irow:1;mso-yfti-lastrow:yes'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <h5><a name="_Toc184788975"></a><a name="_Toc152605255"></a><a
    name="_Toc115416305"></a><a name="_Toc139993297"></a><a name="_Toc126872374"></a><span
!   style='mso-bookmark:_Toc184788975'><span style='mso-bookmark:_Toc152605255'><span
    style='mso-bookmark:_Toc115416305'>Variable: AFS_RPC_PROTSEQ</span></span></span></h5>
    <p class=MsoBodyText>Values:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    &quot;ncalrpc&quot;&nbsp; - local RPC<br>
Index: openafs/src/WINNT/doc/install/Documentation/en_US/html/ReleaseNotes/toc.htm
diff -c openafs/src/WINNT/doc/install/Documentation/en_US/html/ReleaseNotes/toc.htm:1.2.6.22 openafs/src/WINNT/doc/install/Documentation/en_US/html/ReleaseNotes/toc.htm:1.2.6.24
*** openafs/src/WINNT/doc/install/Documentation/en_US/html/ReleaseNotes/toc.htm:1.2.6.22	Tue Nov  6 22:42:28 2007
--- openafs/src/WINNT/doc/install/Documentation/en_US/html/ReleaseNotes/toc.htm	Fri Dec  7 11:06:25 2007
***************
*** 10,16 ****
  <meta name=Originator content="Microsoft Word 11">
  <base target=body>
  <link rel=File-List href="toc_files/filelist.xml">
! <title>OpenAFS for Windows 1.5.27 Table of Contents</title>
  <!--[if gte mso 9]><xml>
   <o:DocumentProperties>
    <o:Author>Jeffrey Altman</o:Author>
--- 10,16 ----
  <meta name=Originator content="Microsoft Word 11">
  <base target=body>
  <link rel=File-List href="toc_files/filelist.xml">
! <title>OpenAFS for Windows 1.5.28 Table of Contents</title>
  <!--[if gte mso 9]><xml>
   <o:DocumentProperties>
    <o:Author>Jeffrey Altman</o:Author>
***************
*** 20,32 ****
    <o:Created>2006-11-30T04:12:00Z</o:Created>
    <o:LastSaved>2006-11-30T04:14:00Z</o:LastSaved>
    <o:Pages>1</o:Pages>
!   <o:Words>2897</o:Words>
!   <o:Characters>16514</o:Characters>
    <o:Company>Secure Endpoints Inc.</o:Company>
!   <o:Lines>137</o:Lines>
!   <o:Paragraphs>38</o:Paragraphs>
!   <o:CharactersWithSpaces>19373</o:CharactersWithSpaces>
!   <o:Version>11.8132</o:Version>
   </o:DocumentProperties>
  </xml><![endif]--><!--[if gte mso 9]><xml>
   <w:WordDocument>
--- 20,32 ----
    <o:Created>2006-11-30T04:12:00Z</o:Created>
    <o:LastSaved>2006-11-30T04:14:00Z</o:LastSaved>
    <o:Pages>1</o:Pages>
!   <o:Words>6761</o:Words>
!   <o:Characters>38542</o:Characters>
    <o:Company>Secure Endpoints Inc.</o:Company>
!   <o:Lines>321</o:Lines>
!   <o:Paragraphs>90</o:Paragraphs>
!   <o:CharactersWithSpaces>45213</o:CharactersWithSpaces>
!   <o:Version>11.9999</o:Version>
   </o:DocumentProperties>
  </xml><![endif]--><!--[if gte mso 9]><xml>
   <w:WordDocument>
***************
*** 228,234 ****
  	mso-bidi-language:#0400;}
  </style>
  <![endif]--><!--[if gte mso 9]><xml>
!  <o:shapedefaults v:ext="edit" spidmax="7170"/>
  </xml><![endif]--><!--[if gte mso 9]><xml>
   <o:shapelayout v:ext="edit">
    <o:idmap v:ext="edit" data="1"/>
--- 228,234 ----
  	mso-bidi-language:#0400;}
  </style>
  <![endif]--><!--[if gte mso 9]><xml>
!  <o:shapedefaults v:ext="edit" spidmax="9218"/>
  </xml><![endif]--><!--[if gte mso 9]><xml>
   <o:shapelayout v:ext="edit">
    <o:idmap v:ext="edit" data="1"/>
***************
*** 249,1461 ****
  
  <p class=MsoToc1 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268813">1. Installer Options</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc1 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268814">2. System Requirements</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268815">2.1 Supported Operating Systems</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268816">2.1.1 Unsupported Operating Systems</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268817">2.2 Disk Space</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268818">2.3 Additional Software Packages</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc1 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268819">3. Operational Notes</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268820">3.1. Requirements for Kerberos v5
  Authentication</a></span></span><span style='mso-fareast-font-family:"Times New Roman";
  mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268821">3.1.1. Active Directory</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268822">3.1.2. Using the krb524 service</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268823">3.1.3. Network Identity Manager Provider</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268824">3.2. Use of the Microsoft Loopback Adapter by
  the AFS Client Service</a></span></span><span style='mso-fareast-font-family:
  "Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268825">3.3. Using Freelance (Dynamic Root) Mode to
  Improve Mobility</a></span></span><span style='mso-fareast-font-family:"Times New Roman";
  mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268826">3.4. Locating AFS Volume Database Servers via
  DNS</a></span></span><span style='mso-fareast-font-family:"Times New Roman";
  mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268827">3.5. Obtaining AFS Tokens as a Integrated
  Part of Windows Logon</a></span></span><span style='mso-fareast-font-family:
  "Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268828">3.6. AFS System Tray Command Line Options</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268829">3.7. The “AFS Client Admins” Authorization
  Group</a></span></span><span style='mso-fareast-font-family:"Times New Roman";
  mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268830">3.8. OpenAFS support for UNC paths</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268831">3.9. aklog.exe</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268832">3.10. OpenAFS Servers on Windows are
  Unsupported</a></span></span><span style='mso-fareast-font-family:"Times New Roman";
  mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268833">3.10.1. OpenAFS Server Installation</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268834">3.10.2. Using the AFS Client Service when the
  Server is installed</a></span></span><span style='mso-fareast-font-family:"Times New Roman";
  mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268835">3.11. OpenAFS Debugging Symbol files</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268836">3.12. Large File (64-bit) Support</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268837">3.13. Encrypted AFS Network Communication</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268838">3.14. Authenticated Access to the OpenAFS
  Client Service</a></span></span><span style='mso-fareast-font-family:"Times New Roman";
  mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268839">3.15. No More INI Files</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268840">3.16. Microsoft Windows Internet Connection
  Firewall</a></span></span><span style='mso-fareast-font-family:"Times New Roman";
  mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268841">3.17. Browsing AFS from the Explorer Shell
  and Office</a></span></span><span style='mso-fareast-font-family:"Times New Roman";
  mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268842">3.18. Byte Range Locking</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268843">3.19. Automatic Discarding of AFS Tokens at
  Logoff</a></span></span><span style='mso-fareast-font-family:"Times New Roman";
  mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268844">3.20. Windows Terminal Server installations</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268845">3.21. Hidden Dot Files</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268846">3.22. Status Cache Limits</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268847">3.23. NETBIOS over TCP/IP must be enabled</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268848">3.24. OpenAFS binaries are digitally signed</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268849">3.25. Maximum Size of the AFSCache File</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268850">3.26. Filename Character Sets</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268851">3.27. Known Character Set Issues with Roaming
  Profiles</a></span></span><span style='mso-fareast-font-family:"Times New Roman";
  mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268852">3.28. The AFSCache File</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268853">3.29. Restricting OpenAFS Client Service
  Start and Stop</a></span></span><span style='mso-fareast-font-family:"Times New Roman";
  mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268854">3.30. The @sys Name List</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268855">3.31. Symlinks to AFS UNC paths</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268856">3.32. Cache Manager Debugging Now Supported</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268857">3.33. Windows Logon Caching vs. Kerberos
  Logons</a></span></span><span style='mso-fareast-font-family:"Times New Roman";
  mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268858">3.34. Initial Server Preferences</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268859">3.35. File Timestamps</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268860">3.36. Windows RPC client support must be installed</a></span></span><span
! style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268861">3.37. Generating Minidumps of the OpenAFS
  Client Service</a></span></span><span style='mso-fareast-font-family:"Times New Roman";
  mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268862">3.38. AFS Client Universally Unique
  Identifiers (UUIDs) vs. System Cloning</a></span></span><span style='mso-fareast-font-family:
  "Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268863">3.39. Delayed Write Errors with Microsoft
  Office Applications</a></span></span><span style='mso-fareast-font-family:"Times New Roman";
  mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268864">3.40. Global Drives (aka Service Drive
  Letters) are no longer supported by Microsoft</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268865">3.41. 64-bit Microsoft Windows Installations</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268866">3.42. Known Issues with Microsoft Windows
  Vista</a></span></span><span style='mso-fareast-font-family:"Times New Roman";
  mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268867">3.43. New AFS Share Name Syntax Provides Direct
! Access to Volumes</a></span></span><span style='mso-fareast-font-family:"Times New Roman";
! mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268868">3.44. Differences between Windows and UNIX
  “fs examine”</a></span></span><span style='mso-fareast-font-family:"Times New Roman";
  mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc1 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268869">4. How to Debug Problems with OpenAFS for
  Windows:</a></span></span><span style='mso-fareast-font-family:"Times New Roman";
  mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268870">4.1. pioctl debugging (IoctlDebug registry
  key)</a></span></span><span style='mso-fareast-font-family:"Times New Roman";
  mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268871">4.2. afsd_service initialization log
  (%WinDir%\TEMP\afsd_init.log)</a></span></span><span style='mso-fareast-font-family:
  "Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268872">4.3. afsd_service debug logs (fs trace {-on,
  -off, -dump} -&gt;%WinDir%\TEMP\afsd.log)</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268873">4.4. Using SysInternal’s DbgView and ProcMon
  or FileMon Tools</a></span></span><span style='mso-fareast-font-family:"Times New Roman";
  mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268874">4.5. Microsoft MiniDumps<span
  style='mso-spacerun:yes'>  </span>(fs minidump -&gt; %WinDir%\TEMP\afsd.dmp)</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268875">4.6. Single Sign-on (Integrated Logon)
  debugging</a></span></span><span style='mso-fareast-font-family:"Times New Roman";
  mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268876">4.7. RX (AFS RPC) debugging (rxdebug)</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268877">4.8. Cache Manager debugging (cmdebug)</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268878">4.9. Persistent Cache consistency check</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc1 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268879">5. Reporting Bugs:</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc1 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268880">6. How to Contribute to the Development of
  OpenAFS for Windows</a></span></span><span style='mso-fareast-font-family:"Times New Roman";
  mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268881">6.1. The USENIX OpenAFS Fund</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268882">6.2. Secure Endpoints Inc.</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268883">6.3. Direct contributions of code and/or
  documentation</a></span></span><span style='mso-fareast-font-family:"Times New Roman";
  mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268884">6.4. OpenAFS for Windows Mailing Lists</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc1 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268885">7. MSI Deployment Guide</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268886">7.1. Introduction</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268887">7.1.1 Requirements</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268888">7.1.2 Authoring a Transform</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268889">7.2. Configuration Options</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268890">7.2.1 Configurable Properties</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc4 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268891">7.2.1.1 Setting Properties</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc4 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268892">7.2.1.2 OpenAFS for Windows Properties</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268893">(Service parameters):</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268894">(Network provider):</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268895">(OpenAFS Client):</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268896">7.2.1.2.1 Registry Properties</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc6 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268897">AFSCACHEPATH</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc6 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268898">AFSCACHESIZE</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc6 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268899">AFSCELLNAME</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc6 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268900">FREELANCEMODE</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc6 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268901">HIDEDOTFILES</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc6 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268902">LOGONOPTIONS</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc6 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268903">MOUNTROOT</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc6 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268904">NETBIOSNAME</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc6 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268905">NOFINDLANABYNAME</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc6 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268906">RXMAXMTU</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc6 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268907">SECURITYLEVEL</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc6 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268908">SMBAUTHTYPE</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc6 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268909">STOREANSIFILENAMES</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc6 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268910">USEDNS</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268911">7.2.1.2.2 AFSCreds.exe Properties</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc6 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268912">CREDSSTARTUP</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc6 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268913">CREDSAUTOINIT</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc6 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268914">CREDSIPCHDET</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc6 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268915">CREDSQUIET</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc6 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268916">CREDSRENEWDRMAP</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc6 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268917">CREDSSHOW</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268918">7.2.2 Existing Registry Entries</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268919">7.2.3 Replacing Configuration Files</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc4 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268920">7.2.3.1 Components for Configuration Files</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268921">7.2.4 Adding Domain Specific Registry Keys</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268922">7.2.5 Adding Site Specific Freelance Registry
  Keys</a></span></span><span style='mso-fareast-font-family:"Times New Roman";
  mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268923">7.3 Additional Resources</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268924">7.4. Upgrades</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc1 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268925">Appendix A: Registry Values</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268926">A.1. Service parameters</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268927">Regkey:
  [HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters]</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268928">Value: LANadapter</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268929">Value: CacheSize</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268930">Value: ChunkSize</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268931">Value: Daemons</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268932">Value: ServerThreads</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268933">Value: Stats</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268934">Value: LogoffPreserveTokens</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268935">Value: RootVolume</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268936">Value: MountRoot</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268937">Value: CachePath</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268938">Value: NonPersistentCaching</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268939">Value: ValidateCache</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268940">Value: TrapOnPanic</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268941">Value: NetbiosName</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268942">Value: IsGateway</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268943">Value: ReportSessionStartups</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268944">Value: TraceBufferSize</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268945">Value: SysName</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268946">Value: SecurityLevel</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268947">Value: UseDNS</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268948">Value: FreelanceClient</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268949">Value: HideDotFiles</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268950">Value: MaxMpxRequests</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268951">Value: MaxVCPerServer</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268952">Value: Cell</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268953">Value: RxNoJumbo</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268954">Value: RxMaxMTU</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268955">Value: ConnDeadTimeout</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268956">Value: HardDeadTimeout</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268957">Value: TraceOption</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268958">Value: AllSubmount</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268959">Value: NoFindLanaByName</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268960">Value: MaxCPUs</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268961">Value: smbAuthType</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268962">Value: MaxLogSize</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268963">Value: FlushOnHibernate</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268964">Value: daemonCheckDownInterval</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268965">Value: daemonCheckUpInterval</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268966">Value: daemonCheckVolInterval</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268967">Value: daemonCheckCBInterval</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268968">Value: daemonCheckLockInterval</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268969">Value: daemonCheckTokenInterval</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268970">Value: daemonCheckOfflineVolInterval</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268971">Value: CallBackPort</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268972">Value: EnableServerLocks</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268973">Regkey:
  [HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters\GlobalAutoMapper]</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268974">Value: &lt;Drive Letter:&gt; for example
  &quot;G:&quot;</a></span></span><span style='mso-fareast-font-family:"Times New Roman";
  mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268975">Regkey: [HKLM\SOFTWARE\OpenAFS\Client]</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268976">Value: CellServDBDir</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268977">Value: VerifyServiceSignature</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268978">Value: IoctlDebug</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268979">Value: MiniDumpType</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268980">Value: StoreAnsiFilenames</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268981">Regkey:
  [HKLM\SOFTWARE\OpenAFS\Client\CSCPolicy]</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268982">Value: &quot;smb/cifs share name&quot;</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268983">Regkey:
  [HKLM\SOFTWARE\OpenAFS\Client\Freelance]</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268984">Value: &quot;numeric value&quot;</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268985">Regkey:
  [HKLM\SOFTWARE\OpenAFS\Client\Freelance\Symlinks]</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268986">Value: &quot;numeric value&quot;</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268987">Regkey:
  [HKLM\SOFTWARE\OpenAFS\Client\Submounts]</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268988">Value: &quot;submount name&quot;</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268989">Regkey: [HKLM\SOFTWARE\OpenAFS\Client\Server
  Preferences\VLDB]</a></span></span><span style='mso-fareast-font-family:"Times New Roman";
  mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268990">Value: &quot;hostname or ip address&quot;</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268991">Regkey: [HKLM\SOFTWARE\OpenAFS\Client\Server
  Preferences\File]</a></span></span><span style='mso-fareast-font-family:"Times New Roman";
  mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268992">Value: &quot;hostname or ip address&quot;</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268993">A.2. Integrated Logon Network provider
  parameters</a></span></span><span style='mso-fareast-font-family:"Times New Roman";
  mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268994">Regkey: [HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters]</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268995">Value: FailLoginsSilently</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268996">Regkey:
  [HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider]</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268997">Value: NoWarnings</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268998">Value: AuthentProviderPath</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268999">Value: Class</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170269000">Value: DependOnGroup</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170269001">Value: DependOnService</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170269002">Value: Name</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170269003">Value: ProviderPath</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170269004">A.2.1 Domain specific configuration keys for
  the Network Provider</a></span></span><span style='mso-fareast-font-family:
  "Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170269005">[HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider]</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170269006">[HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider\Domain]</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170269007">[HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider\Domain&quot;domain
  name&quot;]</a></span></span><span style='mso-fareast-font-family:"Times New Roman";
  mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170269008">[HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider\Domain\LOCALHOST]</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170269009">Example:</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170269010">A.2.1.1 Domain specific configuration values</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc4 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170269011">[HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider]
  [HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider\Domain]
  [HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider\Domain&quot;domain
! name&quot;]
! [HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider\Domain\LOCALHOST]</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170269012">Value: LogonOptions</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170269013">Value: FailLoginsSilentl</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170269014">Value: LogonScript</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170269015">Value: LoginRetryInterval</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170269016">Value: LoginSleepInterval</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170269018">Value: Realm</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170269017">Value: TheseCells</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170269018">A.2.1.2 Selection of effective values for
  domain specific configuration</a></span></span><span style='mso-fareast-font-family:
  "Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170269019">A.2.1.3 Exceptions to A.2.1.2</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc4 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170269020">2.1.3.1 'FailLoginsSilently'</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc4 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170269021">2.1.3.2 'LogonScript'</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170269022">A.3. AFS Credentials System Tray Tool
  parameters</a></span></span><span style='mso-fareast-font-family:"Times New Roman";
  mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170269023">Regkey:
  [HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters]</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170269024">Value: Gateway</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170269025">Value: Cell</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170269026">Regkey: [HKLM\SOFTWARE\OpenAFS\Client]
  [HKCU\SOFTWARE\OpenAFS\Client]</a></span></span><span style='mso-fareast-font-family:
  "Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170269027">Value: ShowTrayIcon</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170269028">Value: EnableKFW</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170269029">Value: AcceptDottedPrincipalNames</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170269029">Value: Use524</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170269030">Value: AfscredsShortcutParams</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170269031">Regkey: [HKCU\SOFTWARE\OpenAFS\Client]</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170269032">Value: Authentication Cell</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170269033">Regkey:
  [HKCU\SOFTWARE\OpenAFS\Client\Reminders]</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170269034">Value: &quot;afs cell name&quot;</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170269035">Regkey: [HKCU\SOFTWARE\OpenAFS\Client\Active
  Maps]</a></span></span><span style='mso-fareast-font-family:"Times New Roman";
  mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170269036">Value: &quot;upper case drive letter&quot;</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170269037">Regkey: [HKCU\SOFTWARE\OpenAFS\Client\Mappings]</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170269038">Value: &quot;upper case drive letter&quot;</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170269039"><span lang=FR style='mso-ansi-language:FR'>A.4
  OpenAFS Client Service Environment Variables</span></a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170269040">Variable: AFS_RPC_ENCRYPT</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170269041">Variable: AFS_RPC_PROTSEQ</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoNormal><!--[if supportFields]><span style='mso-element:field-end'></span><![endif]--><o:p>&nbsp;</o:p></p>
--- 249,1498 ----
  
  <p class=MsoToc1 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788738">1. Installer Options</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc1 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788739">2. System Requirements</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788740">2.1 Supported Operating Systems</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788741">2.1.1 Unsupported Operating Systems</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788742">2.2 Disk Space</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788743">2.3 Additional Software Packages</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc1 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788744">3. Operational Notes</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788745">3.1. Requirements for Kerberos v5
  Authentication</a></span></span><span style='mso-fareast-font-family:"Times New Roman";
  mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788746">3.1.1. Active Directory</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788747">3.1.2. Using the krb524 service</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788748">3.1.3. Network Identity Manager Provider</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788749">3.2. Use of the Microsoft Loopback Adapter by
  the AFS Client Service</a></span></span><span style='mso-fareast-font-family:
  "Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788750">3.3. Using Freelance (Dynamic Root) Mode to
  Improve Mobility</a></span></span><span style='mso-fareast-font-family:"Times New Roman";
  mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788751">3.4. Locating AFS Volume Database Servers via
  DNS</a></span></span><span style='mso-fareast-font-family:"Times New Roman";
  mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788752">3.5. Obtaining AFS Tokens as a Integrated
  Part of Windows Logon</a></span></span><span style='mso-fareast-font-family:
  "Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788753">3.6. AFS System Tray Command Line Options</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788754">3.7. The “AFS Client Admins” Authorization
  Group</a></span></span><span style='mso-fareast-font-family:"Times New Roman";
  mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788755">3.8. OpenAFS support for UNC paths</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788756">3.9. aklog.exe</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788757">3.10. OpenAFS Servers on Windows are
  Unsupported</a></span></span><span style='mso-fareast-font-family:"Times New Roman";
  mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788758">3.10.1. OpenAFS Server Installation</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788759">3.10.2. Using the AFS Client Service when the
  Server is installed</a></span></span><span style='mso-fareast-font-family:"Times New Roman";
  mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788760">3.11. OpenAFS Debugging Symbol files</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788761">3.12. Large File (64-bit) Support</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788762">3.13. Encrypted AFS Network Communication</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788763">3.14. Authenticated Access to the OpenAFS
  Client Service</a></span></span><span style='mso-fareast-font-family:"Times New Roman";
  mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788764">3.15. No More INI Files</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788765">3.16. Microsoft Windows Internet Connection
  Firewall</a></span></span><span style='mso-fareast-font-family:"Times New Roman";
  mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788766">3.17. Browsing AFS from the Explorer Shell
  and Office</a></span></span><span style='mso-fareast-font-family:"Times New Roman";
  mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788767">3.18. Byte Range Locking</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788768">3.19. Automatic Discarding of AFS Tokens at
  Logoff</a></span></span><span style='mso-fareast-font-family:"Times New Roman";
  mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788769">3.20. Windows Terminal Server installations</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788770">3.21. Hidden Dot Files</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788771">3.22. Status Cache Limits</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788772">3.23. NETBIOS over TCP/IP must be enabled</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788773">3.24. OpenAFS binaries are digitally signed</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788774">3.25. Maximum Size of the AFSCache File</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788775">3.26. Filename Character Sets</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788776">3.27. Known Character Set Issues with Roaming
  Profiles</a></span></span><span style='mso-fareast-font-family:"Times New Roman";
  mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788777">3.28. The AFSCache File</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788778">3.29. Restricting OpenAFS Client Service
  Start and Stop</a></span></span><span style='mso-fareast-font-family:"Times New Roman";
  mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788779">3.30. The @sys Name List</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788780">3.31. Symlinks to AFS UNC paths</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788781">3.32. Cache Manager Debugging</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788782">3.33. Windows Logon Caching vs. Kerberos
  Logons</a></span></span><span style='mso-fareast-font-family:"Times New Roman";
  mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788783">3.34. Initial Server Preferences</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788784">3.35. File Timestamps</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788785">3.36. Windows RPC client support must be
! installed</a></span></span><span style='mso-fareast-font-family:"Times New Roman";
! mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788786">3.37. Generating Minidumps of the OpenAFS
  Client Service</a></span></span><span style='mso-fareast-font-family:"Times New Roman";
  mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788787">3.38. AFS Client Universally Unique
  Identifiers (UUIDs) vs. System Cloning</a></span></span><span style='mso-fareast-font-family:
  "Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788788">3.39. Delayed Write Errors with Microsoft
  Office Applications</a></span></span><span style='mso-fareast-font-family:"Times New Roman";
  mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788789">3.40. Global Drives (aka Service Drive
  Letters) are no longer supported by Microsoft</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788790">3.41. 64-bit Microsoft Windows Installations</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788791">3.42. Known Issues with Microsoft Windows
  Vista</a></span></span><span style='mso-fareast-font-family:"Times New Roman";
  mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788792">3.43. New AFS Share Name Syntax Provides
! Direct Access to Volumes</a></span></span><span style='mso-fareast-font-family:
! "Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788793">3.44. Differences between Windows and UNIX
  “fs examine”</a></span></span><span style='mso-fareast-font-family:"Times New Roman";
  mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc1 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788794">4. How to Debug Problems with OpenAFS for
  Windows:</a></span></span><span style='mso-fareast-font-family:"Times New Roman";
  mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788795">4.1. pioctl debugging (IoctlDebug registry
  key)</a></span></span><span style='mso-fareast-font-family:"Times New Roman";
  mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788796">4.2. afsd_service initialization log
  (%WinDir%\TEMP\afsd_init.log)</a></span></span><span style='mso-fareast-font-family:
  "Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788797">4.3. afsd_service debug logs (fs trace {-on,
  -off, -dump} -&gt;%WinDir%\TEMP\afsd.log)</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788798">4.4. Using SysInternal’s DbgView and ProcMon
  or FileMon Tools</a></span></span><span style='mso-fareast-font-family:"Times New Roman";
  mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788799">4.5. Microsoft MiniDumps<span
  style='mso-spacerun:yes'>  </span>(fs minidump -&gt; %WinDir%\TEMP\afsd.dmp)</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788800">4.6. Single Sign-on (Integrated Logon)
  debugging</a></span></span><span style='mso-fareast-font-family:"Times New Roman";
  mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788801">4.7. RX (AFS RPC) debugging (rxdebug)</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788802">4.8. Cache Manager debugging (cmdebug)</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788803">4.9. Persistent Cache consistency check</a></span></span><span
! style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788804">4.10. Token Acquisition Debugging</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc1 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788805">5. Reporting Bugs:</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc1 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788806">6. How to Contribute to the Development of
  OpenAFS for Windows</a></span></span><span style='mso-fareast-font-family:"Times New Roman";
  mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788807">6.1. The USENIX OpenAFS Fund</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788808">6.2. Secure Endpoints Inc.</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788809">6.3. Direct contributions of code and/or
  documentation</a></span></span><span style='mso-fareast-font-family:"Times New Roman";
  mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788810">6.4. OpenAFS for Windows Mailing Lists</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc1 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788811">7. MSI Deployment Guide</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788812">7.1. Introduction</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788813">7.1.1 Requirements</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788814">7.1.2 Authoring a Transform</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788815">7.2. Configuration Options</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788816">7.2.1 Configurable Properties</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc4 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788817">7.2.1.1 Setting Properties</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc4 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788818">7.2.1.2 OpenAFS for Windows Properties</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788819">(Service parameters):</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788820">(Network provider):</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788821">(OpenAFS Client):</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788822">7.2.1.2.1 Registry Properties</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc6 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788823">AFSCACHEPATH</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc6 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788824">AFSCACHESIZE</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc6 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788825">AFSCELLNAME</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc6 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788826">FREELANCEMODE</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc6 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788827">HIDEDOTFILES</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc6 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788828">LOGONOPTIONS</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc6 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788829">MOUNTROOT</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc6 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788830">NETBIOSNAME</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc6 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788831">NOFINDLANABYNAME</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc6 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788832">RXMAXMTU</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc6 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788833">SECURITYLEVEL</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc6 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788834">SMBAUTHTYPE</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc6 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788835">STOREANSIFILENAMES</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc6 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788836">USEDNS</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788837">7.2.1.2.2 AFSCreds.exe Properties</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc6 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788838">CREDSSTARTUP</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc6 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788839">CREDSAUTOINIT</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc6 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788840">CREDSIPCHDET</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc6 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788841">CREDSQUIET</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc6 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788842">CREDSRENEWDRMAP</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc6 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788843">CREDSSHOW</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788844">7.2.2 Existing Registry Entries</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788845">7.2.3 Replacing Configuration Files</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc4 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788846">7.2.3.1 Components for Configuration Files</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788847">7.2.4 Adding Domain Specific Registry Keys</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788848">7.2.5 Adding Site Specific Freelance Registry
  Keys</a></span></span><span style='mso-fareast-font-family:"Times New Roman";
  mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788849">7.3 Additional Resources</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788850">7.4. Upgrades</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc1 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788851">Appendix A: Registry Values</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788852">A.1. Service parameters</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788853">Regkey:
  [HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters]</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788854">Value: LANadapter</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788855">Value: CacheSize</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788856">Value: ChunkSize</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788857">Value: Daemons</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788858">Value: ServerThreads</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788859">Value: Stats</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788860">Value: LogoffPreserveTokens</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788861">Value: RootVolume</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788862">Value: MountRoot</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788863">Value: CachePath</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788864">Value: NonPersistentCaching</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788865">Value: ValidateCache</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788866">Value: TrapOnPanic</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788867">Value: NetbiosName</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788868">Value: IsGateway</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788869">Value: ReportSessionStartups</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788870">Value: TraceBufferSize</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788871">Value: SysName</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788872">Value: SecurityLevel</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788873">Value: UseDNS</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788874">Value: FreelanceClient</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788875">Value: HideDotFiles</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788876">Value: MaxMpxRequests</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788877">Value: MaxVCPerServer</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788878">Value: Cell</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788879">Value: RxNoJumbo</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788880">Value: RxMaxMTU</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788881">Value: ConnDeadTimeout</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788882">Value: HardDeadTimeout</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788883">Value: TraceOption</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788884">Value: AllSubmount</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788885">Value: NoFindLanaByName</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788886">Value: MaxCPUs</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788887">Value: smbAuthType</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788888">Value: MaxLogSize</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788889">Value: FlushOnHibernate</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788890">Value: daemonCheckDownInterval</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788891">Value: daemonCheckUpInterval</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788892">Value: daemonCheckVolInterval</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788893">Value: daemonCheckCBInterval</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788894">Value: daemonCheckLockInterval</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788895">Value: daemonCheckTokenInterval</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788896">Value: daemonCheckOfflineVolInterval</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788897">Value: CallBackPort</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788898">Value: EnableServerLocks</a></span></span><span
! style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788899">Value: DeleteReadOnly</a></span></span><span
! style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788900">Value: BPlusTrees</a></span></span><span
! style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788901">Value: PrefetchExecutableExtensions</a></span></span><span
! style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788902">Value: OfflineReadOnlyIsValid</a></span></span><span
! style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788903">Value: GiveUpAllCallBacks</a></span></span><span
! style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788904">Value: FollowBackupPath</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788905">Regkey:
  [HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters\GlobalAutoMapper]</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788906">Value: &lt;Drive Letter:&gt; for example
  &quot;G:&quot;</a></span></span><span style='mso-fareast-font-family:"Times New Roman";
  mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788907">Regkey: [HKLM\SOFTWARE\OpenAFS\Client]</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788908">Value: CellServDBDir</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788909">Value: VerifyServiceSignature</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788910">Value: IoctlDebug</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788911">Value: MiniDumpType</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788912">Value: StoreAnsiFilenames</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788913">Regkey:
  [HKLM\SOFTWARE\OpenAFS\Client\CSCPolicy]</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788914">Value: &quot;smb/cifs share name&quot;</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788915">Regkey:
  [HKLM\SOFTWARE\OpenAFS\Client\Freelance]</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788916">Value: &quot;numeric value&quot;</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788917">Regkey:
  [HKLM\SOFTWARE\OpenAFS\Client\Freelance\Symlinks]</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788918">Value: &quot;numeric value&quot;</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788919">Regkey:
  [HKLM\SOFTWARE\OpenAFS\Client\Submounts]</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788920">Value: &quot;submount name&quot;</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788921">Regkey: [HKLM\SOFTWARE\OpenAFS\Client\Server
  Preferences\VLDB]</a></span></span><span style='mso-fareast-font-family:"Times New Roman";
  mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788922">Value: &quot;hostname or ip address&quot;</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788923">Regkey: [HKLM\SOFTWARE\OpenAFS\Client\Server
  Preferences\File]</a></span></span><span style='mso-fareast-font-family:"Times New Roman";
  mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788924">Value: &quot;hostname or ip address&quot;</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788925">A.2. Integrated Logon Network provider
  parameters</a></span></span><span style='mso-fareast-font-family:"Times New Roman";
  mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788926">Regkey:
! [HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters]</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788927">Value: FailLoginsSilently</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788928">Regkey:
  [HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider]</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788929">Value: NoWarnings</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788930">Value: AuthentProviderPath</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788931">Value: Class</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788932">Value: DependOnGroup</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788933">Value: DependOnService</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788934">Value: Name</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788935">Value: ProviderPath</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788936">A.2.1 Domain specific configuration keys for
  the Network Provider</a></span></span><span style='mso-fareast-font-family:
  "Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788937">[HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider]</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788938">[HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider\Domain]</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788939">[HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider\Domain&quot;domain
  name&quot;]</a></span></span><span style='mso-fareast-font-family:"Times New Roman";
  mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788940">[HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider\Domain\LOCALHOST]</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788941">Example:</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788942">A.2.1.1 Domain specific configuration values</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc4 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788943">[HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider]
  [HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider\Domain]
  [HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider\Domain&quot;domain
! name&quot;] [HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider\Domain\LOCALHOST]</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788944">Value: LogonOptions</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788945">Value: FailLoginsSilentl</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788946">Value: LogonScript</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788947">Value: LoginRetryInterval</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788948">Value: LoginSleepInterval</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788949">Value: Realm</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788950">Value: TheseCells</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788951">A.2.1.2 Selection of effective values for
  domain specific configuration</a></span></span><span style='mso-fareast-font-family:
  "Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788952">A.2.1.3 Exceptions to A.2.1.2</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc4 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788953">2.1.3.1 'FailLoginsSilently'</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc4 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788954">2.1.3.2 'LogonScript'</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788955">A.3. AFS Credentials System Tray Tool
  parameters</a></span></span><span style='mso-fareast-font-family:"Times New Roman";
  mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788956">Regkey:
  [HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters]</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788957">Value: Gateway</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788958">Value: Cell</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788959">Regkey: [HKLM\SOFTWARE\OpenAFS\Client]
  [HKCU\SOFTWARE\OpenAFS\Client]</a></span></span><span style='mso-fareast-font-family:
  "Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788960">Value: ShowTrayIcon</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788961">Value: EnableKFW</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788962">Value: AcceptDottedPrincipalNames</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788963">Value: Use524</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788964">Value: AfscredsShortcutParams</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788965">Regkey: [HKCU\SOFTWARE\OpenAFS\Client]</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788966">Value: Authentication Cell</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788967">Regkey:
  [HKCU\SOFTWARE\OpenAFS\Client\Reminders]</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788968">Value: &quot;afs cell name&quot;</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788969">Regkey: [HKCU\SOFTWARE\OpenAFS\Client\Active
  Maps]</a></span></span><span style='mso-fareast-font-family:"Times New Roman";
  mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788970">Value: &quot;upper case drive letter&quot;</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788971">Regkey:
! [HKCU\SOFTWARE\OpenAFS\Client\Mappings]</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788972">Value: &quot;upper case drive letter&quot;</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788973"><span lang=FR style='mso-ansi-language:FR'>A.4
  OpenAFS Client Service Environment Variables</span></a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788974">Variable: AFS_RPC_ENCRYPT</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc184788975">Variable: AFS_RPC_PROTSEQ</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoNormal><!--[if supportFields]><span style='mso-element:field-end'></span><![endif]--><o:p>&nbsp;</o:p></p>
Index: openafs/src/WINNT/install/wix/files.wxi
diff -c openafs/src/WINNT/install/wix/files.wxi:1.22.2.17 openafs/src/WINNT/install/wix/files.wxi:1.22.2.18
*** openafs/src/WINNT/install/wix/files.wxi:1.22.2.17	Sun Sep  9 23:34:58 2007
--- openafs/src/WINNT/install/wix/files.wxi	Fri Dec  7 16:34:12 2007
***************
*** 1,35 ****
  <?xml version="1.0"?>
  <Include>
-   <?ifndef BinsOnly?>
-     <Directory Id="$(var.PISystemFolder)" SourceName="System">
-         <Component Win64="$(var.Win64)" Id="cmf_afslogon_DLL" Guid="$(var.cmf_afslogon_DLL_guid)">
-             <File Id="fileafslogon_DLL" Name="afslogon.dll" KeyPath="yes" DiskId="1" src="$(var.ClientDir)afslogon.dll" />
-             <Registry Id="reg_afslogon01" Root="HKLM" Key="SOFTWARE\Microsoft\Windows NT\CurrentVersion\WinLogon\Notify\AfsLogon" Action="createKeyAndRemoveKeyOnUninstall" />
-             <Registry Id="reg_afslogon02" Root="HKLM" Key="SOFTWARE\Microsoft\Windows NT\CurrentVersion\WinLogon\Notify\AfsLogon" />
-             <Registry Id="reg_afslogon03" Root="HKLM" Key="SOFTWARE\Microsoft\Windows NT\CurrentVersion\WinLogon\Notify\AfsLogon" Name="Asynchronous" Type="integer" Value="0" />
-             <Registry Id="reg_afslogon04" Root="HKLM" Key="SOFTWARE\Microsoft\Windows NT\CurrentVersion\WinLogon\Notify\AfsLogon" Name="Impersonate" Type="integer" Value="1" />
-             <Registry Id="reg_afslogon05" Root="HKLM" Key="SOFTWARE\Microsoft\Windows NT\CurrentVersion\WinLogon\Notify\AfsLogon" Name="DLLName" Type="string" Value="[#fileafslogon_DLL]" />
-             <Registry Id="reg_afslogon06" Root="HKLM" Key="SOFTWARE\Microsoft\Windows NT\CurrentVersion\WinLogon\Notify\AfsLogon" Name="Logoff" Type="string" Value="AFS_Logoff_Event" />
-             <Registry Id="reg_afslogon07" Root="HKLM" Key="SOFTWARE\Microsoft\Windows NT\CurrentVersion\WinLogon\Notify\AfsLogon" Name="Logon" Type="string" Value="AFS_Logon_Event" />
-             <Registry Id="reg_afslogon08" Root="HKLM" Key="SOFTWARE\Microsoft\Windows NT\CurrentVersion\WinLogon\Notify\AfsLogon" Name="Startup" Type="string" Value="AFS_Startup_Event" />
- 	    <!-- KFW includes this functionality - OpenAFS does not need to provide it
-             <Registry Id="reg_afslogon09" Root="HKLM" Key="SOFTWARE\Microsoft\Windows NT\CurrentVersion\WinLogon\Notify\KFWLogon" Name="Asynchronous" Type="integer" Value="0" />
-             <Registry Id="reg_afslogon10" Root="HKLM" Key="SOFTWARE\Microsoft\Windows NT\CurrentVersion\WinLogon\Notify\KFWLogon" Name="Impersonate" Type="integer" Value="0" />
-             <Registry Id="reg_afslogon11" Root="HKLM" Key="SOFTWARE\Microsoft\Windows NT\CurrentVersion\WinLogon\Notify\KFWLogon" Name="DLLName" Type="string" Value="[#fileafslogon_DLL]" />
-             <Registry Id="reg_afslogon13" Root="HKLM" Key="SOFTWARE\Microsoft\Windows NT\CurrentVersion\WinLogon\Notify\KFWLogon" Name="Logon" Type="string" Value="KFW_Logon_Event" />
- 	    -->
-         </Component>
-         <Component Win64="$(var.Win64)" Id="cmf_afscpcc_EXE" Guid="$(var.cmf_afscpcc_EXE_guid)">
-             <File Id="fileafscpcc_EXE"  Name="afscpcc.exe"  LongName="afscpcc.exe"  DiskId="1" src="$(var.ClientDir)afscpcc.exe" KeyPath="yes"/>
-         </Component>
-     <?ifdef DebugSyms?>
-         <Component Win64="$(var.Win64)" Id="cmp_ClientSystemDebug" Guid="$(var.cmp_ClientSystemDebug_guid)">
- 			<File Id="fileafslogon_PDB" Name="afslogon.pdb" KeyPath="yes" DiskId="1" src="$(var.ClientDir)afslogon.pdb" />
- 			<File Id="fileafscpcc_PDB" Name="afscpcc.pdb" DiskId="1" src="$(var.ClientDir)afscpcc.pdb" />
-         </Component>
-     <?endif?>
-     </Directory>
-   <?endif?>
      <Directory Id="$(var.PIProgramFilesFolder)">
          <Directory Id="AFSDIR" Name="OpenAFS" SourceName=".">
  	    <Component Id="efl_desktop_INI" Guid="0ADB427F-3648-4BE0-983B-C454AA51895C">
--- 1,5 ----
***************
*** 922,927 ****
--- 892,923 ----
                          </ServiceInstall>
                          <RemoveFile Id="removeCache" Directory="WindowsVolume" LongName="AFSCache" Name="AFSCache" On="uninstall" />
                      </Component>
+                     <Component Win64="$(var.Win64)" Id="cmf_afslogon_DLL" Guid="$(var.cmf_afslogon_DLL_guid)">
+                             <File Id="fileafslogon_DLL" Name="afslogon.dll" KeyPath="yes" DiskId="1" src="$(var.ClientDir)afslogon.dll" />
+                             <Registry Id="reg_afslogon01" Root="HKLM" Key="SOFTWARE\Microsoft\Windows NT\CurrentVersion\WinLogon\Notify\AfsLogon" Action="createKeyAndRemoveKeyOnUninstall" />
+                             <Registry Id="reg_afslogon02" Root="HKLM" Key="SOFTWARE\Microsoft\Windows NT\CurrentVersion\WinLogon\Notify\AfsLogon" />
+                             <Registry Id="reg_afslogon03" Root="HKLM" Key="SOFTWARE\Microsoft\Windows NT\CurrentVersion\WinLogon\Notify\AfsLogon" Name="Asynchronous" Type="integer" Value="0" />
+                             <Registry Id="reg_afslogon04" Root="HKLM" Key="SOFTWARE\Microsoft\Windows NT\CurrentVersion\WinLogon\Notify\AfsLogon" Name="Impersonate" Type="integer" Value="1" />
+                             <Registry Id="reg_afslogon05" Root="HKLM" Key="SOFTWARE\Microsoft\Windows NT\CurrentVersion\WinLogon\Notify\AfsLogon" Name="DLLName" Type="string" Value="[#fileafslogon_DLL]" />
+                             <Registry Id="reg_afslogon06" Root="HKLM" Key="SOFTWARE\Microsoft\Windows NT\CurrentVersion\WinLogon\Notify\AfsLogon" Name="Logoff" Type="string" Value="AFS_Logoff_Event" />
+                             <Registry Id="reg_afslogon07" Root="HKLM" Key="SOFTWARE\Microsoft\Windows NT\CurrentVersion\WinLogon\Notify\AfsLogon" Name="Logon" Type="string" Value="AFS_Logon_Event" />
+                             <Registry Id="reg_afslogon08" Root="HKLM" Key="SOFTWARE\Microsoft\Windows NT\CurrentVersion\WinLogon\Notify\AfsLogon" Name="Startup" Type="string" Value="AFS_Startup_Event" />
+                 	    <!-- KFW includes this functionality - OpenAFS does not need to provide it
+                             <Registry Id="reg_afslogon09" Root="HKLM" Key="SOFTWARE\Microsoft\Windows NT\CurrentVersion\WinLogon\Notify\KFWLogon" Name="Asynchronous" Type="integer" Value="0" />
+                             <Registry Id="reg_afslogon10" Root="HKLM" Key="SOFTWARE\Microsoft\Windows NT\CurrentVersion\WinLogon\Notify\KFWLogon" Name="Impersonate" Type="integer" Value="0" />
+                             <Registry Id="reg_afslogon11" Root="HKLM" Key="SOFTWARE\Microsoft\Windows NT\CurrentVersion\WinLogon\Notify\KFWLogon" Name="DLLName" Type="string" Value="[#fileafslogon_DLL]" />
+                             <Registry Id="reg_afslogon13" Root="HKLM" Key="SOFTWARE\Microsoft\Windows NT\CurrentVersion\WinLogon\Notify\KFWLogon" Name="Logon" Type="string" Value="KFW_Logon_Event" />
+                 	    -->
+                         </Component>
+                         <Component Win64="$(var.Win64)" Id="cmf_afscpcc_EXE" Guid="$(var.cmf_afscpcc_EXE_guid)">
+                             <File Id="fileafscpcc_EXE"  Name="afscpcc.exe"  LongName="afscpcc.exe"  DiskId="1" src="$(var.ClientDir)afscpcc.exe" KeyPath="yes"/>
+                         </Component>
+                     <?ifdef DebugSyms?>
+                         <Component Win64="$(var.Win64)" Id="cmp_ClientSystemDebug" Guid="$(var.cmp_ClientSystemDebug_guid)">
+ 		        	<File Id="fileafslogon_PDB" Name="afslogon.pdb" KeyPath="yes" DiskId="1" src="$(var.ClientDir)afslogon.pdb" />
+         			<File Id="fileafscpcc_PDB" Name="afscpcc.pdb" DiskId="1" src="$(var.ClientDir)afscpcc.pdb" />
+                         </Component>
+                     <?endif?>
    <?endif?>
                       <Component Win64="$(var.Win64)" Id="cmf_symlink_EXE" Guid="$(var.cmf_symlink_EXE_guid)">
                          <File Id="filesymlink_EXE" Name="symlink.exe" LongName="symlink.exe" KeyPath="yes" DiskId="1" />
Index: openafs/src/WINNT/install/wix/registry.wxi
diff -c openafs/src/WINNT/install/wix/registry.wxi:1.10.2.4 openafs/src/WINNT/install/wix/registry.wxi:1.10.2.5
*** openafs/src/WINNT/install/wix/registry.wxi:1.10.2.4	Fri Aug 10 08:37:59 2007
--- openafs/src/WINNT/install/wix/registry.wxi	Fri Dec  7 16:34:12 2007
***************
*** 92,103 ****
          <Registry Root="HKLM" Key="SOFTWARE\OpenAFS\Client" Name="AfscredsShortcutParams" Type="string" Value="[CREDSAUTOINIT] [CREDSRENEWDRMAP] [CREDSIPCHDET] [CREDSQUIET] [CREDSSHOW]" Id="reg_Client54" />
          <Registry Root="HKLM" Key="SOFTWARE\OpenAFS\Client" Name="ShowTrayIcon" Type="integer" Value="1" Id="reg_Client18" />
          <Registry Root="HKLM" Key="SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider" Action="createKeyAndRemoveKeyOnUninstall" Id="reg_Client21" />
!         <Registry Root="HKLM" Key="SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider" Name="AuthentProviderPath" Type="expandable" Value="[SystemFolder]afslogon.dll" Id="reg_Client22" />
          <Registry Root="HKLM" Key="SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider" Id="reg_Client23" />
          <Registry Root="HKLM" Key="SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider" Name="LogonOptions" Type="integer" Value="[LOGONOPTIONS]" Id="reg_Client24" />
          <Registry Root="HKLM" Key="SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider" Name="VerboseLogging" Type="integer" Value="10" Id="reg_Client25" />
!         <Registry Root="HKLM" Key="SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider" Name="ProviderPath" Type="expandable" Value="[SystemFolder]afslogon.dll" Id="reg_Client26" />
!         <Registry Root="HKLM" Key="SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider" Name="LogonScript" Type="expandable" Value="[AFSDIR]Client\Program\afscreds.exe -:%s -x -a -m -n -q" Id="reg_Client27" />
          <Registry Root="HKLM" Key="SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider" Name="Class" Type="integer" Value="2" Id="reg_Client29" />
          <Registry Root="HKLM" Key="SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider" Name="Name" Type="string" Value="TransarcAFSDaemon" Id="reg_Client30" />
          <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS Client\$(var.NumericVersion)" Action="createKeyAndRemoveKeyOnUninstall" Id="reg_Client31" />
--- 92,103 ----
          <Registry Root="HKLM" Key="SOFTWARE\OpenAFS\Client" Name="AfscredsShortcutParams" Type="string" Value="[CREDSAUTOINIT] [CREDSRENEWDRMAP] [CREDSIPCHDET] [CREDSQUIET] [CREDSSHOW]" Id="reg_Client54" />
          <Registry Root="HKLM" Key="SOFTWARE\OpenAFS\Client" Name="ShowTrayIcon" Type="integer" Value="1" Id="reg_Client18" />
          <Registry Root="HKLM" Key="SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider" Action="createKeyAndRemoveKeyOnUninstall" Id="reg_Client21" />
!         <Registry Root="HKLM" Key="SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider" Name="AuthentProviderPath" Type="expandable" Value="[AFSDIR]Client\Program\afslogon.dll" Id="reg_Client22" />
          <Registry Root="HKLM" Key="SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider" Id="reg_Client23" />
          <Registry Root="HKLM" Key="SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider" Name="LogonOptions" Type="integer" Value="[LOGONOPTIONS]" Id="reg_Client24" />
          <Registry Root="HKLM" Key="SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider" Name="VerboseLogging" Type="integer" Value="10" Id="reg_Client25" />
!         <Registry Root="HKLM" Key="SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider" Name="ProviderPath" Type="expandable" Value="[AFSDIR]Client\Program\afslogon.dll" Id="reg_Client26" />
!         <Registry Root="HKLM" Key="SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider" Name="LogonScript" Type="expandable" Value="afscreds.exe -:%s -x -a -m -n -q" Id="reg_Client27" />
          <Registry Root="HKLM" Key="SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider" Name="Class" Type="integer" Value="2" Id="reg_Client29" />
          <Registry Root="HKLM" Key="SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider" Name="Name" Type="string" Value="TransarcAFSDaemon" Id="reg_Client30" />
          <Registry Root="HKLM" Key="SOFTWARE\TransarcCorporation\AFS Client\$(var.NumericVersion)" Action="createKeyAndRemoveKeyOnUninstall" Id="reg_Client31" />
Index: openafs/src/WINNT/netidmgr_plugin/afsfuncs.c
diff -c openafs/src/WINNT/netidmgr_plugin/afsfuncs.c:1.1.2.12 openafs/src/WINNT/netidmgr_plugin/afsfuncs.c:1.1.2.13
*** openafs/src/WINNT/netidmgr_plugin/afsfuncs.c:1.1.2.12	Wed Aug 29 01:32:34 2007
--- openafs/src/WINNT/netidmgr_plugin/afsfuncs.c	Tue Nov 27 12:31:39 2007
***************
*** 1,5 ****
  /*
!  * Copyright (c) 2005,2006 Secure Endpoints Inc.
   *
   * Permission is hereby granted, free of charge, to any person
   * obtaining a copy of this software and associated documentation
--- 1,5 ----
  /*
!  * Copyright (c) 2005,2006,2007 Secure Endpoints Inc.
   *
   * Permission is hereby granted, free of charge, to any person
   * obtaining a copy of this software and associated documentation
***************
*** 22,28 ****
   * SOFTWARE.
   */
  
! /* $Id: afsfuncs.c,v 1.1.2.12 2007/08/29 05:32:34 jaltman Exp $ */
  
  /* Disable the 'macro redefinition' warning which is getting
     triggerred by a redefinition of the ENCRYPT and DECRYPT macros. */
--- 22,28 ----
   * SOFTWARE.
   */
  
! /* $Id: afsfuncs.c,v 1.1.2.13 2007/11/27 17:31:39 jaltman Exp $ */
  
  /* Disable the 'macro redefinition' warning which is getting
     triggerred by a redefinition of the ENCRYPT and DECRYPT macros. */
***************
*** 900,905 ****
--- 900,906 ----
  
          if (r) {
              _reportf(L"Code %d while getting credentials", r);
+             k5creds = NULL;
              goto end_krb5;
          }
  
Index: openafs/src/afs/afs.h
diff -c openafs/src/afs/afs.h:1.85.2.6 openafs/src/afs/afs.h:1.85.2.7
*** openafs/src/afs/afs.h:1.85.2.6	Wed Oct 10 13:01:42 2007
--- openafs/src/afs/afs.h	Mon Nov 26 16:08:38 2007
***************
*** 923,928 ****
--- 923,931 ----
  #endif
  #endif
  
+ 
+ #ifdef KERNEL
+ /* it does not compile outside kernel */
  struct buffer {
    afs_int32 fid;              /* is adc->index, the cache file number */
    afs_inode_t inode;          /* is adc->f.inode, the inode number of the cac\
***************
*** 950,955 ****
--- 953,959 ----
      afs_int32 chunkBytes;	/* Num bytes in this chunk */
      char states;		/* Has this chunk been modified? */
  };
+ #endif
  
  /* magic numbers to specify the cache type */
  
Index: openafs/src/afs/afs_callback.c
diff -c openafs/src/afs/afs_callback.c:1.39.2.2 openafs/src/afs/afs_callback.c:1.39.2.3
*** openafs/src/afs/afs_callback.c:1.39.2.2	Fri Feb  2 22:28:03 2007
--- openafs/src/afs/afs_callback.c	Fri Nov 23 09:32:56 2007
***************
*** 17,23 ****
  #include "afs/param.h"
  
  RCSID
!     ("$Header: /cvs/openafs/src/afs/afs_callback.c,v 1.39.2.2 2007/02/03 03:28:03 shadow Exp $");
  
  #include "afs/sysincludes.h"	/*Standard vendor system headers */
  #include "afsincludes.h"	/*AFS-based standard headers */
--- 17,23 ----
  #include "afs/param.h"
  
  RCSID
!     ("$Header: /cvs/openafs/src/afs/afs_callback.c,v 1.39.2.3 2007/11/23 14:32:56 shadow Exp $");
  
  #include "afs/sysincludes.h"	/*Standard vendor system headers */
  #include "afsincludes.h"	/*AFS-based standard headers */
***************
*** 61,67 ****
      {
        "afs_xsrvAddr", (char *)&afs_xsrvAddr},
      {
!     "afs_xvreclaim", (char *)&afs_xvreclaim}
  };
  unsigned long lastCallBack_vnode;
  unsigned int lastCallBack_dv;
--- 61,71 ----
      {
        "afs_xsrvAddr", (char *)&afs_xsrvAddr},
      {
!       "afs_xvreclaim", (char *)&afs_xvreclaim},
! #ifdef AFS_AFSDB_ENV
!     { "afsdb_client_lock", (char *)&afsdb_client_lock},
!     { "afsdb_req_lock", (char *)&afsdb_req_lock},
! #endif
  };
  unsigned long lastCallBack_vnode;
  unsigned int lastCallBack_dv;
***************
*** 307,317 ****
  
      AFS_STATCNT(SRXAFSCB_GetLock);
      nentries = sizeof(ltable) / sizeof(struct ltable);
!     if (a_index < 0 || a_index >= nentries) {
  	/*
  	 * Past EOF
  	 */
  	code = 1;
      } else {
  	/*
  	 * Found it - copy out its contents.
--- 311,345 ----
  
      AFS_STATCNT(SRXAFSCB_GetLock);
      nentries = sizeof(ltable) / sizeof(struct ltable);
!     if (a_index < 0 || a_index >= nentries+afs_cellindex) {
  	/*
  	 * Past EOF
  	 */
  	code = 1;
+     } else if (a_index >= nentries) {
+ 	struct cell *tc = afs_GetCellByIndex(a_index-nentries, 0);
+ 	strcpy(a_result->name, tc->cellName);
+ 	a_result->lock.waitStates =
+ 	    ((struct afs_lock *)&(tc->lock))->wait_states;
+ 	a_result->lock.exclLocked =
+ 	    ((struct afs_lock *)&(tc->lock))->excl_locked;
+ 	a_result->lock.readersReading =
+ 	    ((struct afs_lock *)&(tc->lock))->readers_reading;
+ 	a_result->lock.numWaiting =
+ 	    ((struct afs_lock *)&(tc->lock))->num_waiting;
+ #ifdef INSTRUMENT_LOCKS
+ 	a_result->lock.pid_last_reader =
+ 	    MyPidxx2Pid(((struct afs_lock *)&(tc->lock))->pid_last_reader);
+ 	a_result->lock.pid_writer =
+ 	    MyPidxx2Pid(((struct afs_lock *)&(tc->lock))->pid_writer);
+ 	a_result->lock.src_indicator =
+ 	    ((struct afs_lock *)&(tc->lock))->src_indicator;
+ #else
+ 	a_result->lock.pid_last_reader = 0;
+ 	a_result->lock.pid_writer = 0;
+ 	a_result->lock.src_indicator = 0;
+ #endif
+ 	code = 0;
      } else {
  	/*
  	 * Found it - copy out its contents.
Index: openafs/src/afs/afs_cell.c
diff -c openafs/src/afs/afs_cell.c:1.34.4.4 openafs/src/afs/afs_cell.c:1.34.4.6
*** openafs/src/afs/afs_cell.c:1.34.4.4	Mon Mar 19 21:13:34 2007
--- openafs/src/afs/afs_cell.c	Tue Dec  4 15:31:07 2007
***************
*** 14,20 ****
  #include "afs/param.h"
  
  RCSID
!     ("$Header: /cvs/openafs/src/afs/afs_cell.c,v 1.34.4.4 2007/03/20 01:13:34 shadow Exp $");
  
  #include "afs/stds.h"
  #include "afs/sysincludes.h"	/* Standard vendor system headers */
--- 14,20 ----
  #include "afs/param.h"
  
  RCSID
!     ("$Header: /cvs/openafs/src/afs/afs_cell.c,v 1.34.4.6 2007/12/04 20:31:07 shadow Exp $");
  
  #include "afs/stds.h"
  #include "afs/sysincludes.h"	/* Standard vendor system headers */
***************
*** 36,53 ****
   */
  
  #ifdef AFS_AFSDB_ENV
! static afs_rwlock_t afsdb_client_lock;	/* Serializes client requests */
  static char afsdb_handler_running;	/* Protected by GLOCK */
  static char afsdb_handler_shutdown;	/* Protected by GLOCK */
  
  static struct {
!     afs_rwlock_t lock;
      char pending;
      char complete;
      char *cellname;
-     afs_int32 *cellhosts;
-     int *timeout;
-     char **realname;
  } afsdb_req;
  
  void
--- 36,53 ----
   */
  
  #ifdef AFS_AFSDB_ENV
! afs_rwlock_t afsdb_client_lock;	/* Serializes client requests */
! afs_rwlock_t afsdb_req_lock;	/* Serializes client requests */
  static char afsdb_handler_running;	/* Protected by GLOCK */
  static char afsdb_handler_shutdown;	/* Protected by GLOCK */
  
+ /* from cellconfig.h */
+ #define MAXCELLCHARS    64
  static struct {
!     /* lock moved to afsdb_req_lock for cmdebug */
      char pending;
      char complete;
      char *cellname;
  } afsdb_req;
  
  void
***************
*** 64,109 ****
  int
  afs_AFSDBHandler(char *acellName, int acellNameLen, afs_int32 * kernelMsg)
  {
      if (afsdb_handler_shutdown)
  	return -2;
      afsdb_handler_running = 1;
  
!     ObtainSharedLock(&afsdb_req.lock, 683);
      if (afsdb_req.pending) {
  	int i, hostCount;
  
! 	UpgradeSToWLock(&afsdb_req.lock, 684);
  	hostCount = kernelMsg[0];
! 	*afsdb_req.timeout = kernelMsg[1];
! 	if (*afsdb_req.timeout)
! 	    *afsdb_req.timeout += osi_Time();
! 	*afsdb_req.realname = afs_strdup(acellName);
  
  	for (i = 0; i < MAXCELLHOSTS; i++) {
  	    if (i >= hostCount)
! 		afsdb_req.cellhosts[i] = 0;
  	    else
! 		afsdb_req.cellhosts[i] = kernelMsg[2 + i];
  	}
  
  	/* Request completed, wake up the relevant thread */
  	afsdb_req.pending = 0;
  	afsdb_req.complete = 1;
  	afs_osi_Wakeup(&afsdb_req);
! 	ConvertWToSLock(&afsdb_req.lock);
      }
!     ConvertSToRLock(&afsdb_req.lock);
  
      /* Wait for a request */
      while (afsdb_req.pending == 0 && afs_termState != AFSOP_STOP_AFSDB) {
! 	ReleaseReadLock(&afsdb_req.lock);
  	afs_osi_Sleep(&afsdb_req);
! 	ObtainReadLock(&afsdb_req.lock);
      }
  
      /* Check if we're shutting down */
      if (afs_termState == AFSOP_STOP_AFSDB) {
! 	ReleaseReadLock(&afsdb_req.lock);
  
  	/* Inform anyone waiting for us that we're going away */
  	afsdb_handler_shutdown = 1;
--- 64,123 ----
  int
  afs_AFSDBHandler(char *acellName, int acellNameLen, afs_int32 * kernelMsg)
  {
+     afs_int32 timeout, code;
+     afs_int32 cellHosts[MAXCELLHOSTS];
+ 
      if (afsdb_handler_shutdown)
  	return -2;
      afsdb_handler_running = 1;
  
!     ObtainSharedLock(&afsdb_req_lock, 683);
      if (afsdb_req.pending) {
  	int i, hostCount;
  
! 	UpgradeSToWLock(&afsdb_req_lock, 684);
  	hostCount = kernelMsg[0];
! 	timeout = kernelMsg[1];
! 	if (timeout)
! 	    timeout += osi_Time();
  
  	for (i = 0; i < MAXCELLHOSTS; i++) {
  	    if (i >= hostCount)
! 		cellHosts[i] = 0;
  	    else
! 		cellHosts[i] = kernelMsg[2 + i];
  	}
  
+ 	if (hostCount)
+ 	    code = afs_NewCell(acellName, cellHosts, CNoSUID, NULL, 0, 0, 
+ 			       timeout);
+ 
+ 	if (!hostCount || (code && code != EEXIST)) 
+ 	    /* null out the cellname if the lookup failed */
+ 	    afsdb_req.cellname = NULL;
+ 	else
+ 	    /* If we found an alias, create it */
+ 	    if (afs_strcasecmp(afsdb_req.cellname, acellName))
+ 		afs_NewCellAlias(afsdb_req.cellname, acellName);
+ 
  	/* Request completed, wake up the relevant thread */
  	afsdb_req.pending = 0;
  	afsdb_req.complete = 1;
  	afs_osi_Wakeup(&afsdb_req);
! 	ConvertWToSLock(&afsdb_req_lock);
      }
!     ConvertSToRLock(&afsdb_req_lock);
  
      /* Wait for a request */
      while (afsdb_req.pending == 0 && afs_termState != AFSOP_STOP_AFSDB) {
! 	ReleaseReadLock(&afsdb_req_lock);
  	afs_osi_Sleep(&afsdb_req);
! 	ObtainReadLock(&afsdb_req_lock);
      }
  
      /* Check if we're shutting down */
      if (afs_termState == AFSOP_STOP_AFSDB) {
! 	ReleaseReadLock(&afsdb_req_lock);
  
  	/* Inform anyone waiting for us that we're going away */
  	afsdb_handler_shutdown = 1;
***************
*** 117,159 ****
  
      /* Return the lookup request to userspace */
      strncpy(acellName, afsdb_req.cellname, acellNameLen);
!     ReleaseReadLock(&afsdb_req.lock);
      return 0;
  }
  
  static int
! afs_GetCellHostsAFSDB(char *acellName, afs_int32 * acellHosts, int *timeout,
! 		      char **realName)
  {
      AFS_ASSERT_GLOCK();
      if (!afsdb_handler_running)
  	return ENOENT;
  
      ObtainWriteLock(&afsdb_client_lock, 685);
!     ObtainWriteLock(&afsdb_req.lock, 686);
  
!     *acellHosts = 0;
!     afsdb_req.cellname = afs_strdup(acellName);
!     afsdb_req.cellhosts = acellHosts;
!     afsdb_req.timeout = timeout;
!     afsdb_req.realname = realName;
  
      afsdb_req.complete = 0;
      afsdb_req.pending = 1;
      afs_osi_Wakeup(&afsdb_req);
!     ConvertWToRLock(&afsdb_req.lock);
  
      while (afsdb_handler_running && !afsdb_req.complete) {
! 	ReleaseReadLock(&afsdb_req.lock);
  	afs_osi_Sleep(&afsdb_req);
! 	ObtainReadLock(&afsdb_req.lock);
      };
  
      afs_osi_FreeStr(afsdb_req.cellname);
!     ReleaseReadLock(&afsdb_req.lock);
      ReleaseWriteLock(&afsdb_client_lock);
  
!     if (*acellHosts)
  	return 0;
      else
  	return ENOENT;
--- 131,168 ----
  
      /* Return the lookup request to userspace */
      strncpy(acellName, afsdb_req.cellname, acellNameLen);
!     ReleaseReadLock(&afsdb_req_lock);
      return 0;
  }
  
  static int
! afs_GetCellHostsAFSDB(char *acellName)
  {
      AFS_ASSERT_GLOCK();
      if (!afsdb_handler_running)
  	return ENOENT;
  
      ObtainWriteLock(&afsdb_client_lock, 685);
!     ObtainWriteLock(&afsdb_req_lock, 686);
  
!     afsdb_req.cellname = acellName;
  
      afsdb_req.complete = 0;
      afsdb_req.pending = 1;
      afs_osi_Wakeup(&afsdb_req);
!     ConvertWToRLock(&afsdb_req_lock);
  
      while (afsdb_handler_running && !afsdb_req.complete) {
! 	ReleaseReadLock(&afsdb_req_lock);
  	afs_osi_Sleep(&afsdb_req);
! 	ObtainReadLock(&afsdb_req_lock);
      };
  
      afs_osi_FreeStr(afsdb_req.cellname);
!     ReleaseReadLock(&afsdb_req_lock);
      ReleaseWriteLock(&afsdb_client_lock);
  
!     if (afsdb_req.cellname) 
  	return 0;
      else
  	return ENOENT;
***************
*** 164,204 ****
  afs_LookupAFSDB(char *acellName)
  {
  #ifdef AFS_AFSDB_ENV
-     afs_int32 *cellHosts;
-     char **realName=NULL;
      int code;
!     int *timeout=NULL;
! 
!     if(!(cellHosts = afs_osi_Alloc(MAXCELLHOSTS * sizeof(afs_int32))))
! 	goto done;
  
!     if(!(realName = afs_osi_Alloc(sizeof(char *))))
! 	goto done;
!     *realName = NULL;
! 
!     if(!(timeout = afs_osi_Alloc(sizeof(int))))
! 	goto done;
! 
!     code = afs_GetCellHostsAFSDB(acellName, cellHosts, timeout, realName);
!     if (code)
! 	goto done;
!     code = afs_NewCell(*realName, cellHosts, CNoSUID, NULL, 0, 0, *timeout);
!     if (code && code != EEXIST)
! 	goto done;
! 
!     /* If we found an alias, create it */
!     if (afs_strcasecmp(acellName, *realName))
! 	afs_NewCellAlias(acellName, *realName);
! 
!   done:
!     if(timeout)
! 	afs_osi_Free(timeout, sizeof(int));
!     if (realName && *realName)
! 	afs_osi_FreeStr(*realName);
!     if(realName)
! 	afs_osi_Free(realName, sizeof(char *));
!     if(cellHosts)
! 	afs_osi_Free(cellHosts, MAXCELLHOSTS * sizeof(afs_int32));
  #endif
  }
  
--- 173,185 ----
  afs_LookupAFSDB(char *acellName)
  {
  #ifdef AFS_AFSDB_ENV
      int code;
!     char *cellName = afs_strdup(acellName);
  
!     code = afs_GetCellHostsAFSDB(cellName);
!     afs_Trace2(afs_iclSetp, CM_TRACE_AFSDB, ICL_TYPE_STRING, cellName, 
!                ICL_TYPE_INT32, code);
!     afs_osi_FreeStr(cellName);
  #endif
  }
  
***************
*** 862,868 ****
      RWLOCK_INIT(&afs_xcell, "afs_xcell");
  #ifdef AFS_AFSDB_ENV
      RWLOCK_INIT(&afsdb_client_lock, "afsdb_client_lock");
!     RWLOCK_INIT(&afsdb_req.lock, "afsdb_req.lock");
  #endif
      QInit(&CellLRU);
  
--- 843,849 ----
      RWLOCK_INIT(&afs_xcell, "afs_xcell");
  #ifdef AFS_AFSDB_ENV
      RWLOCK_INIT(&afsdb_client_lock, "afsdb_client_lock");
!     RWLOCK_INIT(&afsdb_req_lock, "afsdb_req_lock");
  #endif
      QInit(&CellLRU);
  
Index: openafs/src/afs/afs_daemons.c
diff -c openafs/src/afs/afs_daemons.c:1.43.2.1 openafs/src/afs/afs_daemons.c:1.43.2.2
*** openafs/src/afs/afs_daemons.c:1.43.2.1	Mon Oct 22 20:02:50 2007
--- openafs/src/afs/afs_daemons.c	Thu Nov  8 09:40:12 2007
***************
*** 11,17 ****
  #include "afs/param.h"
  
  RCSID
!     ("$Header: /cvs/openafs/src/afs/afs_daemons.c,v 1.43.2.1 2007/10/23 00:02:50 shadow Exp $");
  
  #ifdef AFS_AIX51_ENV
  #define __FULL_PROTO
--- 11,17 ----
  #include "afs/param.h"
  
  RCSID
!     ("$Header: /cvs/openafs/src/afs/afs_daemons.c,v 1.43.2.2 2007/11/08 14:40:12 shadow Exp $");
  
  #ifdef AFS_AIX51_ENV
  #define __FULL_PROTO
***************
*** 123,134 ****
      }
      afs_CheckServerDaemonStarted = 0;
  }
! #define RECURSIVE_VFS_CONTEXT 1
! #if RECURSIVE_VFS_CONTEXT
  extern int vfs_context_ref;
! #else
! #define vfs_context_ref 1
! #endif
  void
  afs_Daemon(void)
  {
--- 123,131 ----
      }
      afs_CheckServerDaemonStarted = 0;
  }
! 
  extern int vfs_context_ref;
! 
  void
  afs_Daemon(void)
  {
***************
*** 153,162 ****
          osi_Panic("vfs context already initialized");
      while (afs_osi_ctxtp && vfs_context_ref)
          afs_osi_Sleep(&afs_osi_ctxtp);
- #if RECURSIVE_VFS_CONTEXT
      if (afs_osi_ctxtp && !vfs_context_ref)
         vfs_context_rele(afs_osi_ctxtp);
- #endif
      afs_osi_ctxtp = vfs_context_create(NULL);
      afs_osi_ctxtp_initialized = 1;
  #endif
--- 150,157 ----
Index: openafs/src/afs/afs_dcache.c
diff -c openafs/src/afs/afs_dcache.c:1.64.4.6 openafs/src/afs/afs_dcache.c:1.64.4.7
*** openafs/src/afs/afs_dcache.c:1.64.4.6	Tue Aug 21 17:28:44 2007
--- openafs/src/afs/afs_dcache.c	Sat Dec  8 12:59:06 2007
***************
*** 14,20 ****
  #include "afs/param.h"
  
  RCSID
!     ("$Header: /cvs/openafs/src/afs/afs_dcache.c,v 1.64.4.6 2007/08/21 21:28:44 shadow Exp $");
  
  #include "afs/sysincludes.h"	/*Standard vendor system headers */
  #include "afsincludes.h"	/*AFS-based standard headers */
--- 14,20 ----
  #include "afs/param.h"
  
  RCSID
!     ("$Header: /cvs/openafs/src/afs/afs_dcache.c,v 1.64.4.7 2007/12/08 17:59:06 shadow Exp $");
  
  #include "afs/sysincludes.h"	/*Standard vendor system headers */
  #include "afsincludes.h"	/*AFS-based standard headers */
***************
*** 3073,3078 ****
--- 3073,3079 ----
      if (cacheDiskType == AFS_FCACHE_TYPE_MEM)
  	return 0;
      AFS_STATCNT(afs_WriteDCache);
+     osi_Assert(WriteLocked(&afs_xdcache));
      if (atime)
  	adc->f.modTime = osi_Time();
      /*
Index: openafs/src/afs/afs_osi_alloc.c
diff -c openafs/src/afs/afs_osi_alloc.c:1.11.6.3 openafs/src/afs/afs_osi_alloc.c:1.11.6.4
*** openafs/src/afs/afs_osi_alloc.c:1.11.6.3	Mon Jul 31 17:27:38 2006
--- openafs/src/afs/afs_osi_alloc.c	Fri Nov 30 14:17:01 2007
***************
*** 11,17 ****
  #include "afs/param.h"
  
  RCSID
!     ("$Header: /cvs/openafs/src/afs/afs_osi_alloc.c,v 1.11.6.3 2006/07/31 21:27:38 shadow Exp $");
  
  
  
--- 11,17 ----
  #include "afs/param.h"
  
  RCSID
!     ("$Header: /cvs/openafs/src/afs/afs_osi_alloc.c,v 1.11.6.4 2007/11/30 19:17:01 shadow Exp $");
  
  
  
***************
*** 207,213 ****
      if (!freeSmallList) {
  	afs_stats_cmperf.SmallBlocksAlloced++;
  	afs_stats_cmperf.SmallBlocksActive++;
! 	return afs_osi_Alloc(AFS_SMALLOCSIZ);
      }
      afs_stats_cmperf.SmallBlocksActive++;
      MObtainWriteLock(&osi_fsplock, 327);
--- 207,217 ----
      if (!freeSmallList) {
  	afs_stats_cmperf.SmallBlocksAlloced++;
  	afs_stats_cmperf.SmallBlocksActive++;
! 	tp = afs_osi_Alloc(AFS_SMALLOCSIZ);
! #ifdef KERNEL_HAVE_PIN
!         pin((char *)tp, AFS_SMALLOCSIZ);
! #endif
!         return (char *)tp;
      }
      afs_stats_cmperf.SmallBlocksActive++;
      MObtainWriteLock(&osi_fsplock, 327);
Index: openafs/src/afs/afs_osi_pag.c
diff -c openafs/src/afs/afs_osi_pag.c:1.29.4.10 openafs/src/afs/afs_osi_pag.c:1.29.4.11
*** openafs/src/afs/afs_osi_pag.c:1.29.4.10	Wed Aug 22 15:39:03 2007
--- openafs/src/afs/afs_osi_pag.c	Thu Nov  8 09:23:27 2007
***************
*** 23,29 ****
  #include "afs/param.h"
  
  RCSID
!     ("$Header: /cvs/openafs/src/afs/afs_osi_pag.c,v 1.29.4.10 2007/08/22 19:39:03 shadow Exp $");
  
  #include "afs/sysincludes.h"	/* Standard vendor system headers */
  #include "afsincludes.h"	/* Afs-based standard headers */
--- 23,29 ----
  #include "afs/param.h"
  
  RCSID
!     ("$Header: /cvs/openafs/src/afs/afs_osi_pag.c,v 1.29.4.11 2007/11/08 14:23:27 shadow Exp $");
  
  #include "afs/sysincludes.h"	/* Standard vendor system headers */
  #include "afsincludes.h"	/* Afs-based standard headers */
***************
*** 554,564 ****
      g0 = cred->cr_groups[1];
      g1 = cred->cr_groups[2];
  #else
! #if defined(AFS_AIX51_ENV)
!     if (kcred_getpag(cred, PAG_AFS, &pag) < 0 || pag == 0)
! 	pag = NOPAG;
!     return pag;
! #elif defined(AFS_AIX_ENV)
      if (cred->cr_ngrps < 2) {
  	return NOPAG;
      }
--- 554,560 ----
      g0 = cred->cr_groups[1];
      g1 = cred->cr_groups[2];
  #else
! #if defined(AFS_AIX_ENV)
      if (cred->cr_ngrps < 2) {
  	return NOPAG;
      }
Index: openafs/src/afs/afs_pioctl.c
diff -c openafs/src/afs/afs_pioctl.c:1.110.2.10 openafs/src/afs/afs_pioctl.c:1.110.2.11
*** openafs/src/afs/afs_pioctl.c:1.110.2.10	Wed Aug 22 15:39:03 2007
--- openafs/src/afs/afs_pioctl.c	Mon Nov 26 16:08:38 2007
***************
*** 11,17 ****
  #include "afs/param.h"
  
  RCSID
!     ("$Header: /cvs/openafs/src/afs/afs_pioctl.c,v 1.110.2.10 2007/08/22 19:39:03 shadow Exp $");
  
  #include "afs/sysincludes.h"	/* Standard vendor system headers */
  #ifdef AFS_OBSD_ENV
--- 11,17 ----
  #include "afs/param.h"
  
  RCSID
!     ("$Header: /cvs/openafs/src/afs/afs_pioctl.c,v 1.110.2.11 2007/11/26 21:08:38 shadow Exp $");
  
  #include "afs/sysincludes.h"	/* Standard vendor system headers */
  #ifdef AFS_OBSD_ENV
***************
*** 2721,2727 ****
  DECL_PIOCTL(PSetSysName)
  {
      char *cp, *cp2 = NULL, inname[MAXSYSNAME], outname[MAXSYSNAME];
!     int setsysname, foundname = 0;
      register struct afs_exporter *exporter;
      register struct unixuser *au;
      register afs_int32 pag, error;
--- 2721,2728 ----
  DECL_PIOCTL(PSetSysName)
  {
      char *cp, *cp2 = NULL, inname[MAXSYSNAME], outname[MAXSYSNAME];
!     afs_int32 setsysname;
!     int foundname = 0;
      register struct afs_exporter *exporter;
      register struct unixuser *au;
      register afs_int32 pag, error;
***************
*** 2738,2744 ****
  #endif
      }
      memset(inname, 0, MAXSYSNAME);
!     memcpy((char *)&setsysname, ain, sizeof(afs_int32));
      ain += sizeof(afs_int32);
      if (setsysname & 0x8000) {
  	allpags = 1;
--- 2739,2745 ----
  #endif
      }
      memset(inname, 0, MAXSYSNAME);
!     memcpy(&setsysname, ain, sizeof(afs_int32));
      ain += sizeof(afs_int32);
      if (setsysname & 0x8000) {
  	allpags = 1;
Index: openafs/src/afs/afs_prototypes.h
diff -c openafs/src/afs/afs_prototypes.h:1.74.2.9 openafs/src/afs/afs_prototypes.h:1.74.2.10
*** openafs/src/afs/afs_prototypes.h:1.74.2.9	Wed Oct 24 11:45:03 2007
--- openafs/src/afs/afs_prototypes.h	Fri Nov 23 09:32:56 2007
***************
*** 119,125 ****
--- 119,130 ----
  extern void afs_DequeueCallback(struct vcache *avc);
  
  /* afs_cell.c */
+ extern afs_int32 afs_cellindex;
  extern afs_rwlock_t afs_xcell;
+ #ifdef AFS_AFSDB_ENV
+ extern afs_rwlock_t afsdb_client_lock;
+ extern afs_rwlock_t afsdb_req_lock;
+ #endif
  extern struct afs_q CellLRU;           
  
  extern void afs_CellInit(void);
Index: openafs/src/afs/afs_segments.c
diff -c openafs/src/afs/afs_segments.c:1.22 openafs/src/afs/afs_segments.c:1.22.8.1
*** openafs/src/afs/afs_segments.c:1.22	Sat Feb 12 14:47:03 2005
--- openafs/src/afs/afs_segments.c	Tue Dec  4 16:09:49 2007
***************
*** 14,20 ****
  #include "afs/param.h"
  
  RCSID
!     ("$Header: /cvs/openafs/src/afs/afs_segments.c,v 1.22 2005/02/12 19:47:03 shadow Exp $");
  
  #include "afs/sysincludes.h"	/*Standard vendor system headers */
  #include "afsincludes.h"	/*AFS-based standard headers */
--- 14,20 ----
  #include "afs/param.h"
  
  RCSID
!     ("$Header: /cvs/openafs/src/afs/afs_segments.c,v 1.22.8.1 2007/12/04 21:09:49 shadow Exp $");
  
  #include "afs/sysincludes.h"	/*Standard vendor system headers */
  #include "afsincludes.h"	/*AFS-based standard headers */
***************
*** 92,97 ****
--- 92,101 ----
  		afs_int32 l1, l2;
  		l1 = avc->m.Length;
  		l2 = tlen;
+ 		if ((avc->m.Length > 0x7fffffff) ||
+ 		    (tlen > 0x7fffffff) ||
+ 		    ((0x7fffffff - tlen) < avc->m.Length))
+ 		    return EFBIG;
  		code =
  		    StartRXAFS_StoreData(tcall,
  					 (struct AFSFid *)&avc->fid.Fid,
Index: openafs/src/afs/afs_server.c
diff -c openafs/src/afs/afs_server.c:1.43.4.3 openafs/src/afs/afs_server.c:1.43.4.4
*** openafs/src/afs/afs_server.c:1.43.4.3	Thu Oct  4 22:24:35 2007
--- openafs/src/afs/afs_server.c	Mon Nov 26 16:08:38 2007
***************
*** 33,39 ****
  #include "afs/param.h"
  
  RCSID
!     ("$Header: /cvs/openafs/src/afs/afs_server.c,v 1.43.4.3 2007/10/05 02:24:35 shadow Exp $");
  
  #include "afs/stds.h"
  #include "afs/sysincludes.h"	/* Standard vendor system headers */
--- 33,39 ----
  #include "afs/param.h"
  
  RCSID
!     ("$Header: /cvs/openafs/src/afs/afs_server.c,v 1.43.4.4 2007/11/26 21:08:38 shadow Exp $");
  
  #include "afs/stds.h"
  #include "afs/sysincludes.h"	/* Standard vendor system headers */
***************
*** 1129,1134 ****
--- 1129,1135 ----
  	    sa->sa_iprank = afs_min(sa->sa_iprank, MED);
  	}
      }
+     return 0;
  }
  #else /* AFS_USERSPACE_IP_ADDR */
  #if (! defined(AFS_SUN5_ENV)) && !defined(AFS_DARWIN60_ENV) && defined(USEIFADDR)
Index: openafs/src/afs/afs_trace.et
diff -c openafs/src/afs/afs_trace.et:1.18 openafs/src/afs/afs_trace.et:1.18.4.1
*** openafs/src/afs/afs_trace.et:1.18	Mon May 30 00:36:25 2005
--- openafs/src/afs/afs_trace.et	Fri Nov 23 09:32:56 2007
***************
*** 172,176 ****
--- 172,177 ----
  	ec	CM_TRACE_LOCKWAIT,"%s line %d: Waiting for lock 0x%lx level %d"
  	ec	CM_TRACE_WRITEFAILED, "osi_Write failed len %ld resid %ld err %ld"
  	ec	CM_TRACE_ADJUSTSIZE2, "AdjustSize dc = 0x%lx, chunkBytes = 0x%x used = %ld, diff = %ld"
+ 	ec 	CM_TRACE_AFSDB, "AFSDB lookup %s returned %d"
  end
  
Index: openafs/src/afs/lock.h
diff -c openafs/src/afs/lock.h:1.17.4.5 openafs/src/afs/lock.h:1.17.4.6
*** openafs/src/afs/lock.h:1.17.4.5	Fri Feb  2 22:28:03 2007
--- openafs/src/afs/lock.h	Fri Nov  9 14:20:29 2007
***************
*** 102,110 ****
--- 102,116 ----
  #define MyPidxx2Pid(x) ((afs_int32)(x))
  #else /* AFS_AIX41_ENV */
  #if defined(AFS_HPUX101_ENV)
+ #if defined(AFS_HPUX1111_ENV)
+ typedef struct kthread * afs_lock_tracker_t;
+ #define MyPidxx (u.u_kthreadp)
+ #define MyPidxx2Pid(x) (x ? kt_tid(x) : 0)
+ #else
  typedef struct proc * afs_lock_tracker_t;
  #define MyPidxx (u.u_procp)
  #define MyPidxx2Pid(x) (x ? (afs_int32)p_pid(x) : 0)
+ #endif
  #else
  #if defined(AFS_SGI64_ENV)
  #if defined(AFS_SGI65_ENV)
Index: openafs/src/afs/sysincludes.h
diff -c openafs/src/afs/sysincludes.h:1.40.2.4 openafs/src/afs/sysincludes.h:1.40.2.5
*** openafs/src/afs/sysincludes.h:1.40.2.4	Thu Dec 28 16:49:33 2006
--- openafs/src/afs/sysincludes.h	Fri Nov 23 08:40:46 2007
***************
*** 75,80 ****
--- 75,83 ----
  #if defined(LINUX_KEYRING_SUPPORT)
  #include <linux/rwsem.h>
  #include <linux/key.h>
+ #if defined(KEY_TYPE_H_EXISTS)
+ #include <linux/key-type.h>
+ #endif
  #ifndef KEY_ALLOC_IN_QUOTA
  #define KEY_ALLOC_IN_QUOTA 1
  #endif
Index: openafs/src/afs/DARWIN/osi_vnodeops.c
diff -c openafs/src/afs/DARWIN/osi_vnodeops.c:1.41.2.9 openafs/src/afs/DARWIN/osi_vnodeops.c:1.41.2.10
*** openafs/src/afs/DARWIN/osi_vnodeops.c:1.41.2.9	Wed Oct 24 01:41:44 2007
--- openafs/src/afs/DARWIN/osi_vnodeops.c	Tue Nov 27 15:02:35 2007
***************
*** 5,11 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/afs/DARWIN/osi_vnodeops.c,v 1.41.2.9 2007/10/24 05:41:44 shadow Exp $");
  
  #include <afs/sysincludes.h>	/* Standard vendor system headers */
  #include <afsincludes.h>	/* Afs-based standard headers */
--- 5,11 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/afs/DARWIN/osi_vnodeops.c,v 1.41.2.10 2007/11/27 20:02:35 shadow Exp $");
  
  #include <afs/sysincludes.h>	/* Standard vendor system headers */
  #include <afsincludes.h>	/* Afs-based standard headers */
***************
*** 743,748 ****
--- 743,751 ----
      int code;
      struct vnode *vp = ap->a_vp;
      struct vcache *avc = VTOAFS(vp);
+ 
+     if (vnode_isdir(ap->a_vp)) 
+ 	return EISDIR;
  #ifdef AFS_DARWIN80_ENV
      ubc_sync_range(ap->a_vp, AFS_UIO_OFFSET(ap->a_uio), AFS_UIO_OFFSET(ap->a_uio) + AFS_UIO_RESID(ap->a_uio), UBC_PUSHDIRTY);
  #else
Index: openafs/src/afs/LINUX/osi_machdep.h
diff -c openafs/src/afs/LINUX/osi_machdep.h:1.34.2.5 openafs/src/afs/LINUX/osi_machdep.h:1.34.2.6
*** openafs/src/afs/LINUX/osi_machdep.h:1.34.2.5	Thu Feb  8 17:39:30 2007
--- openafs/src/afs/LINUX/osi_machdep.h	Fri Nov 23 08:40:47 2007
***************
*** 76,82 ****
--- 76,93 ----
  
  #define afs_hz HZ
  #include "h/sched.h"
+ #if defined(HAVE_CURRENT_KERNEL_TIME)
+ static inline time_t osi_Time(void) { 
+     struct timespec xtime;
+     xtime = current_kernel_time();
+     return xtime.tv_sec;
+ }
+ #else
  #define osi_Time() (xtime.tv_sec)
+ #endif
+ 
+ 
+ 
  #ifdef AFS_LINUX_64BIT_KERNEL
  #define osi_GetTime(V)                                 \
      do {                                               \
Index: openafs/src/afs/LINUX/osi_sysctl.c
diff -c openafs/src/afs/LINUX/osi_sysctl.c:1.9.2.4 openafs/src/afs/LINUX/osi_sysctl.c:1.9.2.5
*** openafs/src/afs/LINUX/osi_sysctl.c:1.9.2.4	Sat Jun 23 02:33:18 2007
--- openafs/src/afs/LINUX/osi_sysctl.c	Fri Nov 23 08:40:47 2007
***************
*** 1,7 ****
  /*
   * osi_sysctl.c: Linux sysctl interface to OpenAFS
   *
!  * $Id: osi_sysctl.c,v 1.9.2.4 2007/06/23 06:33:18 shadow Exp $
   *
   * Written Jan 30, 2002 by Kris Van Hees (Sine Nomine Associates)
   */
--- 1,7 ----
  /*
   * osi_sysctl.c: Linux sysctl interface to OpenAFS
   *
!  * $Id: osi_sysctl.c,v 1.9.2.5 2007/11/23 13:40:47 shadow Exp $
   *
   * Written Jan 30, 2002 by Kris Van Hees (Sine Nomine Associates)
   */
***************
*** 36,42 ****
--- 36,46 ----
  
  static ctl_table afs_sysctl_table[] = {
      {
+ #if defined(SYSCTL_TABLE_CHECKING)
+ 	.ctl_name 	= CTL_UNNUMBERED, 
+ #else
  	.ctl_name 	= 1, 
+ #endif
  	.procname 	= "hm_retry_RO",
  	.data 		= &hm_retry_RO, 
  	.maxlen		= sizeof(afs_int32), 
***************
*** 44,50 ****
--- 48,58 ----
  	.proc_handler	= &proc_dointvec
      },
      {
+ #if defined(SYSCTL_TABLE_CHECKING)
+ 	.ctl_name 	= CTL_UNNUMBERED, 
+ #else
          .ctl_name 	= 2, 
+ #endif
          .procname 	= "hm_retry_RW",
          .data		= &hm_retry_RW,
  	.maxlen		= sizeof(afs_int32), 
***************
*** 52,58 ****
--- 60,70 ----
       	.proc_handler	= &proc_dointvec
      },
      {
+ #if defined(SYSCTL_TABLE_CHECKING)
+ 	.ctl_name 	= CTL_UNNUMBERED, 
+ #else
  	.ctl_name	= 3, 
+ #endif
  	.procname	= "hm_retry_int",
  	.data		= &hm_retry_int, 
  	.maxlen		= sizeof(afs_int32), 
***************
*** 60,66 ****
--- 72,82 ----
  	.proc_handler	= &proc_dointvec
      },
      {
+ #if defined(SYSCTL_TABLE_CHECKING)
+ 	.ctl_name 	= CTL_UNNUMBERED, 
+ #else
  	.ctl_name	= 4, 
+ #endif
  	.procname	= "GCPAGs",
  	.data		= &afs_gcpags, 
  	.maxlen		= sizeof(afs_int32), 
***************
*** 68,74 ****
--- 84,94 ----
  	.proc_handler 	= &proc_dointvec
      },
      {
+ #if defined(SYSCTL_TABLE_CHECKING)
+ 	.ctl_name 	= CTL_UNNUMBERED, 
+ #else
  	.ctl_name	= 5, 
+ #endif
  	.procname	= "rx_deadtime",
  	.data		= &afs_rx_deadtime, 
  	.maxlen		= sizeof(afs_int32), 
***************
*** 76,82 ****
--- 96,106 ----
  	.proc_handler	= &proc_dointvec
      },
      {
+ #if defined(SYSCTL_TABLE_CHECKING)
+ 	.ctl_name 	= CTL_UNNUMBERED, 
+ #else
  	.ctl_name	= 6, 
+ #endif
  	.procname	= "bkVolPref",
  	.data		= &afs_bkvolpref, 
  	.maxlen		= sizeof(afs_int32), 
***************
*** 152,158 ****
--- 176,186 ----
  
  static ctl_table fs_sysctl_table[] = {
      {
+ #if defined(SYSCTL_TABLE_CHECKING)
+ 	.ctl_name 	= CTL_UNNUMBERED, 
+ #else
  	.ctl_name	= 1, 
+ #endif
  	.procname	= "afs", 
  	.mode		= 0555, 
  	.child		= afs_sysctl_table
Index: openafs/src/afs/LINUX/osi_vfsops.c
diff -c openafs/src/afs/LINUX/osi_vfsops.c:1.42.4.20 openafs/src/afs/LINUX/osi_vfsops.c:1.42.4.21
*** openafs/src/afs/LINUX/osi_vfsops.c:1.42.4.20	Tue Nov  6 23:04:20 2007
--- openafs/src/afs/LINUX/osi_vfsops.c	Fri Nov 23 08:40:47 2007
***************
*** 16,22 ****
  #include "afs/param.h"
  
  RCSID
!     ("$Header: /cvs/openafs/src/afs/LINUX/osi_vfsops.c,v 1.42.4.20 2007/11/07 04:04:20 shadow Exp $");
  
  #define __NO_VERSION__		/* don't define kernel_version in module.h */
  #include <linux/module.h> /* early to avoid printf->printk mapping */
--- 16,22 ----
  #include "afs/param.h"
  
  RCSID
!     ("$Header: /cvs/openafs/src/afs/LINUX/osi_vfsops.c,v 1.42.4.21 2007/11/23 13:40:47 shadow Exp $");
  
  #define __NO_VERSION__		/* don't define kernel_version in module.h */
  #include <linux/module.h> /* early to avoid printf->printk mapping */
***************
*** 301,308 ****
--- 301,312 ----
  #if defined(HAVE_KMEM_CACHE_T)
  init_once(void * foo, kmem_cache_t * cachep, unsigned long flags)
  #else
+ #if defined(KMEM_CACHE_INIT)
+ init_once(struct kmem_cache * cachep, void * foo)
+ #else
  init_once(void * foo, struct kmem_cache * cachep, unsigned long flags)
  #endif
+ #endif
  {
      struct vcache *vcp = (struct vcache *) foo;
  
Index: openafs/src/afs/LINUX/osi_vnodeops.c
diff -c openafs/src/afs/LINUX/osi_vnodeops.c:1.126.2.20 openafs/src/afs/LINUX/osi_vnodeops.c:1.126.2.21
*** openafs/src/afs/LINUX/osi_vnodeops.c:1.126.2.20	Tue Nov  6 13:32:39 2007
--- openafs/src/afs/LINUX/osi_vnodeops.c	Tue Nov 27 14:28:26 2007
***************
*** 22,28 ****
  #include "afs/param.h"
  
  RCSID
!     ("$Header: /cvs/openafs/src/afs/LINUX/osi_vnodeops.c,v 1.126.2.20 2007/11/06 18:32:39 shadow Exp $");
  
  #include "afs/sysincludes.h"
  #include "afsincludes.h"
--- 22,28 ----
  #include "afs/param.h"
  
  RCSID
!     ("$Header: /cvs/openafs/src/afs/LINUX/osi_vnodeops.c,v 1.126.2.21 2007/11/27 19:28:26 shadow Exp $");
  
  #include "afs/sysincludes.h"
  #include "afsincludes.h"
***************
*** 970,975 ****
--- 970,976 ----
  
  	afs_getattr(vcp, &vattr, credp);
  	afs_fill_inode(ip, &vattr);
+ 	insert_inode_hash(ip);
  	dp->d_op = &afs_dentry_operations;
  	dp->d_time = hgetlo(VTOAFS(dip)->m.DataVersion);
  	d_instantiate(dp, ip);
***************
*** 1018,1023 ****
--- 1019,1026 ----
  	ip = AFSTOV(vcp);
  	afs_getattr(vcp, &vattr, credp);
  	afs_fill_inode(ip, &vattr);
+ 	if (hlist_unhashed(&ip->i_hash))
+ 	    insert_inode_hash(ip);
      }
      dp->d_op = &afs_dentry_operations;
      dp->d_time = hgetlo(VTOAFS(dip)->m.DataVersion);
***************
*** 1880,1884 ****
  #endif
      }
  
-     /* insert_inode_hash(ip);	-- this would make iget() work (if we used it) */
  }
--- 1883,1886 ----
Index: openafs/src/afs/UKERNEL/afs_usrops.c
diff -c openafs/src/afs/UKERNEL/afs_usrops.c:1.30.6.5 openafs/src/afs/UKERNEL/afs_usrops.c:1.30.6.6
*** openafs/src/afs/UKERNEL/afs_usrops.c:1.30.6.5	Wed Oct 31 18:31:57 2007
--- openafs/src/afs/UKERNEL/afs_usrops.c	Mon Nov 26 16:08:40 2007
***************
*** 15,21 ****
  #include "afs/param.h"
  
  RCSID
!     ("$Header: /cvs/openafs/src/afs/UKERNEL/afs_usrops.c,v 1.30.6.5 2007/10/31 22:31:57 shadow Exp $");
  
  
  #ifdef	UKERNEL
--- 15,21 ----
  #include "afs/param.h"
  
  RCSID
!     ("$Header: /cvs/openafs/src/afs/UKERNEL/afs_usrops.c,v 1.30.6.6 2007/11/26 21:08:40 shadow Exp $");
  
  
  #ifdef	UKERNEL
***************
*** 183,188 ****
--- 183,189 ----
  ufs_brelse(struct usr_vnode *vp, struct usr_buf *bp)
  {
      usr_assert(0);
+     return 0;
  }
  
  /*
***************
*** 192,203 ****
--- 193,206 ----
  iodone(struct usr_buf *bp)
  {
      usr_assert(0);
+     return 0;
  }
  
  struct usr_file *
  getf(int fd)
  {
      usr_assert(0);
+     return 0;
  }
  
  /*
***************
*** 233,238 ****
--- 236,242 ----
  usr_flock(void)
  {
      usr_assert(0);
+     return 0;
  }
  
  /*
***************
*** 243,248 ****
--- 247,253 ----
  usr_ioctl(void)
  {
      usr_assert(0);
+     return 0;
  }
  
  /*
***************
*** 252,275 ****
--- 257,284 ----
  afs_syscall_icreate(void)
  {
      usr_assert(0);
+     return 0;
  }
  
  int
  afs_syscall_iincdec(void)
  {
      usr_assert(0);
+     return 0;
  }
  
  int
  afs_syscall_iopen(void)
  {
      usr_assert(0);
+     return 0;
  }
  
  int
  afs_syscall_ireadwrite(void)
  {
      usr_assert(0);
+     return 0;
  }
  
  /*
***************
*** 280,303 ****
--- 289,316 ----
  vno_close(void)
  {
      usr_assert(0);
+     return 0;
  }
  
  int
  vno_ioctl(void)
  {
      usr_assert(0);
+     return 0;
  }
  
  int
  vno_rw(void)
  {
      usr_assert(0);
+     return 0;
  }
  
  int
  vno_select(void)
  {
      usr_assert(0);
+     return 0;
  }
  
  /*
***************
*** 374,385 ****
--- 387,400 ----
      if (credp->cr_ref == 0) {
  	afs_osi_Free((char *)credp, sizeof(struct usr_ucred));
      }
+     return 0;
  }
  
  int
  usr_crhold(struct usr_ucred *credp)
  {
      credp->cr_ref++;
+     return 0;
  }
  
  void
***************
*** 517,522 ****
--- 532,538 ----
  	waitp = waitp->next;
      }
      usr_mutex_unlock(&osi_waitq_lock);
+     return 0;
  }
  
  int
***************
*** 608,613 ****
--- 624,630 ----
  	waitp = waitp->timedNext;
      }
      usr_mutex_unlock(&osi_waitq_lock);
+     return 0;
  }
  
  /*
***************
*** 1977,1982 ****
--- 1994,2000 ----
  		 sysArgsP->param2, sysArgsP->param3, sysArgsP->param4);
  
      afs_osi_Free(argp, -1);
+     return 0;
  }
  
  fork_syscall(syscall, afscall, param1, param2, param3, param4)
***************
*** 1997,2002 ****
--- 2015,2021 ----
  
      usr_thread_create(&tid, syscallThread, sysArgsP);
      usr_thread_detach(tid);
+     return 0;
  }
  
  call_syscall(syscall, afscall, param1, param2, param3, param4)
***************
*** 2183,2189 ****
      struct usr_vnode *linkVp;
      char *tmpPath;
      char *pathP;
!     char *nextPathP;
  
      AFS_ASSERT_GLOCK();
  
--- 2202,2208 ----
      struct usr_vnode *linkVp;
      char *tmpPath;
      char *pathP;
!     char *nextPathP = NULL;
  
      AFS_ASSERT_GLOCK();
  
Index: openafs/src/afs/UKERNEL/osi_groups.c
diff -c openafs/src/afs/UKERNEL/osi_groups.c:1.7 openafs/src/afs/UKERNEL/osi_groups.c:1.7.14.1
*** openafs/src/afs/UKERNEL/osi_groups.c:1.7	Tue Jul 15 19:14:28 2003
--- openafs/src/afs/UKERNEL/osi_groups.c	Mon Nov 26 16:08:40 2007
***************
*** 15,21 ****
  #include "afs/param.h"
  
  RCSID
!     ("$Header: /cvs/openafs/src/afs/UKERNEL/osi_groups.c,v 1.7 2003/07/15 23:14:28 shadow Exp $");
  
  #include "afs/sysincludes.h"
  #include "afsincludes.h"
--- 15,21 ----
  #include "afs/param.h"
  
  RCSID
!     ("$Header: /cvs/openafs/src/afs/UKERNEL/osi_groups.c,v 1.7.14.1 2007/11/26 21:08:40 shadow Exp $");
  
  #include "afs/sysincludes.h"
  #include "afsincludes.h"
***************
*** 26,31 ****
--- 26,32 ----
  afs_xsetgroups()
  {
      usr_assert(0);
+     return 0;
  }
  
  static int
Index: openafs/src/afs/VNOPS/afs_vnop_create.c
diff -c openafs/src/afs/VNOPS/afs_vnop_create.c:1.23.4.2 openafs/src/afs/VNOPS/afs_vnop_create.c:1.23.4.3
*** openafs/src/afs/VNOPS/afs_vnop_create.c:1.23.4.2	Fri Oct 13 01:12:51 2006
--- openafs/src/afs/VNOPS/afs_vnop_create.c	Sat Dec  8 12:59:06 2007
***************
*** 17,23 ****
  #include "afs/param.h"
  
  RCSID
!     ("$Header: /cvs/openafs/src/afs/VNOPS/afs_vnop_create.c,v 1.23.4.2 2006/10/13 05:12:51 shadow Exp $");
  
  #include "afs/sysincludes.h"	/* Standard vendor system headers */
  #include "afsincludes.h"	/* Afs-based standard headers */
--- 17,23 ----
  #include "afs/param.h"
  
  RCSID
!     ("$Header: /cvs/openafs/src/afs/VNOPS/afs_vnop_create.c,v 1.23.4.3 2007/12/08 17:59:06 shadow Exp $");
  
  #include "afs/sysincludes.h"	/* Standard vendor system headers */
  #include "afsincludes.h"	/* Afs-based standard headers */
***************
*** 353,359 ****
--- 353,361 ----
  	UpgradeSToWLock(&tdc->lock, 631);
      if (afs_LocalHero(adp, tdc, &OutDirStatus, 1)) {
  	/* we can do it locally */
+ 	ObtainWriteLock(&afs_xdcache, 291);
  	code = afs_dir_Create(tdc, aname, &newFid.Fid);
+ 	ReleaseWriteLock(&afs_xdcache);
  	if (code) {
  	    ZapDCE(tdc);
  	    DZap(tdc);
Index: openafs/src/afs/VNOPS/afs_vnop_dirops.c
diff -c openafs/src/afs/VNOPS/afs_vnop_dirops.c:1.21 openafs/src/afs/VNOPS/afs_vnop_dirops.c:1.21.4.1
*** openafs/src/afs/VNOPS/afs_vnop_dirops.c:1.21	Sun May 29 23:57:05 2005
--- openafs/src/afs/VNOPS/afs_vnop_dirops.c	Sat Dec  8 12:59:07 2007
***************
*** 21,27 ****
  #include "afs/param.h"
  
  RCSID
!     ("$Header: /cvs/openafs/src/afs/VNOPS/afs_vnop_dirops.c,v 1.21 2005/05/30 03:57:05 shadow Exp $");
  
  #include "afs/sysincludes.h"	/* Standard vendor system headers */
  #include "afsincludes.h"	/* Afs-based standard headers */
--- 21,27 ----
  #include "afs/param.h"
  
  RCSID
!     ("$Header: /cvs/openafs/src/afs/VNOPS/afs_vnop_dirops.c,v 1.21.4.1 2007/12/08 17:59:07 shadow Exp $");
  
  #include "afs/sysincludes.h"	/* Standard vendor system headers */
  #include "afsincludes.h"	/* Afs-based standard headers */
***************
*** 132,138 ****
--- 132,140 ----
  	ObtainWriteLock(&tdc->lock, 632);
      if (afs_LocalHero(adp, tdc, &OutDirStatus, 1)) {
  	/* we can do it locally */
+ 	ObtainWriteLock(&afs_xdcache, 294);
  	code = afs_dir_Create(tdc, aname, &newFid.Fid);
+ 	ReleaseWriteLock(&afs_xdcache);
  	if (code) {
  	    ZapDCE(tdc);	/* surprise error -- use invalid value */
  	    DZap(tdc);
Index: openafs/src/afs/VNOPS/afs_vnop_link.c
diff -c openafs/src/afs/VNOPS/afs_vnop_link.c:1.19 openafs/src/afs/VNOPS/afs_vnop_link.c:1.19.8.1
*** openafs/src/afs/VNOPS/afs_vnop_link.c:1.19	Fri Dec 24 01:08:22 2004
--- openafs/src/afs/VNOPS/afs_vnop_link.c	Sat Dec  8 12:59:07 2007
***************
*** 17,23 ****
  #include "afs/param.h"
  
  RCSID
!     ("$Header: /cvs/openafs/src/afs/VNOPS/afs_vnop_link.c,v 1.19 2004/12/24 06:08:22 shadow Exp $");
  
  #include "afs/sysincludes.h"	/* Standard vendor system headers */
  #include "afsincludes.h"	/* Afs-based standard headers */
--- 17,23 ----
  #include "afs/param.h"
  
  RCSID
!     ("$Header: /cvs/openafs/src/afs/VNOPS/afs_vnop_link.c,v 1.19.8.1 2007/12/08 17:59:07 shadow Exp $");
  
  #include "afs/sysincludes.h"	/* Standard vendor system headers */
  #include "afsincludes.h"	/* Afs-based standard headers */
***************
*** 127,133 ****
--- 127,135 ----
  	ObtainWriteLock(&tdc->lock, 635);
      if (afs_LocalHero(adp, tdc, &OutDirStatus, 1)) {
  	/* we can do it locally */
+ 	ObtainWriteLock(&afs_xdcache, 290);
  	code = afs_dir_Create(tdc, aname, &avc->fid.Fid);
+ 	ReleaseWriteLock(&afs_xdcache);
  	if (code) {
  	    ZapDCE(tdc);	/* surprise error -- invalid value */
  	    DZap(tdc);
Index: openafs/src/afs/VNOPS/afs_vnop_read.c
diff -c openafs/src/afs/VNOPS/afs_vnop_read.c:1.34 openafs/src/afs/VNOPS/afs_vnop_read.c:1.34.2.1
*** openafs/src/afs/VNOPS/afs_vnop_read.c:1.34	Mon Feb 20 23:45:10 2006
--- openafs/src/afs/VNOPS/afs_vnop_read.c	Thu Nov 29 13:34:32 2007
***************
*** 19,25 ****
  #include "afs/param.h"
  
  RCSID
!     ("$Header: /cvs/openafs/src/afs/VNOPS/afs_vnop_read.c,v 1.34 2006/02/21 04:45:10 shadow Exp $");
  
  #include "afs/sysincludes.h"	/* Standard vendor system headers */
  #include "afsincludes.h"	/* Afs-based standard headers */
--- 19,25 ----
  #include "afs/param.h"
  
  RCSID
!     ("$Header: /cvs/openafs/src/afs/VNOPS/afs_vnop_read.c,v 1.34.2.1 2007/11/29 18:34:32 shadow Exp $");
  
  #include "afs/sysincludes.h"	/* Standard vendor system headers */
  #include "afsincludes.h"	/* Afs-based standard headers */
***************
*** 117,123 ****
       * Locks held:
       * avc->lock(R)
       */
!     while (totalLength > 0) {
  	/* read all of the cached info */
  	if (filePos >= avc->m.Length)
  	    break;		/* all done */
--- 117,137 ----
       * Locks held:
       * avc->lock(R)
       */
!     if (filePos >= avc->m.Length) {
! 	if (len > AFS_ZEROS)
! 	    len = sizeof(afs_zeros);	/* and in 0 buffer */
! #ifdef AFS_DARWIN80_ENV
! 	trimlen = len;
! 	tuiop = afsio_darwin_partialcopy(auio, trimlen);
! #else
! 	afsio_copy(auio, &tuio, tvec);
! 	trimlen = len;
! 	afsio_trim(&tuio, trimlen);
! #endif
! 	AFS_UIOMOVE(afs_zeros, trimlen, UIO_READ, tuiop, code);
!     }
! 
!     while (avc->m.Length > 0 && totalLength > 0) {
  	/* read all of the cached info */
  	if (filePos >= avc->m.Length)
  	    break;		/* all done */
***************
*** 536,542 ****
      }
  #endif
  
!     while (totalLength > 0) {
  	/* read all of the cached info */
  	if (filePos >= avc->m.Length)
  	    break;		/* all done */
--- 550,571 ----
      }
  #endif
  
!     if (filePos >= avc->m.Length) {
! 	if (len > AFS_ZEROS)
! 	    len = sizeof(afs_zeros);	/* and in 0 buffer */
! 	len = 0;
! #ifdef AFS_DARWIN80_ENV
! 	trimlen = len;
! 	tuiop = afsio_darwin_partialcopy(auio, trimlen);
! #else
! 	afsio_copy(auio, &tuio, tvec);
! 	trimlen = len;
! 	afsio_trim(&tuio, trimlen);
! #endif
! 	AFS_UIOMOVE(afs_zeros, trimlen, UIO_READ, tuiop, code);
!     }
! 
!     while (avc->m.Length > 0 && totalLength > 0) {
  	/* read all of the cached info */
  	if (filePos >= avc->m.Length)
  	    break;		/* all done */
Index: openafs/src/afs/VNOPS/afs_vnop_rename.c
diff -c openafs/src/afs/VNOPS/afs_vnop_rename.c:1.28 openafs/src/afs/VNOPS/afs_vnop_rename.c:1.28.4.1
*** openafs/src/afs/VNOPS/afs_vnop_rename.c:1.28	Fri Dec 23 19:20:18 2005
--- openafs/src/afs/VNOPS/afs_vnop_rename.c	Sat Dec  8 12:59:07 2007
***************
*** 18,24 ****
  #include "afs/param.h"
  
  RCSID
!     ("$Header: /cvs/openafs/src/afs/VNOPS/afs_vnop_rename.c,v 1.28 2005/12/24 00:20:18 shadow Exp $");
  
  #include "afs/sysincludes.h"	/* Standard vendor system headers */
  #include "afsincludes.h"	/* Afs-based standard headers */
--- 18,24 ----
  #include "afs/param.h"
  
  RCSID
!     ("$Header: /cvs/openafs/src/afs/VNOPS/afs_vnop_rename.c,v 1.28.4.1 2007/12/08 17:59:07 shadow Exp $");
  
  #include "afs/sysincludes.h"	/* Standard vendor system headers */
  #include "afsincludes.h"	/* Afs-based standard headers */
***************
*** 227,233 ****
--- 227,235 ----
  		code = afs_dir_Delete(tdc2, aname2);
  	    }
  	    if (code == 0) {
+ 		ObtainWriteLock(&afs_xdcache, 292);
  		code = afs_dir_Create(tdc2, aname2, &fileFid.Fid);
+ 		ReleaseWriteLock(&afs_xdcache);
  	    }
  	    if (code != 0) {
  		ZapDCE(tdc1);
Index: openafs/src/afs/VNOPS/afs_vnop_symlink.c
diff -c openafs/src/afs/VNOPS/afs_vnop_symlink.c:1.24.4.3 openafs/src/afs/VNOPS/afs_vnop_symlink.c:1.24.4.4
*** openafs/src/afs/VNOPS/afs_vnop_symlink.c:1.24.4.3	Mon Jul 31 17:27:40 2006
--- openafs/src/afs/VNOPS/afs_vnop_symlink.c	Sat Dec  8 12:59:07 2007
***************
*** 22,28 ****
  #include "afs/param.h"
  
  RCSID
!     ("$Header: /cvs/openafs/src/afs/VNOPS/afs_vnop_symlink.c,v 1.24.4.3 2006/07/31 21:27:40 shadow Exp $");
  
  #include "afs/sysincludes.h"	/* Standard vendor system headers */
  #include "afsincludes.h"	/* Afs-based standard headers */
--- 22,28 ----
  #include "afs/param.h"
  
  RCSID
!     ("$Header: /cvs/openafs/src/afs/VNOPS/afs_vnop_symlink.c,v 1.24.4.4 2007/12/08 17:59:07 shadow Exp $");
  
  #include "afs/sysincludes.h"	/* Standard vendor system headers */
  #include "afsincludes.h"	/* Afs-based standard headers */
***************
*** 177,183 ****
--- 177,185 ----
      /* otherwise, we should see if we can make the change to the dir locally */
      if (afs_LocalHero(adp, tdc, &OutDirStatus, 1)) {
  	/* we can do it locally */
+ 	ObtainWriteLock(&afs_xdcache, 293);
  	code = afs_dir_Create(tdc, aname, &newFid.Fid);
+ 	ReleaseWriteLock(&afs_xdcache);
  	if (code) {
  	    ZapDCE(tdc);	/* surprise error -- use invalid value */
  	    DZap(tdc);
Index: openafs/src/afs/VNOPS/afs_vnop_write.c
diff -c openafs/src/afs/VNOPS/afs_vnop_write.c:1.50 openafs/src/afs/VNOPS/afs_vnop_write.c:1.50.2.1
*** openafs/src/afs/VNOPS/afs_vnop_write.c:1.50	Mon Apr  3 21:35:15 2006
--- openafs/src/afs/VNOPS/afs_vnop_write.c	Tue Dec  4 15:40:53 2007
***************
*** 21,27 ****
  #include "afs/param.h"
  
  RCSID
!     ("$Header: /cvs/openafs/src/afs/VNOPS/afs_vnop_write.c,v 1.50 2006/04/04 01:35:15 shadow Exp $");
  
  #include "afs/sysincludes.h"	/* Standard vendor system headers */
  #include "afsincludes.h"	/* Afs-based standard headers */
--- 21,27 ----
  #include "afs/param.h"
  
  RCSID
!     ("$Header: /cvs/openafs/src/afs/VNOPS/afs_vnop_write.c,v 1.50.2.1 2007/12/04 20:40:53 shadow Exp $");
  
  #include "afs/sysincludes.h"	/* Standard vendor system headers */
  #include "afsincludes.h"	/* Afs-based standard headers */
***************
*** 905,911 ****
      }
  #endif /* AFS_SGI_ENV */
      if (aflags & (FWRITE | FTRUNC)) {
! 	if (afs_BBusy()) {
  	    /* do it yourself if daemons are all busy */
  	    ObtainWriteLock(&avc->lock, 124);
  	    code = afs_StoreOnLastReference(avc, &treq);
--- 905,911 ----
      }
  #endif /* AFS_SGI_ENV */
      if (aflags & (FWRITE | FTRUNC)) {
! 	if (afs_BBusy() || (AFS_NFSXLATORREQ(acred))) {
  	    /* do it yourself if daemons are all busy */
  	    ObtainWriteLock(&avc->lock, 124);
  	    code = afs_StoreOnLastReference(avc, &treq);
Index: openafs/src/afsmonitor/afsmon-win.c
diff -c openafs/src/afsmonitor/afsmon-win.c:1.10.14.1 openafs/src/afsmonitor/afsmon-win.c:1.10.14.2
*** openafs/src/afsmonitor/afsmon-win.c:1.10.14.1	Tue Oct 30 11:16:36 2007
--- openafs/src/afsmonitor/afsmon-win.c	Mon Nov 26 16:08:40 2007
***************
*** 16,22 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/afsmonitor/afsmon-win.c,v 1.10.14.1 2007/10/30 15:16:36 shadow Exp $");
  
  #include <stdio.h>
  #include <signal.h>
--- 16,22 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/afsmonitor/afsmon-win.c,v 1.10.14.2 2007/11/26 21:08:40 shadow Exp $");
  
  #include <stdio.h>
  #include <signal.h>
***************
*** 565,570 ****
--- 565,571 ----
      }
  
      afsmon_Exit(0);
+     return 0; /* not reached */
  }
  
  
Index: openafs/src/aklog/aklog_main.c
diff -c openafs/src/aklog/aklog_main.c:1.12.2.9 openafs/src/aklog/aklog_main.c:1.12.2.11
*** openafs/src/aklog/aklog_main.c:1.12.2.9	Mon Nov  5 17:10:48 2007
--- openafs/src/aklog/aklog_main.c	Sun Dec  9 01:07:31 2007
***************
*** 1,5 ****
  /* 
!  * $Id: aklog_main.c,v 1.12.2.9 2007/11/05 22:10:48 shadow Exp $
   *
   * Copyright 1990,1991 by the Massachusetts Institute of Technology
   * For distribution and copying rights, see the file "mit-copyright.h"
--- 1,5 ----
  /* 
!  * $Id: aklog_main.c,v 1.12.2.11 2007/12/09 06:07:31 shadow Exp $
   *
   * Copyright 1990,1991 by the Massachusetts Institute of Technology
   * For distribution and copying rights, see the file "mit-copyright.h"
***************
*** 36,42 ****
  
  #if !defined(lint) && !defined(SABER)
  static char *rcsid =
! 	"$Id: aklog_main.c,v 1.12.2.9 2007/11/05 22:10:48 shadow Exp $";
  #endif /* lint || SABER */
  
  #include <afsconfig.h>
--- 36,42 ----
  
  #if !defined(lint) && !defined(SABER)
  static char *rcsid =
! 	"$Id: aklog_main.c,v 1.12.2.11 2007/12/09 06:07:31 shadow Exp $";
  #endif /* lint || SABER */
  
  #include <afsconfig.h>
***************
*** 720,726 ****
  	    }
  	    fprintf(stderr, "%s: Couldn't get %s AFS tickets:\n",
  		    progname, cell_to_use);
! 		com_err(progname, status, "while getting AFS tickets");
  	    return(AKLOG_KERBEROS);
  	}
  
--- 720,726 ----
  	    }
  	    fprintf(stderr, "%s: Couldn't get %s AFS tickets:\n",
  		    progname, cell_to_use);
! 		afs_com_err(progname, status, "while getting AFS tickets");
  	    return(AKLOG_KERBEROS);
  	}
  
***************
*** 774,780 ****
  	    status = krb5_524_convert_creds(context, v5cred, &cred);
  
  	    if (status) {
! 		com_err(progname, status, "while converting tickets "
  			"to Kerberos V4 format");
  		return(AKLOG_KERBEROS);
  	    }
--- 774,780 ----
  	    status = krb5_524_convert_creds(context, v5cred, &cred);
  
  	    if (status) {
! 		afs_com_err(progname, status, "while converting tickets "
  			"to Kerberos V4 format");
  		return(AKLOG_KERBEROS);
  	    }
***************
*** 832,838 ****
  	    if ((status = get_user_realm(context, realm_of_user))) {
  		fprintf(stderr, "%s: Couldn't determine realm of user:)",
  			progname);
! 		com_err(progname, status, " while getting realm");
  		return(AKLOG_KERBEROS);
  	    }
  	    if (strcmp(realm_of_user, realm_of_cell)) {
--- 832,838 ----
  	    if ((status = get_user_realm(context, realm_of_user))) {
  		fprintf(stderr, "%s: Couldn't determine realm of user:)",
  			progname);
! 		afs_com_err(progname, status, " while getting realm");
  		return(AKLOG_KERBEROS);
  	    }
  	    if (strcmp(realm_of_user, realm_of_cell)) {
***************
*** 939,949 ****
  	    printf("Setting tokens. %s / %s @ %s \n",
  		    aclient.name, aclient.instance, aclient.cell );
  	}
  	/* on AIX 4.1.4 with AFS 3.4a+ if a write is not done before 
  	 * this routine, it will not add the token. It is not clear what 
! 	 * is going on here! So we will do the following operation
  	 */
  	write(2,"",0); /* dummy write */
  #ifndef WINDOWS
  	if ((status = ktc_SetToken(&aserver, &atoken, &aclient, afssetpag))) {
  	    fprintf(stderr, 
--- 939,952 ----
  	    printf("Setting tokens. %s / %s @ %s \n",
  		    aclient.name, aclient.instance, aclient.cell );
  	}
+ #ifndef AFS_AIX51_ENV
  	/* on AIX 4.1.4 with AFS 3.4a+ if a write is not done before 
  	 * this routine, it will not add the token. It is not clear what 
! 	 * is going on here! So we will do the following operation.
! 	 * On AIX 5, it causes the parent program to die, so we won't.
  	 */
  	write(2,"",0); /* dummy write */
+ #endif
  #ifndef WINDOWS
  	if ((status = ktc_SetToken(&aserver, &atoken, &aclient, afssetpag))) {
  	    fprintf(stderr, 
***************
*** 1744,1752 ****
      code = krb5_kt_resolve(context, keytab, &kt);
      if (code) {
          if (keytab)
!             com_err(progname, code, "while resolving keytab %s", keytab);
          else
!             com_err(progname, code, "while resolving default keytab");
          goto cleanup;
      }
  
--- 1747,1755 ----
      code = krb5_kt_resolve(context, keytab, &kt);
      if (code) {
          if (keytab)
!             afs_com_err(progname, code, "while resolving keytab %s", keytab);
          else
!             afs_com_err(progname, code, "while resolving default keytab");
          goto cleanup;
      }
  
***************
*** 1765,1771 ****
  	    }
          }
          if (code) {
! 	    com_err(progname, code,"while scanning keytab entries");
  	    goto cleanup;
          }
      } else {
--- 1768,1774 ----
  	    }
          }
          if (code) {
! 	    afs_com_err(progname, code,"while scanning keytab entries");
  	    goto cleanup;
          }
      } else {
***************
*** 1773,1779 ****
          int best = -1;
          memset(new, 0, sizeof *new);
          if ((code == krb5_kt_start_seq_get(context, kt, cursor))) {
!             com_err(progname, code, "while starting keytab scan");
              goto cleanup;
          }
          while (!(code = krb5_kt_next_entry(context, kt, new, cursor))) {
--- 1776,1782 ----
          int best = -1;
          memset(new, 0, sizeof *new);
          if ((code == krb5_kt_start_seq_get(context, kt, cursor))) {
!             afs_com_err(progname, code, "while starting keytab scan");
              goto cleanup;
          }
          while (!(code = krb5_kt_next_entry(context, kt, new, cursor))) {
***************
*** 1789,1800 ****
              } else krb5_free_keytab_entry_contents(context, new);
          }
          if ((i = krb5_kt_end_seq_get(context, kt, cursor))) {
!             com_err(progname, i, "while ending keytab scan");
              code = i;
              goto cleanup;
          }
          if (best < 0) {
!             com_err(progname, code, "while scanning keytab");
              goto cleanup;
          }
          deref_keyblock_enctype(session_key) = deref_entry_enctype(entry);
--- 1792,1803 ----
              } else krb5_free_keytab_entry_contents(context, new);
          }
          if ((i = krb5_kt_end_seq_get(context, kt, cursor))) {
!             afs_com_err(progname, i, "while ending keytab scan");
              code = i;
              goto cleanup;
          }
          if (best < 0) {
!             afs_com_err(progname, code, "while scanning keytab");
              goto cleanup;
          }
          deref_keyblock_enctype(session_key) = deref_entry_enctype(entry);
***************
*** 1805,1811 ****
  #if USING_HEIMDAL
      if ((code = krb5_generate_random_keyblock(context,
  					      deref_keyblock_enctype(session_key), session_key))) {
!         com_err(progname, code, "while making session key");
          goto cleanup;
      }
      enc_tkt_reply->flags.initial = 1;
--- 1808,1814 ----
  #if USING_HEIMDAL
      if ((code = krb5_generate_random_keyblock(context,
  					      deref_keyblock_enctype(session_key), session_key))) {
!         afs_com_err(progname, code, "while making session key");
          goto cleanup;
      }
      enc_tkt_reply->flags.initial = 1;
***************
*** 1828,1834 ****
  #else
      if ((code = krb5_c_make_random_key(context,
  				       deref_keyblock_enctype(session_key), session_key))) {
!         com_err(progname, code, "while making session key");
          goto cleanup;
      }
      enc_tkt_reply->magic = KV5M_ENC_TKT_PART;
--- 1831,1837 ----
  #else
      if ((code = krb5_c_make_random_key(context,
  				       deref_keyblock_enctype(session_key), session_key))) {
!         afs_com_err(progname, code, "while making session key");
          goto cleanup;
      }
      enc_tkt_reply->magic = KV5M_ENC_TKT_PART;
***************
*** 1891,1902 ****
          ASN1_MALLOC_ENCODE(EncTicketPart, buf, buf_size,
  			   enc_tkt_reply, &buf_len, code);
          if(code) {
!             com_err(progname, code, "while encoding ticket");
              goto cleanup;
          }
  
          if(buf_len != buf_size) {
!             com_err(progname, code,
  		    "%d != %d while encoding ticket (internal ASN.1 encoder error",
  		    buf_len, buf_size);
              goto cleanup;
--- 1894,1905 ----
          ASN1_MALLOC_ENCODE(EncTicketPart, buf, buf_size,
  			   enc_tkt_reply, &buf_len, code);
          if(code) {
!             afs_com_err(progname, code, "while encoding ticket");
              goto cleanup;
          }
  
          if(buf_len != buf_size) {
!             afs_com_err(progname, code,
  		    "%d != %d while encoding ticket (internal ASN.1 encoder error",
  		    buf_len, buf_size);
              goto cleanup;
***************
*** 1914,1920 ****
          if (buf) free(buf);
          if (crypto) krb5_crypto_destroy(context, crypto);
          if(code) {
!             com_err(progname, code, "while %s", what);
              goto cleanup;
          }
      } /* crypto block */
--- 1917,1923 ----
          if (buf) free(buf);
          if (crypto) krb5_crypto_destroy(context, crypto);
          if(code) {
!             afs_com_err(progname, code, "while %s", what);
              goto cleanup;
          }
      } /* crypto block */
***************
*** 1926,1932 ****
      ticket_reply->server = service_principal;
      ticket_reply->enc_part2 = enc_tkt_reply;
      if ((code = krb5_encrypt_tkt_part(context, &deref_entry_keyblock(entry), ticket_reply))) {
!         com_err(progname, code, "while making ticket");
          goto cleanup;
      }
      ticket_reply->enc_part.kvno = entry->vno;
--- 1929,1935 ----
      ticket_reply->server = service_principal;
      ticket_reply->enc_part2 = enc_tkt_reply;
      if ((code = krb5_encrypt_tkt_part(context, &deref_entry_keyblock(entry), ticket_reply))) {
!         afs_com_err(progname, code, "while making ticket");
          goto cleanup;
      }
      ticket_reply->enc_part.kvno = entry->vno;
***************
*** 1936,1952 ****
  
      if ((code = krb5_copy_principal(context, service_principal,
  				    &creds->server))) {
!         com_err(progname, code, "while copying service principal");
          goto cleanup;
      }
      if ((code = krb5_copy_principal(context, client_principal,
  				    &creds->client))) {
!         com_err(progname, code, "while copying client principal");
          goto cleanup;
      }
      if ((code = krb5_copy_keyblock_contents(context, session_key,
  					    &deref_session_key(creds)))) {
!         com_err(progname, code, "while copying session key");
          goto cleanup;
      }
  
--- 1939,1955 ----
  
      if ((code = krb5_copy_principal(context, service_principal,
  				    &creds->server))) {
!         afs_com_err(progname, code, "while copying service principal");
          goto cleanup;
      }
      if ((code = krb5_copy_principal(context, client_principal,
  				    &creds->client))) {
!         afs_com_err(progname, code, "while copying client principal");
          goto cleanup;
      }
      if ((code = krb5_copy_keyblock_contents(context, session_key,
  					    &deref_session_key(creds)))) {
!         afs_com_err(progname, code, "while copying session key");
          goto cleanup;
      }
  
***************
*** 1964,1970 ****
          ;
      else if ((code = krb5_copy_addresses(context,
  					 deref_enc_tkt_addrs(enc_tkt_reply), &creds->addresses))) {
!         com_err(progname, code, "while copying addresses");
          goto cleanup;
      }
  
--- 1967,1973 ----
          ;
      else if ((code = krb5_copy_addresses(context,
  					 deref_enc_tkt_addrs(enc_tkt_reply), &creds->addresses))) {
!         afs_com_err(progname, code, "while copying addresses");
          goto cleanup;
      }
  
***************
*** 1974,1986 ****
  	ASN1_MALLOC_ENCODE(Ticket, creds->ticket.data, creds->ticket.length,
  			   ticket_reply, &creds_tkt_len, code);
  	if(code) {
! 	    com_err(progname, code, "while encoding ticket");
  	    goto cleanup;
  	}
      }
  #else
      if ((code = encode_krb5_ticket(ticket_reply, &temp))) {
! 	com_err(progname, code, "while encoding ticket");
  	goto cleanup;
      }
      creds->ticket = *temp;
--- 1977,1989 ----
  	ASN1_MALLOC_ENCODE(Ticket, creds->ticket.data, creds->ticket.length,
  			   ticket_reply, &creds_tkt_len, code);
  	if(code) {
! 	    afs_com_err(progname, code, "while encoding ticket");
  	    goto cleanup;
  	}
      }
  #else
      if ((code = encode_krb5_ticket(ticket_reply, &temp))) {
! 	afs_com_err(progname, code, "while encoding ticket");
  	goto cleanup;
      }
      creds->ticket = *temp;
Index: openafs/src/aklog/klog.c
diff -c openafs/src/aklog/klog.c:1.3.2.3 openafs/src/aklog/klog.c:1.3.2.5
*** openafs/src/aklog/klog.c:1.3.2.3	Mon Nov  5 16:44:23 2007
--- openafs/src/aklog/klog.c	Fri Nov 23 08:59:34 2007
***************
*** 396,410 ****
      Silent = (as->parms[aSILENT].items ? 1 : 0);
  
      if (Silent) {
! 	set_com_err_hook(silent_errors);
      }
  
      if ((code = krb5_init_context(&k5context))) {
! 	com_err(rn, code, "while initializing Kerberos 5 library");
  	KLOGEXIT(code);
      }
      if ((code = rx_Init(0))) {
! 	com_err(rn, code, "while initializing rx");
  	KLOGEXIT(code);
      }
      initialize_U_error_table();
--- 396,410 ----
      Silent = (as->parms[aSILENT].items ? 1 : 0);
  
      if (Silent) {
! 	afs_set_com_err_hook(silent_errors);
      }
  
      if ((code = krb5_init_context(&k5context))) {
! 	afs_com_err(rn, code, "while initializing Kerberos 5 library");
  	KLOGEXIT(code);
      }
      if ((code = rx_Init(0))) {
! 	afs_com_err(rn, code, "while initializing rx");
  	KLOGEXIT(code);
      }
      initialize_U_error_table();
***************
*** 414,420 ****
      initialize_ACFG_error_table();
      /* initialize_rx_error_table(); */
      if (!(tdir = afsconf_Open(AFSDIR_CLIENT_ETC_DIRPATH))) {
! 	com_err(rn, 0, "can't get afs configuration (afsconf_Open(%s))",
  	    rn, AFSDIR_CLIENT_ETC_DIRPATH);
  	KLOGEXIT(1);
      }
--- 414,420 ----
      initialize_ACFG_error_table();
      /* initialize_rx_error_table(); */
      if (!(tdir = afsconf_Open(AFSDIR_CLIENT_ETC_DIRPATH))) {
! 	afs_com_err(rn, 0, "can't get afs configuration (afsconf_Open(%s))",
  	    rn, AFSDIR_CLIENT_ETC_DIRPATH);
  	KLOGEXIT(1);
      }
***************
*** 440,448 ****
      cell = as->parms[aCELL].items ? cell = as->parms[aCELL].items->data : 0;
      if ((code = afsconf_GetCellInfo(tdir, cell, "afsprot", cellconfig))) {
  	if (cell)
! 	    com_err(rn, code, "Can't get cell information for '%s'", cell);
  	else
! 	    com_err(rn, code, "Can't get determine local cell!");
  	KLOGEXIT(code);
      }
  
--- 440,448 ----
      cell = as->parms[aCELL].items ? cell = as->parms[aCELL].items->data : 0;
      if ((code = afsconf_GetCellInfo(tdir, cell, "afsprot", cellconfig))) {
  	if (cell)
! 	    afs_com_err(rn, code, "Can't get cell information for '%s'", cell);
  	else
! 	    afs_com_err(rn, code, "Can't get determine local cell!");
  	KLOGEXIT(code);
      }
  
***************
*** 450,462 ****
  	code = krb5_set_default_realm(k5context,
  		(const char *) as->parms[aKRBREALM].items);
  	if (code) {
! 	    com_err(rn, code, "Can't make <%s> the default realm",
  		as->parms[aKRBREALM].items);
  	    KLOGEXIT(code);
  	}
      }
      else if ((code = krb5_get_host_realm(k5context, cellconfig->hostName[0], &hrealms))) {
! 	com_err(rn, code, "Can't get realm for host <%s> in cell <%s>\n",
  		cellconfig->hostName[0], cellconfig->name);
  	KLOGEXIT(code);
      } else {
--- 450,462 ----
  	code = krb5_set_default_realm(k5context,
  		(const char *) as->parms[aKRBREALM].items);
  	if (code) {
! 	    afs_com_err(rn, code, "Can't make <%s> the default realm",
  		as->parms[aKRBREALM].items);
  	    KLOGEXIT(code);
  	}
      }
      else if ((code = krb5_get_host_realm(k5context, cellconfig->hostName[0], &hrealms))) {
! 	afs_com_err(rn, code, "Can't get realm for host <%s> in cell <%s>\n",
  		cellconfig->hostName[0], cellconfig->name);
  	KLOGEXIT(code);
      } else {
***************
*** 464,470 ****
  	    code = krb5_set_default_realm(k5context,
  		    *hrealms);
  	    if (code) {
! 		com_err(rn, code, "Can't make <%s> the default realm",
  		    *hrealms);
  		KLOGEXIT(code);
  	    }
--- 464,470 ----
  	    code = krb5_set_default_realm(k5context,
  		    *hrealms);
  	    if (code) {
! 		afs_com_err(rn, code, "Can't make <%s> the default realm",
  		    *hrealms);
  		KLOGEXIT(code);
  	    }
***************
*** 480,486 ****
  	struct passwd *pw;
  	pw = getpwuid(id);
  	if (pw == 0) {
! 	    com_err(rn, 0,
  		"Can't figure out your name from your user id (%d).", id);
  	    if (!Silent)
  		fprintf(stderr, "%s: Try providing the user name.\n", rn);
--- 480,486 ----
  	struct passwd *pw;
  	pw = getpwuid(id);
  	if (pw == 0) {
! 	    afs_com_err(rn, 0,
  		"Can't figure out your name from your user id (%d).", id);
  	    if (!Silent)
  		fprintf(stderr, "%s: Try providing the user name.\n", rn);
***************
*** 490,496 ****
      }
      code = krb5_parse_name(k5context, pname, &princ);
      if (code) {
! 	com_err(rn, code, "Can't parse principal <%s>", pname);
  	KLOGEXIT(code);
      }
  
--- 490,496 ----
      }
      code = krb5_parse_name(k5context, pname, &princ);
      if (code) {
! 	afs_com_err(rn, code, "Can't parse principal <%s>", pname);
  	KLOGEXIT(code);
      }
  
***************
*** 586,596 ****
  	if (krb5_get_default_realm(k5context, &r))
  	    r = 0;
  	if (service)
! 	    com_err(rn, code, "Unable to authenticate to use %s", service);
  	else if (r)
! 	    com_err(rn, code, "Unable to authenticate in realm %s", r);
  	else
! 	    com_err(rn, code, "Unable to authenticate to use cell %s",
  		cellconfig->name);
  	if (r) free(r);
  	KLOGEXIT(code);
--- 586,596 ----
  	if (krb5_get_default_realm(k5context, &r))
  	    r = 0;
  	if (service)
! 	    afs_com_err(rn, code, "Unable to authenticate to use %s", service);
  	else if (r)
! 	    afs_com_err(rn, code, "Unable to authenticate in realm %s", r);
  	else
! 	    afs_com_err(rn, code, "Unable to authenticate to use cell %s",
  		cellconfig->name);
  	if (r) free(r);
  	KLOGEXIT(code);
***************
*** 604,612 ****
--- 604,614 ----
  		what = "getting default ccache";
  		code = krb5_cc_default(k5context, &cc);
  	    } else {
+ #ifdef HAVE_KRB5_CC_REGISTER
  		what = "krb5_cc_register";
  		code = krb5_cc_register(k5context, &krb5_mcc_ops, FALSE);
  		if (code && code != KRB5_CC_TYPE_EXISTS) goto Failed;
+ #endif
  		what = "krb5_cc_resolve";
  		code = krb5_cc_resolve(k5context, "MEMORY:core", &cc);
  		if (code) goto Failed;
***************
*** 624,630 ****
  	    break;
  	Failed:
  	    if (code)
! 		com_err(rn, code, what);
  	    if (writeTicketFile) {
  		if (cc) {
  		    krb5_cc_close(k5context, cc);
--- 626,632 ----
  	    break;
  	Failed:
  	    if (code)
! 		afs_com_err(rn, code, what);
  	    if (writeTicketFile) {
  		if (cc) {
  		    krb5_cc_close(k5context, cc);
***************
*** 640,646 ****
  	    mcred->client = princ;
  	    code = krb5_parse_name(k5context, service, &mcred->server);
  	    if (code) {
! 		com_err(rn, code, "Unable to parse service <%s>\n", service);
  		KLOGEXIT(code);
  	    }
  	    if (tofree) { free(tofree); tofree = 0; }
--- 642,648 ----
  	    mcred->client = princ;
  	    code = krb5_parse_name(k5context, service, &mcred->server);
  	    if (code) {
! 		afs_com_err(rn, code, "Unable to parse service <%s>\n", service);
  		KLOGEXIT(code);
  	    }
  	    if (tofree) { free(tofree); tofree = 0; }
***************
*** 657,663 ****
  	afscred = outcred;
      }
      if (code) {
! 	com_err(rn, code, "Unable to get credentials to use %s", outname);
  	KLOGEXIT(code);
      }
  
--- 659,665 ----
  	afscred = outcred;
      }
      if (code) {
! 	afs_com_err(rn, code, "Unable to get credentials to use %s", outname);
  	KLOGEXIT(code);
      }
  
***************
*** 670,676 ****
  	strncpy(aserver->cell, cellconfig->name, MAXKTCREALMLEN-1);
  	code = ktc_SetK5Token(k5context, aserver, afscred, viceid, dosetpag);
  	if (code) {
! 	    com_err(rn, code, "Unable to store tokens for cell %s\n",
  		cellconfig->name);
  	    KLOGEXIT(1);
  	}
--- 672,678 ----
  	strncpy(aserver->cell, cellconfig->name, MAXKTCREALMLEN-1);
  	code = ktc_SetK5Token(k5context, aserver, afscred, viceid, dosetpag);
  	if (code) {
! 	    afs_com_err(rn, code, "Unable to store tokens for cell %s\n",
  		cellconfig->name);
  	    KLOGEXIT(1);
  	}
***************
*** 686,692 ****
  	    if (afs_krb5_skip_ticket_wrapper(afscred->ticket.data,
  			afscred->ticket.length, &enc_part->data,
  			&enc_part->length)) {
! 		com_err(rn, 0, "Can't unwrap %s AFS credential",
  		    cellconfig->name);
  		KLOGEXIT(1);
  	    }
--- 688,694 ----
  	    if (afs_krb5_skip_ticket_wrapper(afscred->ticket.data,
  			afscred->ticket.length, &enc_part->data,
  			&enc_part->length)) {
! 		afs_com_err(rn, 0, "Can't unwrap %s AFS credential",
  		    cellconfig->name);
  		KLOGEXIT(1);
  	    }
***************
*** 712,718 ****
  	    k5_to_k4_name(k5context, afscred->client, aclient);
  	    code = whoami(atoken, cellconfig, aclient, &viceid);
  	    if (code) {
! 		com_err(rn, code, "Can't get your viceid", cellconfig->name);
  		*aclient->name = 0;
  	    } else
  		snprintf(aclient->name, MAXKTCNAMELEN-1, "AFS ID %d", viceid);
--- 714,720 ----
  	    k5_to_k4_name(k5context, afscred->client, aclient);
  	    code = whoami(atoken, cellconfig, aclient, &viceid);
  	    if (code) {
! 		afs_com_err(rn, code, "Can't get your viceid", cellconfig->name);
  		*aclient->name = 0;
  	    } else
  		snprintf(aclient->name, MAXKTCNAMELEN-1, "AFS ID %d", viceid);
***************
*** 721,727 ****
  	    k5_to_k4_name(k5context, afscred->client, aclient);
  	code = ktc_SetToken(aserver, atoken, aclient, dosetpag);
  	if (code) {
! 	    com_err(rn, code, "Unable to store tokens for cell %s\n",
  		cellconfig->name);
  	    KLOGEXIT(1);
  	}
--- 723,729 ----
  	    k5_to_k4_name(k5context, afscred->client, aclient);
  	code = ktc_SetToken(aserver, atoken, aclient, dosetpag);
  	if (code) {
! 	    afs_com_err(rn, code, "Unable to store tokens for cell %s\n",
  		cellconfig->name);
  	    KLOGEXIT(1);
  	}
Index: openafs/src/auth/ktc.c
diff -c openafs/src/auth/ktc.c:1.16.8.7 openafs/src/auth/ktc.c:1.16.8.8
*** openafs/src/auth/ktc.c:1.16.8.7	Thu Nov  1 12:09:32 2007
--- openafs/src/auth/ktc.c	Thu Nov  8 09:23:29 2007
***************
*** 17,23 ****
  #endif
  
  RCSID
!     ("$Header: /cvs/openafs/src/auth/ktc.c,v 1.16.8.7 2007/11/01 16:09:32 shadow Exp $");
  
  #if defined(UKERNEL)
  #include "afs/sysincludes.h"
--- 17,23 ----
  #endif
  
  RCSID
!     ("$Header: /cvs/openafs/src/auth/ktc.c,v 1.16.8.8 2007/11/08 14:23:29 shadow Exp $");
  
  #if defined(UKERNEL)
  #include "afs/sysincludes.h"
***************
*** 1610,1622 ****
  static afs_uint32
  curpag(void)
  {
- #if defined(AFS_AIX51_ENV)
-     afs_int32 pag;
- 
-     if (kcred_getpag(cred, PAG_AFS, &pag) < 0 || pag == 0)
-         pag = NOPAG;
-     return pag;
- #else
      gid_t groups[NGROUPS_MAX];
      afs_uint32 g0, g1;
      afs_uint32 h, l, ret;
--- 1610,1615 ----
***************
*** 1640,1646 ****
  	    return -1;
      }
      return -1;
- #endif
  }
  
  int
--- 1633,1638 ----
Index: openafs/src/bozo/bosserver.c
diff -c openafs/src/bozo/bosserver.c:1.32.2.6 openafs/src/bozo/bosserver.c:1.32.2.7
*** openafs/src/bozo/bosserver.c:1.32.2.6	Wed Oct 31 00:21:14 2007
--- openafs/src/bozo/bosserver.c	Mon Nov 26 16:08:40 2007
***************
*** 11,17 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/bozo/bosserver.c,v 1.32.2.6 2007/10/31 04:21:14 shadow Exp $");
  
  #include <afs/stds.h>
  #include <sys/types.h>
--- 11,17 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/bozo/bosserver.c,v 1.32.2.7 2007/11/26 21:08:40 shadow Exp $");
  
  #include <afs/stds.h>
  #include <sys/types.h>
***************
*** 1068,1073 ****
--- 1068,1074 ----
      rx_SetMinProcs(tservice, 2);
      rx_SetMaxProcs(tservice, 4);
      rx_StartServer(1);		/* donate this process */
+     return 0;
  }
  
  void
Index: openafs/src/bu_utils/fms.c
diff -c openafs/src/bu_utils/fms.c:1.7.14.1 openafs/src/bu_utils/fms.c:1.7.14.2
*** openafs/src/bu_utils/fms.c:1.7.14.1	Wed Oct 31 00:09:24 2007
--- openafs/src/bu_utils/fms.c	Mon Nov 26 16:08:41 2007
***************
*** 11,17 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/bu_utils/fms.c,v 1.7.14.1 2007/10/31 04:09:24 shadow Exp $");
  
  #undef	IN
  #include <stdio.h>
--- 11,17 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/bu_utils/fms.c,v 1.7.14.2 2007/11/26 21:08:41 shadow Exp $");
  
  #undef	IN
  #include <stdio.h>
***************
*** 69,74 ****
--- 69,75 ----
      cmd_AddParm(cptr, "-tape", CMD_SINGLE, CMD_REQUIRED, "tape special file");
  
      cmd_Dispatch(argc, argv);
+     return 0;
  }
  
  static int
Index: openafs/src/bucoord/commands.c
diff -c openafs/src/bucoord/commands.c:1.18.2.5 openafs/src/bucoord/commands.c:1.18.2.6
*** openafs/src/bucoord/commands.c:1.18.2.5	Wed Oct 31 00:09:24 2007
--- openafs/src/bucoord/commands.c	Mon Nov 26 16:08:41 2007
***************
*** 11,17 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/bucoord/commands.c,v 1.18.2.5 2007/10/31 04:09:24 shadow Exp $");
  
  #include <afs/stds.h>
  #if defined(AFS_LINUX24_ENV)
--- 11,17 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/bucoord/commands.c,v 1.18.2.6 2007/11/26 21:08:41 shadow Exp $");
  
  #include <afs/stds.h>
  #if defined(AFS_LINUX24_ENV)
***************
*** 765,771 ****
  /* printIfStatus
   *	print out an interface status node as received from butc
   */
! 
  printIfStatus(statusPtr)
       struct tciStatusS *statusPtr;
  {
--- 765,772 ----
  /* printIfStatus
   *	print out an interface status node as received from butc
   */
!  
! void
  printIfStatus(statusPtr)
       struct tciStatusS *statusPtr;
  {
Index: openafs/src/bucoord/dsstub.c
diff -c openafs/src/bucoord/dsstub.c:1.7.6.1 openafs/src/bucoord/dsstub.c:1.7.6.2
*** openafs/src/bucoord/dsstub.c:1.7.6.1	Thu Jan  4 22:32:24 2007
--- openafs/src/bucoord/dsstub.c	Mon Nov 26 16:08:41 2007
***************
*** 15,21 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/bucoord/dsstub.c,v 1.7.6.1 2007/01/05 03:32:24 shadow Exp $");
  
  #include <sys/types.h>
  #include <afs/cmd.h>
--- 15,21 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/bucoord/dsstub.c,v 1.7.6.2 2007/11/26 21:08:41 shadow Exp $");
  
  #include <sys/types.h>
  #include <afs/cmd.h>
***************
*** 26,31 ****
--- 26,33 ----
  #include <netinet/in.h>
  #include <netdb.h>
  #endif
+ #include <stdio.h>
+ #include <string.h>
  #include <dirent.h>
  #include <afs/afsutil.h>
  #include <afs/budb.h>
Index: openafs/src/bucoord/dsvs.c
diff -c openafs/src/bucoord/dsvs.c:1.10.6.1 openafs/src/bucoord/dsvs.c:1.10.6.2
*** openafs/src/bucoord/dsvs.c:1.10.6.1	Thu Jan  4 22:32:24 2007
--- openafs/src/bucoord/dsvs.c	Mon Nov 26 16:08:41 2007
***************
*** 19,25 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/bucoord/dsvs.c,v 1.10.6.1 2007/01/05 03:32:24 shadow Exp $");
  
  #include <sys/types.h>
  #include <afs/cmd.h>
--- 19,25 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/bucoord/dsvs.c,v 1.10.6.2 2007/11/26 21:08:41 shadow Exp $");
  
  #include <sys/types.h>
  #include <afs/cmd.h>
***************
*** 44,49 ****
--- 44,51 ----
  extern struct bc_volumeSet *bc_FindVolumeSet(struct bc_config *cf,
  					     char *name);
  
+ static FreeVolumeEntryList();
+ static FreeVolumeEntry();
  
  /* Code to maintain dump schedule and volume set abstractions.
   * A volume set looks like this:
Index: openafs/src/bucoord/dump.c
diff -c openafs/src/bucoord/dump.c:1.13.6.2 openafs/src/bucoord/dump.c:1.13.6.3
*** openafs/src/bucoord/dump.c:1.13.6.2	Tue Apr 10 14:39:50 2007
--- openafs/src/bucoord/dump.c	Mon Nov 26 16:08:41 2007
***************
*** 15,21 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/bucoord/dump.c,v 1.13.6.2 2007/04/10 18:39:50 shadow Exp $");
  
  #include <sys/types.h>
  #include <afs/cmd.h>
--- 15,21 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/bucoord/dump.c,v 1.13.6.3 2007/11/26 21:08:41 shadow Exp $");
  
  #include <sys/types.h>
  #include <afs/cmd.h>
***************
*** 178,183 ****
--- 178,184 ----
   *	free the list of volumes used for dumps
   */
  
+ void
  freeDumpTaskVolumeList(vdptr)
       struct bc_volumeDump *vdptr;
  {
Index: openafs/src/bucoord/dump_sched.c
diff -c openafs/src/bucoord/dump_sched.c:1.9.6.4 openafs/src/bucoord/dump_sched.c:1.9.6.5
*** openafs/src/bucoord/dump_sched.c:1.9.6.4	Wed Oct 31 00:09:24 2007
--- openafs/src/bucoord/dump_sched.c	Mon Nov 26 16:08:41 2007
***************
*** 12,22 ****
   */
  
  #include <sys/types.h>
  #include <afsconfig.h>
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/bucoord/dump_sched.c,v 1.9.6.4 2007/10/31 04:09:24 shadow Exp $");
  
  #ifdef AFS_NT40_ENV
  #include <winsock2.h>
--- 12,24 ----
   */
  
  #include <sys/types.h>
+ #include <stdio.h>
+ #include <string.h>
  #include <afsconfig.h>
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/bucoord/dump_sched.c,v 1.9.6.5 2007/11/26 21:08:41 shadow Exp $");
  
  #ifdef AFS_NT40_ENV
  #include <winsock2.h>
***************
*** 43,48 ****
--- 45,51 ----
  extern struct udbHandleS udbHandle;
  extern char *whoami;
  
+ static ListDumpSchedule();
  
  /* ------------------------------------
   * command level routines
Index: openafs/src/bucoord/regex.c
diff -c openafs/src/bucoord/regex.c:1.5 openafs/src/bucoord/regex.c:1.5.6.1
*** openafs/src/bucoord/regex.c:1.5	Sun Apr  3 14:48:16 2005
--- openafs/src/bucoord/regex.c	Mon Nov 26 16:08:41 2007
***************
*** 93,98 ****
--- 93,102 ----
  static char expbuf[ESIZE], *braslist[NBRA], *braelist[NBRA];
  static char circf;
  
+ static int advance();
+ static int backref();
+ static int cclass();
+ 
  /*
   * compile the regular expression argument into a dfa
   */
Index: openafs/src/bucoord/restore.c
diff -c openafs/src/bucoord/restore.c:1.10.6.6 openafs/src/bucoord/restore.c:1.10.6.7
*** openafs/src/bucoord/restore.c:1.10.6.6	Tue Oct 16 12:58:41 2007
--- openafs/src/bucoord/restore.c	Mon Nov 26 16:08:41 2007
***************
*** 15,21 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/bucoord/restore.c,v 1.10.6.6 2007/10/16 16:58:41 jaltman Exp $");
  
  #include <afs/stds.h>
  #include <sys/types.h>
--- 15,21 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/bucoord/restore.c,v 1.10.6.7 2007/11/26 21:08:41 shadow Exp $");
  
  #include <afs/stds.h>
  #include <sys/types.h>
***************
*** 131,136 ****
--- 131,137 ----
      return (atol(sptr));
  }
  
+ void
  viceName(value)
       long value;
  {
Index: openafs/src/bucoord/status.c
diff -c openafs/src/bucoord/status.c:1.7.14.1 openafs/src/bucoord/status.c:1.7.14.2
*** openafs/src/bucoord/status.c:1.7.14.1	Thu Jan  4 22:32:24 2007
--- openafs/src/bucoord/status.c	Mon Nov 26 16:08:41 2007
***************
*** 11,17 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/bucoord/status.c,v 1.7.14.1 2007/01/05 03:32:24 shadow Exp $");
  
  #include <afs/stds.h>
  #include <sys/types.h>
--- 11,17 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/bucoord/status.c,v 1.7.14.2 2007/11/26 21:08:41 shadow Exp $");
  
  #include <afs/stds.h>
  #include <sys/types.h>
***************
*** 38,43 ****
--- 38,44 ----
   * These routines are common the backup coordinator and tape coordinator
   */
  
+ void
  initStatus()
  {
      dlqInit(&statusHead);
***************
*** 47,67 ****
--- 48,72 ----
  
  /* lock managment */
  
+ void
  lock_Status()
  {
      ObtainWriteLock(&statusQueueLock);
  }
  
+ void
  unlock_Status()
  {
      ReleaseWriteLock(&statusQueueLock);
  }
  
+ void
  lock_cmdLine()
  {
      ObtainWriteLock(&cmdLineLock);
  }
  
+ void
  unlock_cmdLine()
  {
      ReleaseWriteLock(&cmdLineLock);
***************
*** 109,114 ****
--- 114,120 ----
      return (ptr);
  }
  
+ void
  deleteStatusNode(ptr)
       statusP ptr;
  {
Index: openafs/src/bucoord/vol_sets.c
diff -c openafs/src/bucoord/vol_sets.c:1.11.6.4 openafs/src/bucoord/vol_sets.c:1.11.6.5
*** openafs/src/bucoord/vol_sets.c:1.11.6.4	Wed Oct 31 00:09:24 2007
--- openafs/src/bucoord/vol_sets.c	Mon Nov 26 16:08:41 2007
***************
*** 11,17 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/bucoord/vol_sets.c,v 1.11.6.4 2007/10/31 04:09:24 shadow Exp $");
  
  #include <afs/stds.h>
  #include <sys/types.h>
--- 11,17 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/bucoord/vol_sets.c,v 1.11.6.5 2007/11/26 21:08:41 shadow Exp $");
  
  #include <afs/stds.h>
  #include <sys/types.h>
***************
*** 41,46 ****
--- 41,47 ----
  extern struct bc_volumeSet *bc_FindVolumeSet(struct bc_config *cf, char *name);
  extern void FreeVolumeSet(struct bc_volumeSet *avset);
  
+ static ListVolSet();
  
  /* ------------------------------------
   * command level routines
Index: openafs/src/budb/db_dump.c
diff -c openafs/src/budb/db_dump.c:1.7.14.1 openafs/src/budb/db_dump.c:1.7.14.2
*** openafs/src/budb/db_dump.c:1.7.14.1	Tue Oct 30 11:16:37 2007
--- openafs/src/budb/db_dump.c	Mon Nov 26 16:08:41 2007
***************
*** 16,22 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/budb/db_dump.c,v 1.7.14.1 2007/10/30 15:16:37 shadow Exp $");
  
  #ifdef AFS_NT40_ENV
  #include <winsock2.h>
--- 16,22 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/budb/db_dump.c,v 1.7.14.2 2007/11/26 21:08:41 shadow Exp $");
  
  #ifdef AFS_NT40_ENV
  #include <winsock2.h>
***************
*** 93,98 ****
--- 93,99 ----
   *	no return value
   */
  
+ void
  haveWritten(nbytes)
       afs_int32 nbytes;
  {
***************
*** 114,119 ****
--- 115,121 ----
   *	done flag.
   */
  
+ void
  doneWriting(error)
       afs_int32 error;
  {
Index: openafs/src/budb/db_text.c
diff -c openafs/src/budb/db_text.c:1.12.4.2 openafs/src/budb/db_text.c:1.12.4.3
*** openafs/src/budb/db_text.c:1.12.4.2	Tue Oct 30 11:16:37 2007
--- openafs/src/budb/db_text.c	Mon Nov 26 16:08:41 2007
***************
*** 11,17 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/budb/db_text.c,v 1.12.4.2 2007/10/30 15:16:37 shadow Exp $");
  
  #ifdef AFS_NT40_ENV
  #include <winsock2.h>
--- 11,17 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/budb/db_text.c,v 1.12.4.3 2007/11/26 21:08:41 shadow Exp $");
  
  #ifdef AFS_NT40_ENV
  #include <winsock2.h>
***************
*** 483,489 ****
  }
  
  /* debug support */
! 
  saveTextToFile(ut, tbPtr)
       struct ubik_trans *ut;
       struct textBlock *tbPtr;
--- 483,489 ----
  }
  
  /* debug support */
! void
  saveTextToFile(ut, tbPtr)
       struct ubik_trans *ut;
       struct textBlock *tbPtr;
Index: openafs/src/budb/server.c
diff -c openafs/src/budb/server.c:1.16.2.6 openafs/src/budb/server.c:1.16.2.7
*** openafs/src/budb/server.c:1.16.2.6	Wed Oct 31 00:09:25 2007
--- openafs/src/budb/server.c	Mon Nov 26 16:08:41 2007
***************
*** 11,17 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/budb/server.c,v 1.16.2.6 2007/10/31 04:09:25 shadow Exp $");
  
  #include <fcntl.h>
  #include <sys/stat.h>
--- 11,17 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/budb/server.c,v 1.16.2.7 2007/11/26 21:08:41 shadow Exp $");
  
  #include <fcntl.h>
  #include <sys/stat.h>
***************
*** 134,139 ****
--- 134,140 ----
   *	initialize all the supported commands and their arguments
   */
  
+ void
  initializeArgHandler()
  {
      struct cmd_syndesc *cptr;
***************
*** 590,596 ****
      return (code);
  }
  
! 
  consistencyCheckDb()
  {
      /* do consistency checks on structure sizes */
--- 591,597 ----
      return (code);
  }
  
! void
  consistencyCheckDb()
  {
      /* do consistency checks on structure sizes */
Index: openafs/src/budb/struct_ops.c
diff -c openafs/src/budb/struct_ops.c:1.8 openafs/src/budb/struct_ops.c:1.8.2.1
*** openafs/src/budb/struct_ops.c:1.8	Tue Apr  4 16:51:16 2006
--- openafs/src/budb/struct_ops.c	Mon Nov 26 16:08:41 2007
***************
*** 11,17 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/budb/struct_ops.c,v 1.8 2006/04/04 20:51:16 shadow Exp $");
  
  #include <stdio.h>
  #ifdef AFS_NT40_ENV
--- 11,17 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/budb/struct_ops.c,v 1.8.2.1 2007/11/26 21:08:41 shadow Exp $");
  
  #include <stdio.h>
  #ifdef AFS_NT40_ENV
***************
*** 107,112 ****
--- 107,113 ----
   *	print the hash table structure, i.e. the header structure.
   */
  
+ void
  printHashTable(fid, htptr)
       FILE *fid;
       struct hashTable *htptr;
***************
*** 311,316 ****
--- 312,318 ----
   *	currently used for debug only
   */
  
+ void
  volFragment_ntoh(netVfPtr, hostVfPtr)
       struct volFragment *netVfPtr, *hostVfPtr;
  {
***************
*** 327,332 ****
--- 329,335 ----
      hostVfPtr->sequence = ntohs(netVfPtr->sequence);
  }
  
+ void
  volInfo_ntoh(netViPtr, hostViPtr)
       struct volInfo *netViPtr, *hostViPtr;
  {
***************
*** 342,347 ****
--- 345,351 ----
      hostViPtr->nFrags = ntohl(netViPtr->nFrags);
  }
  
+ void
  tape_ntoh(netTapePtr, hostTapePtr)
       struct tape *netTapePtr, *hostTapePtr;
  {
***************
*** 363,368 ****
--- 367,373 ----
      hostTapePtr->useCount = ntohl(netTapePtr->useCount);
  }
  
+ void
  dump_ntoh(netDumpPtr, hostDumpPtr)
       struct dump *netDumpPtr, *hostDumpPtr;
  {
***************
*** 385,390 ****
--- 390,396 ----
      principal_ntoh(&netDumpPtr->dumper, &hostDumpPtr->dumper);
  }
  
+ void
  DbHeader_ntoh(netptr, hostptr)
       struct DbHeader *netptr, *hostptr;
  {
***************
*** 396,401 ****
--- 402,408 ----
      hostptr->lastTapeId = ntohl(netptr->lastTapeId);
  }
  
+ void
  dumpEntry_ntoh(netptr, hostptr)
       struct budb_dumpEntry *netptr, *hostptr;
  {
***************
*** 434,439 ****
--- 441,447 ----
      return 0;
  }
  
+ void
  structDumpHeader_hton(hostPtr, netPtr)
       struct structDumpHeader *hostPtr, *netPtr;
  {
***************
*** 442,447 ****
--- 450,456 ----
      netPtr->size = htonl(hostPtr->size);
  }
  
+ void
  structDumpHeader_ntoh(netPtr, hostPtr)
       struct structDumpHeader *hostPtr, *netPtr;
  {
***************
*** 450,455 ****
--- 459,465 ----
      hostPtr->size = ntohl(netPtr->size);
  }
  
+ void
  tapeEntry_ntoh(netptr, hostptr)
       struct budb_tapeEntry *netptr, *hostptr;
  {
***************
*** 494,499 ****
--- 504,510 ----
      return 0;
  }
  
+ void
  textBlock_hton(hostptr, netptr)
       struct textBlock *hostptr, *netptr;
  {
***************
*** 504,509 ****
--- 515,521 ----
      netptr->newTextAddr = htonl(hostptr->newTextAddr);
  }
  
+ void
  textBlock_ntoh(netptr, hostptr)
       struct textBlock *netptr, *hostptr;
  {
***************
*** 514,519 ****
--- 526,532 ----
      hostptr->newTextAddr = ntohl(netptr->newTextAddr);
  }
  
+ void
  textLock_hton(hostptr, netptr)
       db_lockP hostptr, netptr;
  {
***************
*** 525,530 ****
--- 538,544 ----
      netptr->lockHost = htonl(hostptr->lockHost);
  }
  
+ void
  textLock_ntoh(netptr, hostptr)
       db_lockP netptr, hostptr;
  {
***************
*** 536,541 ****
--- 550,556 ----
      hostptr->lockHost = ntohl(netptr->lockHost);
  }
  
+ void
  volumeEntry_ntoh(netptr, hostptr)
       struct budb_volumeEntry *netptr, *hostptr;
  {
***************
*** 562,568 ****
   * -------------------------------------
   */
  
! 
  copy_ktcPrincipal_to_budbPrincipal(ktcPtr, budbPtr)
       struct ktc_principal *ktcPtr;
       struct budb_principal *budbPtr;
--- 577,583 ----
   * -------------------------------------
   */
  
! void
  copy_ktcPrincipal_to_budbPrincipal(ktcPtr, budbPtr)
       struct ktc_principal *ktcPtr;
       struct budb_principal *budbPtr;
***************
*** 666,669 ****
--- 681,685 ----
      tapesetPtr->a = 1;
      tapesetPtr->b = 1;
      tapesetPtr->maxTapes = 0;
+     return 0;
  }
Index: openafs/src/butc/dbentries.c
diff -c openafs/src/butc/dbentries.c:1.8.14.2 openafs/src/butc/dbentries.c:1.8.14.3
*** openafs/src/butc/dbentries.c:1.8.14.2	Tue Oct 30 11:16:38 2007
--- openafs/src/butc/dbentries.c	Mon Nov 26 16:08:41 2007
***************
*** 11,17 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/butc/dbentries.c,v 1.8.14.2 2007/10/30 15:16:38 shadow Exp $");
  
  #include <sys/types.h>
  #ifdef AFS_NT40_ENV
--- 11,17 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/butc/dbentries.c,v 1.8.14.3 2007/11/26 21:08:41 shadow Exp $");
  
  #include <sys/types.h>
  #ifdef AFS_NT40_ENV
***************
*** 310,315 ****
--- 310,316 ----
      if (message) {
  	printf("Updating database - done\n");
      }
+     return 0;
  }
  
  #define MAXVOLUMESTOADD 100
Index: openafs/src/butc/lwps.c
diff -c openafs/src/butc/lwps.c:1.14.4.2 openafs/src/butc/lwps.c:1.14.4.3
*** openafs/src/butc/lwps.c:1.14.4.2	Tue Oct 30 11:16:38 2007
--- openafs/src/butc/lwps.c	Mon Nov 26 16:08:41 2007
***************
*** 11,17 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/butc/lwps.c,v 1.14.4.2 2007/10/30 15:16:38 shadow Exp $");
  
  #include <sys/types.h>
  #include <string.h>
--- 11,17 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/butc/lwps.c,v 1.14.4.3 2007/11/26 21:08:41 shadow Exp $");
  
  #include <sys/types.h>
  #include <string.h>
***************
*** 547,552 ****
--- 547,553 ----
   *     Regardless of error, the closecallout routine will be called
   *     (unless a tape is not mounted in the first place).
   */
+ void
  unmountTape(taskId, tapeInfoPtr)
       afs_int32 taskId;
       struct butm_tapeInfo *tapeInfoPtr;
***************
*** 1923,1928 ****
--- 1924,1930 ----
  
  /* this is just scaffolding, creates new tape label with name <tapeName> */
  
+ void
  GetNewLabel(tapeInfoPtr, pName, AFSName, tapeLabel)
       struct butm_tapeInfo *tapeInfoPtr;
       char *pName, *AFSName;
***************
*** 2284,2289 ****
--- 2286,2292 ----
   *	print out the tape label.
   */
  
+ void
  PrintTapeLabel(labelptr)
       struct butm_tapeLabel *labelptr;
  {
Index: openafs/src/butc/read_tape.c
diff -c openafs/src/butc/read_tape.c:1.7.14.2 openafs/src/butc/read_tape.c:1.7.14.3
*** openafs/src/butc/read_tape.c:1.7.14.2	Wed Oct 31 00:09:25 2007
--- openafs/src/butc/read_tape.c	Mon Nov 26 16:08:41 2007
***************
*** 11,17 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/butc/read_tape.c,v 1.7.14.2 2007/10/31 04:09:25 shadow Exp $");
  
  #include <afs/cmd.h>
  #include <lock.h>
--- 11,17 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/butc/read_tape.c,v 1.7.14.3 2007/11/26 21:08:41 shadow Exp $");
  
  #include <afs/cmd.h>
  #include <lock.h>
***************
*** 82,87 ****
--- 82,88 ----
      return 0;
  }
  
+ void
  printLabel(tapeLabelPtr)
       struct tapeLabel *tapeLabelPtr;
  {
***************
*** 130,135 ****
--- 131,137 ----
      }
  }
  
+ void
  printHeader(headerPtr, isvolheader)
       struct volumeHeader *headerPtr;
       afs_int32 *isvolheader;
Index: openafs/src/butc/recoverDb.c
diff -c openafs/src/butc/recoverDb.c:1.13.4.2 openafs/src/butc/recoverDb.c:1.13.4.3
*** openafs/src/butc/recoverDb.c:1.13.4.2	Tue Oct 30 11:16:38 2007
--- openafs/src/butc/recoverDb.c	Mon Nov 26 16:08:41 2007
***************
*** 11,17 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/butc/recoverDb.c,v 1.13.4.2 2007/10/30 15:16:38 shadow Exp $");
  
  #include <stdio.h>
  #ifdef AFS_NT40_ENV
--- 11,17 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/butc/recoverDb.c,v 1.13.4.3 2007/11/26 21:08:41 shadow Exp $");
  
  #include <stdio.h>
  #ifdef AFS_NT40_ENV
***************
*** 52,57 ****
--- 52,59 ----
  extern struct tapeConfig globalTapeConfig;
  extern struct deviceSyncNode *deviceLatch;
  
+ static readDump();
+ 
  /* PrintDumpLabel
   *	print out the tape (dump) label.
   */
Index: openafs/src/butc/tcprocs.c
diff -c openafs/src/butc/tcprocs.c:1.14.6.3 openafs/src/butc/tcprocs.c:1.14.6.4
*** openafs/src/butc/tcprocs.c:1.14.6.3	Tue Oct 30 11:16:38 2007
--- openafs/src/butc/tcprocs.c	Mon Nov 26 16:08:41 2007
***************
*** 13,19 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/butc/tcprocs.c,v 1.14.6.3 2007/10/30 15:16:38 shadow Exp $");
  
  #include <sys/types.h>
  #include <errno.h>
--- 13,19 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/butc/tcprocs.c,v 1.14.6.4 2007/11/26 21:08:41 shadow Exp $");
  
  #include <sys/types.h>
  #include <errno.h>
***************
*** 42,47 ****
--- 42,52 ----
  #include "error_macros.h"
  #include "butc_xbsa.h"
  
+ static CopyDumpDesc();
+ static CopyRestoreDesc();
+ static CopyTapeSetDesc();
+ 
+ 
  int
  callPermitted(struct rx_call *call)
  {
***************
*** 139,145 ****
      PROCESS pid;
  #endif
      struct labelTapeIf *ptr;
!     statusP statusPtr;
      afs_int32 code;
  
      extern int Labeller();
--- 144,150 ----
      PROCESS pid;
  #endif
      struct labelTapeIf *ptr;
!     statusP statusPtr = NULL;
      afs_int32 code;
  
      extern int Labeller();
***************
*** 487,493 ****
  #else
      PROCESS pid;
  #endif
!     statusP statusPtr;
      afs_int32 code = 0;
      struct saveDbIf *ptr;
  
--- 492,498 ----
  #else
      PROCESS pid;
  #endif
!     statusP statusPtr = NULL;
      afs_int32 code = 0;
      struct saveDbIf *ptr;
  
Index: openafs/src/butc/tcudbprocs.c
diff -c openafs/src/butc/tcudbprocs.c:1.15.6.3 openafs/src/butc/tcudbprocs.c:1.15.6.4
*** openafs/src/butc/tcudbprocs.c:1.15.6.3	Tue Oct 30 11:16:38 2007
--- openafs/src/butc/tcudbprocs.c	Mon Nov 26 16:08:41 2007
***************
*** 11,17 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/butc/tcudbprocs.c,v 1.15.6.3 2007/10/30 15:16:38 shadow Exp $");
  
  #include <sys/types.h>
  #ifdef AFS_NT40_ENV
--- 11,17 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/butc/tcudbprocs.c,v 1.15.6.4 2007/11/26 21:08:41 shadow Exp $");
  
  #include <sys/types.h>
  #ifdef AFS_NT40_ENV
***************
*** 52,57 ****
--- 52,61 ----
  extern int dump_namecheck;
  extern int autoQuery;
  
+ static void initTapeBuffering();
+ static writeDbDump();
+ static restoreDbEntries();
+ 
  /* CreateDBDump
   *      create a dump entry for a saved database 
   */
***************
*** 905,911 ****
  }
  
  static afs_int32 nbytes = 0;	/* # bytes left in buffer */
! static
  initTapeBuffering()
  {
      nbytes = 0;
--- 909,915 ----
  }
  
  static afs_int32 nbytes = 0;	/* # bytes left in buffer */
! static void
  initTapeBuffering()
  {
      nbytes = 0;
Index: openafs/src/butm/file_tm.c
diff -c openafs/src/butm/file_tm.c:1.12.6.2 openafs/src/butm/file_tm.c:1.12.6.3
*** openafs/src/butm/file_tm.c:1.12.6.2	Tue Oct 30 11:16:38 2007
--- openafs/src/butm/file_tm.c	Mon Nov 26 16:08:42 2007
***************
*** 11,17 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/butm/file_tm.c,v 1.12.6.2 2007/10/30 15:16:38 shadow Exp $");
  
  #ifdef AFS_NT40_ENV
  #include <winsock2.h>
--- 11,17 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/butm/file_tm.c,v 1.12.6.3 2007/11/26 21:08:42 shadow Exp $");
  
  #ifdef AFS_NT40_ENV
  #include <winsock2.h>
***************
*** 627,632 ****
--- 627,633 ----
   *	dataSize - bytes used on the tape
   */
  
+ void
  incSize(info, dataSize)
       struct butm_tapeInfo *info;
       afs_uint32 dataSize;
***************
*** 648,653 ****
--- 649,655 ----
   *	dataSize - bytes used on the tape
   */
  
+ void
  incPosition(info, fid, dataSize)
       struct butm_tapeInfo *info;
       usd_handle_t fid;
Index: openafs/src/cf/kerberos.m4
diff -c openafs/src/cf/kerberos.m4:1.7.2.4 openafs/src/cf/kerberos.m4:1.7.2.5
*** openafs/src/cf/kerberos.m4:1.7.2.4	Mon Nov  5 17:10:49 2007
--- openafs/src/cf/kerberos.m4	Fri Nov 23 08:59:34 2007
***************
*** 1,5 ****
  dnl
! dnl $Id: kerberos.m4,v 1.7.2.4 2007/11/05 22:10:49 shadow Exp $
  dnl
  dnl Kerberos autoconf glue
  dnl
--- 1,5 ----
  dnl
! dnl $Id: kerberos.m4,v 1.7.2.5 2007/11/23 13:59:34 shadow Exp $
  dnl
  dnl Kerberos autoconf glue
  dnl
***************
*** 58,64 ****
  	CPPFLAGS="$CPPFLAGS $KRB5CFLAGS"
  	save_LIBS="$LIBS"
  	LIBS="$LIBS $KRB5LIBS"
! 	AC_CHECK_FUNCS([add_to_error_table add_error_table krb5_princ_size krb5_principal_get_comp_string encode_krb5_enc_tkt_part encode_krb5_ticket krb5_c_encrypt krb5_c_encrypt_length])
  	AC_CHECK_FUNCS([krb5_524_convert_creds], ,
  	    [AC_CHECK_FUNCS([krb524_convert_creds_kdc], ,
  		[AC_CHECK_LIB([krb524], [krb524_convert_creds_kdc],
--- 58,64 ----
  	CPPFLAGS="$CPPFLAGS $KRB5CFLAGS"
  	save_LIBS="$LIBS"
  	LIBS="$LIBS $KRB5LIBS"
! 	AC_CHECK_FUNCS([add_to_error_table add_error_table krb5_princ_size krb5_principal_get_comp_string encode_krb5_enc_tkt_part encode_krb5_ticket krb5_c_encrypt krb5_c_encrypt_length krb5_cc_register])
  	AC_CHECK_FUNCS([krb5_524_convert_creds], ,
  	    [AC_CHECK_FUNCS([krb524_convert_creds_kdc], ,
  		[AC_CHECK_LIB([krb524], [krb524_convert_creds_kdc],
***************
*** 103,108 ****
--- 103,112 ----
  	LIBS="$save_LIBS"
  fi
  
+ if test "x$ac_cv_krb5_cc_register_exists" = "xyes"; then
+         AC_DEFINE(HAVE_KRB5_CC_REGISTER, 1, [define if krb5_cc_register exists])
+ fi
+ 
  AC_SUBST(BUILD_KRB5)
  AC_SUBST(KRB5CFLAGS)
  AC_SUBST(KRB5LIBS)
Index: openafs/src/cf/linux-test1.m4
diff -c openafs/src/cf/linux-test1.m4:1.6.4.5 openafs/src/cf/linux-test1.m4:1.6.4.8
*** openafs/src/cf/linux-test1.m4:1.6.4.5	Fri Feb  9 13:27:54 2007
--- openafs/src/cf/linux-test1.m4	Sat Dec  8 12:46:09 2007
***************
*** 2,10 ****
  #                 [ACTION-IF-SUCCESS], [ACTION-IF-FAILURE])
  #
  AC_DEFUN([AC_TRY_KBUILD26],[  rm -fr conftest.dir
    if mkdir conftest.dir &&
      cat >conftest.dir/Makefile <<_ACEOF &&
! CFLAGS += $CPPFLAGS
  
  obj-m += conftest.o
  _ACEOF
--- 2,13 ----
  #                 [ACTION-IF-SUCCESS], [ACTION-IF-FAILURE])
  #
  AC_DEFUN([AC_TRY_KBUILD26],[  rm -fr conftest.dir
+   if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+     CFLAGS_PREFIX='EXTRA_'
+   fi
    if mkdir conftest.dir &&
      cat >conftest.dir/Makefile <<_ACEOF &&
! ${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
  
  obj-m += conftest.o
  _ACEOF
***************
*** 24,31 ****
  
  MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
  _ACEOF
!     echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&AS_MESSAGE_LOG_FD
!     make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&AS_MESSAGE_LOG_FD 2>conftest.err
      then [$3]
      else
        sed '/^ *+/d' conftest.err >&AS_MESSAGE_LOG_FD
--- 27,35 ----
  
  MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
  _ACEOF
!     echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&AS_MESSAGE_LOG_FD &&
!     make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&AS_MESSAGE_LOG_FD 2>conftest.err &&
!     ! grep "^WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
      then [$3]
      else
        sed '/^ *+/d' conftest.err >&AS_MESSAGE_LOG_FD
***************
*** 42,49 ****
  #
  AC_DEFUN([AC_TRY_KBUILD24], [
    ac_save_CPPFLAGS="$CPPFLAGS"
!   CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS"
!   AC_TRY_COMPILE([$1], [$2], [$3], [$4])
    CPPFLAGS="$ac_save_CPPFLAGS"])
  
  
--- 46,55 ----
  #
  AC_DEFUN([AC_TRY_KBUILD24], [
    ac_save_CPPFLAGS="$CPPFLAGS"
!   CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
!   AC_TRY_COMPILE([
! #include <linux/kernel.h>
! $1], [$2], [$3], [$4])
    CPPFLAGS="$ac_save_CPPFLAGS"])
  
  
***************
*** 65,67 ****
--- 71,86 ----
      [],:,AC_MSG_RESULT(no)
      AC_MSG_FAILURE([Fix problem or use --disable-kernel-module...]))
    AC_MSG_RESULT(yes)])
+ 
+ AC_DEFUN([LINUX_KBUILD_USES_EXTRA_CFLAGS], [
+   AC_MSG_CHECKING([if linux kbuild requires EXTRA_CFLAGS])
+   save_CPPFLAGS="$CPPFLAGS"
+   CPPFLAGS=-Wall
+   AC_TRY_KBUILD(
+ [#include <linux/sched.h>
+ #include <linux/fs.h>],
+     [],
+     ac_linux_kbuild_requires_extra_cflags=no,
+     ac_linux_kbuild_requires_extra_cflags=yes)
+     CPPFLAGS="$save_CPPFLAGS"
+     AC_MSG_RESULT($ac_linux_kbuild_requires_extra_cflags)])
Index: openafs/src/cf/linux-test4.m4
diff -c openafs/src/cf/linux-test4.m4:1.29.2.29 openafs/src/cf/linux-test4.m4:1.29.2.31
*** openafs/src/cf/linux-test4.m4:1.29.2.29	Tue Nov  6 13:32:40 2007
--- openafs/src/cf/linux-test4.m4	Sat Dec  8 12:46:09 2007
***************
*** 933,935 ****
--- 933,978 ----
        ac_cv_linux_fs_struct_fop_has_splice=no)])
    AC_MSG_RESULT($ac_cv_linux_fs_struct_fop_has_splice)])
  
+ AC_DEFUN([LINUX_KEY_TYPE_H_EXISTS], [
+   AC_MSG_CHECKING([whether linux/key-type.h exists])
+   AC_CACHE_VAL([ac_cv_linux_key_type_h_exists], [
+     AC_TRY_KBUILD(
+ [#include <linux/key-type.h>],
+ [return;],
+       ac_cv_linux_key_type_h_exists=yes,
+       ac_cv_linux_key_type_h_exists=no)])
+   AC_MSG_RESULT($ac_cv_linux_key_type_h_exists)])
+ 
+ AC_DEFUN([LINUX_HAVE_CURRENT_KERNEL_TIME], [
+   AC_MSG_CHECKING([for current_kernel_time()])
+   AC_CACHE_VAL([ac_cv_linux_have_current_kernel_time], [
+     AC_TRY_KBUILD(
+ [#include <linux/time.h>],
+ [struct timespec s = current_kernel_time();],
+       ac_cv_linux_have_current_kernel_time=yes,
+       ac_cv_linux_have_current_kernel_time=no)])
+   AC_MSG_RESULT($ac_cv_linux_have_current_kernel_time)])
+ 
+ AC_DEFUN([LINUX_KMEM_CACHE_INIT], [
+   AC_MSG_CHECKING([for new kmem_cache init function parameters])
+   AC_CACHE_VAL([ac_cv_linux_kmem_cache_init], [
+     AC_TRY_KBUILD(
+ [#include <linux/slab.h>],
+ [extern struct kmem_cache *kmem_cache_create(const char *, size_t, size_t,
+                         unsigned long,
+                         void (*)(struct kmem_cache *, void *));
+ return;],
+       ac_cv_linux_kmem_cache_init=yes,
+       ac_cv_linux_kmem_cache_init=no)])
+   AC_MSG_RESULT($ac_cv_linux_kmem_cache_init)])
+ 
+ AC_DEFUN([LINUX_SYSCTL_TABLE_CHECKING], [
+   AC_MSG_CHECKING([for sysctl table checking])
+   AC_CACHE_VAL([ac_cv_linux_sysctl_table_checking], [
+     AC_TRY_KBUILD(
+ [#include <linux/sysctl.h>],
+ [ sysctl_check_table(NULL);],
+       ac_cv_linux_sysctl_table_checking=yes,
+       ac_cv_linux_sysctl_table_checking=no)])
+   AC_MSG_RESULT($ac_cv_linux_sysctl_table_checking)])
+ 
Index: openafs/src/cf/osconf.m4
diff -c openafs/src/cf/osconf.m4:1.83.2.5 openafs/src/cf/osconf.m4:1.83.2.6
*** openafs/src/cf/osconf.m4:1.83.2.5	Thu Nov  1 13:07:31 2007
--- openafs/src/cf/osconf.m4	Mon Nov 12 13:28:35 2007
***************
*** 18,23 ****
--- 18,25 ----
  DBG=-g
  OPTMZ=-O
  LWP_DBG=-g
+ NO_STRIP_BIN=-ns
+ NO_STRIP_KRB=-ns
  LWP_OPTMZ=-O
  PAM_DBG=-g
  PAM_OPTMZ=
***************
*** 1051,1056 ****
--- 1053,1060 ----
  
  if test "x$enable_debug" = "xno"; then
    DBG=
+   NO_STRIP_BIN=
+   NO_STRIP_KRB=-s
  fi
  
  if test "x$enable_optimize" = "xno"; then
***************
*** 1065,1070 ****
--- 1069,1087 ----
    LWP_OPTMZ=
  fi
  
+ if test "x$enable_strip_binaries" != "xno"; then
+   if test "x$enable_strip_binaries" = "xmaybe" -a "x$enable_debug" = "xyes"; then
+     NO_STRIP_BIN=-ns
+     NO_STRIP_KRB=-ns
+   else
+     NO_STRIP_BIN=
+     NO_STRIP_KRB=-s
+   fi
+ else
+   NO_STRIP_BIN=-ns
+   NO_STRIP_KRB=-ns
+ fi
+ 
  AC_SUBST(CCXPG2)
  AC_SUBST(CCOBJ)
  AC_SUBST(AFSD_LIBS)
***************
*** 1085,1090 ****
--- 1102,1109 ----
  AC_SUBST(MT_CFLAGS)
  AC_SUBST(MT_LIBS)
  AC_SUBST(MV)
+ AC_SUBST(NO_STRIP_BIN)
+ AC_SUBST(NO_STRIP_KRB)
  AC_SUBST(OPTMZ)
  AC_SUBST(PAM_CFLAGS)
  AC_SUBST(PAM_LIBS)
Index: openafs/src/config/Makefile.config.in
diff -c openafs/src/config/Makefile.config.in:1.12.2.1 openafs/src/config/Makefile.config.in:1.12.2.2
*** openafs/src/config/Makefile.config.in:1.12.2.1	Fri Oct 19 20:23:45 2007
--- openafs/src/config/Makefile.config.in	Mon Nov 12 13:28:35 2007
***************
*** 58,63 ****
--- 58,65 ----
  MT_CFLAGS = @MT_CFLAGS@
  MT_LIBS = @MT_LIBS@
  MV = @MV@
+ NO_STRIP_BIN = @NO_STRIP_BIN@
+ NO_STRIP_KRB = @NO_STRIP_KRB@
  OPTMZ = @OPTMZ@
  PAM_CFLAGS = @PAM_CFLAGS@
  PAM_LIBS = @PAM_LIBS@
***************
*** 116,122 ****
  # Build helper apps
  #
  COMPILE_ET = ${TOP_OBJDIR}/src/comerr/compile_et
! INSTALL = ${TOP_OBJDIR}/src/pinstall/pinstall
  INSTALLex = ${INSTALL} -m 755
  RXGEN = ${TOP_OBJDIR}/src/rxgen/rxgen
  SHELL = /bin/sh
--- 118,124 ----
  # Build helper apps
  #
  COMPILE_ET = ${TOP_OBJDIR}/src/comerr/compile_et
! INSTALL = ${TOP_OBJDIR}/src/pinstall/pinstall ${NO_STRIP_BIN}
  INSTALLex = ${INSTALL} -m 755
  RXGEN = ${TOP_OBJDIR}/src/rxgen/rxgen
  SHELL = /bin/sh
Index: openafs/src/config/NTMakefile.amd64_w2k
diff -c openafs/src/config/NTMakefile.amd64_w2k:1.24.2.32 openafs/src/config/NTMakefile.amd64_w2k:1.24.2.33
*** openafs/src/config/NTMakefile.amd64_w2k:1.24.2.32	Tue Nov  6 21:55:33 2007
--- openafs/src/config/NTMakefile.amd64_w2k	Fri Dec  7 10:57:04 2007
***************
*** 84,90 ****
  #define used in WinNT/2000 installation and program version display
  AFSPRODUCT_VER_MAJOR=1
  AFSPRODUCT_VER_MINOR=5
! AFSPRODUCT_VER_PATCH=2700
  AFSPRODUCT_VER_BUILD=0
  
  AFSPRODUCT_VERSION=$(AFSPRODUCT_VER_MAJOR).$(AFSPRODUCT_VER_MINOR).$(AFSPRODUCT_VER_PATCH)
--- 84,90 ----
  #define used in WinNT/2000 installation and program version display
  AFSPRODUCT_VER_MAJOR=1
  AFSPRODUCT_VER_MINOR=5
! AFSPRODUCT_VER_PATCH=2800
  AFSPRODUCT_VER_BUILD=0
  
  AFSPRODUCT_VERSION=$(AFSPRODUCT_VER_MAJOR).$(AFSPRODUCT_VER_MINOR).$(AFSPRODUCT_VER_PATCH)
Index: openafs/src/config/NTMakefile.i386_nt40
diff -c openafs/src/config/NTMakefile.i386_nt40:1.84.2.31 openafs/src/config/NTMakefile.i386_nt40:1.84.2.32
*** openafs/src/config/NTMakefile.i386_nt40:1.84.2.31	Tue Nov  6 21:55:33 2007
--- openafs/src/config/NTMakefile.i386_nt40	Fri Dec  7 10:57:04 2007
***************
*** 84,90 ****
  #define used in WinNT/2000 installation and program version display
  AFSPRODUCT_VER_MAJOR=1
  AFSPRODUCT_VER_MINOR=5
! AFSPRODUCT_VER_PATCH=2700
  AFSPRODUCT_VER_BUILD=0
  
  AFSPRODUCT_VERSION=$(AFSPRODUCT_VER_MAJOR).$(AFSPRODUCT_VER_MINOR).$(AFSPRODUCT_VER_PATCH)
--- 84,90 ----
  #define used in WinNT/2000 installation and program version display
  AFSPRODUCT_VER_MAJOR=1
  AFSPRODUCT_VER_MINOR=5
! AFSPRODUCT_VER_PATCH=2800
  AFSPRODUCT_VER_BUILD=0
  
  AFSPRODUCT_VERSION=$(AFSPRODUCT_VER_MAJOR).$(AFSPRODUCT_VER_MINOR).$(AFSPRODUCT_VER_PATCH)
Index: openafs/src/config/NTMakefile.i386_w2k
diff -c openafs/src/config/NTMakefile.i386_w2k:1.23.2.32 openafs/src/config/NTMakefile.i386_w2k:1.23.2.33
*** openafs/src/config/NTMakefile.i386_w2k:1.23.2.32	Tue Nov  6 21:55:33 2007
--- openafs/src/config/NTMakefile.i386_w2k	Fri Dec  7 10:57:04 2007
***************
*** 84,90 ****
  #define used in WinNT/2000 installation and program version display
  AFSPRODUCT_VER_MAJOR=1
  AFSPRODUCT_VER_MINOR=5
! AFSPRODUCT_VER_PATCH=2700
  AFSPRODUCT_VER_BUILD=0
  
  AFSPRODUCT_VERSION=$(AFSPRODUCT_VER_MAJOR).$(AFSPRODUCT_VER_MINOR).$(AFSPRODUCT_VER_PATCH)
--- 84,90 ----
  #define used in WinNT/2000 installation and program version display
  AFSPRODUCT_VER_MAJOR=1
  AFSPRODUCT_VER_MINOR=5
! AFSPRODUCT_VER_PATCH=2800
  AFSPRODUCT_VER_BUILD=0
  
  AFSPRODUCT_VERSION=$(AFSPRODUCT_VER_MAJOR).$(AFSPRODUCT_VER_MINOR).$(AFSPRODUCT_VER_PATCH)
Index: openafs/src/config/param.amd64_nbsd30.h
diff -c /dev/null openafs/src/config/param.amd64_nbsd30.h:1.1.2.2
*** /dev/null	Sun Dec  9 18:54:55 2007
--- openafs/src/config/param.amd64_nbsd30.h	Sat Dec  1 00:42:44 2007
***************
*** 0 ****
--- 1,21 ----
+ #ifndef AFS_AMD64_PARAM_H
+ #define AFS_AMD64_PARAM_H
+ 
+ #define AFS_X86_XBSD_ENV 1
+ #define AFS_X86_ENV 1
+ #define AFSLITTLE_ENDIAN 1
+ 
+ #define SYS_NAME       "amd64_nbsd30"
+ #define SYS_NAME_ID    SYS_NAME_ID_amd64_nbsd30
+ 
+ #define AFS_64BITPOINTER_ENV  1
+ #ifndef UKERNEL
+ /* This section for kernel libafs compiles only */
+ 
+ #else /* !defined(UKERNEL) */
+ 
+ /* This section for user space compiles only */
+ 
+ #endif /* !defined(UKERNEL) */
+ 
+ #endif /* AFS_AMD64_PARAM_H */
Index: openafs/src/config/param.amd64_nbsd40.h
diff -c /dev/null openafs/src/config/param.amd64_nbsd40.h:1.1.2.2
*** /dev/null	Sun Dec  9 18:54:55 2007
--- openafs/src/config/param.amd64_nbsd40.h	Sat Dec  1 00:42:44 2007
***************
*** 0 ****
--- 1,21 ----
+ #ifndef AFS_AMD64_PARAM_H
+ #define AFS_AMD64_PARAM_H
+ 
+ #define AFS_X86_XBSD_ENV 1
+ #define AFS_X86_ENV 1
+ #define AFSLITTLE_ENDIAN 1
+ 
+ #define SYS_NAME       "amd64_nbsd40"
+ #define SYS_NAME_ID    SYS_NAME_ID_amd64_nbsd40
+ 
+ #define AFS_64BITPOINTER_ENV  1
+ #ifndef UKERNEL
+ /* This section for kernel libafs compiles only */
+ 
+ #else /* !defined(UKERNEL) */
+ 
+ /* This section for user space compiles only */
+ 
+ #endif /* !defined(UKERNEL) */
+ 
+ #endif /* AFS_AMD64_PARAM_H */
Index: openafs/src/config/param.nbsd30.h
diff -c openafs/src/config/param.nbsd30.h:1.1 openafs/src/config/param.nbsd30.h:1.1.10.1
*** openafs/src/config/param.nbsd30.h:1.1	Thu Jan 13 20:07:50 2005
--- openafs/src/config/param.nbsd30.h	Sat Dec  1 00:42:44 2007
***************
*** 21,26 ****
--- 21,27 ----
  #define AFS_NBSD15_ENV 1
  #define AFS_NBSD16_ENV 1
  #define AFS_NBSD20_ENV 1
+ #define AFS_NBSD30_ENV 1
  #define AFS_NONFSTRANS 1
  #define AFS_KERBEROS_ENV 1
  
Index: openafs/src/config/param.nbsd40.h
diff -c /dev/null openafs/src/config/param.nbsd40.h:1.1.2.2
*** /dev/null	Sun Dec  9 18:54:55 2007
--- openafs/src/config/param.nbsd40.h	Sat Dec  1 00:42:44 2007
***************
*** 0 ****
--- 1,160 ----
+ /* NetBSD shared section */
+ 
+ #ifndef	AFS_PARAM_COMMON_H
+ #define	AFS_PARAM_COMMON_H 1
+ 
+ #define AFS_64BIT_ENV  1
+ #define AFS_NAMEI_ENV  1	/* User space interface to file system */
+ #define AFS_64BIT_IOPS_ENV 1	/* Needed for NAMEI */
+ #define AFS_64BIT_CLIENT 1
+ 
+ #define AFS_MOUNT_AFS "afs"	/* The name of the filesystem type. */
+ #define AFS_SYSCALL 210
+ 
+ #ifndef	MOUNT_AFS
+ #define	MOUNT_AFS AFS_MOUNT_AFS
+ #endif
+ 
+ #define AFS_XBSD_ENV 1		/* {Free,Open,Net}BSD */
+ 
+ #define AFS_NBSD_ENV 1
+ #define AFS_NBSD15_ENV 1
+ #define AFS_NBSD16_ENV 1
+ #define AFS_NBSD20_ENV 1
+ #define AFS_NBSD30_ENV 1
+ #define AFS_NBSD40_ENV 1
+ #define AFS_NONFSTRANS 1
+ #define AFS_KERBEROS_ENV 1
+ 
+ #define AFS_VFSINCL_ENV 1
+ 
+ #define AFS_HAVE_FFS            1	/* Use system's ffs. */
+ 
+ #if	!defined(ASSEMBLER) && !defined(__LANGUAGE_ASSEMBLY__) && !defined(IGNORE_STDS_H)
+ #define AFS_HAVE_STATVFS    1	/* System supports statvfs */
+ #endif
+ 
+ #ifndef UKERNEL
+ 
+ #if	!defined(ASSEMBLER) && !defined(__LANGUAGE_ASSEMBLY__) && !defined(IGNORE_STDS_H)
+ #include <sys/param.h>
+ #endif
+ 
+ #define FTRUNC O_TRUNC
+ 
+ #define IUPD 0x0010
+ #define IACC 0x0020
+ #define ICHG 0x0040
+ #define IMOD 0x0080
+ 
+ #define IN_LOCK(ip)     lockmgr(&ip->i_lock, LK_EXCLUSIVE, \
+                                 NULL, curproc)
+ #define IN_UNLOCK(ip)   lockmgr(&ip->i_lock, LK_RELEASE, \
+                                 NULL, curproc)
+ 
+ #include <afs/afs_sysnames.h>
+ 
+ #define AFS_VM_RDWR_ENV	1
+ #define AFS_VFS_ENV	1
+ #define AFS_GREEDY43_ENV	1
+ 
+ #define AFS_GCPAGS	        0	/* if nonzero, garbage collect PAGs */
+ #define AFS_USE_GETTIMEOFDAY    1	/* use gettimeofday to implement rx clock */
+ 
+ /* Extra kernel definitions (from kdefs file) */
+ #ifdef _KERNEL
+ #define AFS_GLOBAL_SUNLOCK        1
+ #define	AFS_VFS34	1	/* What is VFS34??? */
+ #define	AFS_SHORTGID	1	/* are group id's short? */
+ #define	afsio_iov	uio_iov
+ #define	afsio_iovcnt	uio_iovcnt
+ #define	afsio_offset	uio_offset
+ #define	afsio_seg	uio_segflg
+ #define	afsio_resid	uio_resid
+ #define	AFS_UIOSYS	UIO_SYSSPACE
+ #define	AFS_UIOUSER	UIO_USERSPACE
+ #define	AFS_CLBYTES	CLBYTES
+ #define	osi_GetTime(x)	microtime(x)
+ #define	AFS_KALLOC(x)	kalloc(x)
+ #define	AFS_KFREE(x,y)	kfree(x,y)
+ #define	v_count		v_usecount
+ #define v_vfsp		v_mount
+ #define vfs_bsize	mnt_stat.f_bsize
+ #define vfs_fsid	mnt_stat.f_fsid
+ #define va_nodeid	va_fileid
+ #define vfs_vnodecovered mnt_vnodecovered
+ #define direct		dirent
+ #define vnode_t		struct vnode
+ 
+ #ifndef MUTEX_DEFAULT
+ #define MUTEX_DEFAULT   0
+ #endif /* MUTEX_DEFAULT */
+ 
+ #ifndef SSYS
+ #define SSYS            0x00002
+ #endif /* SSYS */
+ 
+ #define p_rcred         p_ucred
+ 
+ #define	VN_RELE(vp)	vrele(((struct vnode *)(vp)))
+ #define	VN_HOLD(vp)	VREF(((struct vnode *)(vp)))
+ 
+ #if	!defined(ASSEMBLER) && !defined(__LANGUAGE_ASSEMBLY__) && !defined(IGNORE_STDS_H)
+ enum vcexcl { NONEXCL, EXCL };
+ 
+ #ifdef KERNEL
+ #ifndef MIN
+ #define MIN(A,B) ((A) < (B) ? (A) : (B))
+ #endif
+ #ifndef MAX
+ #define MAX(A,B) ((A) > (B) ? (A) : (B))
+ #endif
+ #endif /* KERNEL */
+ 
+ #endif /* ! ASSEMBLER & ! __LANGUAGE_ASSEMBLY__ && !defined(IGNORE_STDS_H) */ 
+ #endif /* _KERNEL */
+ 
+ #else /* !defined(UKERNEL) */
+ 
+ 
+ /* This section for user space compiles only */
+ 
+ #define UKERNEL			1	/* user space kernel */
+ 
+ #include <afs/afs_sysnames.h>
+ 
+ #define AFS_USERSPACE_IP_ADDR 1
+ #define RXK_LISTENER_ENV      1
+ #define AFS_GCPAGS	      0	/* if nonzero, garbage collect PAGs */
+ 
+ #define	afsio_iov	uio_iov
+ #define	afsio_iovcnt	uio_iovcnt
+ #define	afsio_offset	uio_offset
+ #define	afsio_seg	uio_segflg
+ #define	afsio_fmode	uio_fmode
+ #define	afsio_resid	uio_resid
+ #define	AFS_UIOSYS	UIO_SYSSPACE
+ #define	AFS_UIOUSER	UIO_USERSPACE
+ #define	AFS_CLBYTES	MCLBYTES
+ #define	AFS_MINCHANGE	2
+ #define	VATTR_NULL	usr_vattr_null
+ 
+ #define AFS_DIRENT
+ #ifndef CMSERVERPREF
+ #define CMSERVERPREF
+ #endif
+ 
+ #if	!defined(ASSEMBLER) && !defined(__LANGUAGE_ASSEMBLY__) && !defined(IGNORE_STDS_H)
+ #include <limits.h>
+ #include <sys/param.h>
+ #include <sys/types.h>
+ #include <sys/mount.h>
+ #include <sys/fcntl.h>
+ #include <netinet/in.h>
+ #include <sys/uio.h>
+ #include <sys/socket.h>
+ #endif
+ 
+ #endif /* !defined(UKERNEL) */
+ 
+ #endif /* AFS_PARAM_COMMON_H */
Index: openafs/src/gtx/frame.c
diff -c openafs/src/gtx/frame.c:1.7.14.1 openafs/src/gtx/frame.c:1.7.14.2
*** openafs/src/gtx/frame.c:1.7.14.1	Tue Oct 30 11:16:39 2007
--- openafs/src/gtx/frame.c	Mon Nov 26 16:08:42 2007
***************
*** 12,18 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/gtx/frame.c,v 1.7.14.1 2007/10/30 15:16:39 shadow Exp $");
  
  #ifdef AFS_HPUX_ENV
  #include <sys/types.h>
--- 12,18 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/gtx/frame.c,v 1.7.14.2 2007/11/26 21:08:42 shadow Exp $");
  
  #ifdef AFS_HPUX_ENV
  #include <sys/types.h>
***************
*** 318,323 ****
--- 318,324 ----
      if (aframe->messageLine)
  	free(aframe->messageLine);
      aframe->messageLine = gtx_CopyString(amsgLine);
+     return 0;
  }
  
  /* Called by input processor to try to clear the dude */
Index: openafs/src/gtx/gtxtest.c
diff -c openafs/src/gtx/gtxtest.c:1.7.4.1 openafs/src/gtx/gtxtest.c:1.7.4.2
*** openafs/src/gtx/gtxtest.c:1.7.4.1	Tue Oct 30 11:16:39 2007
--- openafs/src/gtx/gtxtest.c	Mon Nov 26 16:08:42 2007
***************
*** 11,17 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/gtx/gtxtest.c,v 1.7.4.1 2007/10/30 15:16:39 shadow Exp $");
  
  #include <string.h>
  
--- 11,17 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/gtx/gtxtest.c,v 1.7.4.2 2007/11/26 21:08:42 shadow Exp $");
  
  #include <string.h>
  
***************
*** 246,249 ****
--- 246,250 ----
      keymap_Delete(tmap);
  
      gtx_InputServer(win);
+     return 0;
  }
Index: openafs/src/gtx/input.c
diff -c openafs/src/gtx/input.c:1.7 openafs/src/gtx/input.c:1.7.14.1
*** openafs/src/gtx/input.c:1.7	Tue Jul 15 19:15:12 2003
--- openafs/src/gtx/input.c	Mon Nov 26 16:08:42 2007
***************
*** 12,18 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/gtx/input.c,v 1.7 2003/07/15 23:15:12 shadow Exp $");
  
  #ifdef AFS_HPUX_ENV
  #include <sys/types.h>
--- 12,18 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/gtx/input.c,v 1.7.14.1 2007/11/26 21:08:42 shadow Exp $");
  
  #ifdef AFS_HPUX_ENV
  #include <sys/types.h>
***************
*** 61,66 ****
--- 61,67 ----
  	tframe->flags &= ~GTXFRAME_RECURSIVEEND;
  	WOP_DISPLAY(awin);	/* eventually calls gtxframe_Display */
      }
+     return 0;
  }
  
  struct gwin *
Index: openafs/src/gtx/textobject.c
diff -c openafs/src/gtx/textobject.c:1.6.14.1 openafs/src/gtx/textobject.c:1.6.14.2
*** openafs/src/gtx/textobject.c:1.6.14.1	Tue Oct 30 11:16:39 2007
--- openafs/src/gtx/textobject.c	Mon Nov 26 16:08:42 2007
***************
*** 16,22 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/gtx/textobject.c,v 1.6.14.1 2007/10/30 15:16:39 shadow Exp $");
  
  #include "gtxtextobj.h"		/*Interface for this module */
  #include "gtxwindows.h"		/*Gator window interface */
--- 16,22 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/gtx/textobject.c,v 1.6.14.2 2007/11/26 21:08:42 shadow Exp $");
  
  #include "gtxtextobj.h"		/*Interface for this module */
  #include "gtxwindows.h"		/*Gator window interface */
***************
*** 363,369 ****
       * the window empty.
       */
      if (objects_debug)
! 	fprintf(stderr, "[%s:%s] Scrolling text object at 0x%x %d lines %s\n",
  		mn, rn, nlines,
  		(direction == GATOR_TEXT_SCROLL_UP) ? "UP" : "DOWN");
  
--- 363,369 ----
       * the window empty.
       */
      if (objects_debug)
! 	fprintf(stderr, "[%s:%s] Scrolling text object %d lines %s\n",
  		mn, rn, nlines,
  		(direction == GATOR_TEXT_SCROLL_UP) ? "UP" : "DOWN");
  
***************
*** 454,460 ****
      if (objects_debug) {
  	fprintf(stderr,
  		"[%s:%s] Writing %d chars to text object at 0x%x (highlight=%d, skip=%d: '",
! 		rn, numChars, onp, highlight, skip);
  	for (i = 0; i < numChars; i++)
  	    fprintf(stderr, "%c", strToWrite + i);
  	fprintf(stderr, "\n");
--- 454,460 ----
      if (objects_debug) {
  	fprintf(stderr,
  		"[%s:%s] Writing %d chars to text object at 0x%x (highlight=%d, skip=%d: '",
! 		mn, rn, numChars, onp, highlight, skip);
  	for (i = 0; i < numChars; i++)
  	    fprintf(stderr, "%c", strToWrite + i);
  	fprintf(stderr, "\n");
Index: openafs/src/kauth/Makefile.in
diff -c openafs/src/kauth/Makefile.in:1.12.8.3 openafs/src/kauth/Makefile.in:1.12.8.4
*** openafs/src/kauth/Makefile.in:1.12.8.3	Thu Nov  1 12:02:29 2007
--- openafs/src/kauth/Makefile.in	Mon Nov 12 13:28:35 2007
***************
*** 249,285 ****
  	${DESTDIR}${includedir}/afs/kaport.h
  
  ${DESTDIR}${afssrvlibexecdir}/kaserver: kaserver
! 	${INSTALL} -s $? $@
  
  ${DESTDIR}${sbindir}/kas: kas
! 	${INSTALL} -s $? $@
  
  ${DESTDIR}${sbindir}/kpwvalid: kpwvalid
  	${INSTALL} $? $@
  
  ${DESTDIR}${afssrvsbindir}/kas: kas
! 	${INSTALL} -s $? $@
  
  ${DESTDIR}${afssrvsbindir}/kpwvalid: kpwvalid
  	${INSTALL} $? $@
  
  ${DESTDIR}${bindir}/klog: klog
! 	${INSTALL} -s $? $@
  
  ${DESTDIR}${bindir}/klog.krb: klog.krb
! 	${INSTALL} -s $? $@
  
  ${DESTDIR}${afssrvbindir}/klog: klog
! 	${INSTALL} -s $? $@
  
  ${DESTDIR}${afssrvbindir}/klog.krb: klog.krb
! 	${INSTALL} -s $? $@
  
  ${DESTDIR}${bindir}/knfs: knfs
! 	${INSTALL} -s $? $@
  
  ${DESTDIR}${bindir}/kpasswd: kpasswd
! 	${INSTALL} -s $? $@
  
  ${DESTDIR}${bindir}/kpwvalid: kpwvalid
  	${INSTALL} $? $@
--- 249,285 ----
  	${DESTDIR}${includedir}/afs/kaport.h
  
  ${DESTDIR}${afssrvlibexecdir}/kaserver: kaserver
! 	${INSTALL} $? $@
  
  ${DESTDIR}${sbindir}/kas: kas
! 	${INSTALL} $? $@
  
  ${DESTDIR}${sbindir}/kpwvalid: kpwvalid
  	${INSTALL} $? $@
  
  ${DESTDIR}${afssrvsbindir}/kas: kas
! 	${INSTALL} $? $@
  
  ${DESTDIR}${afssrvsbindir}/kpwvalid: kpwvalid
  	${INSTALL} $? $@
  
  ${DESTDIR}${bindir}/klog: klog
! 	${INSTALL} $? $@
  
  ${DESTDIR}${bindir}/klog.krb: klog.krb
! 	${INSTALL} ${NO_STRIP_KRB} $? $@
  
  ${DESTDIR}${afssrvbindir}/klog: klog
! 	${INSTALL} $? $@
  
  ${DESTDIR}${afssrvbindir}/klog.krb: klog.krb
! 	${INSTALL} ${NO_STRIP_KRB} $? $@
  
  ${DESTDIR}${bindir}/knfs: knfs
! 	${INSTALL} $? $@
  
  ${DESTDIR}${bindir}/kpasswd: kpasswd
! 	${INSTALL} $? $@
  
  ${DESTDIR}${bindir}/kpwvalid: kpwvalid
  	${INSTALL} $? $@
***************
*** 294,300 ****
  	${INSTALL} -f $? $@
  
  ${DESTDIR}${afssrvsbindir}/kdb: kdb
! 	${INSTALL} -s $? $@
  
  ${DESTDIR}${afssrvsbindir}/ka-forwarder: ka-forwarder
  	${INSTALL} $? $@
--- 294,300 ----
  	${INSTALL} -f $? $@
  
  ${DESTDIR}${afssrvsbindir}/kdb: kdb
! 	${INSTALL} $? $@
  
  ${DESTDIR}${afssrvsbindir}/ka-forwarder: ka-forwarder
  	${INSTALL} $? $@
***************
*** 331,355 ****
  	${DEST}/include/afs/kaport.h
  
  ${DEST}/root.server/usr/afs/bin/kaserver: kaserver
! 	${INSTALL} -s $? $@
  
  ${DEST}/etc/kas ${DEST}/root.server/usr/afs/bin/kas: kas 
! 	${INSTALL} -s $? $@
  
  ${DEST}/bin/kpwvalid ${DEST}/etc/kpwvalid ${DEST}/root.server/usr/afs/bin/kpwvalid: kpwvalid 
  	${INSTALL} $? $@
  
  ${DEST}/bin/klog ${DEST}/root.server/usr/afs/bin/klog: klog 
! 	${INSTALL} -s $? $@
  
  ${DEST}/bin/klog.krb ${DEST}/root.server/usr/afs/bin/klog.krb: klog.krb 
! 	${INSTALL} -s $? $@
  
  ${DEST}/bin/knfs: knfs 
! 	${INSTALL} -s $? $@
  
  ${DEST}/bin/kpasswd: kpasswd 
! 	${INSTALL} -s $? $@
  
  ${DEST}/lib/afs/libkauth.a: libkauth.a 
  	${INSTALL} $? $@
--- 331,355 ----
  	${DEST}/include/afs/kaport.h
  
  ${DEST}/root.server/usr/afs/bin/kaserver: kaserver
! 	${INSTALL} $? $@
  
  ${DEST}/etc/kas ${DEST}/root.server/usr/afs/bin/kas: kas 
! 	${INSTALL} $? $@
  
  ${DEST}/bin/kpwvalid ${DEST}/etc/kpwvalid ${DEST}/root.server/usr/afs/bin/kpwvalid: kpwvalid 
  	${INSTALL} $? $@
  
  ${DEST}/bin/klog ${DEST}/root.server/usr/afs/bin/klog: klog 
! 	${INSTALL} $? $@
  
  ${DEST}/bin/klog.krb ${DEST}/root.server/usr/afs/bin/klog.krb: klog.krb 
! 	${INSTALL} ${NO_STRIP_KRB} $? $@
  
  ${DEST}/bin/knfs: knfs 
! 	${INSTALL} $? $@
  
  ${DEST}/bin/kpasswd: kpasswd 
! 	${INSTALL} $? $@
  
  ${DEST}/lib/afs/libkauth.a: libkauth.a 
  	${INSTALL} $? $@
***************
*** 361,367 ****
  	${INSTALL} -f $? $@
  
  ${DEST}/etc/kdb: kdb 
! 	${INSTALL} -s $? $@
  
  ${DEST}/root.server/usr/afs/bin/ka-forwarder: ka-forwarder
  	${INSTALL} $? $@
--- 361,367 ----
  	${INSTALL} -f $? $@
  
  ${DEST}/etc/kdb: kdb 
! 	${INSTALL} $? $@
  
  ${DEST}/root.server/usr/afs/bin/ka-forwarder: ka-forwarder
  	${INSTALL} $? $@
Index: openafs/src/kauth/authclient.c
diff -c openafs/src/kauth/authclient.c:1.18.8.3 openafs/src/kauth/authclient.c:1.18.8.4
*** openafs/src/kauth/authclient.c:1.18.8.3	Tue Oct 30 11:16:39 2007
--- openafs/src/kauth/authclient.c	Mon Nov 26 15:39:46 2007
***************
*** 17,23 ****
  #endif
  
  RCSID
!     ("$Header: /cvs/openafs/src/kauth/authclient.c,v 1.18.8.3 2007/10/30 15:16:39 shadow Exp $");
  
  #if defined(UKERNEL)
  #include "afs/sysincludes.h"
--- 17,23 ----
  #endif
  
  RCSID
!     ("$Header: /cvs/openafs/src/kauth/authclient.c,v 1.18.8.4 2007/11/26 20:39:46 shadow Exp $");
  
  #if defined(UKERNEL)
  #include "afs/sysincludes.h"
***************
*** 553,567 ****
  
      version = 2;
      code =
! 	kawrap_ubik_Call(KAA_AuthenticateV2, conn, 0, name, instance, start,
! 			 end, &arequest, &oanswer);
      if (code == RXGEN_OPCODE) {
  	oanswer.MaxSeqLen = sizeof(answer);
  	oanswer.SeqBody = (char *)&answer;
  	version = 1;
  	code =
  	    ubik_Call(KAA_Authenticate, conn, 0, name, instance, start, end,
! 		      &arequest, &oanswer);
  	if (code == RXGEN_OPCODE) {
  	    extern int KAA_Authenticate_old();
  	    oanswer.MaxSeqLen = sizeof(answer_old);
--- 553,567 ----
  
      version = 2;
      code =
! 	kawrap_ubik_Call(KAA_AuthenticateV2, conn, 0, name, instance,
! 			 start, end, &arequest, &oanswer, 0, 0);
      if (code == RXGEN_OPCODE) {
  	oanswer.MaxSeqLen = sizeof(answer);
  	oanswer.SeqBody = (char *)&answer;
  	version = 1;
  	code =
  	    ubik_Call(KAA_Authenticate, conn, 0, name, instance, start, end,
! 		      &arequest, &oanswer, 0, 0);
  	if (code == RXGEN_OPCODE) {
  	    extern int KAA_Authenticate_old();
  	    oanswer.MaxSeqLen = sizeof(answer_old);
Index: openafs/src/kauth/kadatabase.c
diff -c openafs/src/kauth/kadatabase.c:1.11.8.1 openafs/src/kauth/kadatabase.c:1.11.8.2
*** openafs/src/kauth/kadatabase.c:1.11.8.1	Tue Oct 30 11:16:39 2007
--- openafs/src/kauth/kadatabase.c	Mon Nov 26 16:08:42 2007
***************
*** 11,17 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/kauth/kadatabase.c,v 1.11.8.1 2007/10/30 15:16:39 shadow Exp $");
  
  #include <sys/types.h>
  #ifdef AFS_NT40_ENV
--- 11,17 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/kauth/kadatabase.c,v 1.11.8.2 2007/11/26 21:08:42 shadow Exp $");
  
  #include <sys/types.h>
  #ifdef AFS_NT40_ENV
***************
*** 107,112 ****
--- 107,113 ----
  static afs_int32 maxKeyLifetime;
  static int dbfixup = 0;
  
+ void
  init_kadatabase(initFlags)
       int initFlags;		/* same as init_kaprocs (see which) */
  {
Index: openafs/src/kauth/kdb.c
diff -c openafs/src/kauth/kdb.c:1.8.8.1 openafs/src/kauth/kdb.c:1.8.8.2
*** openafs/src/kauth/kdb.c:1.8.8.1	Wed Oct 31 00:09:30 2007
--- openafs/src/kauth/kdb.c	Mon Nov 26 16:08:42 2007
***************
*** 11,17 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/kauth/kdb.c,v 1.8.8.1 2007/10/31 04:09:30 shadow Exp $");
  
  #include <fcntl.h>
  #include <sys/types.h>
--- 11,17 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/kauth/kdb.c,v 1.8.8.2 2007/11/26 21:08:42 shadow Exp $");
  
  #include <fcntl.h>
  #include <sys/types.h>
***************
*** 129,133 ****
--- 129,134 ----
  main(void)
  {
      printf("kdb not supported\n");
+     return 1;
  }
  #endif
Index: openafs/src/kauth/kkids.c
diff -c openafs/src/kauth/kkids.c:1.7 openafs/src/kauth/kkids.c:1.7.4.1
*** openafs/src/kauth/kkids.c:1.7	Sat Nov  5 01:48:11 2005
--- openafs/src/kauth/kkids.c	Mon Nov 26 16:08:42 2007
***************
*** 16,22 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/kauth/kkids.c,v 1.7 2005/11/05 06:48:11 jaltman Exp $");
  
  #include <stdio.h>
  #include <sys/types.h>
--- 16,22 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/kauth/kkids.c,v 1.7.4.1 2007/11/26 21:08:42 shadow Exp $");
  
  #include <stdio.h>
  #include <sys/types.h>
***************
*** 422,427 ****
--- 422,428 ----
  	argv[1] = NULL;
  	argv[0] = dirpath;
  	execv(dirpath, argv);
+ 	return 0;
      } else {
  	using_child = pid;	/* save it for later */
  	childin = fdopen(pipe1[1], "w");
Index: openafs/src/kauth/kpwvalid.c
diff -c openafs/src/kauth/kpwvalid.c:1.6.14.1 openafs/src/kauth/kpwvalid.c:1.6.14.2
*** openafs/src/kauth/kpwvalid.c:1.6.14.1	Tue Oct 30 11:16:39 2007
--- openafs/src/kauth/kpwvalid.c	Mon Nov 26 16:08:42 2007
***************
*** 11,17 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/kauth/kpwvalid.c,v 1.6.14.1 2007/10/30 15:16:39 shadow Exp $");
  
  #include <stdio.h>
  #include <string.h>
--- 11,17 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/kauth/kpwvalid.c,v 1.6.14.2 2007/11/26 21:08:42 shadow Exp $");
  
  #include <stdio.h>
  #include <string.h>
***************
*** 43,46 ****
--- 43,47 ----
  		fflush(stdout);
  	    }
  	}
+     return rc;
  }
Index: openafs/src/kauth/krb_udp.c
diff -c openafs/src/kauth/krb_udp.c:1.23.14.2 openafs/src/kauth/krb_udp.c:1.23.14.3
*** openafs/src/kauth/krb_udp.c:1.23.14.2	Tue Oct 30 11:16:39 2007
--- openafs/src/kauth/krb_udp.c	Mon Nov 26 16:08:42 2007
***************
*** 16,22 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/kauth/krb_udp.c,v 1.23.14.2 2007/10/30 15:16:39 shadow Exp $");
  
  #include <afs/stds.h>
  #include <sys/types.h>
--- 16,22 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/kauth/krb_udp.c,v 1.23.14.3 2007/11/26 21:08:42 shadow Exp $");
  
  #include <afs/stds.h>
  #include <sys/types.h>
***************
*** 817,823 ****
      return;
  }
  
! static
  SocketListener()
  {
      fd_set rfds;
--- 817,823 ----
      return;
  }
  
! static void
  SocketListener()
  {
      fd_set rfds;
Index: openafs/src/kauth/rebuild.c
diff -c openafs/src/kauth/rebuild.c:1.13.2.3 openafs/src/kauth/rebuild.c:1.13.2.4
*** openafs/src/kauth/rebuild.c:1.13.2.3	Wed Oct 31 00:09:30 2007
--- openafs/src/kauth/rebuild.c	Mon Nov 26 16:08:42 2007
***************
*** 11,17 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/kauth/rebuild.c,v 1.13.2.3 2007/10/31 04:09:30 shadow Exp $");
  
  #include <sys/types.h>
  #include <sys/stat.h>
--- 11,17 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/kauth/rebuild.c,v 1.13.2.4 2007/11/26 21:08:42 shadow Exp $");
  
  #include <sys/types.h>
  #include <sys/stat.h>
***************
*** 217,222 ****
--- 217,223 ----
  }
  
  /* ntohEntry - convert back to host-order */
+ void
  ntohEntry(struct kaentry *entryp)
  {
      entryp->flags = ntohl(entryp->flags);
***************
*** 396,401 ****
--- 397,403 ----
  	afs_com_err(whoami, errno, "reading db got %d bytes", code);
  	exit(3);
      }
+     return 0;
  }
  
  #include "AFS_component_version_number.c"
Index: openafs/src/libadmin/cfg/cfgclient.c
diff -c openafs/src/libadmin/cfg/cfgclient.c:1.6.14.1 openafs/src/libadmin/cfg/cfgclient.c:1.6.14.2
*** openafs/src/libadmin/cfg/cfgclient.c:1.6.14.1	Tue Oct 30 11:16:40 2007
--- openafs/src/libadmin/cfg/cfgclient.c	Mon Nov 26 16:08:42 2007
***************
*** 15,21 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/libadmin/cfg/cfgclient.c,v 1.6.14.1 2007/10/30 15:16:40 shadow Exp $");
  
  #include <afs/stds.h>
  
--- 15,21 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/libadmin/cfg/cfgclient.c,v 1.6.14.2 2007/11/26 21:08:42 shadow Exp $");
  
  #include <afs/stds.h>
  
***************
*** 96,102 ****
      afs_status_t clientSt = 0;
      char *clientCellName = NULL;
      short cmInstalled = 0;
!     unsigned cmVersion;
  
      /* validate parameters */
  
--- 96,102 ----
      afs_status_t clientSt = 0;
      char *clientCellName = NULL;
      short cmInstalled = 0;
!     unsigned cmVersion = 0;
  
      /* validate parameters */
  
Index: openafs/src/libadmin/cfg/cfginternal.c
diff -c openafs/src/libadmin/cfg/cfginternal.c:1.6 openafs/src/libadmin/cfg/cfginternal.c:1.6.14.1
*** openafs/src/libadmin/cfg/cfginternal.c:1.6	Fri Apr  2 01:54:05 2004
--- openafs/src/libadmin/cfg/cfginternal.c	Mon Nov 26 16:08:42 2007
***************
*** 11,17 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/libadmin/cfg/cfginternal.c,v 1.6 2004/04/02 06:54:05 jaltman Exp $");
  
  #include <afs/stds.h>
  
--- 11,17 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/libadmin/cfg/cfginternal.c,v 1.6.14.1 2007/11/26 21:08:42 shadow Exp $");
  
  #include <afs/stds.h>
  
***************
*** 480,487 ****
  {
      int rc = 1;
      afs_status_t tst = 0;
!     int aCount;
!     afs_int32 *aList;
  
  #ifdef AFS_NT40_ENV
      /* Note: gethostbyname() allocs hostent on a per-thread basis */
--- 480,487 ----
  {
      int rc = 1;
      afs_status_t tst = 0;
!     int aCount = 0;
!     afs_int32 *aList = NULL;
  
  #ifdef AFS_NT40_ENV
      /* Note: gethostbyname() allocs hostent on a per-thread basis */
Index: openafs/src/libadmin/samples/rxdebug_conns.c
diff -c openafs/src/libadmin/samples/rxdebug_conns.c:1.6 openafs/src/libadmin/samples/rxdebug_conns.c:1.6.14.1
*** openafs/src/libadmin/samples/rxdebug_conns.c:1.6	Fri Oct 24 02:26:10 2003
--- openafs/src/libadmin/samples/rxdebug_conns.c	Mon Nov 26 16:08:42 2007
***************
*** 17,23 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/libadmin/samples/rxdebug_conns.c,v 1.6 2003/10/24 06:26:10 shadow Exp $");
  
  #ifdef AFS_NT40_ENV
  #include <winsock2.h>
--- 17,23 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/libadmin/samples/rxdebug_conns.c,v 1.6.14.1 2007/11/26 21:08:42 shadow Exp $");
  
  #ifdef AFS_NT40_ENV
  #include <winsock2.h>
***************
*** 69,75 ****
      struct rx_debugConn conn;
      afs_uint32 supportedStats;
      afs_uint32 supportedValues;
!     int allconns;
      int i;
  
      ParseArgs(argc, argv, &srvrName, &srvrPort);
--- 69,75 ----
      struct rx_debugConn conn;
      afs_uint32 supportedStats;
      afs_uint32 supportedValues;
!     int allconns = 1;
      int i;
  
      ParseArgs(argc, argv, &srvrName, &srvrPort);
Index: openafs/src/libafsrpc/Makefile.in
diff -c openafs/src/libafsrpc/Makefile.in:1.36.4.1 openafs/src/libafsrpc/Makefile.in:1.36.4.2
*** openafs/src/libafsrpc/Makefile.in:1.36.4.1	Fri Oct 19 20:23:45 2007
--- openafs/src/libafsrpc/Makefile.in	Sat Nov 10 15:13:39 2007
***************
*** 272,278 ****
  #
  #   $ what /opt/langtools/bin/pxdb32
  #   /opt/langtools/bin/pxdb32:
! #           HP92453-02 A.10.0A HP-UX SYMBOLIC DEBUGGER (PXDB) $Revision: 1.36.4.1 $
  #
  # The problem occurs when -g and -O are both used when compiling des.c.
  # The simplest way to work around the problem is to leave out either -g or -O.
--- 272,278 ----
  #
  #   $ what /opt/langtools/bin/pxdb32
  #   /opt/langtools/bin/pxdb32:
! #           HP92453-02 A.10.0A HP-UX SYMBOLIC DEBUGGER (PXDB) $Revision: 1.36.4.2 $
  #
  # The problem occurs when -g and -O are both used when compiling des.c.
  # The simplest way to work around the problem is to leave out either -g or -O.
***************
*** 380,387 ****
  rxstat.ss.o: ${TOP_OBJDIR}/src/rxstat/rxstat.ss.c
  	${CCRULE} ${TOP_OBJDIR}/src/rxstat/rxstat.ss.c
  
! rxstat.xdr.o: ${TOP_OBJDIR}/src/rxstat//rxstat.xdr.c
! 	${CCRULE} ${TOP_OBJDIR}/src/rxstat//rxstat.xdr.c
  
  afsint.cs.o: ${TOP_OBJDIR}/src/fsint/afsint.cs.c
  	${CCRULE} ${TOP_OBJDIR}/src/fsint/afsint.cs.c
--- 380,387 ----
  rxstat.ss.o: ${TOP_OBJDIR}/src/rxstat/rxstat.ss.c
  	${CCRULE} ${TOP_OBJDIR}/src/rxstat/rxstat.ss.c
  
! rxstat.xdr.o: ${TOP_OBJDIR}/src/rxstat/rxstat.xdr.c
! 	${CCRULE} ${TOP_OBJDIR}/src/rxstat/rxstat.xdr.c
  
  afsint.cs.o: ${TOP_OBJDIR}/src/fsint/afsint.cs.c
  	${CCRULE} ${TOP_OBJDIR}/src/fsint/afsint.cs.c
Index: openafs/src/log/Makefile.in
diff -c openafs/src/log/Makefile.in:1.7.14.1 openafs/src/log/Makefile.in:1.7.14.2
*** openafs/src/log/Makefile.in:1.7.14.1	Sun Aug 19 18:30:38 2007
--- openafs/src/log/Makefile.in	Mon Nov 12 13:28:36 2007
***************
*** 76,88 ****
  	${INSTALL} $? $@
  
  ${DEST}/bin/tokens.krb: tokens.krb
! 	${INSTALL} $? $@
  
  ${DEST}/root.server/usr/afs/bin/tokens: tokens
  	${INSTALL} $? $@
  
  ${DEST}/root.server/usr/afs/bin/tokens.krb: tokens.krb
! 	${INSTALL} $? $@
  
  ${DEST}/etc/kseal: kseal
  	${INSTALL} $? $@
--- 76,88 ----
  	${INSTALL} $? $@
  
  ${DEST}/bin/tokens.krb: tokens.krb
! 	${INSTALL} ${NO_STRIP_KRB} $? $@
  
  ${DEST}/root.server/usr/afs/bin/tokens: tokens
  	${INSTALL} $? $@
  
  ${DEST}/root.server/usr/afs/bin/tokens.krb: tokens.krb
! 	${INSTALL} ${NO_STRIP_KRB} $? $@
  
  ${DEST}/etc/kseal: kseal
  	${INSTALL} $? $@
***************
*** 105,117 ****
  	${INSTALL} $? $@
  
  ${DESTDIR}${bindir}/tokens.krb: tokens.krb
! 	${INSTALL} $? $@
  
  ${DESTDIR}${afssrvbindir}/tokens: tokens
  	${INSTALL} $? $@
  
  ${DESTDIR}${afssrvbindir}/tokens.krb: tokens.krb
! 	${INSTALL} $? $@
  
  ${DESTDIR}${sbindir}/kseal: kseal
  	${INSTALL} $? $@
--- 105,117 ----
  	${INSTALL} $? $@
  
  ${DESTDIR}${bindir}/tokens.krb: tokens.krb
! 	${INSTALL} ${NO_STRIP_KRB} $? $@
  
  ${DESTDIR}${afssrvbindir}/tokens: tokens
  	${INSTALL} $? $@
  
  ${DESTDIR}${afssrvbindir}/tokens.krb: tokens.krb
! 	${INSTALL} ${NO_STRIP_KRB} $? $@
  
  ${DESTDIR}${sbindir}/kseal: kseal
  	${INSTALL} $? $@
Index: openafs/src/log/unlog.c
diff -c openafs/src/log/unlog.c:1.7.4.2 openafs/src/log/unlog.c:1.7.4.3
*** openafs/src/log/unlog.c:1.7.4.2	Wed Oct 31 00:09:32 2007
--- openafs/src/log/unlog.c	Mon Nov 26 16:08:43 2007
***************
*** 30,36 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/log/unlog.c,v 1.7.4.2 2007/10/31 04:09:32 shadow Exp $");
  
  #include <stdio.h>
  #include <potpourri.h>
--- 30,36 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/log/unlog.c,v 1.7.4.3 2007/11/26 21:08:43 shadow Exp $");
  
  #include <stdio.h>
  #include <potpourri.h>
***************
*** 259,264 ****
--- 259,265 ----
  	*list = newCellName;
      }
      afsconf_Close(conf);
+     return 0;
  }
  
  /*
***************
*** 283,286 ****
--- 284,288 ----
  	    fprintf(stderr, "unlog: Warning - no tokens held for cell %s\n",
  		    cellList[index]);
      }
+     return 0;
  }
Index: openafs/src/lwp/lwp.c
diff -c openafs/src/lwp/lwp.c:1.34.2.2 openafs/src/lwp/lwp.c:1.34.2.3
*** openafs/src/lwp/lwp.c:1.34.2.2	Tue Oct 30 11:16:42 2007
--- openafs/src/lwp/lwp.c	Mon Nov 26 16:08:43 2007
***************
*** 17,23 ****
  #include <afsconfig.h>
  #include <afs/param.h>
  
! RCSID("$Header: /cvs/openafs/src/lwp/lwp.c,v 1.34.2.2 2007/10/30 15:16:42 shadow Exp $");
  
  #include <stdlib.h>
  #include <stdio.h>
--- 17,23 ----
  #include <afsconfig.h>
  #include <afs/param.h>
  
! RCSID("$Header: /cvs/openafs/src/lwp/lwp.c,v 1.34.2.3 2007/11/26 21:08:43 shadow Exp $");
  
  #include <stdlib.h>
  #include <stdio.h>
***************
*** 961,966 ****
--- 961,968 ----
      lwp_cpptr = runnable[i].head;
  
      returnto(&lwp_cpptr->context);
+     
+     return 0; /* not reachable */
  }
  
  /* Complain of a stack overflow to stderr without using stdio. */
Index: openafs/src/packaging/MacOS/ReadMe.rtf
diff -c openafs/src/packaging/MacOS/ReadMe.rtf:1.4.4.1 openafs/src/packaging/MacOS/ReadMe.rtf:removed
*** openafs/src/packaging/MacOS/ReadMe.rtf:1.4.4.1	Tue Aug  1 17:59:52 2006
--- openafs/src/packaging/MacOS/ReadMe.rtf	Sun Dec  9 18:54:55 2007
***************
*** 1,13 ****
- {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf100
- {\fonttbl\f0\fswiss\fcharset77 Helvetica;}
- {\colortbl;\red255\green255\blue255;}
- \margl1440\margr1440\vieww9000\viewh9000\viewkind0
- \pard\tx1440\tx2880\tx4320\tx5760\tx7200\ql\qnatural
- 
- \f0\fs20 \cf0 This release of OpenAFS is targeted at MacOS 10.4. 
- \
- Select a client cell name by editing /var/db/openafs/etc/ThisCell\
- \
- The included afssettings program is distributed under the Apple Public Source License, version 2.0. See http://www.opensource.apple.com/apsl/2.0.txt or the included file 2.0.txt.\
- \
- Reboot when all of this is done.}
--- 0 ----
Index: openafs/src/packaging/MacOS/ReadMe.rtf.8
diff -c /dev/null openafs/src/packaging/MacOS/ReadMe.rtf.8:1.1.2.2
*** /dev/null	Sun Dec  9 18:54:55 2007
--- openafs/src/packaging/MacOS/ReadMe.rtf.8	Fri Nov  9 14:31:27 2007
***************
*** 0 ****
--- 1,13 ----
+ {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf100
+ {\fonttbl\f0\fswiss\fcharset77 Helvetica;}
+ {\colortbl;\red255\green255\blue255;}
+ \margl1440\margr1440\vieww9000\viewh9000\viewkind0
+ \pard\tx1440\tx2880\tx4320\tx5760\tx7200\ql\qnatural
+ 
+ \f0\fs20 \cf0 This release of OpenAFS is targeted at MacOS 10.4. (Tiger)
+ \
+ Select a client cell name by editing /var/db/openafs/etc/ThisCell\
+ \
+ The included afssettings program is distributed under the Apple Public Source License, version 2.0. See http://www.opensource.apple.com/apsl/2.0.txt or the included file 2.0.txt.\
+ \
+ Reboot when all of this is done.}
Index: openafs/src/packaging/MacOS/ReadMe.rtf.9
diff -c /dev/null openafs/src/packaging/MacOS/ReadMe.rtf.9:1.1.2.2
*** /dev/null	Sun Dec  9 18:54:55 2007
--- openafs/src/packaging/MacOS/ReadMe.rtf.9	Fri Nov  9 14:31:27 2007
***************
*** 0 ****
--- 1,13 ----
+ {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf100
+ {\fonttbl\f0\fswiss\fcharset77 Helvetica;}
+ {\colortbl;\red255\green255\blue255;}
+ \margl1440\margr1440\vieww9000\viewh9000\viewkind0
+ \pard\tx1440\tx2880\tx4320\tx5760\tx7200\ql\qnatural
+ 
+ \f0\fs20 \cf0 This release of OpenAFS is targeted at MacOS 10.5. (Leopard)
+ \
+ Select a client cell name by editing /var/db/openafs/etc/ThisCell\
+ \
+ The included afssettings program is distributed under the Apple Public Source License, version 2.0. See http://www.opensource.apple.com/apsl/2.0.txt or the included file 2.0.txt.\
+ \
+ Reboot when all of this is done.}
Index: openafs/src/packaging/MacOS/buildpkg.sh
diff -c openafs/src/packaging/MacOS/buildpkg.sh:1.13.2.12 openafs/src/packaging/MacOS/buildpkg.sh:removed
*** openafs/src/packaging/MacOS/buildpkg.sh:1.13.2.12	Wed Oct 24 23:43:39 2007
--- openafs/src/packaging/MacOS/buildpkg.sh	Sun Dec  9 18:54:55 2007
***************
*** 1,248 ****
- #!/bin/sh
- # Portions Copyright (c) 2003, 2006 Apple Computer, Inc.  All rights reserved.
- 
- if [ -z "$1" ]; then
-     echo Usage: buildpkg binary-dir
-     echo '  or'
-     echo 'Usage: buildpkg [-firstpass] binary-dir'
-     echo '            (customize pkgroot)'
-     echo '       buildpkg [-secondpass]'
-     exit 1
- fi
- 
- firstpass=yes
- secondpass=yes
- if [ "$1" = "-firstpass" ]; then
-     secondpass=no
-     shift
- elif [ "$1" = "-secondpass" ]; then
-     firstpass=no
-     shift
- fi
- 
- BINDEST=`cd $1 && pwd`
- CURDIR=`pwd`
- RESSRC=`dirname $0`
- RESSRC=`cd $RESSRC && pwd`
- majorvers=`uname -r | sed 's/\..*//'`
- 
- PKGROOT=$CURDIR/pkgroot
- PKGRES=$CURDIR/pkgres
- if [ $majorvers -ge 7 ]; then
-     SEP=:
-     package=/Developer/Applications/Utilities/PackageMaker.app/Contents/MacOS/PackageMaker
-     if [ ! -x $package ]; then
-        echo "PackageMaker does not exist. Please run this script on a MacOS X system"
-       echo "with the DeveloperTools package installed"
-       exit 1
-     fi
- else
-     SEP=.
-     package=/usr/bin/package
-     if [ ! -f $package ]; then
-        echo "$package does not exist. Please run this script on a MacOS X system"
-       echo "with the BSD subsystem installed"
-       exit 1
-     fi
-     if grep -q 'set resDir = ""' $package ; then
-        echo $package is buggy.
-        echo remove the line \''set resDir = ""'\' from $package and try again
-        exit 1
-     fi
- fi
- 
- if [ $firstpass = yes ]; then
-     if [ -x /usr/bin/curl ]; then
- 	/usr/bin/curl -f -O http://dl.central.org/dl/cellservdb/CellServDB
-     fi
- 
-     if [ ! -f CellServDB ]; then
-        echo "A CellServDB file must be placed in the working directory"
-        die=1
-     else
-        if grep -q 'GCO Public CellServDB' CellServDB ; then
-          touch CellServDB
-        else
-           echo "A proper CellServDB file must be placed in the working directory"
-           die=1
-        fi
-     fi
-     FILES="ReadMe.rtf License.rtf CellServDB.list OpenAFS.info OpenAFS.post_install OpenAFS.pre_upgrade csrvdbmerge.pl 2.0.txt"
-     for f in $FILES; do
-        if [ ! -f $RESSRC/$f ]; then
- 	 echo "file missing: " $RESSRC/$f
- 	 die=1
-        fi
-     done
-     if [ "$die" ]; then
-       echo "Correct above errors; then retry"
-       exit 1
-     fi
-     if [ ! -f $BINDEST/bin/translate_et ]; then
-       die=1
-     fi
-     if [ ! -f $BINDEST/root.client/usr/vice/etc/afs.kext/Contents/MacOS/afs ]; then
-       die=1
-     fi
-     if [ "$die" ]; then
-        echo $BINDEST " is not a valid binary dir. it should be the result of"
-        echo "make dest"
-        exit 1
-     fi
- 
-     rm -rf $PKGROOT
-     mkdir $PKGROOT
- 
-     mkdir -p $PKGROOT/Library
-     chown root${SEP}admin $PKGROOT
-     chmod 775 $PKGROOT $PKGROOT/Library
-     mkdir -p $PKGROOT/Library/OpenAFS/Tools
-     (cd $BINDEST && pax -rw * $PKGROOT/Library/OpenAFS/Tools)
-     cd $RESSRC
-     mkdir -p $PKGROOT/Library/StartupItems/OpenAFS
-     cp $BINDEST/root.client/usr/vice/etc/afs.rc  $PKGROOT/Library/StartupItems/OpenAFS/OpenAFS
-     chmod a+x $PKGROOT/Library/StartupItems/OpenAFS/OpenAFS
-     cp $BINDEST/root.client/usr/vice/etc/StartupParameters.plist  $PKGROOT/Library/StartupItems/OpenAFS/StartupParameters.plist
-     chown -R root${SEP}admin $PKGROOT/Library
-     chmod -R o-w $PKGROOT/Library
-     chmod -R g+w $PKGROOT/Library
-     chown -R root${SEP}wheel $PKGROOT/Library/StartupItems
-     chmod -R og-w $PKGROOT/Library/StartupItems
-     chown -R root${SEP}wheel $PKGROOT/Library/OpenAFS/Tools
-     chmod -R og-w $PKGROOT/Library/OpenAFS/Tools
- 
-     mkdir -p $PKGROOT/private/var/db/openafs/cache
-     mkdir -p $PKGROOT/private/var/db/openafs/etc/config
-     cp $CURDIR/CellServDB $PKGROOT/private/var/db/openafs/etc/CellServDB.master
-     echo grand.central.org > $PKGROOT/private/var/db/openafs/etc/ThisCell.sample
-     if [ $majorvers -ge 7 ]; then
- 	echo /afs:/var/db/openafs/cache:30000 > $PKGROOT/private/var/db/openafs/etc/cacheinfo.sample
-         cp -RP $PKGROOT/Library/OpenAFS/Tools/etc/afssettings $PKGROOT/private/var/db/openafs/etc/config
- 	cp settings.plist $PKGROOT/private/var/db/openafs/etc/config/settings.plist.orig
-     else
- 	echo /Network/afs:/var/db/openafs/cache:30000 > $PKGROOT/private/var/db/openafs/etc/cacheinfo.sample
-     fi
-     echo '-afsdb -stat 2000 -dcache 800 -daemons 3 -volumes 70 -dynroot -fakestat-all' > $PKGROOT/private/var/db/openafs/etc/config/afsd.options.sample
- 
-     strip -X -S $PKGROOT/Library/OpenAFS/Tools/root.client/usr/vice/etc/afs.kext/Contents/MacOS/afs
- 
-     cp -RP $PKGROOT/Library/OpenAFS/Tools/root.client/usr/vice/etc/afs.kext $PKGROOT/private/var/db/openafs/etc
-     cp -RP $PKGROOT/Library/OpenAFS/Tools/root.client/usr/vice/etc/C $PKGROOT/private/var/db/openafs/etc
- 
-     chown -R root${SEP}wheel $PKGROOT/private
-     chmod -R og-w $PKGROOT/private
-     chmod  og-rx $PKGROOT/private/var/db/openafs/cache
- 
-     mkdir -p $PKGROOT/usr/bin $PKGROOT/usr/sbin $PKGROOT/usr/share/man/man1 $PKGROOT/usr/share/man/man5 $PKGROOT/usr/share/man/man8
- 
-     BINLIST="fs klog klog.krb pagsh pagsh.krb pts sys tokens tokens.krb unlog unlog.krb aklog"
-     ETCLIST="vos"
- 
- # Should these be linked into /usr too?
-     OTHER_BINLIST="bos cmdebug rxgen translate_et udebug xstat_cm_test xstat_fs_test"
-     OTHER_ETCLIST="rxdebug"
- 
-     for f in $BINLIST; do
-        ln -s ../../Library/OpenAFS/Tools/bin/$f $PKGROOT/usr/bin/$f
-     done
-     for f in $ETCLIST; do
-        ln -s ../../Library/OpenAFS/Tools/etc/$f $PKGROOT/usr/sbin/$f
-     done
-     for f in `ls $PKGROOT/Library/OpenAFS/Tools/man/man1`; do
- 	gzip -9 $PKGROOT/Library/OpenAFS/Tools/man/man1/$f
- 	ln -s ../../../../Library/OpenAFS/Tools/man/man1/$f.gz $PKGROOT/usr/share/man/man1/$f.gz
-     done
-     for f in `ls $PKGROOT/Library/OpenAFS/Tools/man/man5`; do
- 	gzip -9 $PKGROOT/Library/OpenAFS/Tools/man/man5/$f
- 	ln -s ../../../../Library/OpenAFS/Tools/man/man5/$f.gz $PKGROOT/usr/share/man/man5/$f.gz
-     done
-     for f in `ls $PKGROOT/Library/OpenAFS/Tools/man/man8`; do
- 	gzip -9 $PKGROOT/Library/OpenAFS/Tools/man/man8/$f
- 	ln -s ../../../../Library/OpenAFS/Tools/man/man8/$f.gz $PKGROOT/usr/share/man/man8/$f.gz
-     done
- 
-     ln -s ../../Library/OpenAFS/Tools/bin/kpasswd $PKGROOT/usr/bin/kpasswd.afs
- 
-     ln -s ../../Library/OpenAFS/Tools/root.client/usr/vice/etc/afsd $PKGROOT/usr/sbin/afsd
- 
- #    mkdir -p $PKGROOT/Library/Kerberos\ Plug-Ins
- #    ln -s ../../Library/OpenAFS/Tools/root.client/Library/Kerberos\ Plug-Ins/aklog.loginLogout $PKGROOT/Library/Kerberos\ Plug-Ins/
- 
-     chown -R root${SEP}wheel $PKGROOT/usr
-     chmod -R og-w $PKGROOT/usr
- fi
- 
- if [ $secondpass = yes ]; then
-     rm -rf $PKGRES
-     mkdir $PKGRES
- 
-     cd $RESSRC
-     if [ $majorvers -ge 7 ]; then
- 	cp OpenAFS.post_install $PKGRES/postinstall
- 	cp OpenAFS.pre_upgrade $PKGRES/preupgrade
- 	cp OpenAFS.post_install $PKGRES/postupgrade
- 	cp background.jpg $PKGRES/background.jpg
- 	if [ $majorvers -ge 8 ]; then
- 	    cp InstallationCheck.$majorvers $PKGRES/InstallationCheck
- 	    mkdir -p $PKGRES/English.lproj
- 	    cp InstallationCheck.$majorvers $PKGRES/English.lproj/InstallationCheck
- 	    chmod a+x $PKGRES/InstallationCheck
- 	fi
- 	chmod a+x $PKGRES/postinstall $PKGRES/postupgrade $PKGRES/preupgrade
-     else
- 	cp OpenAFS.post_install OpenAFS.pre_upgrade $PKGRES
- 	cp OpenAFS.post_install $PKGRES/OpenAFS.post_upgrade
- 	chmod a+x $PKGRES/OpenAFS.post_install $PKGRES/OpenAFS.post_upgrade $PKGRES/OpenAFS.pre_upgrade
-     fi
-     cp License.rtf ReadMe.rtf $PKGRES
-     cp csrvdbmerge.pl $PKGRES
-     chmod a+x $PKGRES/csrvdbmerge.pl
-     cp CellServDB.list $PKGRES
-     chown -R root${SEP}wheel $PKGRES
-     rm -rf $CURDIR/OpenAFS.pkg
- 
-     # once we have cm cleanup in 10.4 this can go
-     if [ $majorvers -le 8 ]; then
- 	cat $RESSRC/OpenAFS.info|sed 's/RequiresReboot NO/RequiresReboot YES/'>$RESSRC/OpenAFS.info.new
- 	rm -f $RESSRC/OpenAFS.info
- 	mv $RESSRC/OpenAFS.info.new $RESSRC/OpenAFS.info
-     fi
- 
-     if [ $majorvers -ge 7 ]; then
- 	echo $package -build -p $CURDIR/OpenAFS.pkg -f $PKGROOT -r $PKGRES \
- 	    -i OpenAFS.Info.plist -d OpenAFS.Description.plist
- 	$package -build -p $CURDIR/OpenAFS.pkg -f $PKGROOT -r $PKGRES \
- 	    -i OpenAFS.Info.plist -d OpenAFS.Description.plist
-     else
- 	echo $package $PKGROOT $RESSRC/OpenAFS.info -r $PKGRES
- 	(cd $CURDIR && $package $PKGROOT $RESSRC/OpenAFS.info -r $PKGRES)
- 	#old versions of package didn't handle this properly
- 	if [ ! -r $CURDIR/OpenAFS.pkg/Contents ]; then
- 		mkdir -p $CURDIR/OpenAFS.pkg/Contents/Resources
- 		mv $CURDIR/OpenAFS.pkg/OpenAFS.* $CURDIR/OpenAFS.pkg/Contents/Resources
- 		mv $CURDIR/OpenAFS.pkg/*.rtf $CURDIR/OpenAFS.pkg/Contents/Resources
- 		mv $CURDIR/OpenAFS.pkg/csrvdbmerge.pl $CURDIR/OpenAFS.pkg/Contents/Resources
- 		mv $CURDIR/OpenAFS.pkg/CellServDB* $CURDIR/OpenAFS.pkg/Contents/Resources
- 	fi
-     fi
- 
-     rm -rf $PKGROOT $PKGRES
-     mkdir $CURDIR/dmg
-     mv $CURDIR/OpenAFS.pkg $CURDIR/dmg
-     rm -rf $CURDIR/OpenAFS.dmg
-     cp Uninstall $CURDIR/dmg/Uninstall.command
-     cp DS_Store $CURDIR/dmg/.DS_Store
-     mkdir $CURDIR/dmg/.background
-     cp afslogo.jpg $CURDIR/dmg/.background
- #    hdiutil create -srcfolder $CURDIR/dmg -volname OpenAFS -anyowners $CURDIR/OpenAFS.dmg
-     hdiutil makehybrid -hfs -hfs-volume-name OpenAFS -hfs-openfolder $CURDIR/dmg $CURDIR/dmg -o $CURDIR/TMP.dmg
-     hdiutil convert -format UDZO $CURDIR/TMP.dmg -o $CURDIR/OpenAFS.dmg
-     rm $CURDIR/TMP.dmg
-     rm -rf $CURDIR/dmg
-     # Unfortunately, sudo sets $USER to root, so I can't chown the 
-     #.pkg dir back to myself
-     #chown -R $USER $CURDIR/OpenAFS.pkg
- else
-     echo "First pass completed.  Customize pkgroot and then run:"
-     echo "    $0 -secondpass"
- fi
--- 0 ----
Index: openafs/src/packaging/MacOS/buildpkg.sh.in
diff -c /dev/null openafs/src/packaging/MacOS/buildpkg.sh.in:1.1.2.3
*** /dev/null	Sun Dec  9 18:54:55 2007
--- openafs/src/packaging/MacOS/buildpkg.sh.in	Fri Nov 23 08:03:05 2007
***************
*** 0 ****
--- 1,258 ----
+ #!/bin/sh
+ # Portions Copyright (c) 2003, 2006 Apple Computer, Inc.  All rights reserved.
+ 
+ if [ -z "$1" ]; then
+     echo Usage: buildpkg binary-dir
+     echo '  or'
+     echo 'Usage: buildpkg [-firstpass] binary-dir'
+     echo '            (customize pkgroot)'
+     echo '       buildpkg [-secondpass]'
+     exit 1
+ fi
+ 
+ firstpass=yes
+ secondpass=yes
+ if [ "$1" = "-firstpass" ]; then
+     secondpass=no
+     shift
+ elif [ "$1" = "-secondpass" ]; then
+     firstpass=no
+     shift
+ fi
+ 
+ BINDEST=`cd $1 && pwd`
+ CURDIR=`pwd`
+ RESSRC=`dirname $0`
+ RESSRC=`cd $RESSRC && pwd`
+ majorvers=`uname -r | sed 's/\..*//'`
+ if [ $majorvers -eq 7 ]; then
+   RELNAME="Panther"
+ fi
+ if [ $majorvers -eq 8 ]; then
+   RELNAME="Tiger"
+ fi
+ if [ $majorvers -eq 9 ]; then
+   RELNAME="Leopard"
+ fi
+ 
+ PKGROOT=$CURDIR/pkgroot
+ PKGRES=$CURDIR/pkgres
+ if [ $majorvers -ge 7 ]; then
+     SEP=:
+     package=/Developer/Applications/Utilities/PackageMaker.app/Contents/MacOS/PackageMaker
+     if [ ! -x $package ]; then
+        echo "PackageMaker does not exist. Please run this script on a MacOS X system"
+       echo "with the DeveloperTools package installed"
+       exit 1
+     fi
+ else
+     SEP=.
+     package=/usr/bin/package
+     if [ ! -f $package ]; then
+        echo "$package does not exist. Please run this script on a MacOS X system"
+       echo "with the BSD subsystem installed"
+       exit 1
+     fi
+     if grep -q 'set resDir = ""' $package ; then
+        echo $package is buggy.
+        echo remove the line \''set resDir = ""'\' from $package and try again
+        exit 1
+     fi
+ fi
+ 
+ if [ $firstpass = yes ]; then
+     if [ -x /usr/bin/curl ]; then
+ 	/usr/bin/curl -f -O http://dl.central.org/dl/cellservdb/CellServDB
+     fi
+ 
+     if [ ! -f CellServDB ]; then
+        echo "A CellServDB file must be placed in the working directory"
+        die=1
+     else
+        if grep -q 'GCO Public CellServDB' CellServDB ; then
+          touch CellServDB
+        else
+           echo "A proper CellServDB file must be placed in the working directory"
+           die=1
+        fi
+     fi
+     FILES="ReadMe.rtf.$majorvers License.rtf CellServDB.list OpenAFS.info OpenAFS.post_install OpenAFS.pre_upgrade csrvdbmerge.pl 2.0.txt"
+     for f in $FILES; do
+        if [ ! -f $RESSRC/$f ]; then
+ 	 echo "file missing: " $RESSRC/$f
+ 	 die=1
+        fi
+     done
+     if [ "$die" ]; then
+       echo "Correct above errors; then retry"
+       exit 1
+     fi
+     if [ ! -f $BINDEST/bin/translate_et ]; then
+       die=1
+     fi
+     if [ ! -f $BINDEST/root.client/usr/vice/etc/afs.kext/Contents/MacOS/afs ]; then
+       die=1
+     fi
+     if [ "$die" ]; then
+        echo $BINDEST " is not a valid binary dir. it should be the result of"
+        echo "make dest"
+        exit 1
+     fi
+ 
+     rm -rf $PKGROOT
+     mkdir $PKGROOT
+ 
+     mkdir -p $PKGROOT/Library
+     chown root${SEP}admin $PKGROOT
+     chmod 775 $PKGROOT $PKGROOT/Library
+     mkdir -p $PKGROOT/Library/OpenAFS/Tools
+     (cd $BINDEST && pax -rw * $PKGROOT/Library/OpenAFS/Tools)
+     cd $RESSRC
+     mkdir -p $PKGROOT/Library/StartupItems/OpenAFS
+     cp $BINDEST/root.client/usr/vice/etc/afs.rc  $PKGROOT/Library/StartupItems/OpenAFS/OpenAFS
+     chmod a+x $PKGROOT/Library/StartupItems/OpenAFS/OpenAFS
+     cp $BINDEST/root.client/usr/vice/etc/StartupParameters.plist  $PKGROOT/Library/StartupItems/OpenAFS/StartupParameters.plist
+     chown -R root${SEP}admin $PKGROOT/Library
+     chmod -R o-w $PKGROOT/Library
+     chmod -R g+w $PKGROOT/Library
+     chown -R root${SEP}wheel $PKGROOT/Library/StartupItems
+     chmod -R og-w $PKGROOT/Library/StartupItems
+     chown -R root${SEP}wheel $PKGROOT/Library/OpenAFS/Tools
+     chmod -R og-w $PKGROOT/Library/OpenAFS/Tools
+ 
+     mkdir -p $PKGROOT/private/var/db/openafs/cache
+     mkdir -p $PKGROOT/private/var/db/openafs/etc/config
+     cp $CURDIR/CellServDB $PKGROOT/private/var/db/openafs/etc/CellServDB.master
+     echo grand.central.org > $PKGROOT/private/var/db/openafs/etc/ThisCell.sample
+     if [ $majorvers -ge 7 ]; then
+ 	echo /afs:/var/db/openafs/cache:30000 > $PKGROOT/private/var/db/openafs/etc/cacheinfo.sample
+         cp -RP $PKGROOT/Library/OpenAFS/Tools/etc/afssettings $PKGROOT/private/var/db/openafs/etc/config
+ 	cp settings.plist $PKGROOT/private/var/db/openafs/etc/config/settings.plist.orig
+     else
+ 	echo /Network/afs:/var/db/openafs/cache:30000 > $PKGROOT/private/var/db/openafs/etc/cacheinfo.sample
+     fi
+     echo '-afsdb -stat 2000 -dcache 800 -daemons 3 -volumes 70 -dynroot -fakestat-all' > $PKGROOT/private/var/db/openafs/etc/config/afsd.options.sample
+ 
+     strip -X -S $PKGROOT/Library/OpenAFS/Tools/root.client/usr/vice/etc/afs.kext/Contents/MacOS/afs
+ 
+     cp -RP $PKGROOT/Library/OpenAFS/Tools/root.client/usr/vice/etc/afs.kext $PKGROOT/private/var/db/openafs/etc
+     cp -RP $PKGROOT/Library/OpenAFS/Tools/root.client/usr/vice/etc/C $PKGROOT/private/var/db/openafs/etc
+ 
+     chown -R root${SEP}wheel $PKGROOT/private
+     chmod -R og-w $PKGROOT/private
+     chmod  og-rx $PKGROOT/private/var/db/openafs/cache
+ 
+     mkdir -p $PKGROOT/usr/bin $PKGROOT/usr/sbin $PKGROOT/usr/share/man/man1 $PKGROOT/usr/share/man/man5 $PKGROOT/usr/share/man/man8
+ 
+     BINLIST="fs klog klog.krb pagsh pagsh.krb pts sys tokens tokens.krb unlog unlog.krb aklog"
+     ETCLIST="vos"
+ 
+ # Should these be linked into /usr too?
+     OTHER_BINLIST="bos cmdebug rxgen translate_et udebug xstat_cm_test xstat_fs_test"
+     OTHER_ETCLIST="rxdebug"
+ 
+     for f in $BINLIST; do
+        ln -s ../../Library/OpenAFS/Tools/bin/$f $PKGROOT/usr/bin/$f
+     done
+     for f in $ETCLIST; do
+        ln -s ../../Library/OpenAFS/Tools/etc/$f $PKGROOT/usr/sbin/$f
+     done
+     for f in `ls $PKGROOT/Library/OpenAFS/Tools/man/man1`; do
+ 	gzip -9 $PKGROOT/Library/OpenAFS/Tools/man/man1/$f
+ 	ln -s ../../../../Library/OpenAFS/Tools/man/man1/$f.gz $PKGROOT/usr/share/man/man1/$f.gz
+     done
+     for f in `ls $PKGROOT/Library/OpenAFS/Tools/man/man5`; do
+ 	gzip -9 $PKGROOT/Library/OpenAFS/Tools/man/man5/$f
+ 	ln -s ../../../../Library/OpenAFS/Tools/man/man5/$f.gz $PKGROOT/usr/share/man/man5/$f.gz
+     done
+     for f in `ls $PKGROOT/Library/OpenAFS/Tools/man/man8`; do
+ 	gzip -9 $PKGROOT/Library/OpenAFS/Tools/man/man8/$f
+ 	ln -s ../../../../Library/OpenAFS/Tools/man/man8/$f.gz $PKGROOT/usr/share/man/man8/$f.gz
+     done
+ 
+     ln -s ../../Library/OpenAFS/Tools/bin/kpasswd $PKGROOT/usr/bin/kpasswd.afs
+ 
+     ln -s ../../Library/OpenAFS/Tools/root.client/usr/vice/etc/afsd $PKGROOT/usr/sbin/afsd
+ 
+ #    mkdir -p $PKGROOT/Library/Kerberos\ Plug-Ins
+ #    ln -s ../../Library/OpenAFS/Tools/root.client/Library/Kerberos\ Plug-Ins/aklog.loginLogout $PKGROOT/Library/Kerberos\ Plug-Ins/
+ 
+     chown -R root${SEP}wheel $PKGROOT/usr
+     chmod -R og-w $PKGROOT/usr
+ fi
+ 
+ if [ $secondpass = yes ]; then
+     rm -rf $PKGRES
+     mkdir $PKGRES
+ 
+     cd $RESSRC
+     if [ $majorvers -ge 7 ]; then
+ 	cp OpenAFS.post_install $PKGRES/postinstall
+ 	cp OpenAFS.pre_upgrade $PKGRES/preupgrade
+ 	cp OpenAFS.post_install $PKGRES/postupgrade
+ 	cp background.jpg $PKGRES/background.jpg
+ 	if [ $majorvers -ge 8 ]; then
+ 	    cp InstallationCheck.$majorvers $PKGRES/InstallationCheck
+ 	    mkdir -p $PKGRES/English.lproj
+ 	    cp InstallationCheck.$majorvers $PKGRES/English.lproj/InstallationCheck
+ 	    chmod a+x $PKGRES/InstallationCheck
+ 	fi
+ 	chmod a+x $PKGRES/postinstall $PKGRES/postupgrade $PKGRES/preupgrade
+     else
+ 	cp OpenAFS.post_install OpenAFS.pre_upgrade $PKGRES
+ 	cp OpenAFS.post_install $PKGRES/OpenAFS.post_upgrade
+ 	chmod a+x $PKGRES/OpenAFS.post_install $PKGRES/OpenAFS.post_upgrade $PKGRES/OpenAFS.pre_upgrade
+     fi
+     cp License.rtf $PKGRES
+     cp ReadMe.rtf.$majorvers $PKGRES/ReadMe.rtf
+     cp csrvdbmerge.pl $PKGRES
+     chmod a+x $PKGRES/csrvdbmerge.pl
+     cp CellServDB.list $PKGRES
+     chown -R root${SEP}wheel $PKGRES
+     rm -rf $CURDIR/OpenAFS.pkg
+ 
+     # once we have cm cleanup in 10.4 this can go
+     if [ $majorvers -le 8 ]; then
+ 	cat $RESSRC/OpenAFS.info|sed 's/RequiresReboot NO/RequiresReboot YES/'>$RESSRC/OpenAFS.info.new
+ 	rm -f $RESSRC/OpenAFS.info
+ 	mv $RESSRC/OpenAFS.info.new $RESSRC/OpenAFS.info
+     fi
+ 
+     if [ $majorvers -ge 7 ]; then
+ 	echo $package -build -p $CURDIR/OpenAFS.pkg -f $PKGROOT -r $PKGRES \
+ 	    -i OpenAFS.Info.plist -d OpenAFS.Description.plist
+ 	$package -build -p $CURDIR/OpenAFS.pkg -f $PKGROOT -r $PKGRES \
+ 	    -i OpenAFS.Info.plist -d OpenAFS.Description.plist
+     else
+ 	echo $package $PKGROOT $RESSRC/OpenAFS.info -r $PKGRES
+ 	(cd $CURDIR && $package $PKGROOT $RESSRC/OpenAFS.info -r $PKGRES)
+ 	#old versions of package didn't handle this properly
+ 	if [ ! -r $CURDIR/OpenAFS.pkg/Contents ]; then
+ 		mkdir -p $CURDIR/OpenAFS.pkg/Contents/Resources
+ 		mv $CURDIR/OpenAFS.pkg/OpenAFS.* $CURDIR/OpenAFS.pkg/Contents/Resources
+ 		mv $CURDIR/OpenAFS.pkg/*.rtf $CURDIR/OpenAFS.pkg/Contents/Resources
+ 		mv $CURDIR/OpenAFS.pkg/csrvdbmerge.pl $CURDIR/OpenAFS.pkg/Contents/Resources
+ 		mv $CURDIR/OpenAFS.pkg/CellServDB* $CURDIR/OpenAFS.pkg/Contents/Resources
+ 	fi
+     fi
+ 
+     rm -rf $PKGROOT $PKGRES
+     mkdir $CURDIR/dmg
+     mv $CURDIR/OpenAFS.pkg $CURDIR/dmg
+     rm -rf $CURDIR/OpenAFS-@VERSION@-$RELNAME.dmg
+     cp Uninstall $CURDIR/dmg/Uninstall.command
+     cp DS_Store $CURDIR/dmg/.DS_Store
+     mkdir $CURDIR/dmg/.background
+     cp afslogo.jpg $CURDIR/dmg/.background
+ #    hdiutil create -srcfolder $CURDIR/dmg -volname OpenAFS -anyowners $CURDIR/OpenAFS.dmg
+     hdiutil makehybrid -hfs -hfs-volume-name OpenAFS -hfs-openfolder $CURDIR/dmg $CURDIR/dmg -o $CURDIR/TMP.dmg
+     hdiutil convert -format UDZO $CURDIR/TMP.dmg -o $CURDIR/OpenAFS-@VERSION@-$RELNAME.dmg
+     rm $CURDIR/TMP.dmg
+     rm -rf $CURDIR/dmg
+     # Unfortunately, sudo sets $USER to root, so I can't chown the 
+     #.pkg dir back to myself
+     #chown -R $USER $CURDIR/OpenAFS.pkg
+ else
+     echo "First pass completed.  Customize pkgroot and then run:"
+     echo "    $0 -secondpass"
+ fi
Index: openafs/src/packaging/RedHat/RPM-build-notes
diff -c /dev/null openafs/src/packaging/RedHat/RPM-build-notes:1.1.2.2
*** /dev/null	Sun Dec  9 18:54:55 2007
--- openafs/src/packaging/RedHat/RPM-build-notes	Mon Nov 12 19:03:11 2007
***************
*** 0 ****
--- 1,35 ----
+ Beginning with the 1.4.5 release, OpenAFS's prebuilt binaries use a new
+ mechanism for packaging kernel modules on Fedora Core (all versions)
+ and RHEL 5 (and derivatives). This new mechanism allows the
+ installation of modules for multiple kernel variants simultaneously,
+ and is identical to the technique used by Fedora and Red Hat's own
+ out of tree kernel modules.
+ 
+ The difference is that instead of a single 'openafs-kernel' module,
+ multiple kmod-openafs-<variant> RPMs are produced. When manually
+ upgrading to OpenAFS 1.4.5, it may be necessary to remove any openafs-
+ kernel modules left behind by your old installation, and to ensure
+ that the appropriate kmod-openafs module is installed.
+ 
+ If you wish to build 'kmod' modules for new kernel release, this may
+ be done by rebuilding the SRPM  with 'fedorakmod' defined, and the
+ 'kvariants' parameter set to the list of kernel variants you wish to
+ build modules for (a kernel-devel package must be installed for each
+ of these variants). Note that supplying '' as a variant will build
+ for a normal kernel. The 'kernvers' variable can be set to specify 
+ what kernel release version you wish to build for.
+ 
+ For example:
+        rpmbuild -bb --define "fedorakmod 1" \
+             --target i686 \
+             --define "build_modules 1" \
+             --define "kvariants '' PAE"  \
+             openafs.spec
+ 
+ would build a kernel module for the normal and PAE variants of the
+ currently running kernel.
+ 
+ Old-style packages may still be built in the same way as previous
+ releases. However, note that you must use userland RPMs which match
+ the packaging of your kernel module. Old style kernel modules will
+ not work with a set of userland RPMs which expect kmod-style packages.
Index: openafs/src/packaging/RedHat/afs-krb5-2.0-com_err.patch
diff -c openafs/src/packaging/RedHat/afs-krb5-2.0-com_err.patch:1.2.2.2 openafs/src/packaging/RedHat/afs-krb5-2.0-com_err.patch:removed
*** openafs/src/packaging/RedHat/afs-krb5-2.0-com_err.patch:1.2.2.2	Mon Aug 21 16:11:40 2006
--- openafs/src/packaging/RedHat/afs-krb5-2.0-com_err.patch	Sun Dec  9 18:54:55 2007
***************
*** 1,24 ****
- diff -uNr afs-krb5.orig/src/configure.in afs-krb5/src/configure.in
- --- afs-krb5.orig/src/configure.in	2005-04-14 16:06:15.597138000 -0400
- +++ afs-krb5/src/configure.in	2005-04-14 16:06:44.201789856 -0400
- @@ -143,7 +143,19 @@
-  LIBS="$ac_save_LIBS"])
-  if test "x$afs_cv_func_getDirPath" = "xyes"; then
-  	AC_MSG_RESULT([Setting compilation parameters for AFS 3.5 and later])
- -	AKLOG_EXTRA_OBJ=adderrtable.o
- +	AC_MSG_CHECKING([for add_to_error_table])
- +dnl
- +dnl We may be using libcom_err from Kerberos (shared libraries), and
- +dnl already have add_to_error_table
- +dnl
- +	AC_TRY_LINK_FUNC(add_to_error_table, have_adderr=yes, have_adderr=no)
- +	if test $have_adderr != yes; then
- +		AC_MSG_RESULT([no, adding adderrtable.o])
- +		AKLOG_EXTRA_OBJ=adderrtable.o
- +	else
- +		AC_MSG_RESULT([yes])
- +		AKLOG_EXTRA_OBJ=
- +	fi
-  else
-  	AC_MSG_RESULT([Setting compilation parameters for pre-AFS 3.5])
-  	AC_DEFINE(PRE_AFS35)
--- 0 ----
Index: openafs/src/packaging/RedHat/afs-krb5-2.0-krb524.patch
diff -c openafs/src/packaging/RedHat/afs-krb5-2.0-krb524.patch:1.2.2.2 openafs/src/packaging/RedHat/afs-krb5-2.0-krb524.patch:removed
*** openafs/src/packaging/RedHat/afs-krb5-2.0-krb524.patch:1.2.2.2	Mon Aug 21 16:11:40 2006
--- openafs/src/packaging/RedHat/afs-krb5-2.0-krb524.patch	Sun Dec  9 18:54:55 2007
***************
*** 1,31 ****
- --- afs-krb5/src/configure.in-orig	2003-03-16 20:13:34.000000000 -0500
- +++ afs-krb5/src/configure.in	2005-09-14 17:20:46.000000000 -0400
- @@ -179,14 +197,20 @@
-  [	EXTRA_INC="$EXTRA_INC -I$with_krb5_obj/include -I$with_krb5_obj/include/krb5"
-  	KADM_LIBS=`echo $KADM_LIBS | sed -e "s#-ldb#$with_krb5_obj/lib/libdb.a#"`])
-  dnl
- -dnl Sigh, why is this so complicated?  Right now, just assume that 
- -dnl the 524 library is always called krb524 and will be picked up by the
- -dnl Kerberos link line
- -dnl
- -dnl AC_CHECK_LIB(krb524, krb524_convert_princs, [KRB524LIB="-lkrb524"], [
- -dnl	AC_MSG_ERROR([Cannot find 524 library, exiting])
- -dnl ])
- -KRB524LIB=-lkrb524
- +dnl The krb524 functions may be included in libkrb5 itself, or else in a 
- +dnl separate library named libkrb524
- +dnl
- +ac_save_LIBS="$LIBS"
- +KRB524LIB=
- +AC_MSG_CHECKING([for krb524 library])
- +AC_CHECK_FUNC(krb524_init_ets, have_krb524=yes, have_krb524=no)
- +
- +if test "$have_krb524" = no; then
- +	LIBS="$LIBS -lkrb524"
- +	AC_CHECK_LIB(krb524, krb524_init_ets, [KRB524LIB="-lkrb524"],
- +			     [AC_MSG_ERROR([Unable to find krb524 library])])
- +fi
- +LIBS="$ac_save_LIBS"
-  
-  dnl AC_CHECK_LIB(kdb5, krb5_db_fetch_mkey, [KD_LIBS="-lkdb5"],[
-  dnl 	AC_MSG_WARN([Cannot find Kerberos 5 DB library, will not be able to build DB utilities])
--- 0 ----
Index: openafs/src/packaging/RedHat/afs-krb5-2.0-libsocket.patch
diff -c openafs/src/packaging/RedHat/afs-krb5-2.0-libsocket.patch:1.2.2.2 openafs/src/packaging/RedHat/afs-krb5-2.0-libsocket.patch:removed
*** openafs/src/packaging/RedHat/afs-krb5-2.0-libsocket.patch:1.2.2.2	Mon Aug 21 16:11:40 2006
--- openafs/src/packaging/RedHat/afs-krb5-2.0-libsocket.patch	Sun Dec  9 18:54:55 2007
***************
*** 1,39 ****
- diff -uNr afs-krb5.orig/src/configure.in afs-krb5/src/configure.in
- --- afs-krb5.orig/src/configure.in	2003-03-16 20:13:34.000000000 -0500
- +++ afs-krb5/src/configure.in	2003-07-30 11:52:55.000000000 -0400
- @@ -44,14 +44,6 @@
-  if test $retval -ne 0; then
-  	AC_MSG_ERROR($krb5_config failed with error code of $retval)
-  fi
- -AC_MSG_RESULT([Adding $krb5_cflags to CFLAGS])
- -AC_MSG_RESULT([Adding $krb5_libs to LIBS])
- -AC_MSG_RESULT([Setting KADM_CFLAGS to $krb5_cflags_kadm])
- -AC_MSG_RESULT([Setting KADM_LIBS to $krb5_libs_kadm])
- -CFLAGS="$CFLAGS $krb5_cflags"
- -LIBS="$LIBS $krb5_libs"
- -KADM_CFLAGS="$krb5_cflags_kadm"
- -KADM_LIBS="$krb5_libs_kadm"
-  dnl
-  dnl Check for various network libraries
-  dnl
- @@ -105,6 +97,20 @@
-  	AC_MSG_ERROR([Unable to find res_search function])
-  fi
-  LIBS="$save_LIBS"
- +
- +dnl
- +dnl Don't add these to LIBS until after we've already looked for 
- +dnl libsocket, etc. Otherwise ka-forwarder won't build properly
- +dnl
- +AC_MSG_RESULT([Adding $krb5_cflags to CFLAGS])
- +AC_MSG_RESULT([Adding $krb5_libs to LIBS])
- +AC_MSG_RESULT([Setting KADM_CFLAGS to $krb5_cflags_kadm])
- +AC_MSG_RESULT([Setting KADM_LIBS to $krb5_libs_kadm])
- +CFLAGS="$CFLAGS $krb5_cflags"
- +LIBS="$LIBS $krb5_libs"
- +KADM_CFLAGS="$krb5_cflags_kadm"
- +KADM_LIBS="$krb5_libs_kadm"
- +
-  dnl
-  dnl Optional support for AFS
-  dnl
--- 0 ----
Index: openafs/src/packaging/RedHat/afs-krb5-2.0-openafs1.3.patch
diff -c openafs/src/packaging/RedHat/afs-krb5-2.0-openafs1.3.patch:1.2.2.2 openafs/src/packaging/RedHat/afs-krb5-2.0-openafs1.3.patch:removed
*** openafs/src/packaging/RedHat/afs-krb5-2.0-openafs1.3.patch:1.2.2.2	Mon Aug 21 16:11:40 2006
--- openafs/src/packaging/RedHat/afs-krb5-2.0-openafs1.3.patch	Sun Dec  9 18:54:55 2007
***************
*** 1,12 ****
- diff -uNr afs-krb5.orig/src/asetkey.c afs-krb5/src/asetkey.c
- --- afs-krb5.orig/src/asetkey.c	2005-04-08 15:55:35.637620000 -0400
- +++ afs-krb5/src/asetkey.c	2005-04-08 15:55:57.614279120 -0400
- @@ -81,7 +81,7 @@
-  		exit(1);
-  	}
-  
- -	code = afsconf_AddKey(tdir, kvno, key->contents);
- +	code = afsconf_AddKey(tdir, kvno, key->contents, 1);
-  	if (code) {
-  	    printf("setkey: failed to set key, code %ld.\n", code);
-  	    exit(1);
--- 0 ----
Index: openafs/src/packaging/RedHat/afs-krb5-2.0-res_search.patch
diff -c openafs/src/packaging/RedHat/afs-krb5-2.0-res_search.patch:1.2.2.2 openafs/src/packaging/RedHat/afs-krb5-2.0-res_search.patch:removed
*** openafs/src/packaging/RedHat/afs-krb5-2.0-res_search.patch:1.2.2.2	Mon Aug 21 16:11:40 2006
--- openafs/src/packaging/RedHat/afs-krb5-2.0-res_search.patch	Sun Dec  9 18:54:55 2007
***************
*** 1,14 ****
- --- afs-krb5/src/configure.in.res_search	2005-09-30 12:53:38.000000000 -0400
- +++ afs-krb5/src/configure.in	2005-09-30 14:40:38.000000000 -0400
- @@ -89,7 +89,10 @@
-  		if test "$have_res_search" != yes; then
-  			AC_CHECK_LIB(${lib}, res_search,
-  				     [have_res_search=yes
- -				      NETLIBS="$NETLIBS -l${lib}"])
- +				      NETLIBS="$NETLIBS -l${lib}"],
- +			             [AC_CHECK_LIB(${lib}, __res_search,
- +				       [have_res_search=yes
- +					NETLIBS="$NETLIBS -l${lib}"])])
-  		fi
-  	done
-  fi
--- 0 ----
Index: openafs/src/packaging/RedHat/openafs-client.init
diff -c openafs/src/packaging/RedHat/openafs-client.init:1.2.2.4 openafs/src/packaging/RedHat/openafs-client.init:1.2.2.5
*** openafs/src/packaging/RedHat/openafs-client.init:1.2.2.4	Fri Dec  1 13:35:33 2006
--- openafs/src/packaging/RedHat/openafs-client.init	Mon Nov 12 19:03:11 2007
***************
*** 5,11 ****
  # chkconfig: 2345 50 50
  # description: OpenAFS is a distributed filesystem.
  #
! # $Revision: 1.2.2.4 $
  
  [ -f /etc/init.d/functions ] && . /etc/init.d/functions
  [ -f /etc/sysconfig/openafs ] && . /etc/sysconfig/openafs
--- 5,11 ----
  # chkconfig: 2345 50 50
  # description: OpenAFS is a distributed filesystem.
  #
! # $Revision: 1.2.2.5 $
  
  [ -f /etc/init.d/functions ] && . /etc/init.d/functions
  [ -f /etc/sysconfig/openafs ] && . /etc/sysconfig/openafs
***************
*** 17,27 ****
                 /usr/vice/etc/CellServDB
          chmod 644 /usr/vice/etc/CellServDB
          echo
-         echo -n $"Updating SuidCells: "
-         cat /usr/vice/etc/SuidCells.local /usr/vice/etc/SuidCells.dist > \
-                /usr/vice/etc/SuidCells
-         chmod 644 /usr/vice/etc/SuidCells
-         echo
  	echo -n $"Starting openafs-client: "
  	if [ -e /var/lock/subsys/openafs-client ] ; then
  		echo -n $"cannot start openafs-client: already running"
--- 17,22 ----
Index: openafs/src/packaging/RedHat/openafs-krb5-2.0.tar.gz
Index: openafs/src/packaging/RedHat/openafs.spec.in
diff -c openafs/src/packaging/RedHat/openafs.spec.in:1.2.2.9 openafs/src/packaging/RedHat/openafs.spec.in:1.2.2.12
*** openafs/src/packaging/RedHat/openafs.spec.in:1.2.2.9	Mon Oct 29 23:56:53 2007
--- openafs/src/packaging/RedHat/openafs.spec.in	Mon Nov 26 17:20:27 2007
***************
*** 1,4 ****
! # Openafs Spec $Revision: 1.2.2.9 $
  
  %define afsvers @VERSION@
  %define pkgvers @VERSION@
--- 1,4 ----
! # Openafs Spec $Revision: 1.2.2.12 $
  
  %define afsvers @VERSION@
  %define pkgvers @VERSION@
***************
*** 20,26 ****
  %define build_modules_on_cmdline %{?build_modules:1}%{!?build_modules:0}
  
  # Determine the version of the kernel to build against
! # - automatically select the latest kernel with sources from /lib/modules
  # - note that this can be overridden on the command line
  #
  %if !%{kernvers_on_cmdline}
--- 20,26 ----
  %define build_modules_on_cmdline %{?build_modules:1}%{!?build_modules:0}
  
  # Determine the version of the kernel to build against
! # - automatically select running kernel if there are sources in /lib/modules
  # - note that this can be overridden on the command line
  #
  %if !%{kernvers_on_cmdline}
***************
*** 46,52 ****
  %endif
  %{!?kvariants: %define kvariants %{?upvar} %{?smpvar} %{?paevar} %{?xenvar} %{?kdumpvar}}
  
! %define ksrcdir %{_usrsrc}/kernels/%{kverrel}-%{_target_cpu}
  
  %else # Legacy kernel build stuff 
  
--- 46,52 ----
  %endif
  %{!?kvariants: %define kvariants %{?upvar} %{?smpvar} %{?paevar} %{?xenvar} %{?kdumpvar}}
  
! %{!?ksrcdir: %define ksrcdir %{_usrsrc}/kernels/%{kverrel}-%{_target_cpu}}
  
  %else # Legacy kernel build stuff 
  
***************
*** 230,235 ****
--- 230,238 ----
  Packager: Derek Atkins <warlord@MIT.EDU>
  Group: Networking/Filesystems
  BuildRequires: %{?kdepend:%{kdepend}, } pam-devel, ncurses-devel, flex, bison
+ %if %{krb5support}
+ BuildRequires: krb5-devel
+ %endif
  %if %{build_userspace}
  BuildRequires: autoconf
  %endif
***************
*** 459,465 ****
  Summary: OpenAFS programs to use with krb5
  Requires: openafs = %{PACKAGE_VERSION}
  Group: Networking/Filesystems
! BuildRequires: krb5-devel, autoconf, automake
  
  %description krb5
  The AFS distributed filesystem.  AFS is a distributed filesystem
--- 462,468 ----
  Summary: OpenAFS programs to use with krb5
  Requires: openafs = %{PACKAGE_VERSION}
  Group: Networking/Filesystems
! BuildRequires: autoconf, automake
  
  %description krb5
  The AFS distributed filesystem.  AFS is a distributed filesystem
***************
*** 642,678 ****
  # Patch openafs to build a kernel module named "openafs" instead of "libafs"
  %patch0 -p1 -b .kmod26
  
- %if %{build_userspace}
- # Save some time -- install these if we're building userspace
- 
- # Install the Krb5 Migration Kit
- tar -xzf src/packaging/RedHat/openafs-krb5-2.0.tar.gz
- 
- #
- # patch afs-krb5 migration kit to work with openafs-1.3 and krb5-1.3;
- # add some features and fix bugs
- #
- 
- # krb524 is no longer in a separate library as of krb5-1.3; handle this
- patch -p0 -b -z .krb524 < src/packaging/RedHat/afs-krb5-2.0-krb524.patch
- 
- # make sure NETLIBS gets added to the proper programs (seems to be 
- # needed only for Solaris)
- patch -p0 -b -z .libsocket < src/packaging/RedHat/afs-krb5-2.0-libsocket.patch
- 
- # find an existing libcom_err and use that
- patch -p0 -b -z .com_err < src/packaging/RedHat/afs-krb5-2.0-com_err.patch
- 
- # make afs-krb5 work with recent OpenAFS; includes and prototypes
- patch -p0 -b -z .openafs13 < src/packaging/RedHat/afs-krb5-2.0-openafs1.3.patch
- 
- # nothing in afs-krb5 actually uses res_search
- patch -p0 -b -z .res_search < src/packaging/RedHat/afs-krb5-2.0-res_search.patch
- 
- (cd afs-krb5/src && autoreconf) || exit 1
- 
- %endif
- 
  ##############################################################################
  #
  # building
--- 645,650 ----
***************
*** 813,818 ****
--- 785,806 ----
  
  # Configure AFS
  
+ # If we're using Fedora kmods, work out which is the best kernel module to 
+ # use for the userland configuration step. If no variants have been specified,
+ # then use the standard kernel. If variants are specified, use the standard kernel
+ # if it's listed, otherwise pick the first listed kernel.
+ ksrc=""
+ %if %{fedorakmod} 
+   for kvariant in %{kvariants} ; do
+     if [ -z "${kvariant}" -o -z "$ksrc" ] ; then
+       ksrc=%{_usrsrc}/kernels/%{kverrel}${kvariant:+-$kvariant}-%{_target_cpu}
+     fi
+   done
+ %endif
+ if [ -z "$ksrc" ] ; then
+ ksrc=%{ksrcdir}
+ fi
+ 
  CFLAGS="$RPM_OPT_FLAGS"; export CFLAGS
  
  ./configure --with-afs-sysname=${sysname} \
***************
*** 820,827 ****
         --libdir=%{_libdir} \
         --bindir=%{_bindir} \
         --sbindir=%{_sbindir} \
  %if %{build_modules}
!        --with-linux-kernel-headers=%{ksrcdir} \
  %endif
  %if %{krb5support}
  	--with-krb5-conf \
--- 808,816 ----
         --libdir=%{_libdir} \
         --bindir=%{_bindir} \
         --sbindir=%{_sbindir} \
+        --disable-strip-binaries \
  %if %{build_modules}
!        --with-linux-kernel-headers=%{ksrc} \
  %endif
  %if %{krb5support}
  	--with-krb5-conf \
***************
*** 858,877 ****
  %if %{build_userspace}
  # Build the user-space AFS stuff
  make dest_nolibafs || exit 1
- 
- %if %{krb5support}
- # Now build ka-forwarder
- (cd afs-krb5/src &&
- 	./configure --prefix=%{_prefix} --with-krb5=%{_prefix}/kerberos \
-                --libdir=%{_libdir} \
-                --bindir=%{_bindir} \
-                --sbindir=%{_sbindir} \
-                --with-afs=`pwd`/../../${sysname}/dest/ && \
- 	make all PROGS="ka-forwarder" && \
- 	install -c -s ka-forwarder `pwd`/../../${sysname}/dest/etc ) \
- 	|| exit 1
- %endif
- 
  %endif
  
  %if %{build_modules}
--- 847,852 ----
***************
*** 1164,1169 ****
--- 1139,1146 ----
  %if !%{build_authlibs}
  rm -f $RPM_BUILD_ROOT%{_libdir}/libafsauthent.so
  rm -f $RPM_BUILD_ROOT%{_libdir}/libafsrpc.so
+ rm -f $RPM_BUILD_ROOT%{_libdir}/libafsauthent.so.*
+ rm -f $RPM_BUILD_ROOT%{_libdir}/libafsrpc.so.*
  %endif
  
  %endif
***************
*** 1202,1208 ****
  
      # Mark kernel modules as executable; otherwise they won't get stripped 
      # by /usr/lib/rpm/brp-strip
!     install -m 744 ${srcdir}/${modname} ${dstdir}/openafs${kmodend}
  done
  %endif
  %endif
--- 1179,1185 ----
  
      # Mark kernel modules as executable; otherwise they won't get stripped 
      # by /usr/lib/rpm/brp-strip
!     install -m 644 ${srcdir}/${modname} ${dstdir}/openafs${kmodend}
  done
  %endif
  %endif
***************
*** 1507,1513 ****
  %defattr(-,root,root)
  %{_bindir}/aklog
  %{_sbindir}/asetkey
- %{_sbindir}/ka-forwarder
  %{_mandir}/man1/aklog.*
  %{_mandir}/man8/asetkey.*
  %endif
--- 1484,1489 ----
Index: openafs/src/pam/afs_util.c
diff -c openafs/src/pam/afs_util.c:1.12.14.2 openafs/src/pam/afs_util.c:1.12.14.3
*** openafs/src/pam/afs_util.c:1.12.14.2	Tue Oct 30 11:16:42 2007
--- openafs/src/pam/afs_util.c	Thu Nov  8 09:14:49 2007
***************
*** 21,27 ****
  #include <stdlib.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/pam/afs_util.c,v 1.12.14.2 2007/10/30 15:16:42 shadow Exp $");
  
  #include "afs_util.h"
  
--- 21,27 ----
  #include <stdlib.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/pam/afs_util.c,v 1.12.14.3 2007/11/08 14:14:49 shadow Exp $");
  
  #include "afs_util.h"
  
***************
*** 174,186 ****
  static afs_int32
  curpag(void)
  {
- #if defined(AFS_AIX51_ENV)
-     afs_int32 pag;
- 
-     if (kcred_getpag(cred, PAG_AFS, &pag) < 0 || pag == 0)
-         pag = NOPAG;
-     return pag;
- #else
      gid_t groups[NGROUPS_MAX];
      afs_uint32 g0, g1;
      afs_uint32 h, l, ret;
--- 174,179 ----
***************
*** 204,210 ****
  	    return -1;
      }
      return -1;
- #endif
  }
  
  /* Returns the AFS pag number, if any, otherwise return -1 */
--- 197,202 ----
Index: openafs/src/platform/DARWIN/Makefile.in
diff -c openafs/src/platform/DARWIN/Makefile.in:1.2.2.5 openafs/src/platform/DARWIN/Makefile.in:1.2.2.6
*** openafs/src/platform/DARWIN/Makefile.in:1.2.2.5	Tue Aug  1 23:49:35 2006
--- openafs/src/platform/DARWIN/Makefile.in	Mon Nov 12 13:28:36 2007
***************
*** 21,30 ****
  	${DEST}/etc/afssettings
  
  ${DESTDIR}${sbindir}/afssettings: afssettings
! 	${INSTALL} -s $? $@
  
  ${DEST}/etc/afssettings: afssettings
! 	${INSTALL} -s $? $@
  
  clean:
  	$(RM) -f *.o core afssettings AFS_component_version_number.c 
--- 21,30 ----
  	${DEST}/etc/afssettings
  
  ${DESTDIR}${sbindir}/afssettings: afssettings
! 	${INSTALL} $? $@
  
  ${DEST}/etc/afssettings: afssettings
! 	${INSTALL} $? $@
  
  clean:
  	$(RM) -f *.o core afssettings AFS_component_version_number.c 
Index: openafs/src/ptserver/readgroup.c
diff -c openafs/src/ptserver/readgroup.c:1.10.14.2 openafs/src/ptserver/readgroup.c:1.10.14.3
*** openafs/src/ptserver/readgroup.c:1.10.14.2	Tue Oct 30 11:16:43 2007
--- openafs/src/ptserver/readgroup.c	Mon Nov 26 16:08:43 2007
***************
*** 11,17 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/ptserver/readgroup.c,v 1.10.14.2 2007/10/30 15:16:43 shadow Exp $");
  
  #include <stdio.h>
  #ifdef AFS_NT40_ENV
--- 11,17 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/ptserver/readgroup.c,v 1.10.14.3 2007/11/26 21:08:43 shadow Exp $");
  
  #include <stdio.h>
  #ifdef AFS_NT40_ENV
***************
*** 206,211 ****
--- 206,212 ----
  	    }
  	}
      }
+     return 0;
  }
  
  void
Index: openafs/src/ptserver/readpwd.c
diff -c openafs/src/ptserver/readpwd.c:1.9.14.2 openafs/src/ptserver/readpwd.c:1.9.14.3
*** openafs/src/ptserver/readpwd.c:1.9.14.2	Tue Oct 30 11:16:43 2007
--- openafs/src/ptserver/readpwd.c	Mon Nov 26 16:08:43 2007
***************
*** 11,17 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/ptserver/readpwd.c,v 1.9.14.2 2007/10/30 15:16:43 shadow Exp $");
  
  #include <stdio.h>
  #ifdef AFS_NT40_ENV
--- 11,17 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/ptserver/readpwd.c,v 1.9.14.3 2007/11/26 21:08:43 shadow Exp $");
  
  #include <stdio.h>
  #ifdef AFS_NT40_ENV
***************
*** 99,102 ****
--- 99,103 ----
  	    fprintf(stderr, "%s (%d).\n", pr_ErrorMsg(code), code);
  	}
      }
+     return 0;
  }
Index: openafs/src/rx/rx.h
diff -c openafs/src/rx/rx.h:1.28.4.2 openafs/src/rx/rx.h:1.28.4.3
*** openafs/src/rx/rx.h:1.28.4.2	Wed May 16 16:49:56 2007
--- openafs/src/rx/rx.h	Mon Nov 26 16:08:43 2007
***************
*** 46,51 ****
--- 46,52 ----
  #else /* KERNEL */
  # include <sys/types.h>
  # include <stdio.h>
+ # include <string.h>
  #ifdef AFS_PTHREAD_ENV
  # include "rx_pthread.h"
  #else
Index: openafs/src/rx/rx_trace.c
diff -c openafs/src/rx/rx_trace.c:1.11.14.1 openafs/src/rx/rx_trace.c:1.11.14.2
*** openafs/src/rx/rx_trace.c:1.11.14.1	Tue Oct 30 11:16:45 2007
--- openafs/src/rx/rx_trace.c	Mon Nov 26 16:08:43 2007
***************
*** 11,17 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/rx/rx_trace.c,v 1.11.14.1 2007/10/30 15:16:45 shadow Exp $");
  
  #ifdef RXDEBUG
  #include <string.h>
--- 11,17 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/rx/rx_trace.c,v 1.11.14.2 2007/11/26 21:08:43 shadow Exp $");
  
  #ifdef RXDEBUG
  #include <string.h>
***************
*** 182,187 ****
--- 182,188 ----
  	printf(" %3u %7u %7u      %x.%x\n", ip.qlen, ip.servicetime,
  	       ip.waittime, ip.cid, ip.call);
      }
+     return 0;
  }
  
  #endif /* DUMPTRACE */
Index: openafs/src/scout/scout.c
diff -c openafs/src/scout/scout.c:1.10.2.2 openafs/src/scout/scout.c:1.10.2.3
*** openafs/src/scout/scout.c:1.10.2.2	Wed Oct 31 00:09:37 2007
--- openafs/src/scout/scout.c	Mon Nov 26 16:08:43 2007
***************
*** 15,21 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/scout/scout.c,v 1.10.2.2 2007/10/31 04:09:37 shadow Exp $");
  
  #undef	IN
  #ifdef	AFS_AIX32_ENV
--- 15,21 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/scout/scout.c,v 1.10.2.3 2007/11/26 21:08:43 shadow Exp $");
  
  #undef	IN
  #ifdef	AFS_AIX32_ENV
***************
*** 2378,2381 ****
--- 2378,2382 ----
      } else
  	scout_CleanExit(0);
  
+     return 0; /* not reachable */
  }				/*main */
Index: openafs/src/sys/Makefile.in
diff -c openafs/src/sys/Makefile.in:1.36.2.5 openafs/src/sys/Makefile.in:1.36.2.6
*** openafs/src/sys/Makefile.in:1.36.2.5	Thu Nov  1 12:02:30 2007
--- openafs/src/sys/Makefile.in	Mon Nov 12 13:28:36 2007
***************
*** 310,325 ****
  		${DESTDIR}${libdir}/libafssetpag.${LIBAFSSETPAGMAJOR}.${LIBAFSSETPAGMINOR}.${SHLIB_SUFFIX} ;; \
  
  ${DESTDIR}${sbindir}/rmtsysd: rmtsysd
! 	${INSTALL} -s $? $@
  
  ${DESTDIR}${includedir}/afs/afssyscalls.h: afssyscalls.h
  	${INSTALL} $? $@
  
  ${DESTDIR}${bindir}/pagsh: pagsh
! 	${INSTALL} -s $? $@
  
  ${DESTDIR}${bindir}/pagsh.krb: pagsh.krb
! 	${INSTALL} -s $? $@
  
  ${DESTDIR}${includedir}/afs/afs.exp: afs.exp
  	@set -x; case ${SYS_NAME} in \
--- 310,325 ----
  		${DESTDIR}${libdir}/libafssetpag.${LIBAFSSETPAGMAJOR}.${LIBAFSSETPAGMINOR}.${SHLIB_SUFFIX} ;; \
  
  ${DESTDIR}${sbindir}/rmtsysd: rmtsysd
! 	${INSTALL} $? $@
  
  ${DESTDIR}${includedir}/afs/afssyscalls.h: afssyscalls.h
  	${INSTALL} $? $@
  
  ${DESTDIR}${bindir}/pagsh: pagsh
! 	${INSTALL} $? $@
  
  ${DESTDIR}${bindir}/pagsh.krb: pagsh.krb
! 	${INSTALL} ${NO_STRIP_KRB} $? $@
  
  ${DESTDIR}${includedir}/afs/afs.exp: afs.exp
  	@set -x; case ${SYS_NAME} in \
***************
*** 361,373 ****
  	${INSTALL} $? $@
  
  ${DEST}/etc/rmtsysd: rmtsysd
! 	${INSTALL} -s $? $@
  
  ${DEST}/bin/pagsh: pagsh
! 	${INSTALL} -s $? $@
  
  ${DEST}/bin/pagsh.krb: pagsh.krb
! 	${INSTALL} -s $? $@
  
  #
  # Misc targets
--- 361,373 ----
  	${INSTALL} $? $@
  
  ${DEST}/etc/rmtsysd: rmtsysd
! 	${INSTALL} $? $@
  
  ${DEST}/bin/pagsh: pagsh
! 	${INSTALL} $? $@
  
  ${DEST}/bin/pagsh.krb: pagsh.krb
! 	${INSTALL} ${NO_STRIP_KRB} $? $@
  
  #
  # Misc targets
Index: openafs/src/sys/pagsh.c
diff -c openafs/src/sys/pagsh.c:1.9.14.3 openafs/src/sys/pagsh.c:1.9.14.4
*** openafs/src/sys/pagsh.c:1.9.14.3	Tue Oct 30 11:16:46 2007
--- openafs/src/sys/pagsh.c	Mon Nov 26 16:08:44 2007
***************
*** 11,17 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/sys/pagsh.c,v 1.9.14.3 2007/10/30 15:16:46 shadow Exp $");
  
  #ifdef	AFS_AIX32_ENV
  #include <signal.h>
--- 11,17 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/sys/pagsh.c,v 1.9.14.4 2007/11/26 21:08:44 shadow Exp $");
  
  #ifdef	AFS_AIX32_ENV
  #include <signal.h>
***************
*** 163,168 ****
--- 163,169 ----
      strcat(*denv, fname5);
      *++denv = 0;
      environ = newenv;
+     return 0;
  }
  
  #endif
Index: openafs/src/sys/rmtsysc.c
diff -c openafs/src/sys/rmtsysc.c:1.11.14.2 openafs/src/sys/rmtsysc.c:1.11.14.5
*** openafs/src/sys/rmtsysc.c:1.11.14.2	Tue Oct 30 11:16:46 2007
--- openafs/src/sys/rmtsysc.c	Wed Nov 28 00:04:51 2007
***************
*** 16,22 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/sys/rmtsysc.c,v 1.11.14.2 2007/10/30 15:16:46 shadow Exp $");
  
  #include <errno.h>
  #include <limits.h>
--- 16,22 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/sys/rmtsysc.c,v 1.11.14.5 2007/11/28 05:04:51 shadow Exp $");
  
  #include <errno.h>
  #include <limits.h>
***************
*** 44,49 ****
--- 44,51 ----
  static int hostAddrLookup = 0;
  char *afs_server = 0, server_name[128];
  static afs_int32 SetClientCreds();
+ int afs_get_pag_from_groups(afs_uint32 g0, afs_uint32 g1);
+ void afs_get_groups_from_pag(afs_uint32 pag, afs_uint32 * g0p, afs_uint32 * g1p);
  
  /* Picks up the name of the remote afs client host where the rmtsys 
   * daemon resides. Since the clients may be diskless and/or readonly
***************
*** 305,311 ****
      return NOPAG;
  }
  
! 
  afs_get_groups_from_pag(afs_uint32 pag, afs_uint32 * g0p, afs_uint32 * g1p)
  {
      unsigned short g0, g1;
--- 307,313 ----
      return NOPAG;
  }
  
! void
  afs_get_groups_from_pag(afs_uint32 pag, afs_uint32 * g0p, afs_uint32 * g1p)
  {
      unsigned short g0, g1;
Index: openafs/src/sys/rmtsysd.c
diff -c openafs/src/sys/rmtsysd.c:1.7 openafs/src/sys/rmtsysd.c:1.7.14.1
*** openafs/src/sys/rmtsysd.c:1.7	Tue Jul 15 19:16:54 2003
--- openafs/src/sys/rmtsysd.c	Mon Nov 26 16:08:44 2007
***************
*** 17,23 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/sys/rmtsysd.c,v 1.7 2003/07/15 23:16:54 shadow Exp $");
  
  #ifdef	AFS_AIX32_ENV
  #include <signal.h>
--- 17,23 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/sys/rmtsysd.c,v 1.7.14.1 2007/11/26 21:08:44 shadow Exp $");
  
  #ifdef	AFS_AIX32_ENV
  #include <signal.h>
***************
*** 78,81 ****
--- 78,82 ----
       * at some point... */
      rx_SetMaxProcs(service, 2);
      rx_StartServer(1);		/* Donate this process to the server process pool */
+     return 0;
  }
Index: openafs/src/sys/rmtsysnet.c
diff -c openafs/src/sys/rmtsysnet.c:1.8.14.1 openafs/src/sys/rmtsysnet.c:1.8.14.2
*** openafs/src/sys/rmtsysnet.c:1.8.14.1	Tue Oct 30 11:16:46 2007
--- openafs/src/sys/rmtsysnet.c	Mon Nov 26 16:08:44 2007
***************
*** 11,17 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/sys/rmtsysnet.c,v 1.8.14.1 2007/10/30 15:16:46 shadow Exp $");
  
  #include <errno.h>
  #include <sys/param.h>
--- 11,17 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/sys/rmtsysnet.c,v 1.8.14.2 2007/11/26 21:08:44 shadow Exp $");
  
  #include <errno.h>
  #include <sys/param.h>
***************
*** 147,152 ****
--- 147,153 ----
  	sprintf(tstring, "%s %d\n", tp->name, tp->rights);
  	strcat(mydata, tstring);
      }
+     return 0;
  }
  
  
***************
*** 165,170 ****
--- 166,172 ----
  	free(te);
      }
      free(aa);
+     return 0;
  }
  
  
***************
*** 206,211 ****
--- 208,214 ----
  	status->PartBlocksAvail = htonl(status->PartBlocksAvail);
  	status->PartMaxBlocks = htonl(status->PartMaxBlocks);
      }
+     return 0;
  }
  
  int
***************
*** 224,229 ****
--- 227,233 ----
  	ticket->BeginTimestamp = htonl(ticket->BeginTimestamp);
  	ticket->EndTimestamp = htonl(ticket->EndTimestamp);
      }
+     return 0;
  }
  
  int
***************
*** 334,339 ****
--- 338,344 ----
  	/* Note that new pioctls are supposed to be in network order! */
  	break;
      }
+     return 0;
  }
  
  
***************
*** 444,447 ****
--- 449,453 ----
  	/* Note that new pioctls are supposed to be in network order! */
  	break;
      }
+     return 0;
  }
Index: openafs/src/sys/rmtsyss.c
diff -c openafs/src/sys/rmtsyss.c:1.10.14.1 openafs/src/sys/rmtsyss.c:1.10.14.2
*** openafs/src/sys/rmtsyss.c:1.10.14.1	Tue Oct 30 11:16:46 2007
--- openafs/src/sys/rmtsyss.c	Mon Nov 26 16:08:44 2007
***************
*** 16,22 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/sys/rmtsyss.c,v 1.10.14.1 2007/10/30 15:16:46 shadow Exp $");
  
  #include <sys/types.h>
  #include <sys/ioctl.h>
--- 16,22 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/sys/rmtsyss.c,v 1.10.14.2 2007/11/26 21:08:44 shadow Exp $");
  
  #include <sys/types.h>
  #include <sys/ioctl.h>
***************
*** 83,88 ****
--- 83,89 ----
       * at some point... */
      rx_SetMaxProcs(service, 2);
      rx_StartServer(1);		/* Donate this process to the server process pool */
+     return 0; /* not reached */
  }
  
  
Index: openafs/src/tsalvaged/Makefile.in
diff -c openafs/src/tsalvaged/Makefile.in:1.1 openafs/src/tsalvaged/Makefile.in:1.1.4.1
*** openafs/src/tsalvaged/Makefile.in:1.1	Fri Mar 17 23:20:11 2006
--- openafs/src/tsalvaged/Makefile.in	Mon Nov 12 13:28:36 2007
***************
*** 176,185 ****
  	${INSTALL} -ns $? $@
  
  ${DEST}/root.server/usr/afs/bin/fssync-debug: fssync-debug
! 	${INSTALL} -s $? $@
  
  ${DEST}/root.server/usr/afs/bin/salvsync-debug: salvsync-debug
! 	${INSTALL} -s $? $@
  
  install: ${INSTALL_TARGS}
  
--- 176,185 ----
  	${INSTALL} -ns $? $@
  
  ${DEST}/root.server/usr/afs/bin/fssync-debug: fssync-debug
! 	${INSTALL} $? $@
  
  ${DEST}/root.server/usr/afs/bin/salvsync-debug: salvsync-debug
! 	${INSTALL} $? $@
  
  install: ${INSTALL_TARGS}
  
***************
*** 192,200 ****
  	${INSTALL} -ns $? $@
  
  ${DESTDIR}${afssrvsbindir}/fssync-debug: fssync-debug
! 	${INSTALL} -s $? $@
  
  ${DESTDIR}${afssrvsbindir}/salvsync-debug: salvsync-debug
! 	${INSTALL} -s $? $@
  
  dest: ${DEST_TARGS}
--- 192,200 ----
  	${INSTALL} -ns $? $@
  
  ${DESTDIR}${afssrvsbindir}/fssync-debug: fssync-debug
! 	${INSTALL} $? $@
  
  ${DESTDIR}${afssrvsbindir}/salvsync-debug: salvsync-debug
! 	${INSTALL} $? $@
  
  dest: ${DEST_TARGS}
Index: openafs/src/tsm41/aix_aklog.c
diff -c openafs/src/tsm41/aix_aklog.c:1.1.2.2 openafs/src/tsm41/aix_aklog.c:1.1.2.3
*** openafs/src/tsm41/aix_aklog.c:1.1.2.2	Fri Jul 13 15:55:00 2007
--- openafs/src/tsm41/aix_aklog.c	Sun Dec  9 01:07:32 2007
***************
*** 11,17 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/tsm41/aix_aklog.c,v 1.1.2.2 2007/07/13 19:55:00 shadow Exp $");
  
  #if defined(AFS_AIX51_ENV)
  #include <sys/types.h>
--- 11,17 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/tsm41/aix_aklog.c,v 1.1.2.3 2007/12/09 06:07:32 shadow Exp $");
  
  #if defined(AFS_AIX51_ENV)
  #include <sys/types.h>
***************
*** 533,543 ****
      strcpy(aclient.instance, "");
      strncpy(aclient.cell, realm_of_user, MAXKTCREALMLEN - 1);
      
      /* on AIX 4.1.4 with AFS 3.4a+ if a write is not done before 
       * this routine, it will not add the token. It is not clear what 
!      * is going on here! So we will do the following operation
       */
      write(2,"",0); /* dummy write */
      status = ktc_SetToken(&aserver, &atoken, &aclient, afssetpag);
  
      return(status);
--- 533,546 ----
      strcpy(aclient.instance, "");
      strncpy(aclient.cell, realm_of_user, MAXKTCREALMLEN - 1);
      
+ #ifndef AFS_AIX51_ENV
      /* on AIX 4.1.4 with AFS 3.4a+ if a write is not done before 
       * this routine, it will not add the token. It is not clear what 
!      * is going on here! So we will do the following operation.
!      * On AIX 5 this kills our parent. So we won't.
       */
      write(2,"",0); /* dummy write */
+ #endif
      status = ktc_SetToken(&aserver, &atoken, &aclient, afssetpag);
  
      return(status);
Index: openafs/src/ubik/beacon.c
diff -c openafs/src/ubik/beacon.c:1.21.8.1 openafs/src/ubik/beacon.c:1.21.8.2
*** openafs/src/ubik/beacon.c:1.21.8.1	Tue Oct 30 11:16:47 2007
--- openafs/src/ubik/beacon.c	Mon Nov 26 16:08:45 2007
***************
*** 11,17 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/ubik/beacon.c,v 1.21.8.1 2007/10/30 15:16:47 shadow Exp $");
  
  #include <sys/types.h>
  #ifdef AFS_NT40_ENV
--- 11,17 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/ubik/beacon.c,v 1.21.8.2 2007/11/26 21:08:45 shadow Exp $");
  
  #include <sys/types.h>
  #ifdef AFS_NT40_ENV
***************
*** 77,82 ****
--- 77,83 ----
   */
  
  /* procedure called from debug rpc call to get this module's state for debugging */
+ void
  ubeacon_Debug(aparm)
       register struct ubik_debug *aparm;
  {
Index: openafs/src/uss/grammar.y
diff -c openafs/src/uss/grammar.y:1.4.14.1 openafs/src/uss/grammar.y:1.4.14.2
*** openafs/src/uss/grammar.y:1.4.14.1	Tue Oct 30 11:16:48 2007
--- openafs/src/uss/grammar.y	Mon Nov 26 16:08:45 2007
***************
*** 127,130 ****
--- 127,131 ----
  char *s;
  {
  fprintf(stderr,"%s. ",s);
+ return 0;
  }
Index: openafs/src/uss/lex.l
diff -c openafs/src/uss/lex.l:1.1.14.1 openafs/src/uss/lex.l:1.1.14.2
*** openafs/src/uss/lex.l:1.1.14.1	Tue Oct 30 11:16:48 2007
--- openafs/src/uss/lex.l	Mon Nov 26 16:08:45 2007
***************
*** 11,17 ****
  #include <afsconfig.h>
  #include <afs/param.h>
  
! RCSID("$Header: /cvs/openafs/src/uss/lex.l,v 1.1.14.1 2007/10/30 15:16:48 shadow Exp $");
  
  
  #include <string.h>
--- 11,17 ----
  #include <afsconfig.h>
  #include <afs/param.h>
  
! RCSID("$Header: /cvs/openafs/src/uss/lex.l,v 1.1.14.2 2007/11/26 21:08:45 shadow Exp $");
  
  
  #include <string.h>
***************
*** 70,75 ****
--- 70,76 ----
   * and replaces the second with a null.
   */
  
+ void
  Replace(in, out)
      char *in, *out;
  
Index: openafs/src/uss/uss.c
diff -c openafs/src/uss/uss.c:1.8.14.2 openafs/src/uss/uss.c:1.8.14.3
*** openafs/src/uss/uss.c:1.8.14.2	Wed Oct 31 00:09:39 2007
--- openafs/src/uss/uss.c	Mon Nov 26 16:08:45 2007
***************
*** 19,25 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/uss/uss.c,v 1.8.14.2 2007/10/31 04:09:39 shadow Exp $");
  
  #ifdef	AFS_AIX32_ENV
  #include <signal.h>
--- 19,25 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/uss/uss.c,v 1.8.14.3 2007/11/26 21:08:45 shadow Exp $");
  
  #ifdef	AFS_AIX32_ENV
  #include <signal.h>
***************
*** 1995,1998 ****
--- 1995,1999 ----
      if (doUnlog) {
  	code = uss_fs_UnlogToken(uss_Cell);
      }
+     return 0;
  }				/*Main routine */
Index: openafs/src/uss/uss_fs.c
diff -c openafs/src/uss/uss_fs.c:1.8.14.1 openafs/src/uss/uss_fs.c:1.8.14.2
*** openafs/src/uss/uss_fs.c:1.8.14.1	Tue Oct 30 11:16:48 2007
--- openafs/src/uss/uss_fs.c	Mon Nov 26 16:08:45 2007
***************
*** 19,25 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/uss/uss_fs.c,v 1.8.14.1 2007/10/30 15:16:48 shadow Exp $");
  
  #include "uss_fs.h"		/*Interface to this module */
  #include <sys/types.h>
--- 19,25 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/uss/uss_fs.c,v 1.8.14.2 2007/11/26 21:08:45 shadow Exp $");
  
  #include "uss_fs.h"		/*Interface to this module */
  #include <sys/types.h>
***************
*** 489,495 ****
  #endif /* USS_FS_DB */
  	return (-1);
      }
! 
  }				/*uss_fs_MkMountPoint */
  
  
--- 489,495 ----
  #endif /* USS_FS_DB */
  	return (-1);
      }
!     return 0;
  }				/*uss_fs_MkMountPoint */
  
  
Index: openafs/src/venus/Makefile.in
diff -c openafs/src/venus/Makefile.in:1.34 openafs/src/venus/Makefile.in:1.34.2.1
*** openafs/src/venus/Makefile.in:1.34	Thu Mar  9 01:35:08 2006
--- openafs/src/venus/Makefile.in	Mon Nov 12 13:28:36 2007
***************
*** 52,73 ****
  cacheout.o: cacheout.c
  
  ${DEST}/bin/fs ${DEST}/root.server/usr/afs/bin/fs: fs
! 	${INSTALL} -s $? $@
  
  ${DEST}/bin/livesys: livesys
! 	${INSTALL} -s $? $@
  
  ${DEST}/bin/up: up
! 	${INSTALL} -s $? $@
  
  ${DEST}/etc/fstrace: fstrace
! 	${INSTALL} -s $? $@
  
  ${DEST}/bin/cmdebug: cmdebug
! 	${INSTALL} -s $? $@
  
  ${DEST}/bin/dedebug: dedebug
! 	${INSTALL} -s $? $@
  
  
  up.o: up.c AFS_component_version_number.c
--- 52,73 ----
  cacheout.o: cacheout.c
  
  ${DEST}/bin/fs ${DEST}/root.server/usr/afs/bin/fs: fs
! 	${INSTALL} $? $@
  
  ${DEST}/bin/livesys: livesys
! 	${INSTALL} $? $@
  
  ${DEST}/bin/up: up
! 	${INSTALL} $? $@
  
  ${DEST}/etc/fstrace: fstrace
! 	${INSTALL} $? $@
  
  ${DEST}/bin/cmdebug: cmdebug
! 	${INSTALL} $? $@
  
  ${DEST}/bin/dedebug: dedebug
! 	${INSTALL} $? $@
  
  
  up.o: up.c AFS_component_version_number.c
***************
*** 283,311 ****
  		ln -fs kdump.IP20 ${DEST}/etc/kdump.IP22; \
  		ln -fs kdump.IP20 ${DEST}/etc/kdump.IP32; \
  		for f in kdump.IP??; \
! 			do ${INSTALL} -s $$f ${DEST}/etc/$$f || exit $$? ; \
  		done ;; \
  	sun*_5[789] | sun*_510 ) \
  		${INSTALLex} -f ${srcdir}/kdump.sh.solaris7 ${DEST}/etc/kdump; \
! 		${INSTALL} -s -f ${srcdir}/kdump ${DEST}/etc/kdump32;; \
  	*alpha_linux* ) \
  		${INSTALLex} -f ${srcdir}/kdump.sh.linux ${DEST}/etc/kdump; \
! 		${INSTALL} -s kdump-alpha_linux-${LINUX_VERSION} $@ ;; \
  	*linux* ) \
  		${INSTALLex} -f ${srcdir}/kdump.sh.linux ${DEST}/etc/kdump; \
! 		${INSTALL} -s kdump-linux-${LINUX_VERSION} $@-${LINUX_VERSION} ;; \
  	hp_ux11* ) \
  		${INSTALLex} -f ${srcdir}/kdump.sh.hp_ux11 ${DEST}/etc/kdump; \
! 		${INSTALL} -s -f $? $@;; \
  	*nbsd*) \
  		;; \
  	*) \
! 		${INSTALL} -s $? $@ ;; \
  	esac
  
  ${DEST}/etc/kdump64: kdump-build
  	if [ -f kdump64 ]; then \
! 		${INSTALL} -s kdump64 $@; \
  	fi
  
  
--- 283,311 ----
  		ln -fs kdump.IP20 ${DEST}/etc/kdump.IP22; \
  		ln -fs kdump.IP20 ${DEST}/etc/kdump.IP32; \
  		for f in kdump.IP??; \
! 			do ${INSTALL} $$f ${DEST}/etc/$$f || exit $$? ; \
  		done ;; \
  	sun*_5[789] | sun*_510 ) \
  		${INSTALLex} -f ${srcdir}/kdump.sh.solaris7 ${DEST}/etc/kdump; \
! 		${INSTALL} -f ${srcdir}/kdump ${DEST}/etc/kdump32;; \
  	*alpha_linux* ) \
  		${INSTALLex} -f ${srcdir}/kdump.sh.linux ${DEST}/etc/kdump; \
! 		${INSTALL} kdump-alpha_linux-${LINUX_VERSION} $@ ;; \
  	*linux* ) \
  		${INSTALLex} -f ${srcdir}/kdump.sh.linux ${DEST}/etc/kdump; \
! 		${INSTALL} kdump-linux-${LINUX_VERSION} $@-${LINUX_VERSION} ;; \
  	hp_ux11* ) \
  		${INSTALLex} -f ${srcdir}/kdump.sh.hp_ux11 ${DEST}/etc/kdump; \
! 		${INSTALL} -f $? $@;; \
  	*nbsd*) \
  		;; \
  	*) \
! 		${INSTALL} $? $@ ;; \
  	esac
  
  ${DEST}/etc/kdump64: kdump-build
  	if [ -f kdump64 ]; then \
! 		${INSTALL} kdump64 $@; \
  	fi
  
  
***************
*** 335,359 ****
  include ../config/Makefile.version
  
  ${DESTDIR}${bindir}/fs: fs
! 	${INSTALL} -s $? $@
  
  ${DESTDIR}${bindir}/livesys: livesys
! 	${INSTALL} -s $? $@
  
  ${DESTDIR}${afssrvbindir}/fs: fs
! 	${INSTALL} -s $? $@
  
  ${DESTDIR}${bindir}/up: up
! 	${INSTALL} -s $? $@
  
  ${DESTDIR}${sbindir}/fstrace: fstrace
! 	${INSTALL} -s $? $@
  
  ${DESTDIR}${bindir}/cmdebug: cmdebug
! 	${INSTALL} -s $? $@
  
  ${DESTDIR}${bindir}/dedebug: dedebug
! 	${INSTALL} -s $? $@
  
  ${DESTDIR}${sbindir}/kdump: kdump-build
  	-set -x; \
--- 335,359 ----
  include ../config/Makefile.version
  
  ${DESTDIR}${bindir}/fs: fs
! 	${INSTALL} $? $@
  
  ${DESTDIR}${bindir}/livesys: livesys
! 	${INSTALL} $? $@
  
  ${DESTDIR}${afssrvbindir}/fs: fs
! 	${INSTALL} $? $@
  
  ${DESTDIR}${bindir}/up: up
! 	${INSTALL} $? $@
  
  ${DESTDIR}${sbindir}/fstrace: fstrace
! 	${INSTALL} $? $@
  
  ${DESTDIR}${bindir}/cmdebug: cmdebug
! 	${INSTALL} $? $@
  
  ${DESTDIR}${bindir}/dedebug: dedebug
! 	${INSTALL} $? $@
  
  ${DESTDIR}${sbindir}/kdump: kdump-build
  	-set -x; \
***************
*** 364,387 ****
  		ln -fs kdump.IP20 ${DESTDIR}${sbindir}/kdump.IP22; \
  		ln -fs kdump.IP20 ${DESTDIR}${sbindir}/kdump.IP32; \
  		for f in kdump.IP??; \
! 			do ${INSTALL} -s $$f ${DESTDIR}${sbindir}/$$f || exit $$? ; \
  		done ;; \
  	sun*_5[789] | sun*_510 ) \
  		${INSTALLex} -f kdump.sh.solaris7 ${DESTDIR}${sbindir}/kdump32; \
! 		${INSTALL} -s -f $? $@;; \
  	*linux* ) \
  		${INSTALLex} -f kdump.sh.linux ${DESTDIR}${sbindir}/kdump; \
! 		${INSTALL} -s $? $@ ;; \
  	hp_ux11* ) \
  		${INSTALLex} -f kdump.sh.hp_ux11 ${DESTDIR}${sbindir}/kdump; \
! 		${INSTALL} -s -f $? $@;; \
  	*) \
! 		${INSTALL} -s $? $@ ;; \
  	esac
  
  ${DESTDIR}${sbindir}/kdump64: kdump-build
  	if [ -f kdump64 ]; then \
! 		${INSTALL} -s kdump64 $@; \
  	fi
  
  dest: \
--- 364,387 ----
  		ln -fs kdump.IP20 ${DESTDIR}${sbindir}/kdump.IP22; \
  		ln -fs kdump.IP20 ${DESTDIR}${sbindir}/kdump.IP32; \
  		for f in kdump.IP??; \
! 			do ${INSTALL} $$f ${DESTDIR}${sbindir}/$$f || exit $$? ; \
  		done ;; \
  	sun*_5[789] | sun*_510 ) \
  		${INSTALLex} -f kdump.sh.solaris7 ${DESTDIR}${sbindir}/kdump32; \
! 		${INSTALL} -f $? $@;; \
  	*linux* ) \
  		${INSTALLex} -f kdump.sh.linux ${DESTDIR}${sbindir}/kdump; \
! 		${INSTALL} $? $@ ;; \
  	hp_ux11* ) \
  		${INSTALLex} -f kdump.sh.hp_ux11 ${DESTDIR}${sbindir}/kdump; \
! 		${INSTALL} -f $? $@;; \
  	*) \
! 		${INSTALL} $? $@ ;; \
  	esac
  
  ${DESTDIR}${sbindir}/kdump64: kdump-build
  	if [ -f kdump64 ]; then \
! 		${INSTALL} kdump64 $@; \
  	fi
  
  dest: \
Index: openafs/src/venus/cmdebug.c
diff -c openafs/src/venus/cmdebug.c:1.19.4.5 openafs/src/venus/cmdebug.c:1.19.4.6
*** openafs/src/venus/cmdebug.c:1.19.4.5	Wed Oct 31 00:09:39 2007
--- openafs/src/venus/cmdebug.c	Fri Nov  9 19:19:20 2007
***************
*** 11,17 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/venus/cmdebug.c,v 1.19.4.5 2007/10/31 04:09:39 shadow Exp $");
  
  
  #include <sys/types.h>
--- 11,17 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/venus/cmdebug.c,v 1.19.4.6 2007/11/10 00:19:20 jaltman Exp $");
  
  
  #include <sys/types.h>
***************
*** 40,45 ****
--- 40,47 ----
  
  extern struct hostent *hostutil_GetHostByName();
  
+ static int print_ctime = 0;
+ 
  static int
  PrintCacheConfig(struct rx_connection *aconn)
  {
***************
*** 304,311 ****
  	}
  	printf("    %12d bytes  DV %12d  refcnt %5d\n", centry.Length,
  	       centry.DataVersion, centry.refCount);
! 	printf("    callback %08x\texpires %u\n", centry.callback,
! 	       centry.cbExpires);
  	printf("    %d opens\t%d writers\n", centry.opens, centry.writers);
  
  	/* now display states */
--- 306,318 ----
  	}
  	printf("    %12d bytes  DV %12d  refcnt %5d\n", centry.Length,
  	       centry.DataVersion, centry.refCount);
!         if (print_ctime) {
!             time_t t = centry.cbExpires;
!             printf("    callback %08x\texpires %s\n", centry.callback,
!                     ctime(&t));
!         } else
!             printf("    callback %08x\texpires %u\n", centry.callback,
!                    centry.cbExpires);
  	printf("    %d opens\t%d writers\n", centry.opens, centry.writers);
  
  	/* now display states */
***************
*** 406,413 ****
  	printf("    %12d bytes  DV %12d  refcnt %5d\n", centry.Length,
  	       centry.DataVersion, centry.refCount);
  #endif
! 	printf("    callback %08x\texpires %u\n", centry.callback,
! 	       centry.cbExpires);
  	printf("    %d opens\t%d writers\n", centry.opens, centry.writers);
  
  	/* now display states */
--- 413,425 ----
  	printf("    %12d bytes  DV %12d  refcnt %5d\n", centry.Length,
  	       centry.DataVersion, centry.refCount);
  #endif
!         if (print_ctime) {
!             time_t t = centry.cbExpires;
!             printf("    callback %08x\texpires %s\n", centry.callback,
!                     ctime(&t));
!         } else
!             printf("    callback %08x\texpires %u\n", centry.callback,
!                    centry.cbExpires);
  	printf("    %d opens\t%d writers\n", centry.opens, centry.writers);
  
  	/* now display states */
***************
*** 500,505 ****
--- 512,521 ----
  	PrintCacheConfig(conn);
  	return 0;
      }
+ 
+     if (as->parms[7].items)
+         print_ctime = 1;
+ 
      if (as->parms[2].items)
          /* -long */
  	int32p = 1;
***************
*** 564,569 ****
--- 580,587 ----
  		"print only host interfaces");
      cmd_AddParm(ts, "-cache", CMD_FLAG, CMD_OPTIONAL,
  		"print only cache configuration");
+     cmd_AddParm(ts, "-ctime", CMD_FLAG, CMD_OPTIONAL, 
+                 "print human readable expiration time");
  
      cmd_Dispatch(argc, argv);
      exit(0);
Index: openafs/src/venus/fs.c
diff -c openafs/src/venus/fs.c:1.30.2.12 openafs/src/venus/fs.c:1.30.2.13
*** openafs/src/venus/fs.c:1.30.2.12	Wed Oct 31 00:09:39 2007
--- openafs/src/venus/fs.c	Mon Nov 26 16:08:45 2007
***************
*** 11,17 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/venus/fs.c,v 1.30.2.12 2007/10/31 04:09:39 shadow Exp $");
  
  #include <afs/afs_args.h>
  #include <rx/xdr.h>
--- 11,17 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/venus/fs.c,v 1.30.2.13 2007/11/26 21:08:45 shadow Exp $");
  
  #include <afs/afs_args.h>
  #include <rx/xdr.h>
***************
*** 279,284 ****
--- 279,285 ----
  	if (arights & DFS_USR7)
  	    printf("H");
      }
+     return 0;
  }
  
  /* this function returns TRUE (1) if the file is in AFS, otherwise false (0) */
Index: openafs/src/venus/fstrace.c
diff -c openafs/src/venus/fstrace.c:1.23.2.2 openafs/src/venus/fstrace.c:1.23.2.3
*** openafs/src/venus/fstrace.c:1.23.2.2	Wed Oct 31 00:09:41 2007
--- openafs/src/venus/fstrace.c	Mon Nov 26 16:08:45 2007
***************
*** 14,20 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/venus/fstrace.c,v 1.23.2.2 2007/10/31 04:09:41 shadow Exp $");
  
  #include <stdio.h>
  #include <sys/types.h>
--- 14,20 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/venus/fstrace.c,v 1.23.2.3 2007/11/26 21:08:45 shadow Exp $");
  
  #include <stdio.h>
  #include <sys/types.h>
***************
*** 81,86 ****
--- 81,87 ----
  } *allInfo = 0;
  
  char dumpFileName[256] = "";
+ void
  RegisterIclDumpFileName(name)
       char *name;
  {
***************
*** 252,258 ****
  #if defined(AFS_SGI61_ENV) && !defined(AFS_SGI62_ENV)
  #define uint64_t long long
  #endif
! static
  DisplayRecord(outFilep, alp, rsize)
       FILE *outFilep;
       register afs_int32 *alp;
--- 253,259 ----
  #if defined(AFS_SGI61_ENV) && !defined(AFS_SGI62_ENV)
  #define uint64_t long long
  #endif
! static void
  DisplayRecord(outFilep, alp, rsize)
       FILE *outFilep;
       register afs_int32 *alp;
Index: openafs/src/venus/up.c
diff -c openafs/src/venus/up.c:1.17.2.2 openafs/src/venus/up.c:1.17.2.3
*** openafs/src/venus/up.c:1.17.2.2	Tue Oct 30 11:16:48 2007
--- openafs/src/venus/up.c	Mon Nov 26 16:08:45 2007
***************
*** 11,17 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/venus/up.c,v 1.17.2.2 2007/10/30 15:16:48 shadow Exp $");
  
  /* missing type from C language */
  
--- 11,17 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/venus/up.c,v 1.17.2.3 2007/11/26 21:08:45 shadow Exp $");
  
  /* missing type from C language */
  
***************
*** 21,26 ****
--- 21,27 ----
  #undef	_NONSTD_TYPES
  #endif
  #include <stdio.h>
+ #include <unistd.h>
  #include <afs/afs_args.h>
  #include <sys/param.h>
  #ifdef	AFS_SUN5_ENV
Index: openafs/src/venus/test/fulltest.c
diff -c openafs/src/venus/test/fulltest.c:1.6 openafs/src/venus/test/fulltest.c:1.6.14.1
*** openafs/src/venus/test/fulltest.c:1.6	Tue Jul 15 19:17:24 2003
--- openafs/src/venus/test/fulltest.c	Mon Nov 26 16:08:45 2007
***************
*** 11,22 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/venus/test/fulltest.c,v 1.6 2003/07/15 23:17:24 shadow Exp $");
  
  #include <sys/types.h>
  #include <sys/time.h>
  #include <sys/stat.h>
  #include <fcntl.h>
  #include <unistd.h>
  
  main(argc, argv)
--- 11,23 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/venus/test/fulltest.c,v 1.6.14.1 2007/11/26 21:08:45 shadow Exp $");
  
  #include <sys/types.h>
  #include <sys/time.h>
  #include <sys/stat.h>
  #include <fcntl.h>
+ #include <stdio.h>
  #include <unistd.h>
  
  main(argc, argv)
***************
*** 40,80 ****
      dirName = argv[1];
      mkdir(dirName, 0777);
      if (chdir(dirName) < 0)
! 	return perror("chdir");
      if (getcwd(tempName, 1024) == 0) {
  	return printf("Could not get working dir.\n");
      }
      /* now create some files */
      fd1 = open("hi", O_CREAT | O_TRUNC | O_RDWR, 0666);
      if (fd1 < 0)
! 	return perror("open1");
      if (close(fd1) < 0)
! 	return perror("close1");
      if (access("hi", 2) < 0)
  	return printf("New file can not be written (access)\n");
      if (chmod("hi", 0741) < 0)
! 	return perror("chmod1");
      if (stat("hi", &tstat) < 0)
! 	return perror("stat1");
      if ((tstat.st_mode & 0777) != 0741)
  	return printf("chmod failed to set mode properly\n");
  
      fd1 = open("hi", O_RDWR);
      if (fd1 < 0)
! 	return perror("open2");
      if (fchmod(fd1, 0654) < 0)
! 	return perror("fchmod");
      if (fstat(fd1, &tstat) < 0)
! 	return perror("fstat1");
      if ((tstat.st_mode & 0777) != 0654)
  	return printf("fchmod failed to set mode properly\n");
  #if 0
      /* These appear to be defunct routines;
       * I don't know what, if anything, replaced them */
      if (osi_ExclusiveLockNoBlock(fd1) < 0)
! 	return perror("flock1");
      if (osi_UnLock(fd1) < 0)
! 	return perror("flock/unlock");
  #endif
  
  /* How about shared lock portability? */
--- 41,81 ----
      dirName = argv[1];
      mkdir(dirName, 0777);
      if (chdir(dirName) < 0)
! 	{perror("chdir");return;}
      if (getcwd(tempName, 1024) == 0) {
  	return printf("Could not get working dir.\n");
      }
      /* now create some files */
      fd1 = open("hi", O_CREAT | O_TRUNC | O_RDWR, 0666);
      if (fd1 < 0)
! 	{perror("open1");return;}
      if (close(fd1) < 0)
! 	{perror("close1");return;}
      if (access("hi", 2) < 0)
  	return printf("New file can not be written (access)\n");
      if (chmod("hi", 0741) < 0)
! 	{perror("chmod1");return;}
      if (stat("hi", &tstat) < 0)
! 	{perror("stat1");return;}
      if ((tstat.st_mode & 0777) != 0741)
  	return printf("chmod failed to set mode properly\n");
  
      fd1 = open("hi", O_RDWR);
      if (fd1 < 0)
! 	{perror("open2");return;}
      if (fchmod(fd1, 0654) < 0)
! 	{perror("fchmod");return;}
      if (fstat(fd1, &tstat) < 0)
! 	{perror("fstat1");return;}
      if ((tstat.st_mode & 0777) != 0654)
  	return printf("fchmod failed to set mode properly\n");
  #if 0
      /* These appear to be defunct routines;
       * I don't know what, if anything, replaced them */
      if (osi_ExclusiveLockNoBlock(fd1) < 0)
! 	{perror("flock1");return;}
      if (osi_UnLock(fd1) < 0)
! 	{perror("flock/unlock");return;}
  #endif
  
  /* How about shared lock portability? */
***************
*** 87,93 ****
  	fl.l_len = 0;
  
  	if (fcntl(fd1, F_SETLK, &fl) == -1)
! 	    return perror("fcntl1: RDLCK");
  
  	fl.l_type = F_UNLCK;
  	fl.l_whence = SEEK_SET;
--- 88,94 ----
  	fl.l_len = 0;
  
  	if (fcntl(fd1, F_SETLK, &fl) == -1)
! 	    {perror("fcntl1: RDLCK");return;}
  
  	fl.l_type = F_UNLCK;
  	fl.l_whence = SEEK_SET;
***************
*** 95,101 ****
  	fl.l_len = 0;
  
  	if (fcntl(fd1, F_SETLK, &fl) == -1)
! 	    return perror("fcntl2: UNLCK");
  
  	fl.l_type = F_WRLCK;
  	fl.l_whence = SEEK_SET;
--- 96,102 ----
  	fl.l_len = 0;
  
  	if (fcntl(fd1, F_SETLK, &fl) == -1)
! 	    {perror("fcntl2: UNLCK");return;}
  
  	fl.l_type = F_WRLCK;
  	fl.l_whence = SEEK_SET;
***************
*** 103,109 ****
  	fl.l_len = 0;
  
  	if (fcntl(fd1, F_SETLK, &fl) == -1)
! 	    return perror("fcntl3: WRLCK");
  
  	fl.l_type = F_UNLCK;
  	fl.l_whence = SEEK_SET;
--- 104,110 ----
  	fl.l_len = 0;
  
  	if (fcntl(fd1, F_SETLK, &fl) == -1)
! 	    {perror("fcntl3: WRLCK");return;}
  
  	fl.l_type = F_UNLCK;
  	fl.l_whence = SEEK_SET;
***************
*** 111,171 ****
  	fl.l_len = 0;
  
  	if (fcntl(fd1, F_SETLK, &fl) == -1)
! 	    return perror("fcntl4: UNLCK");
      }
  
      if (fsync(fd1) < 0)
! 	return perror("fsync");
      if (write(fd1, "hi\n", 3) != 3)
! 	return perror("write");
      if (ftruncate(fd1, 2) < 0)
! 	return perror("ftruncate");
      if (close(fd1) < 0)
! 	return perror("close2");
  
      fd1 = open("hi", O_RDONLY);
      if (fd1 < 0)
! 	return perror("open3");
      if (read(fd1, tempName, 100) != 2)
! 	return perror("read2");
      if (close(fd1) < 0)
! 	return perror("close3");
  
      if (link("hi", "bye") < 0)
! 	return perror("link");
      if (stat("bye", &tstat) < 0)
! 	return perror("link/stat");
  
      if (unlink("bye") < 0)
! 	return perror("unlink");
  
      if (symlink("hi", "bye") < 0)
! 	return perror("symlink");
      if (readlink("bye", tempName, 100) != 2)
! 	return perror("readlink");
      if (strncmp(tempName, "hi", 2) != 0)
  	return printf("readlink contents");
      if (mkdir("tdir", 0777) < 0)
! 	return perror("mkdir");
      fd1 = open("tdir/fdsa", O_CREAT | O_TRUNC, 0777);
      close(fd1);
      if (rmdir("tdir") == 0)
  	return printf("removed non-empty dir\n");
      if (unlink("tdir/fdsa") < 0)
! 	return perror("unlink tdir contents");
      if (rmdir("tdir") < 0)
! 	return perror("rmdir");
  
      fd1 = open(".", O_RDONLY);
      if (fd1 < 0)
! 	return perror("open dot");
      if (read(fd1, tempName, 20) < 20)
  	perror("read dir");
      close(fd1);
  
      fd1 = open("rotest", O_RDWR | O_CREAT, 0444);
      if (fd1 < 0)
! 	return perror("open ronly");
      fchown(fd1, 1, -1);		/* don't check error code, may fail on Ultrix */
      code = write(fd1, "test", 4);
      if (code != 4) {
--- 112,172 ----
  	fl.l_len = 0;
  
  	if (fcntl(fd1, F_SETLK, &fl) == -1)
! 	    {perror("fcntl4: UNLCK");return;}
      }
  
      if (fsync(fd1) < 0)
! 	{perror("fsync");return;}
      if (write(fd1, "hi\n", 3) != 3)
! 	{perror("write");return;}
      if (ftruncate(fd1, 2) < 0)
! 	{perror("ftruncate");return;}
      if (close(fd1) < 0)
! 	{perror("close2");return;}
  
      fd1 = open("hi", O_RDONLY);
      if (fd1 < 0)
! 	{perror("open3");return;}
      if (read(fd1, tempName, 100) != 2)
! 	{perror("read2");return;}
      if (close(fd1) < 0)
! 	{perror("close3");return;}
  
      if (link("hi", "bye") < 0)
! 	{perror("link");return;}
      if (stat("bye", &tstat) < 0)
! 	{perror("link/stat");return;}
  
      if (unlink("bye") < 0)
! 	{perror("unlink");return;}
  
      if (symlink("hi", "bye") < 0)
! 	{perror("symlink");return;}
      if (readlink("bye", tempName, 100) != 2)
! 	{perror("readlink");return;}
      if (strncmp(tempName, "hi", 2) != 0)
  	return printf("readlink contents");
      if (mkdir("tdir", 0777) < 0)
! 	{perror("mkdir");return;}
      fd1 = open("tdir/fdsa", O_CREAT | O_TRUNC, 0777);
      close(fd1);
      if (rmdir("tdir") == 0)
  	return printf("removed non-empty dir\n");
      if (unlink("tdir/fdsa") < 0)
! 	{perror("unlink tdir contents");return;}
      if (rmdir("tdir") < 0)
! 	{perror("rmdir");return;}
  
      fd1 = open(".", O_RDONLY);
      if (fd1 < 0)
! 	{perror("open dot");return;}
      if (read(fd1, tempName, 20) < 20)
  	perror("read dir");
      close(fd1);
  
      fd1 = open("rotest", O_RDWR | O_CREAT, 0444);
      if (fd1 < 0)
! 	{perror("open ronly");return;}
      fchown(fd1, 1, -1);		/* don't check error code, may fail on Ultrix */
      code = write(fd1, "test", 4);
      if (code != 4) {
***************
*** 174,213 ****
      }
      code = close(fd1);
      if (code)
! 	return perror("close ronly");
      code = stat("rotest", &tstat);
      if (code < 0)
! 	return perror("stat ronly");
      if (tstat.st_size != 4) {
  	printf("rotest short close\n");
  	exit(1);
      }
      if (unlink("rotest") < 0)
! 	return perror("rotest unlink");
  
      if (rename("hi", "bye") < 0)
! 	return perror("rename1");
      if (stat("bye", &tstat) < 0)
! 	return perror("rename target invisible\n");
      if (stat("hi", &tstat) == 0)
  	return printf("rename source still there\n");
  
  #ifndef	AFS_AIX_ENV
  /* No truncate(2) on aix so the following are excluded */
      if (truncate("bye", 1) < 0)
! 	return perror("truncate");
      if (stat("bye", &tstat) < 0)
! 	return perror("truncate zapped");
      if (tstat.st_size != 1)
  	return printf("truncate failed\n");
  #endif
      if (utimes("bye", tvp) < 0)
! 	return perror("utimes");
      if (unlink("bye") < 0)
! 	return perror("unlink bye");
  
      /* now finish up */
      chdir("..");
      rmdir(dirName);
      printf("Test completed successfully.\n");
  }
--- 175,215 ----
      }
      code = close(fd1);
      if (code)
! 	{perror("close ronly");return;}
      code = stat("rotest", &tstat);
      if (code < 0)
! 	{perror("stat ronly");return;}
      if (tstat.st_size != 4) {
  	printf("rotest short close\n");
  	exit(1);
      }
      if (unlink("rotest") < 0)
! 	{perror("rotest unlink");return;}
  
      if (rename("hi", "bye") < 0)
! 	{perror("rename1");return;}
      if (stat("bye", &tstat) < 0)
! 	{perror("rename target invisible\n");return;}
      if (stat("hi", &tstat) == 0)
  	return printf("rename source still there\n");
  
  #ifndef	AFS_AIX_ENV
  /* No truncate(2) on aix so the following are excluded */
      if (truncate("bye", 1) < 0)
! 	{perror("truncate");return;}
      if (stat("bye", &tstat) < 0)
! 	{perror("truncate zapped");return;}
      if (tstat.st_size != 1)
  	return printf("truncate failed\n");
  #endif
      if (utimes("bye", tvp) < 0)
! 	{perror("utimes");return;}
      if (unlink("bye") < 0)
! 	{perror("unlink bye");return;}
  
      /* now finish up */
      chdir("..");
      rmdir(dirName);
      printf("Test completed successfully.\n");
+     return 0;
  }
Index: openafs/src/venus/test/idtest.c
diff -c openafs/src/venus/test/idtest.c:1.5 openafs/src/venus/test/idtest.c:1.5.14.1
*** openafs/src/venus/test/idtest.c:1.5	Tue Jul 15 19:17:24 2003
--- openafs/src/venus/test/idtest.c	Mon Nov 26 16:08:45 2007
***************
*** 9,17 ****
  
  #include <afsconfig.h>
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/venus/test/idtest.c,v 1.5 2003/07/15 23:17:24 shadow Exp $");
  
  main(argc, argv)
  {
--- 9,18 ----
  
  #include <afsconfig.h>
  #include <afs/param.h>
+ #include <stdio.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/venus/test/idtest.c,v 1.5.14.1 2007/11/26 21:08:45 shadow Exp $");
  
  main(argc, argv)
  {
Index: openafs/src/venus/test/owntest.c
diff -c openafs/src/venus/test/owntest.c:1.8 openafs/src/venus/test/owntest.c:1.8.14.1
*** openafs/src/venus/test/owntest.c:1.8	Tue Jul 15 19:17:24 2003
--- openafs/src/venus/test/owntest.c	Mon Nov 26 16:08:45 2007
***************
*** 12,20 ****
  #ifdef HAVE_STDLIB_H
  #include <stdlib.h>
  #endif
  
  RCSID
!     ("$Header: /cvs/openafs/src/venus/test/owntest.c,v 1.8 2003/07/15 23:17:24 shadow Exp $");
  
  #include <sys/types.h>
  #include <sys/file.h>
--- 12,21 ----
  #ifdef HAVE_STDLIB_H
  #include <stdlib.h>
  #endif
+ #include <stdio.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/venus/test/owntest.c,v 1.8.14.1 2007/11/26 21:08:45 shadow Exp $");
  
  #include <sys/types.h>
  #include <sys/file.h>
Index: openafs/src/viced/afsfileprocs.c
diff -c openafs/src/viced/afsfileprocs.c:1.113.2.19 openafs/src/viced/afsfileprocs.c:1.113.2.20
*** openafs/src/viced/afsfileprocs.c:1.113.2.19	Tue Oct 30 11:16:49 2007
--- openafs/src/viced/afsfileprocs.c	Wed Nov 21 14:34:36 2007
***************
*** 29,35 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/viced/afsfileprocs.c,v 1.113.2.19 2007/10/30 15:16:49 shadow Exp $");
  
  #include <stdio.h>
  #include <stdlib.h>
--- 29,35 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/viced/afsfileprocs.c,v 1.113.2.20 2007/11/21 19:34:36 shadow Exp $");
  
  #include <stdio.h>
  #include <stdlib.h>
***************
*** 5981,5987 ****
--- 5981,5989 ----
  		 (tcon->peer ? tcon->peer->host : 0)));
  	errorCode = GetClient(tcon, &client);
  	if (!errorCode) {
+ 	    H_LOCK;
  	    DeleteAllCallBacks_r(client->host, 1);
+ 	    H_UNLOCK;
  	    PutClient(&client);
  	}
      } else {
Index: openafs/src/viced/callback.c
diff -c openafs/src/viced/callback.c:1.77.2.10 openafs/src/viced/callback.c:1.77.2.14
*** openafs/src/viced/callback.c:1.77.2.10	Mon Nov  5 15:29:11 2007
--- openafs/src/viced/callback.c	Wed Dec  5 15:43:57 2007
***************
*** 85,91 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/viced/callback.c,v 1.77.2.10 2007/11/05 20:29:11 shadow Exp $");
  
  #include <stdio.h>
  #include <stdlib.h>		/* for malloc() */
--- 85,91 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/viced/callback.c,v 1.77.2.14 2007/12/05 20:43:57 jaltman Exp $");
  
  #include <stdio.h>
  #include <stdlib.h>		/* for malloc() */
***************
*** 381,387 ****
  	CcdelB++;
      *cbp = cb->cnext;
      FreeCB(cb);
!     if (deletefe && (--fe->ncbs == 0))
  	FDel(fe);
      return 0;
  }
--- 381,387 ----
  	CcdelB++;
      *cbp = cb->cnext;
      FreeCB(cb);
!     if ((--fe->ncbs == 0) && deletefe)
  	FDel(fe);
      return 0;
  }
***************
*** 537,542 ****
--- 537,544 ----
      struct CallBack *newcb = 0;
      int safety;
  
+     cbstuff.AddCallBacks++;
+ 
      host->Console |= 2;
  
      /* allocate these guys first, since we can't call the allocator with
***************
*** 861,869 ****
      register afs_uint32 *pcb;
      char hoststr[16];
  
      cbstuff.DeleteCallBacks++;
  
-     H_LOCK;
      h_Lock_r(host);
      fe = FindFE(fid);
      if (!fe) {
--- 863,871 ----
      register afs_uint32 *pcb;
      char hoststr[16];
  
+     H_LOCK;
      cbstuff.DeleteCallBacks++;
  
      h_Lock_r(host);
      fe = FindFE(fid);
      if (!fe) {
***************
*** 922,927 ****
--- 924,930 ----
  	TDel(cb);
  	HDel(cb);
  	FreeCB(cb);
+ 	fe->ncbs--;
      }
      FDel(fe);
      H_UNLOCK;
***************
*** 1329,1334 ****
--- 1332,1338 ----
  			 fe->volid));
  		fid.Volume = fe->volid;
  		*feip = fe->fnext;
+ 		fe->status &= ~FE_LATER;
  		/* Works since volid is deeper than the largest pointer */
  		tmpfe = (struct object *)fe;
  		tmpfe->next = (struct object *)myfe;
***************
*** 2638,2648 ****
  int
  DumpCallBackState(void)
  {
!     int fd;
      afs_uint32 magic = MAGIC, now = FT_ApproxTime(), freelisthead;
  
!     fd = open(AFSDIR_SERVER_CBKDUMP_FILEPATH, O_WRONLY | O_CREAT | O_TRUNC,
! 	      0666);
      if (fd < 0) {
  	ViceLog(0,
  		("Couldn't create callback dump file %s\n",
--- 2642,2655 ----
  int
  DumpCallBackState(void)
  {
!     int fd, oflag;
      afs_uint32 magic = MAGIC, now = FT_ApproxTime(), freelisthead;
  
!     oflag = O_WRONLY | O_CREAT | O_TRUNC;
! #ifdef AFS_NT40_ENV
!     oflag |= O_BINARY;
! #endif
!     fd = open(AFSDIR_SERVER_CBKDUMP_FILEPATH, oflag, 0666);
      if (fd < 0) {
  	ViceLog(0,
  		("Couldn't create callback dump file %s\n",
***************
*** 2676,2686 ****
  time_t
  ReadDump(char *file)
  {
!     int fd;
      afs_uint32 magic, freelisthead;
!     time_t now;
  
!     fd = open(file, O_RDONLY);
      if (fd < 0) {
  	fprintf(stderr, "Couldn't read dump file %s\n", file);
  	exit(1);
--- 2683,2697 ----
  time_t
  ReadDump(char *file)
  {
!     int fd, oflag;
      afs_uint32 magic, freelisthead;
!     afs_uint32 now;
  
!     oflag = O_RDONLY;
! #ifdef AFS_NT40_ENV
!     oflag |= O_BINARY;
! #endif
!     fd = open(file, oflag);
      if (fd < 0) {
  	fprintf(stderr, "Couldn't read dump file %s\n", file);
  	exit(1);
Index: openafs/src/viced/check_sysid.c
diff -c openafs/src/viced/check_sysid.c:1.6 openafs/src/viced/check_sysid.c:1.6.14.1
*** openafs/src/viced/check_sysid.c:1.6	Tue Jul 15 19:17:30 2003
--- openafs/src/viced/check_sysid.c	Mon Nov 26 16:08:45 2007
***************
*** 16,22 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/viced/check_sysid.c,v 1.6 2003/07/15 23:17:30 shadow Exp $");
  
  #include <fcntl.h>
  #include <errno.h>
--- 16,22 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/viced/check_sysid.c,v 1.6.14.1 2007/11/26 21:08:45 shadow Exp $");
  
  #include <fcntl.h>
  #include <errno.h>
***************
*** 109,112 ****
--- 109,113 ----
      }
  
      close(fd);
+     return 0;
  }
Index: openafs/src/viced/fsprobe.c
diff -c openafs/src/viced/fsprobe.c:1.12.2.2 openafs/src/viced/fsprobe.c:1.12.2.3
*** openafs/src/viced/fsprobe.c:1.12.2.2	Tue Oct 30 11:16:49 2007
--- openafs/src/viced/fsprobe.c	Mon Nov 26 16:08:45 2007
***************
*** 11,17 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/viced/fsprobe.c,v 1.12.2.2 2007/10/30 15:16:49 shadow Exp $");
  
  #include <afs/stds.h>
  #include <afs/afsint.h>
--- 11,17 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/viced/fsprobe.c,v 1.12.2.3 2007/11/26 21:08:45 shadow Exp $");
  
  #include <afs/stds.h>
  #include <afs/afsint.h>
***************
*** 253,258 ****
--- 253,259 ----
  	}
      }
  #endif
+     return 0;
  }
  
  
Index: openafs/src/viced/host.c
diff -c openafs/src/viced/host.c:1.93.2.22 openafs/src/viced/host.c:1.93.2.24
*** openafs/src/viced/host.c:1.93.2.22	Thu Nov  1 15:13:39 2007
--- openafs/src/viced/host.c	Mon Nov 12 13:19:59 2007
***************
*** 13,19 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/viced/host.c,v 1.93.2.22 2007/11/01 19:13:39 shadow Exp $");
  
  #include <stdio.h>
  #include <errno.h>
--- 13,19 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/viced/host.c,v 1.93.2.24 2007/11/12 18:19:59 shadow Exp $");
  
  #include <stdio.h>
  #include <errno.h>
***************
*** 1575,1580 ****
--- 1575,1581 ----
  		     host->interface ? uuid2 : "no_uuid"));
  
  	    /* The host in the cache is not the host for this connection */
+             h_Lock_r(host);
  	    host->hostFlags |= HOSTDELETED;
  	    host->hostFlags &= ~HWHO_INPROGRESS;
  	    h_Unlock_r(host);
***************
*** 3326,3331 ****
--- 3327,3342 ----
      struct rx_connection *cb_conn = NULL;
      int code;
  
+ #ifdef AFS_DEMAND_ATTACH_FS
+     /* kill the checkhost lwp ASAP during shutdown */
+     FS_STATE_RDLOCK;
+     if (fs_state.mode == FS_MODE_SHUTDOWN) {
+ 	FS_STATE_UNLOCK;
+ 	return H_ENUMERATE_BAIL(held);
+     }
+     FS_STATE_UNLOCK;
+ #endif
+ 
      /* Host is held by h_Enumerate_r */
      for (client = host->FirstClient; client; client = client->next) {
  	if (client->refCount == 0 && client->LastCall < clientdeletetime) {
Index: openafs/src/viced/viced.c
diff -c openafs/src/viced/viced.c:1.75.2.16 openafs/src/viced/viced.c:1.75.2.18
*** openafs/src/viced/viced.c:1.75.2.16	Tue Oct 30 11:16:50 2007
--- openafs/src/viced/viced.c	Thu Nov 29 14:26:41 2007
***************
*** 22,28 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/viced/viced.c,v 1.75.2.16 2007/10/30 15:16:50 shadow Exp $");
  
  #include <stdio.h>
  #include <stdlib.h>
--- 22,28 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/viced/viced.c,v 1.75.2.18 2007/11/29 19:26:41 shadow Exp $");
  
  #include <stdio.h>
  #include <stdlib.h>
***************
*** 849,854 ****
--- 849,857 ----
  	}
      }
  
+     if (dopanic)
+ 	assert(0);
+ 
      exit(0);
  }
  
***************
*** 2281,2284 ****
--- 2284,2288 ----
  #else /* AFS_PTHREAD_ENV */
      assert(LWP_WaitProcess(&parentPid) == LWP_SUCCESS);
  #endif /* AFS_PTHREAD_ENV */
+     return 0;
  }
Index: openafs/src/vlserver/cnvldb.c
diff -c openafs/src/vlserver/cnvldb.c:1.9.14.2 openafs/src/vlserver/cnvldb.c:1.9.14.4
*** openafs/src/vlserver/cnvldb.c:1.9.14.2	Wed Oct 31 00:09:43 2007
--- openafs/src/vlserver/cnvldb.c	Sun Dec  9 18:35:37 2007
***************
*** 11,17 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/vlserver/cnvldb.c,v 1.9.14.2 2007/10/31 04:09:43 shadow Exp $");
  
  #include <afs/stds.h>
  #include <sys/types.h>
--- 11,17 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/vlserver/cnvldb.c,v 1.9.14.4 2007/12/09 23:35:37 shadow Exp $");
  
  #include <afs/stds.h>
  #include <sys/types.h>
***************
*** 44,49 ****
--- 44,53 ----
  static int rewrite_header();
  
  static char tspace[1024];	/* chdir can't handle anything bigger, anyway */
+ 
+ void read_mhentries(afs_uint32 mh_addr, int oldfd);
+ void convert_mhentries(int oldfd, int newfd, struct vlheader_2 *header, int fromver, int tover);
+ 
  /* return a static pointer to a buffer */
  static char *
  Parent(apath)
***************
*** 357,362 ****
--- 361,367 ----
   * verifying their address is not pass the EOF and the flags are good.
   * If it's not good, then don't read the block in.
   */
+ void
  read_mhentries(mh_addr, oldfd)
       int oldfd;
       afs_uint32 mh_addr;
***************
*** 463,468 ****
--- 468,474 ----
   * 
   * Before this can be called, the routine read_mhentries must be called.
   */
+ void
  convert_mhentries(oldfd, newfd, header, fromver, tover)
       int oldfd, newfd;
       struct vlheader_2 *header;
Index: openafs/src/vlserver/vldb_check.c
diff -c openafs/src/vlserver/vldb_check.c:1.11.14.2 openafs/src/vlserver/vldb_check.c:1.11.14.3
*** openafs/src/vlserver/vldb_check.c:1.11.14.2	Wed Oct 31 00:09:44 2007
--- openafs/src/vlserver/vldb_check.c	Mon Nov 26 16:08:46 2007
***************
*** 25,31 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/vlserver/vldb_check.c,v 1.11.14.2 2007/10/31 04:09:44 shadow Exp $");
  
  #include <sys/types.h>
  #include <sys/stat.h>
--- 25,31 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/vlserver/vldb_check.c,v 1.11.14.3 2007/11/26 21:08:46 shadow Exp $");
  
  #include <sys/types.h>
  #include <sys/stat.h>
***************
*** 242,247 ****
--- 242,248 ----
      if (headerp->vital_header.headersize != sizeof(*headerp))
  	printf("Header reports its size as %d (should be %d)\n",
  	       headerp->vital_header.headersize, sizeof(*headerp));
+     return 0;
  }
  
  readMH(addr, mhblockP)
***************
*** 266,271 ****
--- 267,273 ----
  	for (j = 0; j < VL_MAXIPADDRS_PERMH; j++)
  	    e->ex_addrs[j] = ntohl(e->ex_addrs[j]);
      }
+     return 0;
  }
  
  readentry(addr, vlentryp, type)
***************
*** 346,351 ****
--- 348,354 ----
  	    }
  	}
      }
+     return 0;
  }
  
  void
***************
*** 562,567 ****
--- 565,571 ----
  	    ("%d entries in name hash, longest is %d, shortest is %d, average length is %f\n",
  	     count, longest, shortest, ((float)count / (float)HASHSIZE));
      }
+     return 0;
  }
  
  /*
***************
*** 635,640 ****
--- 639,645 ----
  		 ((float)count / (float)HASHSIZE));
  	}
      }
+     return 0;
  }
  
  /*
***************
*** 679,684 ****
--- 684,690 ----
      }
      if (verbose)
  	printf("%d entries on free chain\n", count);
+     return 0;
  }
  
  /*
***************
*** 889,895 ****
  	printf("%d simple entries, %d multihomed entries, Total = %d\n",
  	       regentries, mhentries, mhentries + regentries);
      }
! 
  }
  
  int
--- 895,901 ----
  	printf("%d simple entries, %d multihomed entries, Total = %d\n",
  	       regentries, mhentries, mhentries + regentries);
      }
!     return 0;
  }
  
  int
Index: openafs/src/vlserver/vlprocs.c
diff -c openafs/src/vlserver/vlprocs.c:1.15.4.1 openafs/src/vlserver/vlprocs.c:1.15.4.2
*** openafs/src/vlserver/vlprocs.c:1.15.4.1	Tue Oct 30 11:16:56 2007
--- openafs/src/vlserver/vlprocs.c	Mon Nov 26 16:08:46 2007
***************
*** 11,17 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/vlserver/vlprocs.c,v 1.15.4.1 2007/10/30 15:16:56 shadow Exp $");
  
  #include <sys/types.h>
  #include <stdio.h>
--- 11,17 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/vlserver/vlprocs.c,v 1.15.4.2 2007/11/26 21:08:46 shadow Exp $");
  
  #include <sys/types.h>
  #include <stdio.h>
***************
*** 55,71 ****
  static int put_attributeentry();
  static int put_nattributeentry();
  static int RemoveEntry();
! static ReleaseEntry();
  static int check_vldbentry();
  static int check_nvldbentry();
  static int vldbentry_to_vlentry();
  static int nvldbentry_to_vlentry();
  static get_vldbupdateentry();
  static int repsite_exists();
! static repsite_compress();
! static vlentry_to_vldbentry();
! static vlentry_to_nvldbentry();
! static vlentry_to_uvldbentry();
  static int InvalidVolname();
  static int InvalidVoltype();
  static int InvalidOperation();
--- 55,71 ----
  static int put_attributeentry();
  static int put_nattributeentry();
  static int RemoveEntry();
! static void ReleaseEntry();
  static int check_vldbentry();
  static int check_nvldbentry();
  static int vldbentry_to_vlentry();
  static int nvldbentry_to_vlentry();
  static get_vldbupdateentry();
  static int repsite_exists();
! static void repsite_compress();
! static void vlentry_to_vldbentry();
! static void vlentry_to_nvldbentry();
! static void vlentry_to_uvldbentry();
  static int InvalidVolname();
  static int InvalidVoltype();
  static int InvalidOperation();
***************
*** 2556,2562 ****
      return 0;
  }
  
! static
  ReleaseEntry(tentry, releasetype)
       struct nvlentry *tentry;
       afs_int32 releasetype;
--- 2556,2562 ----
      return 0;
  }
  
! static void
  ReleaseEntry(tentry, releasetype)
       struct nvlentry *tentry;
       afs_int32 releasetype;
***************
*** 2861,2867 ****
  
  
  /* Repsite table compression: used when deleting a repsite entry so that all active repsite entries are on the top of the table. */
! static
  repsite_compress(VlEntry, offset)
       struct nvlentry *VlEntry;
       int offset;
--- 2861,2867 ----
  
  
  /* Repsite table compression: used when deleting a repsite entry so that all active repsite entries are on the top of the table. */
! static void
  repsite_compress(VlEntry, offset)
       struct nvlentry *VlEntry;
       int offset;
***************
*** 2882,2888 ****
  
  
  /* Convert from the internal (compacted) vldb entry to the external representation used by the interface. */
! static
  vlentry_to_vldbentry(VlEntry, VldbEntry)
       struct nvlentry *VlEntry;
       struct vldbentry *VldbEntry;
--- 2882,2888 ----
  
  
  /* Convert from the internal (compacted) vldb entry to the external representation used by the interface. */
! static void
  vlentry_to_vldbentry(VlEntry, VldbEntry)
       struct nvlentry *VlEntry;
       struct vldbentry *VldbEntry;
***************
*** 2924,2930 ****
  
  
  /* Convert from the internal (compacted) vldb entry to the external representation used by the interface. */
! static
  vlentry_to_nvldbentry(VlEntry, VldbEntry)
       struct nvlentry *VlEntry;
       struct nvldbentry *VldbEntry;
--- 2924,2930 ----
  
  
  /* Convert from the internal (compacted) vldb entry to the external representation used by the interface. */
! static void
  vlentry_to_nvldbentry(VlEntry, VldbEntry)
       struct nvlentry *VlEntry;
       struct nvldbentry *VldbEntry;
***************
*** 2964,2970 ****
      VldbEntry->flags = VlEntry->flags;
  }
  
! static
  vlentry_to_uvldbentry(VlEntry, VldbEntry)
       struct nvlentry *VlEntry;
       struct uvldbentry *VldbEntry;
--- 2964,2970 ----
      VldbEntry->flags = VlEntry->flags;
  }
  
! static void
  vlentry_to_uvldbentry(VlEntry, VldbEntry)
       struct nvlentry *VlEntry;
       struct uvldbentry *VldbEntry;
Index: openafs/src/vlserver/vlserver.c
diff -c openafs/src/vlserver/vlserver.c:1.22.2.3 openafs/src/vlserver/vlserver.c:1.22.2.4
*** openafs/src/vlserver/vlserver.c:1.22.2.3	Tue Oct 30 11:16:56 2007
--- openafs/src/vlserver/vlserver.c	Mon Nov 26 16:08:46 2007
***************
*** 11,17 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/vlserver/vlserver.c,v 1.22.2.3 2007/10/30 15:16:56 shadow Exp $");
  
  #include <afs/stds.h>
  #include <sys/types.h>
--- 11,17 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/vlserver/vlserver.c,v 1.22.2.4 2007/11/26 21:08:46 shadow Exp $");
  
  #include <afs/stds.h>
  #include <sys/types.h>
***************
*** 409,412 ****
--- 409,414 ----
      rx_SetRxStatUserOk(vldb_rxstat_userok);
  
      rx_StartServer(1);		/* Why waste this idle process?? */
+ 
+     return 0; /* not reachable */
  }
Index: openafs/src/vol/Makefile.in
diff -c openafs/src/vol/Makefile.in:1.22.2.1 openafs/src/vol/Makefile.in:1.22.2.2
*** openafs/src/vol/Makefile.in:1.22.2.1	Mon Jul 31 12:51:33 2006
--- openafs/src/vol/Makefile.in	Mon Nov 12 13:28:37 2007
***************
*** 73,86 ****
  	${DESTDIR}${includedir}/afs/namei_ops.h
  
  ${DEST}/root.server/usr/afs/bin/salvager: salvager 
! 	${INSTALL} -s $? $@
  
  ${DEST}/root.server/usr/afs/bin/volinfo: volinfo
! 	${INSTALL} -s $? $@
  
  ${DEST}/root.server/usr/afs/bin/fssync-debug: fssync-debug
  	if test "@DEMAND_ATTACH@" = "no"; then \
! 		${INSTALL} -s $? $@ ; \
  	fi
  
  ${DEST}/lib/afs/vlib.a: vlib.a
--- 73,86 ----
  	${DESTDIR}${includedir}/afs/namei_ops.h
  
  ${DEST}/root.server/usr/afs/bin/salvager: salvager 
! 	${INSTALL} $? $@
  
  ${DEST}/root.server/usr/afs/bin/volinfo: volinfo
! 	${INSTALL} $? $@
  
  ${DEST}/root.server/usr/afs/bin/fssync-debug: fssync-debug
  	if test "@DEMAND_ATTACH@" = "no"; then \
! 		${INSTALL} $? $@ ; \
  	fi
  
  ${DEST}/lib/afs/vlib.a: vlib.a
***************
*** 90,111 ****
  	${INSTALL} $? $@
  
  ${DESTDIR}${afssrvsbindir}/fs_conv_dux40D:  fs_conv_dux40D
! 	${INSTALL} -s $? $@
  
  ${DESTDIR}${afssrvsbindir}/xfs_size_check:  xfs_size_check
! 	${INSTALL} -s $? $@
  
  ${DESTDIR}${afssrvsbindir}/fs_conv_sol26:  fs_conv_sol26
! 	${INSTALL} -s $? $@
  
  $(DEST)/root.server/usr/afs/bin/fs_conv_dux40D:  fs_conv_dux40D
! 	${INSTALL} -s $? $@
  
  $(DEST)/root.server/usr/afs/bin/xfs_size_check:  xfs_size_check
! 	${INSTALL} -s $? $@
  
  $(DEST)/root.server/usr/afs/bin/fs_conv_sol26:  fs_conv_sol26
! 	${INSTALL} -s $? $@
  
  ${DEST}/include/afs/nfs.h: nfs.h
  	${INSTALL} $? $@
--- 90,111 ----
  	${INSTALL} $? $@
  
  ${DESTDIR}${afssrvsbindir}/fs_conv_dux40D:  fs_conv_dux40D
! 	${INSTALL} $? $@
  
  ${DESTDIR}${afssrvsbindir}/xfs_size_check:  xfs_size_check
! 	${INSTALL} $? $@
  
  ${DESTDIR}${afssrvsbindir}/fs_conv_sol26:  fs_conv_sol26
! 	${INSTALL} $? $@
  
  $(DEST)/root.server/usr/afs/bin/fs_conv_dux40D:  fs_conv_dux40D
! 	${INSTALL} $? $@
  
  $(DEST)/root.server/usr/afs/bin/xfs_size_check:  xfs_size_check
! 	${INSTALL} $? $@
  
  $(DEST)/root.server/usr/afs/bin/fs_conv_sol26:  fs_conv_sol26
! 	${INSTALL} $? $@
  
  ${DEST}/include/afs/nfs.h: nfs.h
  	${INSTALL} $? $@
***************
*** 231,244 ****
  	${INSTALL} $? $@
  
  ${DESTDIR}${afssrvlibexecdir}/salvager: salvager
! 	${INSTALL} -s $? $@
  
  ${DESTDIR}${afssrvsbindir}/volinfo: volinfo
! 	${INSTALL} -s $? $@
  
  ${DESTDIR}${afssrvsbindir}/fssync-debug: fssync-debug
  	if test "@DEMAND_ATTACH@" = "no" ; then \
! 		${INSTALL} -s $? $@ ; \
  	fi
  
  ${DESTDIR}${includedir}/afs/nfs.h: nfs.h
--- 231,244 ----
  	${INSTALL} $? $@
  
  ${DESTDIR}${afssrvlibexecdir}/salvager: salvager
! 	${INSTALL} $? $@
  
  ${DESTDIR}${afssrvsbindir}/volinfo: volinfo
! 	${INSTALL} $? $@
  
  ${DESTDIR}${afssrvsbindir}/fssync-debug: fssync-debug
  	if test "@DEMAND_ATTACH@" = "no" ; then \
! 		${INSTALL} $? $@ ; \
  	fi
  
  ${DESTDIR}${includedir}/afs/nfs.h: nfs.h
Index: openafs/src/vol/ihandle.c
diff -c openafs/src/vol/ihandle.c:1.19.8.3 openafs/src/vol/ihandle.c:1.19.8.4
*** openafs/src/vol/ihandle.c:1.19.8.3	Tue Oct 30 11:16:57 2007
--- openafs/src/vol/ihandle.c	Mon Nov 26 16:47:29 2007
***************
*** 15,21 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/vol/ihandle.c,v 1.19.8.3 2007/10/30 15:16:57 shadow Exp $");
  
  #include <stdio.h>
  #include <sys/types.h>
--- 15,21 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/vol/ihandle.c,v 1.19.8.4 2007/11/26 21:47:29 shadow Exp $");
  
  #include <stdio.h>
  #include <sys/types.h>
***************
*** 320,328 ****
       */
      fdInUseCount += 1;
      IH_UNLOCK;
      fd = OS_IOPEN(ihP);
      IH_LOCK;
!     if (fd == INVALID_FD) {
  	fdInUseCount -= 1;
  	IH_UNLOCK;
  	return NULL;
--- 320,329 ----
       */
      fdInUseCount += 1;
      IH_UNLOCK;
+ ih_open_retry:
      fd = OS_IOPEN(ihP);
      IH_LOCK;
!     if (fd == INVALID_FD && (errno != EMFILE || fdLruHead == NULL) ) {
  	fdInUseCount -= 1;
  	IH_UNLOCK;
  	return NULL;
***************
*** 332,344 ****
       * we permit the number of open files to exceed fdCacheSize.
       * We only recycle open file descriptors when the number
       * of open files reaches the size of the cache */
!     if (fdInUseCount > fdCacheSize && fdLruHead != NULL) {
  	fdP = fdLruHead;
  	assert(fdP->fd_status == FD_HANDLE_OPEN);
  	DLL_DELETE(fdP, fdLruHead, fdLruTail, fd_next, fd_prev);
  	DLL_DELETE(fdP, fdP->fd_ih->ih_fdhead, fdP->fd_ih->ih_fdtail,
  		   fd_ihnext, fd_ihprev);
  	closeFd = fdP->fd_fd;
      } else {
  	if (fdAvailHead == NULL) {
  	    fdHandleAllocateChunk();
--- 333,355 ----
       * we permit the number of open files to exceed fdCacheSize.
       * We only recycle open file descriptors when the number
       * of open files reaches the size of the cache */
!     if ((fdInUseCount > fdCacheSize || fd == INVALID_FD)  && fdLruHead != NULL) {
  	fdP = fdLruHead;
  	assert(fdP->fd_status == FD_HANDLE_OPEN);
  	DLL_DELETE(fdP, fdLruHead, fdLruTail, fd_next, fd_prev);
  	DLL_DELETE(fdP, fdP->fd_ih->ih_fdhead, fdP->fd_ih->ih_fdtail,
  		   fd_ihnext, fd_ihprev);
  	closeFd = fdP->fd_fd;
+ 	if (fd == INVALID_FD) {
+ 	    fdCacheSize--;          /* reduce in order to not run into here too often */
+ 	    DLL_INSERT_TAIL(fdP, fdAvailHead, fdAvailTail, fd_next, fd_prev);
+ 	    fdP->fd_status = FD_HANDLE_AVAIL;
+ 	    fdP->fd_ih = NULL;
+ 	    fdP->fd_fd = INVALID_FD;
+ 	    IH_UNLOCK;
+ 	    OS_CLOSE(closeFd);
+ 	    goto ih_open_retry;
+ 	}
      } else {
  	if (fdAvailHead == NULL) {
  	    fdHandleAllocateChunk();
Index: openafs/src/vol/listinodes.c
diff -c openafs/src/vol/listinodes.c:1.16.4.2 openafs/src/vol/listinodes.c:1.16.4.5
*** openafs/src/vol/listinodes.c:1.16.4.2	Tue Oct 30 11:16:57 2007
--- openafs/src/vol/listinodes.c	Tue Dec  4 16:03:33 2007
***************
*** 23,29 ****
  #include <string.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/vol/listinodes.c,v 1.16.4.2 2007/10/30 15:16:57 shadow Exp $");
  
  #ifndef AFS_NAMEI_ENV
  #if defined(AFS_LINUX20_ENV) || defined(AFS_SUN4_ENV)
--- 23,29 ----
  #include <string.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/vol/listinodes.c,v 1.16.4.5 2007/12/04 21:03:33 shadow Exp $");
  
  #ifndef AFS_NAMEI_ENV
  #if defined(AFS_LINUX20_ENV) || defined(AFS_SUN4_ENV)
***************
*** 109,115 ****
--- 109,121 ----
  #if defined(AFS_HPUX101_ENV)
  #include <unistd.h>
  #endif
+ #include "lock.h"
+ #include "ihandle.h"
+ #include "vnode.h"
+ #include "volume.h"
+ #include "volinodes.h"
  #include "partition.h"
+ #include "fssync.h"
  
  /*@+fcnmacros +macrofcndecl@*/
  #ifdef O_LARGEFILE
***************
*** 278,287 ****
  	return -1;
      }
  
!     inodeFile = fopen(resultFile, "w");
!     if (inodeFile == NULL) {
! 	Log("Unable to create inode description file %s\n", resultFile);
! 	goto out;
      }
  
      /*
--- 284,295 ----
  	return -1;
      }
  
!     if (resultFile) {
! 	inodeFile = fopen(resultFile, "w");
! 	if (inodeFile == NULL) {
! 	    Log("Unable to create inode description file %s\n", resultFile);
! 	    goto out;
! 	}
      }
  
      /*
***************
*** 325,367 ****
  	if (judgeInode && (*judgeInode) (&info, judgeParam, rock) == 0)
  	    continue;
  
! 	if (fwrite(&info, sizeof info, 1, inodeFile) != 1) {
! 	    Log("Error writing inode file for partition %s\n", partition);
! 	    goto out;
  	}
  	++ninodes;
      }
  
!     if (fflush(inodeFile) == EOF) {
! 	Log("Unable to successfully flush inode file for %s\n", partition);
! 	err = -2;
! 	goto out1;
!     }
!     if (fsync(fileno(inodeFile)) == -1) {
! 	Log("Unable to successfully fsync inode file for %s\n", partition);
! 	err = -2;
! 	goto out1;
!     }
!     if (fclose(inodeFile) == EOF) {
! 	Log("Unable to successfully close inode file for %s\n", partition);
! 	err = -2;
! 	goto out1;
!     }
  
!     /*
!      * Paranoia:  check that the file is really the right size
!      */
!     if (stat(resultFile, &status) == -1) {
! 	Log("Unable to successfully stat inode file for %s\n", partition);
! 	err = -2;
! 	goto out1;
!     }
!     if (status.st_size != ninodes * sizeof(struct ViceInodeInfo)) {
! 	Log("Wrong size (%d instead of %d) in inode file for %s\n",
! 	    status.st_size, ninodes * sizeof(struct ViceInodeInfo),
! 	    partition);
! 	err = -2;
! 	goto out1;
      }
      close(pfd);
      return 0;
--- 333,379 ----
  	if (judgeInode && (*judgeInode) (&info, judgeParam, rock) == 0)
  	    continue;
  
! 	if (inodeFile) {
! 	    if (fwrite(&info, sizeof info, 1, inodeFile) != 1) {
! 		Log("Error writing inode file for partition %s\n", partition);
! 		goto out;
! 	    }
  	}
  	++ninodes;
      }
  
!     if (inodeFile) {
! 	if (fflush(inodeFile) == EOF) {
! 	    Log("Unable to successfully flush inode file for %s\n", partition);
! 	    err = -2;
! 	    goto out1;
! 	}
! 	if (fsync(fileno(inodeFile)) == -1) {
! 	    Log("Unable to successfully fsync inode file for %s\n", partition);
! 	    err = -2;
! 	    goto out1;
! 	}
! 	if (fclose(inodeFile) == EOF) {
! 	    Log("Unable to successfully close inode file for %s\n", partition);
! 	    err = -2;
! 	    goto out1;
! 	}
  
! 	/*
! 	 * Paranoia:  check that the file is really the right size
! 	 */
! 	if (stat(resultFile, &status) == -1) {
! 	    Log("Unable to successfully stat inode file for %s\n", partition);
! 	    err = -2;
! 	    goto out1;
! 	}
! 	if (status.st_size != ninodes * sizeof(struct ViceInodeInfo)) {
! 	    Log("Wrong size (%d instead of %d) in inode file for %s\n",
! 		status.st_size, ninodes * sizeof(struct ViceInodeInfo),
! 		partition);
! 	    err = -2;
! 	    goto out1;
! 	}
      }
      close(pfd);
      return 0;
***************
*** 524,533 ****
  	return -1;
      }
  
!     inodeFile = fopen(resultFile, "w");
!     if (inodeFile == NULL) {
! 	Log("Unable to create inode description file %s\n", resultFile);
! 	goto out;
      }
  
      /* Allocate space for one cylinder group's worth of inodes. */
--- 536,547 ----
  	return -1;
      }
  
!     if (resultFile) {
! 	inodeFile = fopen(resultFile, "w");
! 	if (inodeFile == NULL) {
! 	    Log("Unable to create inode description file %s\n", resultFile);
! 	    goto out;
! 	}
      }
  
      /* Allocate space for one cylinder group's worth of inodes. */
***************
*** 594,636 ****
  	if (judgeInode && (*judgeInode) (&info, judgeParam, rock) == 0)
  	    continue;
  
! 	if (fwrite(&info, sizeof info, 1, inodeFile) != 1) {
! 	    Log("Error writing inode file for partition %s\n", partition);
! 	    goto out;
  	}
  	++ninodes;
      }
  
!     if (fflush(inodeFile) == EOF) {
! 	Log("Unable to successfully flush inode file for %s\n", partition);
! 	err = -2;
! 	goto out1;
!     }
!     if (fsync(fileno(inodeFile)) == -1) {
! 	Log("Unable to successfully fsync inode file for %s\n", partition);
! 	err = -2;
! 	goto out1;
!     }
!     if (fclose(inodeFile) == EOF) {
! 	Log("Unable to successfully close inode file for %s\n", partition);
! 	err = -2;
! 	goto out1;
!     }
  
!     /*
!      * Paranoia:  check that the file is really the right size
!      */
!     if (stat(resultFile, &status) == -1) {
! 	Log("Unable to successfully stat inode file for %s\n", partition);
! 	err = -2;
! 	goto out1;
!     }
!     if (status.st_size != ninodes * sizeof(struct ViceInodeInfo)) {
! 	Log("Wrong size (%d instead of %d) in inode file for %s\n",
! 	    status.st_size, ninodes * sizeof(struct ViceInodeInfo),
! 	    partition);
! 	err = -2;
! 	goto out1;
      }
      efs_umount(mp);
      if (dinodeBuf) {
--- 608,654 ----
  	if (judgeInode && (*judgeInode) (&info, judgeParam, rock) == 0)
  	    continue;
  
! 	if (inodeFile) {
! 	    if (fwrite(&info, sizeof info, 1, inodeFile) != 1) {
! 		Log("Error writing inode file for partition %s\n", partition);
! 		goto out;
! 	    }
  	}
  	++ninodes;
      }
  
!     if (inodeFile) {
! 	if (fflush(inodeFile) == EOF) {
! 	    Log("Unable to successfully flush inode file for %s\n", partition);
! 	    err = -2;
! 	    goto out1;
! 	}
! 	if (fsync(fileno(inodeFile)) == -1) {
! 	    Log("Unable to successfully fsync inode file for %s\n", partition);
! 	    err = -2;
! 	    goto out1;
! 	}
! 	if (fclose(inodeFile) == EOF) {
! 	    Log("Unable to successfully close inode file for %s\n", partition);
! 	    err = -2;
! 	    goto out1;
! 	}
  
! 	/*
! 	 * Paranoia:  check that the file is really the right size
! 	 */
! 	if (stat(resultFile, &status) == -1) {
! 	    Log("Unable to successfully stat inode file for %s\n", partition);
! 	    err = -2;
! 	    goto out1;
! 	}
! 	if (status.st_size != ninodes * sizeof(struct ViceInodeInfo)) {
! 	    Log("Wrong size (%d instead of %d) in inode file for %s\n",
! 		status.st_size, ninodes * sizeof(struct ViceInodeInfo),
! 		partition);
! 	    err = -2;
! 	    goto out1;
! 	}
      }
      efs_umount(mp);
      if (dinodeBuf) {
***************
*** 878,887 ****
  	return -1;
      }
  
!     inodeFile = fopen(resultFile, "w");
!     if (inodeFile == NULL) {
! 	Log("Unable to create inode description file %s\n", resultFile);
! 	return -1;
      }
  
      if ((top_dirp = opendir(mountedOn)) == NULL) {
--- 896,907 ----
  	return -1;
      }
  
!     if (resultFile) {
! 	inodeFile = fopen(resultFile, "w");
! 	if (inodeFile == NULL) {
! 	    Log("Unable to create inode description file %s\n", resultFile);
! 	    return -1;
! 	}
      }
  
      if ((top_dirp = opendir(mountedOn)) == NULL) {
***************
*** 985,995 ****
  		n_renames++;
  	    }
  
! 	    if (fwrite
! 		(&info.ili_info, sizeof(vice_inode_info_t), 1, inodeFile)
! 		!= 1) {
! 		Log("Error writing inode file for partition %s\n", mountedOn);
! 		goto err1_exit;
  	    }
  	    ninodes++;
  
--- 1005,1015 ----
  		n_renames++;
  	    }
  
! 	    if (inodeFile) {
! 		if (fwrite(&info.ili_info, sizeof(vice_inode_info_t), 1, inodeFile) != 1) {
! 		    Log("Error writing inode file for partition %s\n", mountedOn);
! 		    goto err1_exit;
! 		}
  	    }
  	    ninodes++;
  
***************
*** 1008,1039 ****
      closedir(top_dirp);
      if (renames)
  	free((char *)renames);
!     if (fflush(inodeFile) == EOF) {
! 	("Unable to successfully flush inode file for %s\n", mountedOn);
! 	fclose(inodeFile);
! 	return errors ? -1 : -2;
!     }
!     if (fsync(fileno(inodeFile)) == -1) {
! 	Log("Unable to successfully fsync inode file for %s\n", mountedOn);
! 	fclose(inodeFile);
! 	return errors ? -1 : -2;
!     }
!     if (fclose(inodeFile) == EOF) {
! 	Log("Unable to successfully close inode file for %s\n", mountedOn);
! 	return errors ? -1 : -2;
!     }
!     /*
!      * Paranoia:  check that the file is really the right size
!      */
!     if (stat(resultFile, &status) == -1) {
! 	Log("Unable to successfully stat inode file for %s\n", partition);
! 	return errors ? -1 : -2;
!     }
!     if (status.st_size != ninodes * sizeof(struct ViceInodeInfo)) {
! 	Log("Wrong size (%d instead of %d) in inode file for %s\n",
! 	    status.st_size, ninodes * sizeof(struct ViceInodeInfo),
! 	    partition);
! 	return errors ? -1 : -2;
      }
  
      if (errors) {
--- 1028,1062 ----
      closedir(top_dirp);
      if (renames)
  	free((char *)renames);
! 
!     if (inodeFile) {
! 	if (fflush(inodeFile) == EOF) {
! 	    ("Unable to successfully flush inode file for %s\n", mountedOn);
! 	    fclose(inodeFile);
! 	    return errors ? -1 : -2;
! 	}
! 	if (fsync(fileno(inodeFile)) == -1) {
! 	    Log("Unable to successfully fsync inode file for %s\n", mountedOn);
! 	    fclose(inodeFile);
! 	    return errors ? -1 : -2;
! 	}
! 	if (fclose(inodeFile) == EOF) {
! 	    Log("Unable to successfully close inode file for %s\n", mountedOn);
! 	    return errors ? -1 : -2;
! 	}
! 	/*
! 	 * Paranoia:  check that the file is really the right size
! 	 */
! 	if (stat(resultFile, &status) == -1) {
! 	    Log("Unable to successfully stat inode file for %s\n", partition);
! 	    return errors ? -1 : -2;
! 	}
! 	if (status.st_size != ninodes * sizeof(struct ViceInodeInfo)) {
! 	    Log("Wrong size (%d instead of %d) in inode file for %s\n",
! 		status.st_size, ninodes * sizeof(struct ViceInodeInfo),
! 		partition);
! 	    return errors ? -1 : -2;
! 	}
      }
  
      if (errors) {
***************
*** 1188,1197 ****
  	goto out;
      }
  
!     inodeFile = fopen(resultFile, "w");
!     if (inodeFile == NULL) {
! 	Log("Unable to create inode description file %s\n", resultFile);
! 	goto out;
      }
  #ifdef	AFS_AIX_ENV
      /*
--- 1211,1222 ----
  	goto out;
      }
  
!     if (resultFile) {
! 	inodeFile = fopen(resultFile, "w");
! 	if (inodeFile == NULL) {
! 	    Log("Unable to create inode description file %s\n", resultFile);
! 	    goto out;
! 	}
      }
  #ifdef	AFS_AIX_ENV
      /*
***************
*** 1235,1243 ****
  	info.u.param[3] = auxp->aux_param4;
  	if (judgeInode && (*judgeInode) (&info, judgeParam, rock) == 0)
  	    continue;
! 	if (fwrite(&info, sizeof info, 1, inodeFile) != 1) {
! 	    Log("Error writing inode file for partition %s\n", partition);
! 	    goto out;
  	}
  	ninodes++;
      }
--- 1260,1270 ----
  	info.u.param[3] = auxp->aux_param4;
  	if (judgeInode && (*judgeInode) (&info, judgeParam, rock) == 0)
  	    continue;
! 	if (inodeFile) {
! 	    if (fwrite(&info, sizeof info, 1, inodeFile) != 1) {
! 		Log("Error writing inode file for partition %s\n", partition);
! 		goto out;
! 	    }
  	}
  	ninodes++;
      }
***************
*** 1444,1453 ****
  		    info.linkCount = p->di_nlink;
  		    if (judgeInode && (*judgeInode) (&info, judgeParam, rock) == 0)
  			continue;
! 		    if (fwrite(&info, sizeof info, 1, inodeFile) != 1) {
! 			Log("Error writing inode file for partition %s\n",
! 			    partition);
! 			goto out;
  		    }
  		    ninodes++;
  		}
--- 1471,1482 ----
  		    info.linkCount = p->di_nlink;
  		    if (judgeInode && (*judgeInode) (&info, judgeParam, rock) == 0)
  			continue;
! 		    if (inodeFile) {
! 			if (fwrite(&info, sizeof info, 1, inodeFile) != 1) {
! 			    Log("Error writing inode file for partition %s\n",
! 				partition);
! 			    goto out;
! 			}
  		    }
  		    ninodes++;
  		}
***************
*** 1457,1492 ****
      if (inodes)
  	free(inodes);
  #endif
!     if (fflush(inodeFile) == EOF) {
! 	Log("Unable to successfully flush inode file for %s\n", partition);
! 	err = -2;
! 	goto out1;
!     }
!     if (fsync(fileno(inodeFile)) == -1) {
! 	Log("Unable to successfully fsync inode file for %s\n", partition);
! 	err = -2;
! 	goto out1;
!     }
!     if (fclose(inodeFile) == EOF) {
! 	Log("Unable to successfully close inode file for %s\n", partition);
! 	err = -2;
! 	goto out1;
!     }
! 
!     /*
!      * Paranoia:  check that the file is really the right size
!      */
!     if (stat(resultFile, &status) == -1) {
! 	Log("Unable to successfully stat inode file for %s\n", partition);
! 	err = -2;
! 	goto out1;
!     }
!     if (status.st_size != ninodes * sizeof(struct ViceInodeInfo)) {
! 	Log("Wrong size (%d instead of %d) in inode file for %s\n",
! 	    status.st_size, ninodes * sizeof(struct ViceInodeInfo),
! 	    partition);
! 	err = -2;
! 	goto out1;
      }
      close(pfd);
      return 0;
--- 1486,1523 ----
      if (inodes)
  	free(inodes);
  #endif
!     if (inodeFile) {
! 	if (fflush(inodeFile) == EOF) {
! 	    Log("Unable to successfully flush inode file for %s\n", partition);
! 	    err = -2;
! 	    goto out1;
! 	}
! 	if (fsync(fileno(inodeFile)) == -1) {
! 	    Log("Unable to successfully fsync inode file for %s\n", partition);
! 	    err = -2;
! 	    goto out1;
! 	}
! 	if (fclose(inodeFile) == EOF) {
! 	    Log("Unable to successfully close inode file for %s\n", partition);
! 	    err = -2;
! 	    goto out1;
! 	}
! 	
! 	/*
! 	 * Paranoia:  check that the file is really the right size
! 	 */
! 	if (stat(resultFile, &status) == -1) {
! 	    Log("Unable to successfully stat inode file for %s\n", partition);
! 	    err = -2;
! 	    goto out1;
! 	}
! 	if (status.st_size != ninodes * sizeof(struct ViceInodeInfo)) {
! 	    Log("Wrong size (%d instead of %d) in inode file for %s\n",
! 		status.st_size, ninodes * sizeof(struct ViceInodeInfo),
! 		partition);
! 	    err = -2;
! 	    goto out1;
! 	}
      }
      close(pfd);
      return 0;
***************
*** 1537,1540 ****
--- 1568,1792 ----
  }
  
  #endif /* AFS_LINUX20_ENV */
+ static afs_int32
+ convertVolumeInfo(int fdr, int fdw, afs_uint32 vid)
+ {
+     struct VolumeDiskData vd;
+     char *p;
+ 
+     if (read(fdr, &vd, sizeof(struct VolumeDiskData)) !=
+         sizeof(struct VolumeDiskData)) {
+         Log("1 convertiVolumeInfo: read failed for %lu with code %d\n", vid,
+             errno);
+         return -1;
+     }
+     vd.restoredFromId = vd.id;  /* remember the RO volume here */
+     vd.cloneId = vd.id;
+     vd.id = vd.parentId;
+     vd.type = RWVOL;
+     vd.dontSalvage = 0;
+     vd.inUse = 0;
+     vd.uniquifier += 5000;      /* just in case there are still file copies 
+ 				   from the old RW volume around */
+ 
+     p = strrchr(vd.name, '.');
+     if (p && !strcmp(p, ".readonly")) {
+         memset(p, 0, 9);
+     }
+ 
+     if (write(fdw, &vd, sizeof(struct VolumeDiskData)) !=
+         sizeof(struct VolumeDiskData)) {
+         Log("1 convertiVolumeInfo: write failed for %lu with code %d\n", vid,
+             errno);
+         return -1;
+     }
+     return 0;
+ }
+ 
+ struct specino {
+     afs_int32 inodeType;
+     Inode inodeNumber;
+     Inode ninodeNumber;
+ };
+ 
+ 
+ int
+ UpdateThisVolume(struct ViceInodeInfo *inodeinfo, VolumeId singleVolumeNumber, 
+ 		 struct specino *specinos)
+ {
+     struct dinode *p;
+     if ((inodeinfo->u.vnode.vnodeNumber == INODESPECIAL) &&
+ 	(inodeinfo->u.vnode.volumeId == singleVolumeNumber)) {
+ 	specinos[inodeinfo->u.special.type].inodeNumber = 
+ 	    inodeinfo->inodeNumber;
+     }
+     return 0; /* We aren't using a result file, we're caching */
+ }
+ 
+ static char *
+ getDevName(char *pbuffer, char *wpath)
+ {
+     char pbuf[128], *ptr;
+     strcpy(pbuf, pbuffer);
+     ptr = (char *)strrchr(pbuf, '/');
+     if (ptr) {
+         *ptr = '\0';
+         strcpy(wpath, pbuf);
+     } else
+         return NULL;
+     ptr = (char *)strrchr(pbuffer, '/');
+     if (ptr) {
+         strcpy(pbuffer, ptr + 1);
+         return pbuffer;
+     } else
+         return NULL;
+ }
+ 
+ #ifdef FSSYNC_BUILD_CLIENT
+ int
+ inode_ConvertROtoRWvolume(char *pname, afs_int32 volumeId)
+ {
+     char dir_name[512], oldpath[512], newpath[512];
+     char volname[20];
+     char headername[16];
+     char *name;
+     int fd, err, forcep, len, j, code;
+     struct dirent *dp;
+     struct DiskPartition *partP;
+     struct ViceInodeInfo info;
+     struct VolumeDiskHeader h;
+     IHandle_t *ih, *ih2;
+     FdHandle_t *fdP, *fdP2;
+     char wpath[100];
+     char tmpDevName[100];
+     char buffer[128];
+     struct specino specinos[VI_LINKTABLE+1];
+     Inode nearInode = 0;
+ 
+     memset(&specinos, 0, sizeof(specinos));
+ 	   
+     (void)afs_snprintf(headername, sizeof headername, VFORMAT, volumeId);
+     (void)afs_snprintf(oldpath, sizeof oldpath, "%s/%s", pname, headername);
+     fd = open(oldpath, O_RDONLY);
+     if (fd < 0) {
+         Log("1 inode_ConvertROtoRWvolume: Couldn't open header for RO-volume %lu.\n", volumeId);
+         return ENOENT;
+     }
+     if (read(fd, &h, sizeof(h)) != sizeof(h)) {
+         Log("1 inode_ConvertROtoRWvolume: Couldn't read header for RO-volume %lu.\n", volumeId);
+         close(fd);
+         return EIO;
+     }
+     close(fd);
+     FSYNC_VolOp(volumeId, pname, FSYNC_VOL_BREAKCBKS, 0, NULL);
+ 
+     /* now do the work */
+ 	   
+     for (partP = DiskPartitionList; partP && strcmp(partP->name, pname);
+          partP = partP->next);
+     if (!partP) {
+         Log("1 inode_ConvertROtoRWvolume: Couldn't find DiskPartition for %s\n", pname);
+         return EIO;
+     }
+ 
+     strcpy(tmpDevName, partP->devName);
+     name = getDevName(tmpDevName, wpath);
+ 
+     if ((err = ListViceInodes(name, VPartitionPath(partP), 
+ 			      NULL, UpdateThisVolume, volumeId, 
+ 			      &forcep, 0, wpath, &specinos)) < 0)
+     {
+ 	Log("1 inode_ConvertROtoRWvolume: Couldn't get special inodes\n");
+ 	return EIO;
+     }
+ 	   
+ #if defined(NEARINODE_HINT)
+     nearInodeHash(volumeId, nearInode);
+     nearInode %= partP->f_files;
+ #endif
+ 
+     for (j = VI_VOLINFO; j < VI_LINKTABLE+1; j++) {
+ 	if (specinos[j].inodeNumber > 0) {
+ 	    specinos[j].ninodeNumber = 
+ 		IH_CREATE(NULL, partP->device, VPartitionPath(partP),
+ 			  nearInode, h.parent, INODESPECIAL, j, h.parent);
+ 	    IH_INIT(ih, partP->device, volumeId, 
+ 		    specinos[j].inodeNumber);
+ 	    fdP = IH_OPEN(ih);
+ 	    if (!fdP) {
+ 		Log("1 inode_ConvertROtoRWvolume: Couldn't find special inode %d for %d\n", j, volumeId); 
+ 		return -1;
+ 	    }
+ 	    
+ 	    IH_INIT(ih2, partP->device, h.parent, specinos[j].ninodeNumber);
+ 	    fdP2 = IH_OPEN(ih2); 
+ 	    if (!fdP2) { 
+ 		Log("1 inode_ConvertROtoRWvolume: Couldn't find special inode %d for %d\n", j, h.parent);  
+ 		return -1; 
+ 	    } 
+ 	    
+ 	    if (j == VI_VOLINFO)
+ 		convertVolumeInfo(fdP->fd_fd, fdP2->fd_fd, ih2->ih_vid);
+ 	    else {
+ 		while (1) {
+ 		    len = read(fdP->fd_fd, buffer, sizeof(buffer));
+ 		    if (len < 0)
+ 			return errno;
+ 		    if (len == 0)
+ 			break;
+ 		    code = write(fdP2->fd_fd, buffer, len);
+ 		    if (code != len)
+ 			return -1;
+ 		}
+ 	    }
+ 		
+ 	    FDH_CLOSE(fdP);
+ 	    FDH_CLOSE(fdP2);
+ 	    IH_RELEASE(ih);
+ 	    IH_RELEASE(ih2);
+ 	}
+     }
+    
+     h.id = h.parent;
+ #ifdef AFS_64BIT_IOPS_ENV
+     h.volumeInfo_lo = (afs_int32)specinos[VI_VOLINFO].ninodeNumber & 0xffffffff;
+     h.volumeInfo_hi = (afs_int32)(specinos[VI_VOLINFO].ninodeNumber >> 32) && 0xffffffff;
+     h.smallVnodeIndex_lo = (afs_int32)specinos[VI_SMALLINDEX].ninodeNumber & 0xffffffff;
+     h.smallVnodeIndex_hi = (afs_int32)(specinos[VI_SMALLINDEX].ninodeNumber >> 32) & 0xffffffff;
+     h.largeVnodeIndex_lo = (afs_int32)specinos[VI_LARGEINDEX].ninodeNumber & 0xffffffff;
+     h.largeVnodeIndex_hi = (afs_int32)(specinos[VI_LARGEINDEX].ninodeNumber >> 32) & 0xffffffff;
+     if (specinos[VI_LINKTABLE].ninodeNumber) {
+ 	h.linkTable_lo = (afs_int32)specinos[VI_LINKTABLE].ninodeNumber & 0xffffffff;
+ 	h.linkTable_hi = (afs_int32)specinos[VI_LINKTABLE].ninodeNumber & 0xffffffff;
+     }
+ #else
+     h.volumeInfo_lo = specinos[VI_VOLINFO].ninodeNumber;
+     h.smallVnodeIndex_lo = specinos[VI_SMALLINDEX].ninodeNumber;
+     h.largeVnodeIndex_lo = specinos[VI_LARGEINDEX].ninodeNumber;
+     if (specinos[VI_LINKTABLE].ninodeNumber) {
+ 	h.linkTable_lo = specinos[VI_LINKTABLE].ninodeNumber;
+     }
+ #endif
+ 
+     (void)afs_snprintf(headername, sizeof headername, VFORMAT, h.id);
+     (void)afs_snprintf(newpath, sizeof newpath, "%s/%s", pname, headername);
+     fd = open(newpath, O_CREAT | O_EXCL | O_RDWR, 0644);
+     if (fd < 0) {
+         Log("1 inode_ConvertROtoRWvolume: Couldn't create header for RW-volume %lu.\n", h.id);
+         return EIO;
+     }
+     if (write(fd, &h, sizeof(h)) != sizeof(h)) {
+         Log("1 inode_ConvertROtoRWvolume: Couldn't write header for RW-volume %lu.\n", h.id);
+         close(fd);
+         return EIO;
+     }
+     close(fd);
+     if (unlink(oldpath) < 0) {
+         Log("1 inode_ConvertROtoRWvolume: Couldn't unlink RO header, error = %d\n", errno);
+     }
+     FSYNC_VolOp(volumeId, pname, FSYNC_VOL_DONE, 0, NULL);
+     FSYNC_VolOp(h.id, pname, FSYNC_VOL_ON, 0, NULL);
+     return 0;
+ }
+ #endif /* FSSYNC_BUILD_CLIENT */
  #endif /* AFS_NAMEI_ENV */
Index: openafs/src/vol/namei_ops.c
diff -c openafs/src/vol/namei_ops.c:1.28.2.10 openafs/src/vol/namei_ops.c:1.28.2.15
*** openafs/src/vol/namei_ops.c:1.28.2.10	Tue Sep 11 11:38:38 2007
--- openafs/src/vol/namei_ops.c	Mon Nov 26 16:08:46 2007
***************
*** 13,23 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/vol/namei_ops.c,v 1.28.2.10 2007/09/11 15:38:38 shadow Exp $");
  
  #ifdef AFS_NAMEI_ENV
  #include <stdio.h>
  #include <stdlib.h>
  #include <errno.h>
  #include <fcntl.h>
  #include <sys/stat.h>
--- 13,24 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/vol/namei_ops.c,v 1.28.2.15 2007/11/26 21:08:46 shadow Exp $");
  
  #ifdef AFS_NAMEI_ENV
  #include <stdio.h>
  #include <stdlib.h>
+ #include <unistd.h>
  #include <errno.h>
  #include <fcntl.h>
  #include <sys/stat.h>
***************
*** 40,45 ****
--- 41,47 ----
  #include "viceinode.h"
  #include "voldefs.h"
  #include "partition.h"
+ #include "fssync.h"
  #include <afs/errors.h>
  
  /*@+fcnmacros +macrofcndecl@*/
***************
*** 1543,1567 ****
   */
  
  int
! namei_ConvertROtoRWvolume(IHandle_t * h, afs_uint32 vid)
  {
      namei_t n;
      char dir_name[512], oldpath[512], newpath[512];
      char smallName[64];
      char largeName[64];
      char infoName[64];
      IHandle_t t_ih;
      char infoSeen = 0;
      char smallSeen = 0;
      char largeSeen = 0;
      char linkSeen = 0;
!     int code, fd, fd2;
      char *p;
      DIR *dirp;
      struct dirent *dp;
      struct ViceInodeInfo info;
  
!     namei_HandleToName(&n, h);
      strcpy(dir_name, n.n_path);
      p = strrchr(dir_name, '/');
      *p = 0;
--- 1545,1601 ----
   */
  
  int
! namei_ConvertROtoRWvolume(char *pname, afs_int32 volumeId)
  {
+ #ifdef FSSYNC_BUILD_CLIENT
      namei_t n;
      char dir_name[512], oldpath[512], newpath[512];
      char smallName[64];
      char largeName[64];
      char infoName[64];
      IHandle_t t_ih;
+     IHandle_t *ih;
      char infoSeen = 0;
      char smallSeen = 0;
      char largeSeen = 0;
      char linkSeen = 0;
!     int code, fd, fd2, found;
      char *p;
      DIR *dirp;
+     Inode ino;
      struct dirent *dp;
+     struct DiskPartition *partP;
      struct ViceInodeInfo info;
+     struct VolumeDiskHeader h;
+     char volname[20];
+     char headername[16];
+     afs_int32 error = 0;
+ 
+     (void)afs_snprintf(headername, sizeof headername, VFORMAT, volumeId);
+     (void)afs_snprintf(oldpath, sizeof oldpath, "%s/%s", pname, headername);
+     fd = open(oldpath, O_RDONLY);
+     if (fd < 0) {
+         Log("1 namei_ConvertROtoRWvolume: Couldn't open header for RO-volume %lu.\n", volumeId);
+         return ENOENT;
+     }
+     if (read(fd, &h, sizeof(h)) != sizeof(h)) {
+         Log("1 namei_ConvertROtoRWvolume: Couldn't read header for RO-volume %lu.\n", volumeId);
+         close(fd);
+         return EIO;
+     }
+     close(fd);
+     FSYNC_VolOp(volumeId, pname, FSYNC_VOL_BREAKCBKS, 0, NULL);
+ 
+     for (partP = DiskPartitionList; partP && strcmp(partP->name, pname);
+          partP = partP->next);
+     if (!partP) {
+         Log("1 namei_ConvertROtoRWvolume: Couldn't find DiskPartition for %s\n", pname);
+         return EIO;
+     }
+     ino = namei_MakeSpecIno(h.parent, VI_LINKTABLE);
+     IH_INIT(ih, partP->device, h.parent, ino);
  
!     namei_HandleToName(&n, ih);
      strcpy(dir_name, n.n_path);
      p = strrchr(dir_name, '/');
      *p = 0;
***************
*** 1576,1582 ****
  
  	if (*dp->d_name == '.')
  	    continue;
! 	if (DecodeInode(dir_name, dp->d_name, &info, h->ih_vid) < 0) {
  	    Log("1 namei_ConvertROtoRWvolume: DecodeInode failed for %s/%s\n",
  		dir_name, dp->d_name);
  	    closedir(dirp);
--- 1610,1616 ----
  
  	if (*dp->d_name == '.')
  	    continue;
! 	if (DecodeInode(dir_name, dp->d_name, &info, ih->ih_vid) < 0) {
  	    Log("1 namei_ConvertROtoRWvolume: DecodeInode failed for %s/%s\n",
  		dir_name, dp->d_name);
  	    closedir(dirp);
***************
*** 1587,1594 ****
  	    closedir(dirp);
  	    return -1;
  	}
! 	if (info.u.param[0] != vid) {
! 	    if (info.u.param[0] == h->ih_vid) {
  		if (info.u.param[2] == VI_LINKTABLE) {	/* link table */
  		    linkSeen = 1;
  		    continue;
--- 1621,1628 ----
  	    closedir(dirp);
  	    return -1;
  	}
! 	if (info.u.param[0] != volumeId) {
! 	    if (info.u.param[0] == ih->ih_vid) {
  		if (info.u.param[2] == VI_LINKTABLE) {	/* link table */
  		    linkSeen = 1;
  		    continue;
***************
*** 1626,1633 ****
       */
  
      memset(&t_ih, 0, sizeof(t_ih));
!     t_ih.ih_dev = h->ih_dev;
!     t_ih.ih_vid = h->ih_vid;
  
      (void)afs_snprintf(oldpath, sizeof oldpath, "%s/%s", dir_name, infoName);
      fd = afs_open(oldpath, O_RDWR, 0);
--- 1660,1667 ----
       */
  
      memset(&t_ih, 0, sizeof(t_ih));
!     t_ih.ih_dev = ih->ih_dev;
!     t_ih.ih_vid = ih->ih_vid;
  
      (void)afs_snprintf(oldpath, sizeof oldpath, "%s/%s", dir_name, infoName);
      fd = afs_open(oldpath, O_RDWR, 0);
***************
*** 1636,1642 ****
  	    oldpath);
  	return -1;
      }
!     t_ih.ih_ino = namei_MakeSpecIno(h->ih_vid, VI_VOLINFO);
      namei_HandleToName(&n, &t_ih);
      fd2 = afs_open(n.n_path, O_CREAT | O_EXCL | O_TRUNC | O_RDWR, 0);
      if (fd2 < 0) {
--- 1670,1676 ----
  	    oldpath);
  	return -1;
      }
!     t_ih.ih_ino = namei_MakeSpecIno(ih->ih_vid, VI_VOLINFO);
      namei_HandleToName(&n, &t_ih);
      fd2 = afs_open(n.n_path, O_CREAT | O_EXCL | O_TRUNC | O_RDWR, 0);
      if (fd2 < 0) {
***************
*** 1644,1660 ****
  	close(fd);
  	return -1;
      }
!     code = convertVolumeInfo(fd, fd2, h->ih_vid);
      close(fd);
      if (code) {
  	close(fd2);
  	unlink(n.n_path);
  	return -1;
      }
!     SetOGM(fd2, h->ih_vid, 1);
      close(fd2);
  
!     t_ih.ih_ino = namei_MakeSpecIno(h->ih_vid, VI_SMALLINDEX);
      namei_HandleToName(&n, &t_ih);
      (void)afs_snprintf(newpath, sizeof newpath, "%s/%s", dir_name, smallName);
      fd = afs_open(newpath, O_RDWR, 0);
--- 1678,1694 ----
  	close(fd);
  	return -1;
      }
!     code = convertVolumeInfo(fd, fd2, ih->ih_vid);
      close(fd);
      if (code) {
  	close(fd2);
  	unlink(n.n_path);
  	return -1;
      }
!     SetOGM(fd2, ih->ih_vid, 1);
      close(fd2);
  
!     t_ih.ih_ino = namei_MakeSpecIno(ih->ih_vid, VI_SMALLINDEX);
      namei_HandleToName(&n, &t_ih);
      (void)afs_snprintf(newpath, sizeof newpath, "%s/%s", dir_name, smallName);
      fd = afs_open(newpath, O_RDWR, 0);
***************
*** 1662,1673 ****
  	Log("1 namei_ConvertROtoRWvolume: could not open SmallIndex file: %s\n", newpath);
  	return -1;
      }
!     SetOGM(fd, h->ih_vid, 2);
      close(fd);
      link(newpath, n.n_path);
      unlink(newpath);
  
!     t_ih.ih_ino = namei_MakeSpecIno(h->ih_vid, VI_LARGEINDEX);
      namei_HandleToName(&n, &t_ih);
      (void)afs_snprintf(newpath, sizeof newpath, "%s/%s", dir_name, largeName);
      fd = afs_open(newpath, O_RDWR, 0);
--- 1696,1707 ----
  	Log("1 namei_ConvertROtoRWvolume: could not open SmallIndex file: %s\n", newpath);
  	return -1;
      }
!     SetOGM(fd, ih->ih_vid, 2);
      close(fd);
      link(newpath, n.n_path);
      unlink(newpath);
  
!     t_ih.ih_ino = namei_MakeSpecIno(ih->ih_vid, VI_LARGEINDEX);
      namei_HandleToName(&n, &t_ih);
      (void)afs_snprintf(newpath, sizeof newpath, "%s/%s", dir_name, largeName);
      fd = afs_open(newpath, O_RDWR, 0);
***************
*** 1675,1686 ****
  	Log("1 namei_ConvertROtoRWvolume: could not open LargeIndex file: %s\n", newpath);
  	return -1;
      }
!     SetOGM(fd, h->ih_vid, 3);
      close(fd);
      link(newpath, n.n_path);
      unlink(newpath);
  
      unlink(oldpath);
      return 0;
  }
  
--- 1709,1746 ----
  	Log("1 namei_ConvertROtoRWvolume: could not open LargeIndex file: %s\n", newpath);
  	return -1;
      }
!     SetOGM(fd, ih->ih_vid, 3);
      close(fd);
      link(newpath, n.n_path);
      unlink(newpath);
  
      unlink(oldpath);
+ 
+     h.id = h.parent;
+     h.volumeInfo_hi = h.id;
+     h.smallVnodeIndex_hi = h.id;
+     h.largeVnodeIndex_hi = h.id;
+     h.linkTable_hi = h.id;
+     (void)afs_snprintf(headername, sizeof headername, VFORMAT, h.id);
+     (void)afs_snprintf(newpath, sizeof newpath, "%s/%s", pname, headername);
+     fd = open(newpath, O_CREAT | O_EXCL | O_RDWR, 0644);
+     if (fd < 0) {
+         Log("1 namei_ConvertROtoRWvolume: Couldn't create header for RW-volume %lu.\n", h.id);
+         return EIO;
+     }
+     if (write(fd, &h, sizeof(h)) != sizeof(h)) {
+         Log("1 namei_ConvertROtoRWvolume: Couldn't write header for RW-volume\
+  %lu.\n", h.id);
+         close(fd);
+         return EIO;
+     }
+     close(fd);
+     if (unlink(oldpath) < 0) {
+         Log("1 namei_ConvertROtoRWvolume: Couldn't unlink RO header, error = %d\n", error);
+     }
+     FSYNC_VolOp(volumeId, pname, FSYNC_VOL_DONE, 0, NULL);
+     FSYNC_VolOp(h.id, pname, FSYNC_VOL_ON, 0, NULL);
+ #endif
      return 0;
  }
  
Index: openafs/src/vol/partition.c
diff -c openafs/src/vol/partition.c:1.33.2.3 openafs/src/vol/partition.c:1.33.2.4
*** openafs/src/vol/partition.c:1.33.2.3	Tue Oct 30 11:16:57 2007
--- openafs/src/vol/partition.c	Fri Nov 30 14:17:02 2007
***************
*** 22,28 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/vol/partition.c,v 1.33.2.3 2007/10/30 15:16:57 shadow Exp $");
  
  #include <ctype.h>
  #include <string.h>
--- 22,28 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/vol/partition.c,v 1.33.2.4 2007/11/30 19:17:02 shadow Exp $");
  
  #include <ctype.h>
  #include <string.h>
***************
*** 456,462 ****
  	/* but allow zfs too if we're in the NAMEI environment */
  	if (
  #ifdef AFS_NAMEI_ENV
! 	    ((!(strcmp(mnt.mnt_fstype, "ufs") &&
  		strcmp(mnt.mnt_fstype, "zfs"))))
  #else
  	    (strcmp(mnt.mnt_fstype, "ufs") != 0)
--- 456,462 ----
  	/* but allow zfs too if we're in the NAMEI environment */
  	if (
  #ifdef AFS_NAMEI_ENV
! 	    (((strcmp(mnt.mnt_fstype, "ufs") &&
  		strcmp(mnt.mnt_fstype, "zfs"))))
  #else
  	    (strcmp(mnt.mnt_fstype, "ufs") != 0)
Index: openafs/src/vol/salvaged.c
diff -c openafs/src/vol/salvaged.c:1.1.4.2 openafs/src/vol/salvaged.c:1.1.4.3
*** openafs/src/vol/salvaged.c:1.1.4.2	Thu Nov  1 11:00:03 2007
--- openafs/src/vol/salvaged.c	Mon Nov 26 16:08:46 2007
***************
*** 19,25 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/vol/salvaged.c,v 1.1.4.2 2007/11/01 15:00:03 shadow Exp $");
  
  #include <stdlib.h>
  #include <stdio.h>
--- 19,25 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/vol/salvaged.c,v 1.1.4.3 2007/11/26 21:08:46 shadow Exp $");
  
  #include <stdlib.h>
  #include <stdio.h>
***************
*** 407,412 ****
--- 407,413 ----
  
      err = cmd_Dispatch(argc, argv);
      Exit(err);
+     return 0; /* not reached */
  }
  
  static void
Index: openafs/src/vol/salvager.c
diff -c openafs/src/vol/salvager.c:1.1.4.2 openafs/src/vol/salvager.c:1.1.4.3
*** openafs/src/vol/salvager.c:1.1.4.2	Wed Oct 31 00:09:45 2007
--- openafs/src/vol/salvager.c	Mon Nov 26 16:08:46 2007
***************
*** 21,27 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/vol/salvager.c,v 1.1.4.2 2007/10/31 04:09:45 shadow Exp $");
  
  #include <stdlib.h>
  #include <stdio.h>
--- 21,27 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/vol/salvager.c,v 1.1.4.3 2007/11/26 21:08:46 shadow Exp $");
  
  #include <stdlib.h>
  #include <stdio.h>
***************
*** 490,494 ****
--- 490,495 ----
  #endif /* FAST_RESTART */
      err = cmd_Dispatch(argc, argv);
      Exit(err);
+     return 0; /* not reached */
  }
  
Index: openafs/src/volser/lockprocs.c
diff -c openafs/src/volser/lockprocs.c:1.8.14.1 openafs/src/volser/lockprocs.c:1.8.14.2
*** openafs/src/volser/lockprocs.c:1.8.14.1	Tue Oct 30 11:16:59 2007
--- openafs/src/volser/lockprocs.c	Mon Nov 26 16:08:46 2007
***************
*** 18,24 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/volser/lockprocs.c,v 1.8.14.1 2007/10/30 15:16:59 shadow Exp $");
  
  #include <sys/types.h>
  #ifdef AFS_NT40_ENV
--- 18,24 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/volser/lockprocs.c,v 1.8.14.2 2007/11/26 21:08:46 shadow Exp $");
  
  #include <sys/types.h>
  #ifdef AFS_NT40_ENV
***************
*** 102,107 ****
--- 102,108 ----
  }
  
  /* Changes the RW site only */
+ void
  Lp_SetRWValue(entry, oserver, opart, nserver, npart)
       struct nvldbentry *entry;
       afs_int32 oserver, opart, nserver, npart;
***************
*** 110,115 ****
--- 111,117 ----
  }
  
  /* Changes the RO site only */
+ void
  Lp_SetROValue(entry, oserver, opart, nserver, npart)
       struct nvldbentry *entry;
       afs_int32 oserver, opart, nserver, npart;
***************
*** 143,148 ****
--- 145,151 ----
  }
  
  /*initialize queue pointed by <ahead>*/
+ void
  Lp_QInit(ahead)
       struct qHead *ahead;
  {
***************
*** 151,156 ****
--- 154,160 ----
  }
  
  /*add <elem> in front of queue <ahead> */
+ void
  Lp_QAdd(ahead, elem)
       struct qHead *ahead;
       struct aqueue *elem;
***************
*** 192,197 ****
--- 196,202 ----
  
  /*return the element in the beginning of the queue <ahead>, free
  *the space used by that element . <success> indicates if enumeration was ok*/
+ void
  Lp_QEnumerate(ahead, success, elem)
       struct qHead *ahead;
       struct aqueue *elem;
***************
*** 217,222 ****
--- 222,228 ----
  	*success = 0;
  }
  
+ void
  Lp_QTraverse(ahead)
       struct qHead *ahead;
  {
Index: openafs/src/volser/restorevol.c
diff -c openafs/src/volser/restorevol.c:1.14.4.2 openafs/src/volser/restorevol.c:1.14.4.3
*** openafs/src/volser/restorevol.c:1.14.4.2	Wed Oct 31 00:09:46 2007
--- openafs/src/volser/restorevol.c	Mon Nov 26 16:08:46 2007
***************
*** 43,49 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/volser/restorevol.c,v 1.14.4.2 2007/10/31 04:09:46 shadow Exp $");
  
  #include <afs/afsint.h>
  #include <afs/nfs.h>
--- 43,49 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/volser/restorevol.c,v 1.14.4.3 2007/11/26 21:08:46 shadow Exp $");
  
  #include <afs/afsint.h>
  #include <afs/nfs.h>
***************
*** 118,124 ****
  #define BUFSIZE 16384
  char buf[BUFSIZE];
  
! char
  readdata(buffer, size)
       char *buffer;
       afs_sfsize_t size;
--- 118,124 ----
  #define BUFSIZE 16384
  char buf[BUFSIZE];
  
! void
  readdata(buffer, size)
       char *buffer;
       afs_sfsize_t size;
Index: openafs/src/volser/volmain.c
diff -c openafs/src/volser/volmain.c:1.22.2.7 openafs/src/volser/volmain.c:1.22.2.8
*** openafs/src/volser/volmain.c:1.22.2.7	Tue Oct 30 11:16:59 2007
--- openafs/src/volser/volmain.c	Mon Nov 26 16:08:46 2007
***************
*** 11,17 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/volser/volmain.c,v 1.22.2.7 2007/10/30 15:16:59 shadow Exp $");
  
  #include <sys/types.h>
  #include <string.h>
--- 11,17 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/volser/volmain.c,v 1.22.2.8 2007/11/26 21:08:46 shadow Exp $");
  
  #include <sys/types.h>
  #include <string.h>
***************
*** 539,542 ****
--- 539,543 ----
  
      osi_audit(VS_FinishEvent, (-1), AUD_END);
      Abort("StartServer returned?");
+     return 0; /* not reached */
  }
Index: openafs/src/volser/volprocs.c
diff -c openafs/src/volser/volprocs.c:1.42.2.7 openafs/src/volser/volprocs.c:1.42.2.9
*** openafs/src/volser/volprocs.c:1.42.2.7	Tue Oct 30 11:16:59 2007
--- openafs/src/volser/volprocs.c	Mon Nov 26 17:12:04 2007
***************
*** 11,17 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/volser/volprocs.c,v 1.42.2.7 2007/10/30 15:16:59 shadow Exp $");
  
  #include <stdio.h>
  #include <sys/types.h>
--- 11,17 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/volser/volprocs.c,v 1.42.2.9 2007/11/26 22:12:04 shadow Exp $");
  
  #include <stdio.h>
  #include <sys/types.h>
***************
*** 191,197 ****
  	*error = EINVAL;
  	return NULL;
      }
!     tv = VAttachVolumeByName(error, pbuf, vbuf, amode);
      return tv;
  }
  
--- 191,197 ----
  	*error = EINVAL;
  	return NULL;
      }
!     tv = VAttachVolumeByName((Error *)error, pbuf, vbuf, amode);
      return tv;
  }
  
***************
*** 203,216 ****
      struct acl_accessList *ACL;
      ViceFid did;
      Inode inodeNumber, nearInode;
!     char buf[SIZEOF_LARGEDISKVNODE];
!     struct VnodeDiskObject *vnode = (struct VnodeDiskObject *)buf;
      struct VnodeClassInfo *vcp = &VnodeClassInfo[vLarge];
      IHandle_t *h;
      FdHandle_t *fdP;
      int code;
      afs_fsize_t length;
  
      memset(vnode, 0, SIZEOF_LARGEDISKVNODE);
  
      V_pref(vp, nearInode);
--- 203,216 ----
      struct acl_accessList *ACL;
      ViceFid did;
      Inode inodeNumber, nearInode;
!     struct VnodeDiskObject *vnode;
      struct VnodeClassInfo *vcp = &VnodeClassInfo[vLarge];
      IHandle_t *h;
      FdHandle_t *fdP;
      int code;
      afs_fsize_t length;
  
+     vnode = (struct VnodeDiskObject *)malloc(SIZEOF_LARGEDISKVNODE);
      memset(vnode, 0, SIZEOF_LARGEDISKVNODE);
  
      V_pref(vp, nearInode);
***************
*** 275,280 ****
--- 275,281 ----
      VNDISK_GET_LEN(length, vnode);
      V_diskused(vp) = nBlocks(length);
  
+     free(vnode);
      return 1;
  }
  
***************
*** 2758,2873 ****
      return error;
  }
  
- #ifdef AFS_NAMEI_ENV
- /* 
-  * Inode number format  (from namei_ops.c): 
-  * low 26 bits - vnode number - all 1's if volume special file.
-  * next 3 bits - tag
-  * next 3 bits spare (0's)
-  * high 32 bits - uniquifier (regular) or type if spare
-  */
- #define NAMEI_VNODEMASK    0x003ffffff
- #define NAMEI_TAGMASK      0x7
- #define NAMEI_TAGSHIFT     26
- #define NAMEI_UNIQMASK     0xffffffff
- #define NAMEI_UNIQSHIFT    32
- #define NAMEI_INODESPECIAL ((Inode)NAMEI_VNODEMASK)
- #define NAMEI_VNODESPECIAL NAMEI_VNODEMASK
- #endif /* AFS_NAMEI_ENV */
- 
  afs_int32
  SAFSVolConvertROtoRWvolume(struct rx_call *acid, afs_int32 partId,
  			   afs_int32 volumeId)
  {
! #if defined(AFS_NAMEI_ENV) && !defined(AFS_NT40_ENV)
      DIR *dirp;
!     char pname[16];
!     char volname[20];
!     afs_int32 error = 0;
      afs_int32 volid;
-     int found = 0;
-     char caller[MAXKTCNAMELEN];
-     char headername[16];
-     char opath[256];
-     char npath[256];
-     struct VolumeDiskHeader h;
-     int fd;
-     IHandle_t *ih;
-     Inode ino;
-     struct DiskPartition *dp;
  
      if (!afsconf_SuperUser(tdir, acid, caller))
  	return VOLSERBAD_ACCESS;	/*not a super user */
      if (GetPartName(partId, pname))
! 	return VOLSERILLEGAL_PARTITION;
!     dirp = opendir(pname);
      if (dirp == NULL)
  	return VOLSERILLEGAL_PARTITION;
      strcpy(volname, "");
  
!     while (strcmp(volname, "EOD") && !found) {	/*while there are more volumes in the partition */
! 	GetNextVol(dirp, volname, &volid);
! 	if (strcmp(volname, "")) {	/* its a volume */
! 	    if (volid == volumeId)
! 		found = 1;
  	}
      }
!     if (!found)
! 	return ENOENT;
!     (void)afs_snprintf(headername, sizeof headername, VFORMAT, volumeId);
!     (void)afs_snprintf(opath, sizeof opath, "%s/%s", pname, headername);
!     fd = open(opath, O_RDONLY);
!     if (fd < 0) {
! 	Log("1 SAFS_VolConvertROtoRWvolume: Couldn't open header for RO-volume %lu.\n", volumeId);
! 	return ENOENT;
!     }
!     if (read(fd, &h, sizeof(h)) != sizeof(h)) {
! 	Log("1 SAFS_VolConvertROtoRWvolume: Couldn't read header for RO-volume %lu.\n", volumeId);
! 	close(fd);
! 	return EIO;
!     }
!     close(fd);
!     FSYNC_VolOp(volumeId, pname, FSYNC_VOL_BREAKCBKS, 0, NULL);
! 
!     for (dp = DiskPartitionList; dp && strcmp(dp->name, pname);
! 	 dp = dp->next);
!     if (!dp) {
! 	Log("1 SAFS_VolConvertROtoRWvolume: Couldn't find DiskPartition for %s\n", pname);
! 	return EIO;
!     }
!     ino = namei_MakeSpecIno(h.parent, VI_LINKTABLE);
!     IH_INIT(ih, dp->device, h.parent, ino);
! 
!     error = namei_ConvertROtoRWvolume(ih, volumeId);
!     if (error)
! 	return error;
!     h.id = h.parent;
!     h.volumeInfo_hi = h.id;
!     h.smallVnodeIndex_hi = h.id;
!     h.largeVnodeIndex_hi = h.id;
!     h.linkTable_hi = h.id;
!     (void)afs_snprintf(headername, sizeof headername, VFORMAT, h.id);
!     (void)afs_snprintf(npath, sizeof npath, "%s/%s", pname, headername);
!     fd = open(npath, O_CREAT | O_EXCL | O_RDWR, 0644);
!     if (fd < 0) {
! 	Log("1 SAFS_VolConvertROtoRWvolume: Couldn't create header for RW-volume %lu.\n", h.id);
! 	return EIO;
!     }
!     if (write(fd, &h, sizeof(h)) != sizeof(h)) {
! 	Log("1 SAFS_VolConvertROtoRWvolume: Couldn't write header for RW-volume %lu.\n", h.id);
! 	close(fd);
! 	return EIO;
!     }
!     close(fd);
!     if (unlink(opath) < 0) {
! 	Log("1 SAFS_VolConvertROtoRWvolume: Couldn't unlink RO header, error = %d\n", error);
      }
!     FSYNC_VolOp(volumeId, pname, FSYNC_VOL_DONE, 0, NULL);
!     FSYNC_VolOp(h.id, pname, FSYNC_VOL_ON, 0, NULL);
!     return 0;
! #else /* AFS_NAMEI_ENV */
!     return EINVAL;
! #endif /* AFS_NAMEI_ENV */
  }
  
  afs_int32
--- 2759,2823 ----
      return error;
  }
  
  afs_int32
  SAFSVolConvertROtoRWvolume(struct rx_call *acid, afs_int32 partId,
  			   afs_int32 volumeId)
  {
! #ifdef AFS_NT40_ENV
!     return EXDEV;
! #else
!     char caller[MAXKTCNAMELEN];
      DIR *dirp;
!     register struct volser_trans *ttc;
!     char pname[16], volname[20];
!     struct DiskPartition *partP;
!     afs_int32 ret = ENODEV;
      afs_int32 volid;
  
      if (!afsconf_SuperUser(tdir, acid, caller))
  	return VOLSERBAD_ACCESS;	/*not a super user */
      if (GetPartName(partId, pname))
!         return VOLSERILLEGAL_PARTITION;
!     if (!(partP = VGetPartition(pname, 0)))
!         return VOLSERILLEGAL_PARTITION;
!     dirp = opendir(VPartitionPath(partP));
      if (dirp == NULL)
  	return VOLSERILLEGAL_PARTITION;
      strcpy(volname, "");
+     ttc = (struct volser_trans *)0;
  
!     while (strcmp(volname, "EOD")) {
! 	if (!strcmp(volname, "")) {     /* its not a volume, fetch next file */
!             GetNextVol(dirp, volname, &volid);
!             continue;           /*back to while loop */
!         }
! 	
! 	if (volid == volumeId) {        /*copy other things too */
! #ifndef AFS_PTHREAD_ENV
!             IOMGR_Poll();       /*make sure that the client doesnot time out */
! #endif
!             ttc = NewTrans(volumeId, partId);
!             if (!ttc) {
! 		return VBUSY;
!             }
! #ifdef AFS_NAMEI_ENV
! 	    ret = namei_ConvertROtoRWvolume(pname, volumeId);
! #else
! 	    ret = inode_ConvertROtoRWvolume(pname, volumeId);
! #endif
! 	    break;
  	}
+ 	GetNextVol(dirp, volname, &volid);
      }
!     
!     if (ttc) {
!         DeleteTrans(ttc, 1);
!         ttc = (struct volser_trans *)0;
      }
!     
!     closedir(dirp);
!     return ret;
! #endif
  }
  
  afs_int32
Index: openafs/src/volser/vsprocs.c
diff -c openafs/src/volser/vsprocs.c:1.38.2.7 openafs/src/volser/vsprocs.c:1.38.2.8
*** openafs/src/volser/vsprocs.c:1.38.2.7	Tue Oct 30 11:16:59 2007
--- openafs/src/volser/vsprocs.c	Mon Nov 26 16:08:46 2007
***************
*** 11,17 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/volser/vsprocs.c,v 1.38.2.7 2007/10/30 15:16:59 shadow Exp $");
  
  #include <stdio.h>
  #include <sys/types.h>
--- 11,17 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/volser/vsprocs.c,v 1.38.2.8 2007/11/26 21:08:46 shadow Exp $");
  
  #include <stdio.h>
  #include <sys/types.h>
***************
*** 646,652 ****
  
      code = AFSVolSetInfo(aconn, tid, &tstatus);
      if (code)
! 	EPRINT(code, "Could not change quota (error %d), continuing...\n");
  
      code = AFSVolSetFlags(aconn, tid, 0);	/* bring it online (mark it InService */
      EGOTO2(cfail, vcode, "Could not bring the volume %s %u online \n", aname,
--- 646,652 ----
  
      code = AFSVolSetInfo(aconn, tid, &tstatus);
      if (code)
! 	EPRINT(code, "Could not change quota, continuing...\n");
  
      code = AFSVolSetFlags(aconn, tid, 0);	/* bring it online (mark it InService */
      EGOTO2(cfail, vcode, "Could not bring the volume %s %u online \n", aname,
Index: openafs/src/xstat/xstat_cm_test.c
diff -c openafs/src/xstat/xstat_cm_test.c:1.11.2.2 openafs/src/xstat/xstat_cm_test.c:1.11.2.3
*** openafs/src/xstat/xstat_cm_test.c:1.11.2.2	Wed Oct 31 00:09:48 2007
--- openafs/src/xstat/xstat_cm_test.c	Mon Nov 26 16:08:47 2007
***************
*** 17,23 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/xstat/xstat_cm_test.c,v 1.11.2.2 2007/10/31 04:09:48 shadow Exp $");
  
  #include "xstat_cm.h"		/*Interface for xstat_cm module */
  #include <cmd.h>		/*Command line interpreter */
--- 17,23 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/xstat/xstat_cm_test.c,v 1.11.2.3 2007/11/26 21:08:47 shadow Exp $");
  
  #include "xstat_cm.h"		/*Interface for xstat_cm module */
  #include <cmd.h>		/*Command line interpreter */
***************
*** 152,157 ****
--- 152,158 ----
  
  /* Print detailed functional call statistics */
  
+ void
  print_cmCallStats()
  {
      static char rn[] = "print_cmCallStats";	/*Routine name */
