Index: openafs/src/WINNT/afsd/afslogon.c
diff -c openafs/src/WINNT/afsd/afslogon.c:1.24.2.17 openafs/src/WINNT/afsd/afslogon.c:1.24.2.20
*** openafs/src/WINNT/afsd/afslogon.c:1.24.2.17	Thu Jan 26 01:09:47 2006
--- openafs/src/WINNT/afsd/afslogon.c	Thu Feb  9 10:29:41 2006
***************
*** 410,416 ****
      if(ISHIGHSECURITY(opt->LogonOption)) {
          opt->smbName = malloc( MAXRANDOMNAMELEN );
          GenRandomName(opt->smbName);
!     } else {
          /* username and domain for logon session is not necessarily the same as
             username and domain passed into network provider. */
          PSECURITY_LOGON_SESSION_DATA plsd;
--- 410,416 ----
      if(ISHIGHSECURITY(opt->LogonOption)) {
          opt->smbName = malloc( MAXRANDOMNAMELEN );
          GenRandomName(opt->smbName);
!     } else if (lpLogonId) {
          /* username and domain for logon session is not necessarily the same as
             username and domain passed into network provider. */
          PSECURITY_LOGON_SESSION_DATA plsd;
***************
*** 447,452 ****
--- 447,467 ----
  
        bad_strings:
          LsaFreeReturnBuffer(plsd);
+     } else {
+         size_t len;
+ 
+         DebugEvent("No LUID given. Constructing username using [%s] and [%s]",
+                    username, domain);
+  
+         len = strlen(username) + strlen(domain) + 2;
+ 
+         opt->smbName = malloc(len);
+ 
+         StringCbCopy(opt->smbName, len, username);
+         StringCbCat(opt->smbName, len, "\\");
+         StringCbCat(opt->smbName, len, domain);
+ 
+         strlwr(opt->smbName);
      }
  
      DebugEvent("Looking up logon script");
***************
*** 578,584 ****
          DebugEvent("Found TheseCells [%s]", thesecells);
          opt->theseCells = thesecells;
  
!       doneTheseCells:;
      }
  
    cleanup:
--- 593,600 ----
          DebugEvent("Found TheseCells [%s]", thesecells);
          opt->theseCells = thesecells;
  
!       doneTheseCells:
!         ;
      }
  
    cleanup:
***************
*** 755,761 ****
              code = GT_PW_NULL;
              reason = "zero length password is illegal";
              code=0;
!         }       
  
          /* Get cell name if doing integrated logon.  
             We might overwrite this if we are logging into an AD realm and we find out that
--- 771,777 ----
              code = GT_PW_NULL;
              reason = "zero length password is illegal";
              code=0;
!         }
  
          /* Get cell name if doing integrated logon.  
             We might overwrite this if we are logging into an AD realm and we find out that
***************
*** 781,889 ****
      }
  
      /* loop until AFS is started. */
!     while (IsServiceRunning() || IsServiceStartPending()) {
!         DebugEvent("while(autostart) LogonOption[%x], Service AutoStart[%d]",
!                     opt.LogonOption,afsWillAutoStart);
! 
!         if (ISADREALM(opt.flags)) {
!             code = GetFileCellName(homePath,cell,256);
!             if (!code) {
!                 DebugEvent("profile path [%s] is in cell [%s]",homePath,cell);
!             }
!             /* Don't bail out if GetFileCellName failed.
!              * The home dir may not be in AFS after all. 
!              */
!         } else
!             code=0;
! 		
!         /* if Integrated Logon  */
!         if (ISLOGONINTEGRATED(opt.LogonOption))
!         {			
!             if ( KFW_is_available() ) {
!                 code = KFW_AFS_get_cred(uname, cell, password, 0, opt.smbName, &reason);
!                 DebugEvent("KFW_AFS_get_cred  uname=[%s] smbname=[%s] cell=[%s] code=[%d]",
! 			    uname,opt.smbName,cell,code);
!                 if (code == 0 && opt.theseCells) { 
!                     char * principal, *p;
! 
!                     principal = (char *)malloc(strlen(uname) + strlen(cell) + 2);
!                     if ( principal ) {
!                         strcpy(principal, uname);
!                         p = principal + strlen(uname);
!                         *p++ = '@';
!                         strcpy(p, cell);
!                         for ( ;*p; p++) {
!                             *p = toupper(*p);
!                         }
! 
!                         p = opt.theseCells;
!                         while ( *p ) {
!                             code2 = KFW_AFS_get_cred(principal, p, 0, 0, opt.smbName, &reason);
!                             DebugEvent("KFW_AFS_get_cred  uname=[%s] smbname=[%s] cell=[%s] code=[%d]",
!                                         principal,opt.smbName,p,code2);
!                             p += strlen(p) + 1;
!                         }
!                         
!                         free(principal);
!                     }
!                 }
!             } else {
!                 code = ka_UserAuthenticateGeneral2(KA_USERAUTH_VERSION+KA_USERAUTH_AUTHENT_LOGON,
!                                                     uname, "", cell, password, opt.smbName, 0, &pw_exp, 0,
!                                                     &reason);
!                 DebugEvent("AFS AfsLogon - (INTEGRATED only)ka_UserAuthenticateGeneral2 Code[%x] uname[%s] smbname=[%s] Cell[%s] PwExp=[%d] Reason=[%s]",
!                             code,uname,opt.smbName,cell,pw_exp,reason?reason:"");
!             }       
!             if ( code && code != KTC_NOCM && code != KTC_NOCMRPC && !lowercased_name ) {
!                 for ( ctemp = uname; *ctemp ; ctemp++) {
!                     *ctemp = tolower(*ctemp);
!                 }
!                 lowercased_name = TRUE;
!                 goto sleeping;
!             }
! 
!             /* is service started yet?*/
! 
!             /* If we've failed because the client isn't running yet and the
!             * client is set to autostart (and therefore it makes sense for
!             * us to wait for it to start) then sleep a while and try again. 
!             * If the error was something else, then give up. */
!             if (code != KTC_NOCM && code != KTC_NOCMRPC)
!                 break;
!         }
!         else {  
!             /*JUST check to see if its running*/
!             if (IsServiceRunning())
!                 break;
!             if (!IsServiceStartPending()) {
!                 code = KTC_NOCMRPC;
!                 reason = "AFS Service start failed";
!                 break;
!             }
!         }
! 
!         /* If the retry interval has expired and we still aren't
!          * logged in, then just give up if we are not in interactive
!          * mode or the failSilently flag is set, otherwise let the
!          * user know we failed and give them a chance to try again. */
!         if (retryInterval <= 0) {
!             reason = "AFS not running";
!             if (!interactive || opt.failSilently)
!                 break;
!             flag = MessageBox(hwndOwner,
!                                "AFS is still starting.  Retry?",
!                                "AFS Logon",
!                                MB_ICONQUESTION | MB_RETRYCANCEL);
!             if (flag == IDCANCEL)
!                 break;
! 
!             /* Wait just a little while and try again */
!             retryInterval = opt.retryInterval;
!         }
! 
!       sleeping:
!         Sleep(sleepInterval * 1000);
!         retryInterval -= sleepInterval;
      }
  
      DebugEvent("while loop exited");
--- 797,914 ----
      }
  
      /* loop until AFS is started. */
!     if (afsWillAutoStart) {
! 	while (IsServiceRunning() || IsServiceStartPending()) {
! 	    DebugEvent("while(autostart) LogonOption[%x], Service AutoStart[%d]",
! 			opt.LogonOption,afsWillAutoStart);
! 
! 	    if (ISADREALM(opt.flags)) {
! 		code = GetFileCellName(homePath,cell,256);
! 		if (!code) {
! 		    DebugEvent("profile path [%s] is in cell [%s]",homePath,cell);
! 		}
! 		/* Don't bail out if GetFileCellName failed.
! 		 * The home dir may not be in AFS after all. 
! 		 */
! 	    } else
! 		code=0;
! 
! 	    /* if Integrated Logon  */
! 	    if (ISLOGONINTEGRATED(opt.LogonOption))
! 	    {			
! 		if ( KFW_is_available() ) {
! 		    code = KFW_AFS_get_cred(uname, cell, password, 0, opt.smbName, &reason);
! 		    DebugEvent("KFW_AFS_get_cred  uname=[%s] smbname=[%s] cell=[%s] code=[%d]",
! 				uname,opt.smbName,cell,code);
! 		    if (code == 0 && opt.theseCells) { 
! 			char * principal, *p;
! 			size_t len, tlen;
! 
! 			StringCchLength(cell, MAX_DOMAIN_LENGTH, &tlen);
! 			len = tlen;
! 			StringCchLength(uname, MAX_USERNAME_LENGTH, &tlen);
! 			len += tlen + 2;
! 
! 			/* tlen is now the length of uname in characters */
! 			principal = (char *)malloc(len * sizeof(char));
! 			if ( principal ) {
! 			    StringCchCopy(principal, len, uname);
! 			    p = principal + tlen;
! 			    *p++ = '@';
! 			    StringCchCopy(p, len - tlen -1, cell);
! 			    for ( ;*p; p++) {
! 				*p = toupper(*p);
! 			    }
! 
! 			    p = opt.theseCells;
! 			    while ( *p ) {
! 				code2 = KFW_AFS_get_cred(principal, p, 0, 0, opt.smbName, &reason);
! 				DebugEvent("KFW_AFS_get_cred  uname=[%s] smbname=[%s] cell=[%s] code=[%d]",
! 					    principal,opt.smbName,p,code2);
! 				p += strlen(p) + 1;
! 			    }
! 
! 			    free(principal);
! 			}
! 		    }
! 		} else {
! 		    code = ka_UserAuthenticateGeneral2(KA_USERAUTH_VERSION+KA_USERAUTH_AUTHENT_LOGON,
! 							uname, "", cell, password, opt.smbName, 0, &pw_exp, 0,
! 							&reason);
! 		    DebugEvent("AFS AfsLogon - (INTEGRATED only)ka_UserAuthenticateGeneral2 Code[%x] uname[%s] smbname=[%s] Cell[%s] PwExp=[%d] Reason=[%s]",
! 				code,uname,opt.smbName,cell,pw_exp,reason?reason:"");
! 		}       
! 		if ( code && code != KTC_NOCM && code != KTC_NOCMRPC && !lowercased_name ) {
! 		    for ( ctemp = uname; *ctemp ; ctemp++) {
! 			*ctemp = tolower(*ctemp);
! 		    }
! 		    lowercased_name = TRUE;
! 		    goto sleeping;
! 		}
! 
! 		/* is service started yet?*/
! 
! 		/* If we've failed because the client isn't running yet and the
! 		 * client is set to autostart (and therefore it makes sense for
! 		 * us to wait for it to start) then sleep a while and try again. 
! 		 * If the error was something else, then give up. */
! 		if (code != KTC_NOCM && code != KTC_NOCMRPC)
! 		    break;
! 	    }
! 	    else {  
! 		/*JUST check to see if its running*/
! 		if (IsServiceRunning())
! 		    break;
! 		if (!IsServiceStartPending()) {
! 		    code = KTC_NOCMRPC;
! 		    reason = "AFS Service start failed";
! 		    break;
! 		}
! 	    }
! 
! 	    /* If the retry interval has expired and we still aren't
! 	     * logged in, then just give up if we are not in interactive
! 	     * mode or the failSilently flag is set, otherwise let the
! 	     * user know we failed and give them a chance to try again. */
! 	    if (retryInterval <= 0) {
! 		reason = "AFS not running";
! 		if (!interactive || opt.failSilently)
! 		    break;
! 		flag = MessageBox(hwndOwner,
! 				   "AFS is still starting.  Retry?",
! 				   "AFS Logon",
! 				   MB_ICONQUESTION | MB_RETRYCANCEL);
! 		if (flag == IDCANCEL)
! 		    break;
! 
! 		/* Wait just a little while and try again */
! 		retryInterval = opt.retryInterval;
! 	    }
! 
! 	  sleeping:
! 	    Sleep(sleepInterval * 1000);
! 	    retryInterval -= sleepInterval;
! 	}
      }
  
      DebugEvent("while loop exited");
***************
*** 1011,1016 ****
--- 1036,1042 ----
      DWORD LSPtype, LSPsize;
      HKEY NPKey;
      DWORD LogoffPreserveTokens = 0;
+     LogonOptions_t opt;
  
      /* Make sure the AFS Libraries are initialized */
      AfsLogonInit();
***************
*** 1024,1070 ****
                       &LSPtype, (LPBYTE)&LogoffPreserveTokens, &LSPsize);
      RegCloseKey (NPKey);
  
!     if (LogoffPreserveTokens) {
!         if (!GetTokenInformation(pInfo->hToken, TokenUser, NULL, 0, &retLen))
!         {
!             if ( GetLastError() == ERROR_INSUFFICIENT_BUFFER ) {
!                 tokenUser = (PTOKEN_USER) LocalAlloc(LPTR, retLen);
! 
!                 if (!GetTokenInformation(pInfo->hToken, TokenUser, tokenUser, retLen, &retLen))
!                 {
!                     DebugEvent("AFS_Logoff_Event - GetTokenInformation failed: GLE = %lX", GetLastError());
!                 }
!             }
!         }
  
!         /* We can't use pInfo->Domain for the domain since in the cross realm case 
!          * this is source domain and not the destination domain.
!          */
!         if (QueryAdHomePathFromSid( profileDir, sizeof(profileDir), tokenUser->User.Sid, pInfo->Domain)) {
!             WCHAR Domain[64]=L"";
!             GetLocalShortDomain(Domain, sizeof(Domain));
!             if (QueryAdHomePathFromSid( profileDir, sizeof(profileDir), tokenUser->User.Sid, Domain)) {
!                 if (NetUserGetProfilePath(pInfo->Domain, pInfo->UserName, profileDir, len))
!                     GetUserProfileDirectory(pInfo->hToken, profileDir, &len);
!             }
!         }
  
!         if (strlen(profileDir)) {
!             DebugEvent("AFS_Logoff_Event - Profile Directory: %s", profileDir);
!             if (!IsPathInAfs(profileDir)) {
!                 if (code = ktc_ForgetAllTokens())
!                     DebugEvent("AFS_Logoff_Event - ForgetAllTokens failed [%lX]",code);
!                 else
!                     DebugEvent0("AFS_Logoff_Event - ForgetAllTokens succeeded");
!             } else {
!                 DebugEvent0("AFS_Logoff_Event - Tokens left in place; profile in AFS");
!             }
!         } else {
!             DebugEvent0("AFS_Logoff_Event - Unable to load profile");
!         }
  
!         if ( tokenUser )
!             LocalFree(tokenUser);
      }
  
      DebugEvent0("AFS_Logoff_Event - End");
--- 1050,1124 ----
                       &LSPtype, (LPBYTE)&LogoffPreserveTokens, &LSPsize);
      RegCloseKey (NPKey);
  
!     if (!LogoffPreserveTokens) {
! 	memset(&opt, 0, sizeof(LogonOptions_t));
  
! 	if (pInfo->UserName && pInfo->Domain) {
! 	    char username[MAX_USERNAME_LENGTH] = "";
! 	    char domain[MAX_DOMAIN_LENGTH] = "";
! 	    size_t szlen = 0;
! 
! 	    StringCchLengthW(pInfo->UserName, MAX_USERNAME_LENGTH, &szlen);
! 	    WideCharToMultiByte(CP_UTF8, 0, pInfo->UserName, szlen,
! 				 username, sizeof(username), NULL, NULL);
! 
! 	    StringCchLengthW(pInfo->Domain, MAX_DOMAIN_LENGTH, &szlen);
! 	    WideCharToMultiByte(CP_UTF8, 0, pInfo->Domain, szlen,
! 				 domain, sizeof(domain), NULL, NULL);
  
! 	    GetDomainLogonOptions(NULL, username, domain, &opt);
! 	}
  
!         if (ISREMOTE(opt.flags)) {
! 	    if (!GetTokenInformation(pInfo->hToken, TokenUser, NULL, 0, &retLen))
! 	    {
! 		if ( GetLastError() == ERROR_INSUFFICIENT_BUFFER ) {
! 		    tokenUser = (PTOKEN_USER) LocalAlloc(LPTR, retLen);
! 
! 		    if (!GetTokenInformation(pInfo->hToken, TokenUser, tokenUser, retLen, &retLen))
! 		    {
! 			DebugEvent("AFS_Logoff_Event - GetTokenInformation failed: GLE = %lX", GetLastError());
! 		    }
! 		}
! 	    }
! 
! 	    /* We can't use pInfo->Domain for the domain since in the cross realm case 
! 	     * this is source domain and not the destination domain.
! 	     */
! 	    if (QueryAdHomePathFromSid( profileDir, sizeof(profileDir), tokenUser->User.Sid, pInfo->Domain)) {
! 		WCHAR Domain[64]=L"";
! 		GetLocalShortDomain(Domain, sizeof(Domain));
! 		if (QueryAdHomePathFromSid( profileDir, sizeof(profileDir), tokenUser->User.Sid, Domain)) {
! 		    if (NetUserGetProfilePath(pInfo->Domain, pInfo->UserName, profileDir, len))
! 			GetUserProfileDirectory(pInfo->hToken, profileDir, &len);
! 		}
! 	    }
! 
! 	    if (strlen(profileDir)) {
! 		DebugEvent("AFS_Logoff_Event - Profile Directory: %s", profileDir);
! 		if (!IsPathInAfs(profileDir)) {
! 		    if (code = ktc_ForgetAllTokens())
! 			DebugEvent("AFS_Logoff_Event - ForgetAllTokens failed [%lX]",code);
! 		    else
! 			DebugEvent0("AFS_Logoff_Event - ForgetAllTokens succeeded");
! 		} else {
! 		    DebugEvent0("AFS_Logoff_Event - Tokens left in place; profile in AFS");
! 		}
! 	    } else {
! 		DebugEvent0("AFS_Logoff_Event - Unable to load profile");
! 	    }
! 
! 	    if ( tokenUser )
! 		LocalFree(tokenUser);
! 	} else {
! 	    DebugEvent0("AFS_Logoff_Event - Local Logon");
! 	    if (code = ktc_ForgetAllTokens())
! 		DebugEvent("AFS_Logoff_Event - ForgetAllTokens failed [%lX]",code);
! 	    else
! 		DebugEvent0("AFS_Logoff_Event - ForgetAllTokens succeeded");
! 	}
!     } else {
! 	DebugEvent0("AFS_Logoff_Event - Preserving Tokens");
      }
  
      DebugEvent0("AFS_Logoff_Event - End");
***************
*** 1083,1088 ****
--- 1137,1143 ----
      NETRESOURCE nr;
      DWORD res;
      DWORD dwSize;
+     LogonOptions_t opt;
  
      /* Make sure the AFS Libraries are initialized */
      AfsLogonInit();
***************
*** 1091,1096 ****
--- 1146,1187 ----
  
      DebugEvent("AFS_Logon_Event Process ID: %d",GetCurrentProcessId());
  
+     memset(&opt, 0, sizeof(LogonOptions_t));
+ 
+     if (pInfo->UserName && pInfo->Domain) {
+         char username[MAX_USERNAME_LENGTH] = "";
+         char domain[MAX_DOMAIN_LENGTH] = "";
+         size_t szlen = 0;
+ 
+ 	DebugEvent0("AFS_Logon_Event - pInfo UserName and Domain");
+ 
+         StringCchLengthW(pInfo->UserName, MAX_USERNAME_LENGTH, &szlen);
+         WideCharToMultiByte(CP_UTF8, 0, pInfo->UserName, szlen,
+                             username, sizeof(username), NULL, NULL);
+         
+         StringCchLengthW(pInfo->Domain, MAX_DOMAIN_LENGTH, &szlen);
+         WideCharToMultiByte(CP_UTF8, 0, pInfo->Domain, szlen,
+                             domain, sizeof(domain), NULL, NULL);
+ 
+ 	DebugEvent0("AFS_Logon_Event - Calling GetDomainLogonOptions");
+         GetDomainLogonOptions(NULL, username, domain, &opt);
+     } else {
+ 	if (!pInfo->UserName)
+ 	    DebugEvent0("AFS_Logon_Event - No pInfo->UserName");
+ 	if (!pInfo->Domain)
+ 	    DebugEvent0("AFS_Logon_Event - No pInfo->Domain");
+     }
+ 
+     DebugEvent("AFS_Logon_Event - opt.LogonOption = %lX opt.flags = %lX", 
+ 		opt.LogonOption, opt.flags);
+ 
+     if (!ISLOGONINTEGRATED(opt.LogonOption) || !ISREMOTE(opt.flags)) {
+         DebugEvent0("AFS_Logon_Event - Logon is not integrated or not remote");
+         goto done_logon_event;
+     }
+ 
+     DebugEvent0("AFS_Logon_Event - Calling GetTokenInformation");
+ 
      if (!GetTokenInformation(pInfo->hToken, TokenUser, NULL, 0, &retLen))
      {
          if ( GetLastError() == ERROR_INSUFFICIENT_BUFFER ) {
***************
*** 1121,1126 ****
--- 1212,1218 ----
          DebugEvent0("AFS_Logon_Event - Unable to load profile");
      }
  
+   done_logon_event:
      dwSize = sizeof(szUserA);
      if (!KFW_AFS_get_lsa_principal(szUserA, &dwSize)) {
          StringCbPrintfW(szUserW, sizeof(szUserW), L"%s\\%s", pInfo->Domain, pInfo->UserName);
***************
*** 1157,1163 ****
  GetSecurityLogonSessionData(HANDLE hToken, PSECURITY_LOGON_SESSION_DATA * ppSessionData)
  {
      NTSTATUS Status = 0;
-     HANDLE  TokenHandle;
      TOKEN_STATISTICS Stats;
      DWORD   ReqLen;
      BOOL    Success;
--- 1249,1254 ----
***************
*** 1166,1181 ****
          return FALSE;
      *ppSessionData = NULL;
  
- #if 0
-     Success = OpenProcessToken( HANDLE GetCurrentProcess(), TOKEN_QUERY, &TokenHandle );
-     if ( !Success )
-         return FALSE;
- #endif
- 
      Success = GetTokenInformation( hToken, TokenStatistics, &Stats, sizeof(TOKEN_STATISTICS), &ReqLen );
- #if 0
-     CloseHandle( TokenHandle );
- #endif
      if ( !Success )
          return FALSE;
  
--- 1257,1263 ----
***************
*** 1188,1208 ****
  
  VOID KFW_Logon_Event( PWLX_NOTIFICATION_INFO pInfo )
  {
-     DWORD code;
- 
      WCHAR szUserW[128] = L"";
      char  szUserA[128] = "";
-     char  szClient[MAX_PATH];
      char szPath[MAX_PATH] = "";
      char szLogonId[128] = "";
-     NETRESOURCE nr;
-     DWORD res;
-     DWORD gle;
-     DWORD dwSize;
-     DWORD dwDisp;
-     DWORD dwType;
      DWORD count;
-     VOID * ticketData;
      char filename[256];
      char commandline[512];
      STARTUPINFO startupinfo;
--- 1270,1280 ----
Index: openafs/src/WINNT/afsd/cm_aclent.c
diff -c openafs/src/WINNT/afsd/cm_aclent.c:1.4.2.8 openafs/src/WINNT/afsd/cm_aclent.c:1.4.2.9
*** openafs/src/WINNT/afsd/cm_aclent.c:1.4.2.8	Fri Aug  5 20:36:11 2005
--- openafs/src/WINNT/afsd/cm_aclent.c	Mon Feb 13 11:33:06 2006
***************
*** 91,104 ****
                             &aclp->q);
              } else {
                  *rightsp = aclp->randomAccess;
!                 if (cm_data.aclLRUEndp == aclp)
!                     cm_data.aclLRUEndp = (cm_aclent_t *) osi_QPrev(&aclp->q);
! 
!                 /* move to the head of the LRU queue */
!                 osi_QRemove((osi_queue_t **) &cm_data.aclLRUp, &aclp->q);
!                 osi_QAddH((osi_queue_t **) &cm_data.aclLRUp,
!                            (osi_queue_t **) &cm_data.aclLRUEndp,
!                            &aclp->q);
                  retval = 0;     /* success */
              }               
              break;
--- 91,106 ----
                             &aclp->q);
              } else {
                  *rightsp = aclp->randomAccess;
! 		if (cm_data.aclLRUp != aclp) {
! 		    if (cm_data.aclLRUEndp == aclp)
! 			cm_data.aclLRUEndp = (cm_aclent_t *) osi_QPrev(&aclp->q);
! 
! 		    /* move to the head of the LRU queue */
! 		    osi_QRemove((osi_queue_t **) &cm_data.aclLRUp, &aclp->q);
! 		    osi_QAddH((osi_queue_t **) &cm_data.aclLRUp,
! 			       (osi_queue_t **) &cm_data.aclLRUEndp,
! 			       &aclp->q);
! 		}
                  retval = 0;     /* success */
              }               
              break;
Index: openafs/src/WINNT/afsd/cm_cell.c
diff -c openafs/src/WINNT/afsd/cm_cell.c:1.14.2.6 openafs/src/WINNT/afsd/cm_cell.c:1.14.2.9
*** openafs/src/WINNT/afsd/cm_cell.c:1.14.2.6	Wed Dec 14 00:30:53 2005
--- openafs/src/WINNT/afsd/cm_cell.c	Sun Feb 12 01:24:27 2006
***************
*** 61,71 ****
   */
  cm_cell_t *cm_UpdateCell(cm_cell_t * cp)
  {
!     long code;
  
      if (cp == NULL)
          return NULL;
  
      if ((cp->vlServersp == NULL 
  #ifdef AFS_FREELANCE_CLIENT
            && !(cp->flags & CM_CELLFLAG_FREELANCE)
--- 61,72 ----
   */
  cm_cell_t *cm_UpdateCell(cm_cell_t * cp)
  {
!     long code = 0;
  
      if (cp == NULL)
          return NULL;
  
+     lock_ObtainMutex(&cp->mx);
      if ((cp->vlServersp == NULL 
  #ifdef AFS_FREELANCE_CLIENT
            && !(cp->flags & CM_CELLFLAG_FREELANCE)
***************
*** 83,90 ****
          }
  
          code = cm_SearchCellFile(cp->name, NULL, cm_AddCellProc, cp);
-         if (code) {
  #ifdef AFS_AFSDB_ENV
              if (cm_dnsEnabled) {
                  int ttl;
  
--- 84,91 ----
          }
  
          code = cm_SearchCellFile(cp->name, NULL, cm_AddCellProc, cp);
  #ifdef AFS_AFSDB_ENV
+         if (code) {
              if (cm_dnsEnabled) {
                  int ttl;
  
***************
*** 101,118 ****
                      * current entry alone 
                      */
                      cp->flags |= CM_CELLFLAG_VLSERVER_INVALID;
-                     cp = NULL;      /* return NULL to indicate failure */
                  }
!             } else 
  #endif /* AFS_AFSDB_ENV */
!             {
!                 cp = NULL;          /* return NULL to indicate failure */
!             }
!         } else {
  	    cp->timeout = time(0) + 7200;
  	}	
      }
!     return cp;
  }
  
  /* load up a cell structure from the cell database, afsdcell.ini */
--- 102,117 ----
                      * current entry alone 
                      */
                      cp->flags |= CM_CELLFLAG_VLSERVER_INVALID;
                  }
! 	    }
! 	} else 
  #endif /* AFS_AFSDB_ENV */
!         {
  	    cp->timeout = time(0) + 7200;
  	}	
      }
!     lock_ReleaseMutex(&cp->mx);
!     return code ? NULL : cp;
  }
  
  /* load up a cell structure from the cell database, afsdcell.ini */
***************
*** 132,138 ****
  
      lock_ObtainWrite(&cm_cellLock);
      for (cp = cm_data.allCellsp; cp; cp=cp->nextp) {
!         if (strcmp(namep, cp->name) == 0) {
              strcpy(fullname, cp->name);
              break;
          }
--- 131,137 ----
  
      lock_ObtainWrite(&cm_cellLock);
      for (cp = cm_data.allCellsp; cp; cp=cp->nextp) {
!         if (stricmp(namep, cp->name) == 0) {
              strcpy(fullname, cp->name);
              break;
          }
Index: openafs/src/WINNT/afsd/cm_conn.c
diff -c openafs/src/WINNT/afsd/cm_conn.c:1.25.2.19 openafs/src/WINNT/afsd/cm_conn.c:1.25.2.20
*** openafs/src/WINNT/afsd/cm_conn.c:1.25.2.19	Sun Jan 15 21:06:59 2006
--- openafs/src/WINNT/afsd/cm_conn.c	Wed Feb  1 13:03:18 2006
***************
*** 406,415 ****
  	    cm_scache_t * scp;
  	    osi_Log4(afsd_logp, "cm_Analyze passed VNOVNODE cell %u vol %u vn %u uniq %u.",
  		      fidp->cell, fidp->volume, fidp->vnode, fidp->unique);
! 	    if (!cm_GetSCache(fidp, &scp, userp, reqp)) {
! 		cm_FlushParent(scp, userp, reqp);
! 		cm_FlushFile(scp, userp, reqp);
  		cm_ReleaseSCache(scp);
  	    }
  	} else {
  	    osi_Log0(afsd_logp, "cm_Analyze passed VNOVNODE unknown fid.");
--- 406,424 ----
  	    cm_scache_t * scp;
  	    osi_Log4(afsd_logp, "cm_Analyze passed VNOVNODE cell %u vol %u vn %u uniq %u.",
  		      fidp->cell, fidp->volume, fidp->vnode, fidp->unique);
! 	    scp = cm_FindSCache(fidp);
! 	    if (scp) {
! 		cm_scache_t *pscp = cm_FindSCacheParent(scp);
! 		cm_CleanFile(scp, userp, reqp);
  		cm_ReleaseSCache(scp);
+ 		if (pscp) {
+ 		    if (pscp->cbExpires > 0 && pscp->cbServerp != NULL) {
+ 			lock_ObtainMutex(&pscp->mx);
+ 			cm_DiscardSCache(pscp);
+ 			lock_ReleaseMutex(&pscp->mx);
+ 		    }
+ 		    cm_ReleaseSCache(pscp);
+ 		}
  	    }
  	} else {
  	    osi_Log0(afsd_logp, "cm_Analyze passed VNOVNODE unknown fid.");
Index: openafs/src/WINNT/afsd/cm_dcache.c
diff -c openafs/src/WINNT/afsd/cm_dcache.c:1.11.2.16 openafs/src/WINNT/afsd/cm_dcache.c:1.11.2.17
*** openafs/src/WINNT/afsd/cm_dcache.c:1.11.2.16	Mon Nov 21 19:30:01 2005
--- openafs/src/WINNT/afsd/cm_dcache.c	Wed Feb  1 13:03:18 2006
***************
*** 501,506 ****
--- 501,507 ----
      lock_ReleaseMutex(&scp->mx);
  }
  
+ /* Called with scp locked */
  void cm_ClearPrefetchFlag(long code, cm_scache_t *scp, osi_hyper_t *base)
  {
      osi_hyper_t thyper;
Index: openafs/src/WINNT/afsd/cm_freelance.c
diff -c openafs/src/WINNT/afsd/cm_freelance.c:1.15.2.12 openafs/src/WINNT/afsd/cm_freelance.c:1.15.2.14
*** openafs/src/WINNT/afsd/cm_freelance.c:1.15.2.12	Fri Mar 11 01:58:41 2005
--- openafs/src/WINNT/afsd/cm_freelance.c	Mon Feb  6 02:07:08 2006
***************
*** 217,223 ****
      /* Reserve 2 directory chunks for "." and ".." */
      curChunk += 2;
  
!     while (curDirEntry!=cm_noLocalMountPoints) {
          sizeOfCurEntry = cm_NameEntries((cm_localMountPoints+curDirEntry)->namep, 0);
          if ((curChunk + sizeOfCurEntry >= CPP) ||
               (curDirEntryInPage + 1 >= CM_DIR_EPP)) {
--- 217,223 ----
      /* Reserve 2 directory chunks for "." and ".." */
      curChunk += 2;
  
!     while (curDirEntry<cm_noLocalMountPoints) {
          sizeOfCurEntry = cm_NameEntries((cm_localMountPoints+curDirEntry)->namep, 0);
          if ((curChunk + sizeOfCurEntry >= CPP) ||
               (curDirEntryInPage + 1 >= CM_DIR_EPP)) {
***************
*** 282,288 ****
      // 2. we have less than CM_DIR_EPP entries in page 0
      // 3. we're not out of chunks in page 0
  
!     while( (curDirEntry!=cm_noLocalMountPoints) && 
             (curDirEntryInPage < CM_DIR_EPP) &&
             (curChunk + cm_NameEntries((cm_localMountPoints+curDirEntry)->namep, 0) <= CPP)) 
      {       
--- 282,288 ----
      // 2. we have less than CM_DIR_EPP entries in page 0
      // 3. we're not out of chunks in page 0
  
!     while( (curDirEntry<cm_noLocalMountPoints) && 
             (curDirEntryInPage < CM_DIR_EPP) &&
             (curChunk + cm_NameEntries((cm_localMountPoints+curDirEntry)->namep, 0) <= CPP)) 
      {       
***************
*** 311,317 ****
      curPage++;
  
      // ok, page 0's done. Move on to the next page.
!     while (curDirEntry!=cm_noLocalMountPoints) {
          // setup a new page
          curChunk = 1;			// the zeroth chunk is reserved for page header
          curDirEntryInPage = 0; 
--- 311,317 ----
      curPage++;
  
      // ok, page 0's done. Move on to the next page.
!     while (curDirEntry<cm_noLocalMountPoints) {
          // setup a new page
          curChunk = 1;			// the zeroth chunk is reserved for page header
          curDirEntryInPage = 0; 
***************
*** 323,329 ****
          fakePageHeader.tag = htons(1234);
  
          // while we're on the same page...
!         while ( (curDirEntry!=cm_noLocalMountPoints) &&
                  (curDirEntryInPage < CM_DIR_EPP) &&
                  (curChunk + cm_NameEntries((cm_localMountPoints+curDirEntry)->namep, 0) <= CPP))
          {
--- 323,329 ----
          fakePageHeader.tag = htons(1234);
  
          // while we're on the same page...
!         while ( (curDirEntry<cm_noLocalMountPoints) &&
                  (curDirEntryInPage < CM_DIR_EPP) &&
                  (curChunk + cm_NameEntries((cm_localMountPoints+curDirEntry)->namep, 0) <= CPP))
          {
***************
*** 426,432 ****
--- 426,434 ----
                       lscpp = &tscp->nextp, tscp = tscp->nextp) {
                      if (tscp == scp) {
                          *lscpp = scp->nextp;
+ 			lock_ObtainMutex(&scp->mx);
                          scp->flags &= ~CM_SCACHEFLAG_INHASH;
+ 			lock_ReleaseMutex(&scp->mx);
                          break;
                      }
                  }
Index: openafs/src/WINNT/afsd/cm_ioctl.c
diff -c openafs/src/WINNT/afsd/cm_ioctl.c:1.33.2.24 openafs/src/WINNT/afsd/cm_ioctl.c:1.33.2.25
*** openafs/src/WINNT/afsd/cm_ioctl.c:1.33.2.24	Thu Jan 19 18:08:44 2006
--- openafs/src/WINNT/afsd/cm_ioctl.c	Wed Feb  1 13:03:18 2006
***************
*** 62,67 ****
--- 62,84 ----
      lock_InitializeMutex(&cm_Afsdsbmt_Lock, "AFSDSBMT.INI Access Lock");
  }
  
+ 
+ long cm_CleanFile(cm_scache_t *scp, cm_user_t *userp, cm_req_t *reqp)
+ {
+     long code;
+ 
+     lock_ObtainWrite(&scp->bufCreateLock);
+     code = buf_CleanVnode(scp, userp, reqp);
+         
+     lock_ObtainMutex(&scp->mx);
+     cm_DiscardSCache(scp);
+     lock_ReleaseMutex(&scp->mx);
+ 
+     lock_ReleaseWrite(&scp->bufCreateLock);
+     osi_Log2(afsd_logp,"cm_CleanFile scp 0x%x returns error: [%x]",scp, code);
+     return code;
+ }
+ 
  long cm_FlushFile(cm_scache_t *scp, cm_user_t *userp, cm_req_t *reqp)
  {
      long code;
***************
*** 70,83 ****
      code = buf_FlushCleanPages(scp, userp, reqp);
          
      lock_ObtainMutex(&scp->mx);
!     scp->cbServerp = NULL;
!     scp->cbExpires = 0;
!     cm_dnlcPurgedp(scp);
!     cm_dnlcPurgevp(scp);
!     cm_FreeAllACLEnts(scp);
! 
!     /* Force mount points and symlinks to be re-evaluated */
!     scp->mountPointStringp[0] = '\0';
  
      lock_ReleaseMutex(&scp->mx);
  
--- 87,93 ----
      code = buf_FlushCleanPages(scp, userp, reqp);
          
      lock_ObtainMutex(&scp->mx);
!     cm_DiscardSCache(scp);
  
      lock_ReleaseMutex(&scp->mx);
  
***************
*** 89,118 ****
  long cm_FlushParent(cm_scache_t *scp, cm_user_t *userp, cm_req_t *reqp)
  {
      long code = 0;
!     int i;
!     cm_fid_t    parent_fid;
! 
!     lock_ObtainWrite(&cm_scacheLock);
!     cm_HoldSCacheNoLock(scp);
!     parent_fid = scp->fid;
!     parent_fid.vnode = scp->parentVnode;
!     parent_fid.unique = scp->parentUnique;
!     cm_ReleaseSCacheNoLock(scp);
  
!     for (i=0; i<cm_data.hashTableSize; i++) {
!         for (scp = cm_data.hashTablep[i]; scp; scp = scp->nextp) {
!             if (!cm_FidCmp(&scp->fid, &parent_fid)) {
!                 cm_HoldSCacheNoLock(scp);
!                 lock_ReleaseWrite(&cm_scacheLock);
  
!                 /* now flush the file */
!                 code = cm_FlushFile(scp, userp, reqp);
!                 lock_ObtainWrite(&cm_scacheLock);
!                 cm_ReleaseSCacheNoLock(scp);
!             }
!         }
!     }
!     lock_ReleaseWrite(&cm_scacheLock);
  
      return code;
  }
--- 99,111 ----
  long cm_FlushParent(cm_scache_t *scp, cm_user_t *userp, cm_req_t *reqp)
  {
      long code = 0;
!     cm_scache_t * pscp;
  
!     pscp = cm_FindSCacheParent(scp);
  
!     /* now flush the file */
!     code = cm_FlushFile(pscp, userp, reqp);
!     cm_ReleaseSCache(scp);
  
      return code;
  }
***************
*** 1266,1271 ****
--- 1259,1265 ----
      for (cp = cm_data.allCellsp; cp; cp=cp->nextp) 
      {
          long code;
+ 	lock_ObtainMutex(&cp->mx);
          /* delete all previous server lists - cm_FreeServerList will ask for write on cm_ServerLock*/
          cm_FreeServerList(&cp->vlServersp);
          cp->vlServersp = NULL;
***************
*** 1293,1298 ****
--- 1287,1293 ----
              cp->flags &= ~CM_CELLFLAG_VLSERVER_INVALID;
              cm_RandomizeServer(&cp->vlServersp);
          }
+ 	lock_ReleaseMutex(&cp->mx);
      }
      
      lock_ReleaseWrite(&cm_cellLock);
Index: openafs/src/WINNT/afsd/cm_ioctl.h
diff -c openafs/src/WINNT/afsd/cm_ioctl.h:1.8.2.5 openafs/src/WINNT/afsd/cm_ioctl.h:1.8.2.6
*** openafs/src/WINNT/afsd/cm_ioctl.h:1.8.2.5	Mon Nov 21 19:30:01 2005
--- openafs/src/WINNT/afsd/cm_ioctl.h	Wed Feb  1 13:03:18 2006
***************
*** 116,121 ****
--- 116,123 ----
  
  extern long cm_IoctlCreateMountPoint(smb_ioctl_t *ioctlp, cm_user_t *userp);
  
+ extern long cm_CleanFile(cm_scache_t *scp, cm_user_t *userp, cm_req_t *reqp);
+ 
  extern long cm_FlushFile(cm_scache_t *scp, cm_user_t *userp, cm_req_t *reqp);
  
  extern long cm_FlushVolume(cm_user_t *, cm_req_t *reqp, afs_uint32 cell, afs_uint32 volume);
Index: openafs/src/WINNT/afsd/cm_memmap.c
diff -c openafs/src/WINNT/afsd/cm_memmap.c:1.1.2.4 openafs/src/WINNT/afsd/cm_memmap.c:1.1.2.5
*** openafs/src/WINNT/afsd/cm_memmap.c:1.1.2.4	Fri Sep  9 15:49:30 2005
--- openafs/src/WINNT/afsd/cm_memmap.c	Mon Feb  6 02:07:08 2006
***************
*** 474,480 ****
      // Check input buffer length.
      // If too small, indicate the proper size and set the last error.
  
!     if (*lpdwBufferLen < dwSidSize)
      {
          *lpdwBufferLen = dwSidSize;
          SetLastError(ERROR_INSUFFICIENT_BUFFER);
--- 474,480 ----
      // Check input buffer length.
      // If too small, indicate the proper size and set the last error.
  
!     if (TextualSid == NULL || *lpdwBufferLen < dwSidSize)
      {
          *lpdwBufferLen = dwSidSize;
          SetLastError(ERROR_INSUFFICIENT_BUFFER);
Index: openafs/src/WINNT/afsd/cm_scache.c
diff -c openafs/src/WINNT/afsd/cm_scache.c:1.14.2.14 openafs/src/WINNT/afsd/cm_scache.c:1.14.2.15
*** openafs/src/WINNT/afsd/cm_scache.c:1.14.2.14	Wed Oct  5 01:12:27 2005
--- openafs/src/WINNT/afsd/cm_scache.c	Wed Feb  1 13:03:18 2006
***************
*** 473,479 ****
              mp = "";
          }
          scp = cm_GetNewSCache();
! 		
          scp->fid = *fidp;
          scp->volp = cm_data.rootSCachep->volp;
          scp->dotdotFid.cell=AFS_FAKE_ROOT_CELL_ID;
--- 473,480 ----
              mp = "";
          }
          scp = cm_GetNewSCache();
! 	  
! 	lock_ObtainMutex(&scp->mx);
          scp->fid = *fidp;
          scp->volp = cm_data.rootSCachep->volp;
          scp->dotdotFid.cell=AFS_FAKE_ROOT_CELL_ID;
***************
*** 504,509 ****
--- 505,511 ----
          scp->parentVnode=0x1;
          scp->group=0;
          scp->dataVersion=cm_data.fakeDirVersion;
+ 	lock_ReleaseMutex(&scp->mx);
          *outScpp = scp;
          lock_ReleaseWrite(&cm_scacheLock);
          /*afsi_log("   getscache done");*/
***************
*** 544,549 ****
--- 546,552 ----
      /* now, if we don't have the fid, recycle something */
      scp = cm_GetNewSCache();
      osi_assert(!(scp->flags & CM_SCACHEFLAG_INHASH));
+     lock_ObtainMutex(&scp->mx);
      scp->fid = *fidp;
      scp->volp = volp;	/* a held reference */
  
***************
*** 565,570 ****
--- 568,574 ----
      cm_data.hashTablep[hash] = scp;
      scp->flags |= CM_SCACHEFLAG_INHASH;
      scp->refCount = 1;
+     lock_ReleaseMutex(&scp->mx);
  
      /* XXX - The following fields in the cm_scache are 
       * uninitialized:
***************
*** 579,584 ****
--- 583,618 ----
      return 0;
  }
  
+ 
+ /* Returns a held reference to the scache's parent 
+  * if it exists */
+ cm_scache_t * cm_FindSCacheParent(cm_scache_t * scp)
+ {
+     long code = 0;
+     int i;
+     cm_fid_t    parent_fid;
+     cm_scache_t * pscp = NULL;
+ 
+     lock_ObtainWrite(&cm_scacheLock);
+     parent_fid = scp->fid;
+     parent_fid.vnode = scp->parentVnode;
+     parent_fid.unique = scp->parentUnique;
+ 
+     if (cm_FidCmp(&scp->fid, &parent_fid)) {
+ 	for (i=0; i<cm_data.hashTableSize; i++) {
+ 	    for (pscp = cm_data.hashTablep[i]; pscp; pscp = pscp->nextp) {
+ 		if (!cm_FidCmp(&pscp->fid, &parent_fid)) {
+ 		    cm_HoldSCacheNoLock(pscp);
+ 		    break;
+ 		}
+ 	    }
+ 	}
+     }
+     lock_ReleaseWrite(&cm_scacheLock);
+ 
+     return pscp;
+ }
+ 
  /* synchronize a fetch, store, read, write, fetch status or store status.
   * Called with scache mutex held, and returns with it held, but temporarily
   * drops it during the fetch.
***************
*** 1180,1188 ****
--- 1214,1226 ----
  	scp->cbServerp = NULL;
      }
      scp->cbExpires = 0;
+     scp->flags &= ~CM_SCACHEFLAG_CALLBACK;
      cm_dnlcPurgedp(scp);
      cm_dnlcPurgevp(scp);
      cm_FreeAllACLEnts(scp);
+ 
+     /* Force mount points and symlinks to be re-evaluated */
+     scp->mountPointStringp[0] = '\0';
  }
  
  void cm_AFSFidFromFid(AFSFid *afsFidp, cm_fid_t *fidp)
Index: openafs/src/WINNT/afsd/cm_scache.h
diff -c openafs/src/WINNT/afsd/cm_scache.h:1.4.2.11 openafs/src/WINNT/afsd/cm_scache.h:1.4.2.12
*** openafs/src/WINNT/afsd/cm_scache.h:1.4.2.11	Sun Jan  8 23:49:17 2006
--- openafs/src/WINNT/afsd/cm_scache.h	Wed Feb  1 13:03:18 2006
***************
*** 315,320 ****
--- 315,322 ----
  
  extern cm_scache_t *cm_FindSCache(cm_fid_t *fidp);
  
+ extern cm_scache_t *cm_FindSCacheParent(cm_scache_t *);
+ 
  extern osi_rwlock_t cm_scacheLock;
  
  extern osi_queue_t *cm_allFileLocks;
Index: openafs/src/WINNT/afsd/cm_server.c
diff -c openafs/src/WINNT/afsd/cm_server.c:1.13.2.7 openafs/src/WINNT/afsd/cm_server.c:1.13.2.8
*** openafs/src/WINNT/afsd/cm_server.c:1.13.2.7	Mon Nov 21 19:30:01 2005
--- openafs/src/WINNT/afsd/cm_server.c	Mon Feb 13 11:29:43 2006
***************
*** 235,240 ****
--- 235,241 ----
      tsp->refCount = 1;
      lock_InitializeMutex(&tsp->mx, "cm_server_t mutex");
      tsp->addr = *socketp;
+     tsp->flags = CM_SERVERFLAG_DOWN;	/* assume down; ping will mark up if available */
  
      cm_SetServerPrefs(tsp); 
  
Index: openafs/src/WINNT/afsd/cm_vnodeops.c
diff -c openafs/src/WINNT/afsd/cm_vnodeops.c:1.19.2.33 openafs/src/WINNT/afsd/cm_vnodeops.c:1.19.2.35
*** openafs/src/WINNT/afsd/cm_vnodeops.c:1.19.2.33	Sun Jan 15 21:06:59 2006
--- openafs/src/WINNT/afsd/cm_vnodeops.c	Sun Feb  5 12:47:49 2006
***************
*** 952,958 ****
  
      /* parse the volume name */
      mpNamep = scp->mountPointStringp;
!     osi_assert(mpNamep[0]);
      tlen = strlen(scp->mountPointStringp);
      mtType = *scp->mountPointStringp;
      cellNamep = malloc(tlen);
--- 952,959 ----
  
      /* parse the volume name */
      mpNamep = scp->mountPointStringp;
!     if (!mpNamep[0])
! 	return CM_ERROR_NOSUCHPATH;
      tlen = strlen(scp->mountPointStringp);
      mtType = *scp->mountPointStringp;
      cellNamep = malloc(tlen);
***************
*** 1180,1186 ****
      if ( !dnlcHit && !(flags & CM_FLAG_NOMOUNTCHASE) && rock.ExactFound ) {
          /* lock the directory entry to prevent racing callback revokes */
          lock_ObtainMutex(&dscp->mx);
!         if ( dscp->cbServerp && dscp->cbExpires )
              cm_dnlcEnter(dscp, namep, tscp);
          lock_ReleaseMutex(&dscp->mx);
      }
--- 1181,1187 ----
      if ( !dnlcHit && !(flags & CM_FLAG_NOMOUNTCHASE) && rock.ExactFound ) {
          /* lock the directory entry to prevent racing callback revokes */
          lock_ObtainMutex(&dscp->mx);
!         if ( dscp->cbServerp != NULL && dscp->cbExpires > 0 )
              cm_dnlcEnter(dscp, namep, tscp);
          lock_ReleaseMutex(&dscp->mx);
      }
Index: openafs/src/WINNT/afsd/smb.c
diff -c openafs/src/WINNT/afsd/smb.c:1.55.2.43 openafs/src/WINNT/afsd/smb.c:1.55.2.48
*** openafs/src/WINNT/afsd/smb.c:1.55.2.43	Tue Jan 31 04:09:59 2006
--- openafs/src/WINNT/afsd/smb.c	Sun Feb 12 01:24:27 2006
***************
*** 38,44 ****
  static char *illegalChars = "\\/:*?\"<>|";
  BOOL isWindows2000 = FALSE;
  
- smb_vc_t *dead_vcp = NULL;
  smb_vc_t *active_vcp = NULL;
  
  int smbShutdownFlag = 0;
--- 38,43 ----
***************
*** 954,960 ****
      for (fidpIter = vcp->fidsp; fidpIter; fidpIter = fidpNext) {
          fidpNext = (smb_fid_t *) osi_QNext(&fidpIter->q);
  
!         if (fidpIter->flags & SMB_FID_DELETE)
              continue;
  
          fid = fidpIter->fid;
--- 953,959 ----
      for (fidpIter = vcp->fidsp; fidpIter; fidpIter = fidpNext) {
          fidpNext = (smb_fid_t *) osi_QNext(&fidpIter->q);
  
!         if (fidpIter->delete)
              continue;
  
          fid = fidpIter->fid;
***************
*** 963,969 ****
  	smb_HoldFIDNoLock(fidpIter);
  	lock_ReleaseWrite(&smb_rctLock);
  
- 	/* smb_CloseFID sets SMB_FID_DELETE on Success */
          smb_CloseFID(vcp, fidpIter, NULL, 0);
  	smb_ReleaseFID(fidpIter);
  
--- 962,967 ----
***************
*** 973,991 ****
  
      for (tidpIter = vcp->tidsp; tidpIter; tidpIter = tidpNext) {
  	tidpNext = tidpIter->nextp;
! 	if (tidpIter->flags & SMB_TIDFLAG_DELETE)
  	    continue;
  
  	tid = tidpIter->tid;
  	osi_Log2(smb_logp, "  Cleanup TID %d (tidp=0x%x)", tid, tidpIter);
  
  	smb_HoldTIDNoLock(tidpIter);
  	lock_ReleaseWrite(&smb_rctLock);
- 
- 	lock_ObtainMutex(&tidpIter->mx);
- 	tidpIter->flags |= SMB_TIDFLAG_DELETE;
- 	lock_ReleaseMutex(&tidpIter->mx);
- 
  	smb_ReleaseTID(tidpIter);
  
  	lock_ObtainWrite(&smb_rctLock);
--- 971,985 ----
  
      for (tidpIter = vcp->tidsp; tidpIter; tidpIter = tidpNext) {
  	tidpNext = tidpIter->nextp;
! 	if (tidpIter->delete)
  	    continue;
+ 	tidpIter->delete = 1;
  
  	tid = tidpIter->tid;
  	osi_Log2(smb_logp, "  Cleanup TID %d (tidp=0x%x)", tid, tidpIter);
  
  	smb_HoldTIDNoLock(tidpIter);
  	lock_ReleaseWrite(&smb_rctLock);
  	smb_ReleaseTID(tidpIter);
  
  	lock_ObtainWrite(&smb_rctLock);
***************
*** 994,1001 ****
  
      for (uidpIter = vcp->usersp; uidpIter; uidpIter = uidpNext) {
  	uidpNext = uidpIter->nextp;
! 	if (uidpIter->flags & SMB_USERFLAG_DELETE)
  	    continue;
  
  	uid = uidpIter->userID;
  	osi_Log2(smb_logp, "  Cleanup UID %d (uidp=0x%x)", uid, uidpIter);
--- 988,996 ----
  
      for (uidpIter = vcp->usersp; uidpIter; uidpIter = uidpNext) {
  	uidpNext = uidpIter->nextp;
! 	if (uidpIter->delete)
  	    continue;
+ 	uidpIter->delete = 1;
  
  	uid = uidpIter->userID;
  	osi_Log2(smb_logp, "  Cleanup UID %d (uidp=0x%x)", uid, uidpIter);
***************
*** 1004,1013 ****
  	 * as the smb_vc_t already is holding a reference */
  	lock_ReleaseWrite(&smb_rctLock);
  
- 	lock_ObtainMutex(&uidpIter->mx);
- 	uidpIter->flags |= SMB_USERFLAG_DELETE;
- 	lock_ReleaseMutex(&uidpIter->mx);
- 
  	smb_ReleaseUID(uidpIter);
  
  	lock_ObtainWrite(&smb_rctLock);
--- 999,1004 ----
***************
*** 1072,1078 ****
      userp = NULL;
      lock_ObtainWrite(&smb_rctLock);
      osi_assert(tidp->refCount-- > 0);
!     if (tidp->refCount == 0 && (tidp->flags & SMB_TIDFLAG_DELETE)) {
          ltpp = &tidp->vcp->tidsp;
          for(tp = *ltpp; tp; ltpp = &tp->nextp, tp = *ltpp) {
              if (tp == tidp) 
--- 1063,1069 ----
      userp = NULL;
      lock_ObtainWrite(&smb_rctLock);
      osi_assert(tidp->refCount-- > 0);
!     if (tidp->refCount == 0 && (tidp->delete)) {
          ltpp = &tidp->vcp->tidsp;
          for(tp = *ltpp; tp; ltpp = &tp->nextp, tp = *ltpp) {
              if (tp == tidp) 
***************
*** 1329,1335 ****
          if (fid == fidp->fid) {
              if (newFid) {
                  fid++;
!                 if (fid == 0) {
                      osi_Log1(smb_logp,
                               "New FID number wraps on vcp 0x%x", vcp);
                      fid = 1;
--- 1320,1326 ----
          if (fid == fidp->fid) {
              if (newFid) {
                  fid++;
!                 if (fid == 0xFFFF) {
                      osi_Log1(smb_logp,
                               "New FID number wraps on vcp 0x%x", vcp);
                      fid = 1;
***************
*** 1350,1356 ****
              osi_Log1(smb_logp, "Event Object Already Exists: %s", osi_LogSaveString(smb_logp, eventName));
              thrd_CloseHandle(event);
              fid++;
!             if (fid == 0) {
                  osi_Log1(smb_logp, "New FID wraps around for vcp 0x%x", vcp);
                  fid = 1;
              }
--- 1341,1347 ----
              osi_Log1(smb_logp, "Event Object Already Exists: %s", osi_LogSaveString(smb_logp, eventName));
              thrd_CloseHandle(event);
              fid++;
!             if (fid == 0xFFFF) {
                  osi_Log1(smb_logp, "New FID wraps around for vcp 0x%x", vcp);
                  fid = 1;
              }
***************
*** 1369,1375 ****
          fidp->raw_write_event = event;
          if (newFid) {
              vcp->fidCounter = fid+1;
!             if (vcp->fidCounter == 0) {
  		osi_Log1(smb_logp, "fidCounter wrapped around for vcp 0x%x",
  			 vcp);
                  vcp->fidCounter = 1;
--- 1360,1366 ----
          fidp->raw_write_event = event;
          if (newFid) {
              vcp->fidCounter = fid+1;
!             if (vcp->fidCounter == 0xFFFF) {
  		osi_Log1(smb_logp, "fidCounter wrapped around for vcp 0x%x",
  			 vcp);
                  vcp->fidCounter = 1;
***************
*** 1396,1424 ****
      lock_ObtainWrite(&smb_rctLock);
      osi_assert(fidp->refCount-- > 0);
      lock_ObtainMutex(&fidp->mx);
!     if (fidp->refCount == 0 && (fidp->flags & SMB_FID_DELETE)) {
!         vcp = fidp->vcp;
!         fidp->vcp = NULL;
!         scp = fidp->scp;    /* release after lock is released */
!         fidp->scp = NULL;
!         userp = fidp->userp;
!         fidp->userp = NULL;
! 
!         osi_QRemove((osi_queue_t **) &vcp->fidsp, &fidp->q);
!         thrd_CloseHandle(fidp->raw_write_event);
! 
!         /* and see if there is ioctl stuff to free */
!         ioctlp = fidp->ioctlp;
!         if (ioctlp) {
!             if (ioctlp->prefix)
!                 cm_FreeSpace(ioctlp->prefix);
!             if (ioctlp->inAllocp)
!                 free(ioctlp->inAllocp);
!             if (ioctlp->outAllocp)
!                 free(ioctlp->outAllocp);
!             free(ioctlp);
!         }       
! 
  	lock_ReleaseMutex(&fidp->mx);
  	lock_FinalizeMutex(&fidp->mx);
          free(fidp);
--- 1387,1415 ----
      lock_ObtainWrite(&smb_rctLock);
      osi_assert(fidp->refCount-- > 0);
      lock_ObtainMutex(&fidp->mx);
!     if (fidp->refCount == 0 && (fidp->delete)) {
! 	vcp = fidp->vcp;
! 	fidp->vcp = NULL;
! 	scp = fidp->scp;    /* release after lock is released */
! 	fidp->scp = NULL;
! 	userp = fidp->userp;
! 	fidp->userp = NULL;
! 
! 	if (vcp->fidsp)
! 	    osi_QRemove((osi_queue_t **) &vcp->fidsp, &fidp->q);
! 	thrd_CloseHandle(fidp->raw_write_event);
! 
! 	/* and see if there is ioctl stuff to free */
! 	ioctlp = fidp->ioctlp;
! 	if (ioctlp) {
! 	    if (ioctlp->prefix)
! 		cm_FreeSpace(ioctlp->prefix);
! 	    if (ioctlp->inAllocp)
! 		free(ioctlp->inAllocp);
! 	    if (ioctlp->outAllocp)
! 		free(ioctlp->outAllocp);
! 	    free(ioctlp);
! 	}
  	lock_ReleaseMutex(&fidp->mx);
  	lock_FinalizeMutex(&fidp->mx);
          free(fidp);
***************
*** 1913,1919 ****
--- 1904,1912 ----
           */
          if (tp->refCount == 0 && (isV3 || tp->cookie <= 255)) {
              /* hold and delete */
+ 	    lock_ObtainMutex(&tp->mx);
              tp->flags |= SMB_DIRSEARCH_DELETE;
+ 	    lock_ReleaseMutex(&tp->mx);
              victimsp[victimCount++] = tp;
              tp->refCount++;
          }
***************
*** 2481,2507 ****
              s = "unknown error";
          }
          osi_Log2(smb_logp, "SendPacket failure code %d \"%s\"", code, s);
! 	osi_Log2(smb_logp, "setting dead_vcp 0x%x, user struct 0x%x",
  		  vcp, vcp->usersp);
! 	smb_HoldVC(vcp);
  	lock_ObtainMutex(&vcp->mx);
  	vcp->flags |= SMB_VCFLAG_ALREADYDEAD;
  	lock_ReleaseMutex(&vcp->mx);
- 
  	lock_ObtainWrite(&smb_globalLock);
! 	if (dead_vcp) {
! 	    smb_vc_t * dvcp = dead_vcp;
! 	    dead_vcp = vcp;
! 	    dead_sessions[vcp->session] = TRUE;
! 	    lock_ReleaseWrite(&smb_globalLock);
! 	    osi_Log1(smb_logp,"Previous dead_vcp %x", dvcp);
! 	    smb_CleanupDeadVC(dvcp);
! 	    smb_ReleaseVC(dvcp);
! 	} else {
! 	    dead_vcp = vcp;
! 	    dead_sessions[vcp->session] = TRUE;
! 	    lock_ReleaseWrite(&smb_globalLock);
! 	}
      }
  
      if (localNCB)
--- 2474,2489 ----
              s = "unknown error";
          }
          osi_Log2(smb_logp, "SendPacket failure code %d \"%s\"", code, s);
! 	osi_Log2(smb_logp, "marking dead vcp 0x%x, user struct 0x%x",
  		  vcp, vcp->usersp);
! 
  	lock_ObtainMutex(&vcp->mx);
  	vcp->flags |= SMB_VCFLAG_ALREADYDEAD;
  	lock_ReleaseMutex(&vcp->mx);
  	lock_ObtainWrite(&smb_globalLock);
! 	dead_sessions[vcp->session] = TRUE;
! 	lock_ReleaseWrite(&smb_globalLock);
! 	smb_CleanupDeadVC(vcp);
      }
  
      if (localNCB)
***************
*** 3092,3097 ****
--- 3074,3080 ----
          tcounter++;		/* which proto entry we're looking at */
      }
  
+     lock_ObtainMutex(&vcp->mx);
      if (NTProtoIndex != -1) {
          protoIndex = NTProtoIndex;
          vcp->flags |= (SMB_VCFLAG_USENT | SMB_VCFLAG_USEV3);
***************
*** 3105,3110 ****
--- 3088,3094 ----
          vcp->flags |= SMB_VCFLAG_USECORE;
      }	
      else protoIndex = -1;
+     lock_ReleaseMutex(&vcp->mx);
  
      if (protoIndex == -1)
          return CM_ERROR_INVAL;
***************
*** 3249,3263 ****
  
  void smb_CheckVCs(void)
  {
!     smb_vc_t * vcp;
      smb_packet_t * outp = GetPacket();
      smb_t *smbp;
              
!     for ( vcp=smb_allVCsp; vcp; vcp = vcp->nextp ) 
      {
  	if (vcp->flags & SMB_VCFLAG_ALREADYDEAD)
  	    continue;
  
  	smb_FormatResponsePacket(vcp, NULL, outp);
          smbp = (smb_t *)outp;
  	outp->inCom = smbp->com = 0x2b /* Echo */;
--- 3233,3253 ----
  
  void smb_CheckVCs(void)
  {
!     smb_vc_t * vcp, *nextp;
      smb_packet_t * outp = GetPacket();
      smb_t *smbp;
              
!     lock_ObtainWrite(&smb_rctLock);
!     for ( vcp=smb_allVCsp, nextp=NULL; vcp; vcp = nextp ) 
      {
+ 	nextp = vcp->nextp;
+ 
  	if (vcp->flags & SMB_VCFLAG_ALREADYDEAD)
  	    continue;
  
+ 	smb_HoldVCNoLock(vcp);
+ 	if (nextp)
+ 	    smb_HoldVCNoLock(nextp);
  	smb_FormatResponsePacket(vcp, NULL, outp);
          smbp = (smb_t *)outp;
  	outp->inCom = smbp->com = 0x2b /* Echo */;
***************
*** 3270,3279 ****
  
  	smb_SetSMBParm(outp, 0, 0);
  	smb_SetSMBDataLength(outp, 0);
  
  	smb_SendPacket(vcp, outp);
      }
! 
      smb_FreePacket(outp);
  }
  
--- 3260,3275 ----
  
  	smb_SetSMBParm(outp, 0, 0);
  	smb_SetSMBDataLength(outp, 0);
+ 	lock_ReleaseWrite(&smb_rctLock);
  
  	smb_SendPacket(vcp, outp);
+ 	
+ 	lock_ObtainWrite(&smb_rctLock);
+ 	smb_ReleaseVCNoLock(vcp);
+ 	if (nextp)
+ 	    smb_ReleaseVCNoLock(nextp);
      }
!     lock_ReleaseWrite(&smb_rctLock);
      smb_FreePacket(outp);
  }
  
***************
*** 4727,4735 ****
      /* find the tree and free it */
      tidp = smb_FindTID(vcp, ((smb_t *)inp)->tid, 0);
      if (tidp) {
!         lock_ObtainMutex(&tidp->mx);
!         tidp->flags |= SMB_TIDFLAG_DELETE;
!         lock_ReleaseMutex(&tidp->mx);
          smb_ReleaseTID(tidp);
      }
  
--- 4723,4731 ----
      /* find the tree and free it */
      tidp = smb_FindTID(vcp, ((smb_t *)inp)->tid, 0);
      if (tidp) {
! 	lock_ObtainWrite(&smb_rctLock);
!         tidp->delete = 1;
!         lock_ReleaseWrite(&smb_rctLock);
          smb_ReleaseTID(tidp);
      }
  
***************
*** 5691,5706 ****
  
      cm_InitReq(&req);
  
!     lock_ObtainMutex(&fidp->mx);
! 
!     if (fidp->flags & SMB_FID_DELETE) {
  	osi_Log0(smb_logp, "  Fid already closed.");
! 	lock_ReleaseMutex(&fidp->mx);
  	return CM_ERROR_BADFD;
      }
  
!     fidp->flags |= SMB_FID_DELETE;
!         
      /* Don't jump the gun on an async raw write */
      while (fidp->raw_writers) {
          lock_ReleaseMutex(&fidp->mx);
--- 5687,5702 ----
  
      cm_InitReq(&req);
  
!     lock_ObtainWrite(&smb_rctLock);
!     if (fidp->delete) {
  	osi_Log0(smb_logp, "  Fid already closed.");
! 	lock_ReleaseWrite(&smb_rctLock);
  	return CM_ERROR_BADFD;
      }
+     fidp->delete = 1;
+     lock_ReleaseWrite(&smb_rctLock);
  
!     lock_ObtainMutex(&fidp->mx);
      /* Don't jump the gun on an async raw write */
      while (fidp->raw_writers) {
          lock_ReleaseMutex(&fidp->mx);
***************
*** 6281,6290 ****
          truncAttr.length.HighPart = 0;
          lock_ObtainMutex(&fidp->mx);
          code = cm_SetAttr(fidp->scp, &truncAttr, userp, &req);
          lock_ReleaseMutex(&fidp->mx);
          smb_SetSMBParm(outp, 0, /* count */ 0);
          smb_SetSMBDataLength(outp, 0);
-         fidp->flags |= SMB_FID_LENGTHSETDONE;
          goto done;
      }
  
--- 6277,6286 ----
          truncAttr.length.HighPart = 0;
          lock_ObtainMutex(&fidp->mx);
          code = cm_SetAttr(fidp->scp, &truncAttr, userp, &req);
+ 	fidp->flags |= SMB_FID_LENGTHSETDONE;
          lock_ReleaseMutex(&fidp->mx);
          smb_SetSMBParm(outp, 0, /* count */ 0);
          smb_SetSMBDataLength(outp, 0);
          goto done;
      }
  
***************
*** 7739,7769 ****
              /* Client closed session */
              vcp = smb_FindVC(ncbp->ncb_lsn, 0, lanas[idx_session]);
              if (vcp) {
! 		lock_ObtainWrite(&smb_globalLock);
! 		if (dead_vcp == vcp) {
!                     osi_Log1(smb_logp, "dead_vcp already set, 0x%x", dead_vcp);
! 		    lock_ReleaseWrite(&smb_globalLock);
! 		} else if (!(vcp->flags & SMB_VCFLAG_ALREADYDEAD)) {
!                     osi_Log2(smb_logp, "setting dead_vcp 0x%x, user struct 0x%x",
                               vcp, vcp->usersp);
-                     if (dead_vcp) {
- 			smb_vc_t * dvcp = dead_vcp;
- 			dead_vcp = vcp;		/* transfer the reference */
- 			dead_sessions[vcp->session] = TRUE;
- 			lock_ReleaseWrite(&smb_globalLock);
-                         osi_Log1(smb_logp,"Previous dead_vcp %x", dvcp);
- 			smb_CleanupDeadVC(dvcp);
-                         smb_ReleaseVC(dvcp);
-                     } else {
- 			dead_vcp = vcp;		/* transfer the reference */
- 			dead_sessions[vcp->session] = TRUE;
- 			lock_ReleaseWrite(&smb_globalLock);
- 		    }
- 		    lock_ObtainMutex(&vcp->mx);
                      vcp->flags |= SMB_VCFLAG_ALREADYDEAD;
  		    lock_ReleaseMutex(&vcp->mx);
  		    vcp = NULL;
!                 }
              }
              goto doneWithNCB;
  
--- 7735,7755 ----
              /* Client closed session */
              vcp = smb_FindVC(ncbp->ncb_lsn, 0, lanas[idx_session]);
              if (vcp) {
! 		lock_ObtainMutex(&vcp->mx);
! 		if (!(vcp->flags & SMB_VCFLAG_ALREADYDEAD)) {
!                     osi_Log2(smb_logp, "marking dead vcp 0x%x, user struct 0x%x",
                               vcp, vcp->usersp);
                      vcp->flags |= SMB_VCFLAG_ALREADYDEAD;
  		    lock_ReleaseMutex(&vcp->mx);
+ 		    lock_ObtainWrite(&smb_globalLock);
+ 		    dead_sessions[vcp->session] = TRUE;
+ 		    lock_ReleaseWrite(&smb_globalLock);
+ 		    smb_CleanupDeadVC(vcp);
+ 		    smb_ReleaseVC(vcp);
  		    vcp = NULL;
!                 } else {
! 		    lock_ReleaseMutex(&vcp->mx);
! 		}
              }
              goto doneWithNCB;
  
***************
*** 7805,7837 ****
          default:
              /* A weird error code.  Log it, sleep, and continue. */
  	    vcp = smb_FindVC(ncbp->ncb_lsn, 0, lanas[idx_session]);
              if (vcp && vcp->errorCount++ > 3) {
                  osi_Log2(smb_logp, "session [ %d ] closed, vcp->errorCount = %d", idx_session, vcp->errorCount);
! 		lock_ObtainWrite(&smb_globalLock);
!  		if (dead_vcp == vcp) {
!                      osi_Log1(smb_logp, "dead_vcp already set, 0x%x", dead_vcp);
! 		    lock_ReleaseWrite(&smb_globalLock);
! 		} else if (!(vcp->flags & SMB_VCFLAG_ALREADYDEAD)) {
! 		    osi_Log2(smb_logp, "setting dead_vcp 0x%x, user struct 0x%x",
                                vcp, vcp->usersp);
- 		    if (dead_vcp) {
- 			smb_vc_t * dvcp = dead_vcp;
- 			dead_vcp = vcp;		/* transfer reference */
- 			dead_sessions[vcp->session] = TRUE;
- 			lock_ReleaseWrite(&smb_globalLock);
- 
- 			osi_Log1(smb_logp,"Previous dead_vcp %x", dvcp);
- 			smb_CleanupDeadVC(dvcp);
- 			smb_ReleaseVC(dvcp);
- 		    }
- 		    lock_ObtainMutex(&vcp->mx);
  		    vcp->flags |= SMB_VCFLAG_ALREADYDEAD;
  		    lock_ReleaseMutex(&vcp->mx);
  		    vcp = NULL;
  		}
   		goto doneWithNCB;
              }
              else {
                  thrd_Sleep(1000);
                  thrd_SetEvent(SessionEvents[idx_session]);
              }
--- 7791,7819 ----
          default:
              /* A weird error code.  Log it, sleep, and continue. */
  	    vcp = smb_FindVC(ncbp->ncb_lsn, 0, lanas[idx_session]);
+ 	    if (vcp)
+ 		lock_ObtainMutex(&vcp->mx);
              if (vcp && vcp->errorCount++ > 3) {
                  osi_Log2(smb_logp, "session [ %d ] closed, vcp->errorCount = %d", idx_session, vcp->errorCount);
! 		if (!(vcp->flags & SMB_VCFLAG_ALREADYDEAD)) {
! 		    osi_Log2(smb_logp, "marking dead vcp 0x%x, user struct 0x%x",
                                vcp, vcp->usersp);
  		    vcp->flags |= SMB_VCFLAG_ALREADYDEAD;
  		    lock_ReleaseMutex(&vcp->mx);
+ 		    lock_ObtainWrite(&smb_globalLock);
+ 		    dead_sessions[vcp->session] = TRUE;
+ 		    lock_ReleaseWrite(&smb_globalLock);
+ 		    smb_CleanupDeadVC(vcp);
+ 		    smb_ReleaseVC(vcp);
  		    vcp = NULL;
+ 		} else {
+ 		    lock_ReleaseMutex(&vcp->mx);
  		}
   		goto doneWithNCB;
              }
              else {
+ 		if (vcp)
+ 		    lock_ReleaseMutex(&vcp->mx);
                  thrd_Sleep(1000);
                  thrd_SetEvent(SessionEvents[idx_session]);
              }
Index: openafs/src/WINNT/afsd/smb.h
diff -c openafs/src/WINNT/afsd/smb.h:1.14.2.20 openafs/src/WINNT/afsd/smb.h:1.14.2.21
*** openafs/src/WINNT/afsd/smb.h:1.14.2.20	Tue Jan 24 12:16:07 2006
--- openafs/src/WINNT/afsd/smb.h	Sun Feb 12 01:24:28 2006
***************
*** 227,237 ****
  typedef struct smb_user {
      struct smb_user *nextp;		/* next sibling */
      unsigned long refCount;		/* ref count */
!     long flags;			        /* flags; locked by mx */
      osi_mutex_t mx;
      unsigned short userID;		/* the session identifier */
      struct smb_vc *vcp;		        /* back ptr to virtual circuit */
      struct smb_username *unp;           /* user name struct */
  } smb_user_t;
  
  #define SMB_USERFLAG_DELETE	    1	/* delete struct when ref count zero */
--- 227,238 ----
  typedef struct smb_user {
      struct smb_user *nextp;		/* next sibling */
      unsigned long refCount;		/* ref count */
!     afs_uint32 flags;		        /* flags; locked by mx */
      osi_mutex_t mx;
      unsigned short userID;		/* the session identifier */
      struct smb_vc *vcp;		        /* back ptr to virtual circuit */
      struct smb_username *unp;           /* user name struct */
+     afs_uint32	delete;			/* ok to del: locked by smb_rctLock */
  } smb_user_t;
  
  #define SMB_USERFLAG_DELETE	    1	/* delete struct when ref count zero */
***************
*** 270,286 ****
  typedef struct smb_tid {
      struct smb_tid *nextp;		/* next sibling */
      unsigned long refCount;
!     long flags;
      osi_mutex_t mx;			/* for non-tree-related stuff */
      unsigned short tid;		        /* the tid */
      struct smb_vc *vcp;		        /* back ptr */
      struct cm_user *userp;		/* user logged in at the
  					 * tree connect level (base) */
      char *pathname;			/* pathname derived from sharename */
  } smb_tid_t;
  
! #define SMB_TIDFLAG_DELETE	1	/* delete struct when ref count zero */
! #define SMB_TIDFLAG_IPC	2 /* IPC$ */
  
  /* one per process ID */
  typedef struct smb_pid {
--- 271,287 ----
  typedef struct smb_tid {
      struct smb_tid *nextp;		/* next sibling */
      unsigned long refCount;
!     afs_uint32 flags;			/* protected by mx */
      osi_mutex_t mx;			/* for non-tree-related stuff */
      unsigned short tid;		        /* the tid */
      struct smb_vc *vcp;		        /* back ptr */
      struct cm_user *userp;		/* user logged in at the
  					 * tree connect level (base) */
      char *pathname;			/* pathname derived from sharename */
+     afs_uint32	delete;			/* ok to del: locked by smb_rctLock */
  } smb_tid_t;
  
! #define SMB_TIDFLAG_IPC		1 	/* IPC$ */
  
  /* one per process ID */
  typedef struct smb_pid {
***************
*** 327,333 ****
  typedef struct smb_fid {
      osi_queue_t q;
      unsigned long refCount;
!     unsigned long flags;
      osi_mutex_t mx;			/* for non-tree-related stuff */
      unsigned short fid;		        /* the file ID */
      struct smb_vc *vcp;		        /* back ptr */
--- 328,334 ----
  typedef struct smb_fid {
      osi_queue_t q;
      unsigned long refCount;
!     afs_uint32 flags;			/* protected by mx */
      osi_mutex_t mx;			/* for non-tree-related stuff */
      unsigned short fid;		        /* the file ID */
      struct smb_vc *vcp;		        /* back ptr */
***************
*** 350,360 ****
      int prev_chunk;			/* previous chunk read */
      int raw_writers;		        /* pending async raw writes */
      EVENT_HANDLE raw_write_event;	/* signal this when raw_writers zero */
  } smb_fid_t;
  
  #define SMB_FID_OPENREAD		1	/* open for reading */
  #define SMB_FID_OPENWRITE		2	/* open for writing */
! #define SMB_FID_DELETE			4	/* delete struct on ref count 0 */
  #define SMB_FID_IOCTL			8	/* a file descriptor for the
  						 * magic ioctl file */
  #define SMB_FID_OPENDELETE		0x10	/* open for deletion (NT) */
--- 351,362 ----
      int prev_chunk;			/* previous chunk read */
      int raw_writers;		        /* pending async raw writes */
      EVENT_HANDLE raw_write_event;	/* signal this when raw_writers zero */
+     afs_uint32	delete;			/* ok to del: locked by smb_rctLock */
  } smb_fid_t;
  
  #define SMB_FID_OPENREAD		1	/* open for reading */
  #define SMB_FID_OPENWRITE		2	/* open for writing */
! #define SMB_FID_UNUSED                  4       /* free for use */
  #define SMB_FID_IOCTL			8	/* a file descriptor for the
  						 * magic ioctl file */
  #define SMB_FID_OPENDELETE		0x10	/* open for deletion (NT) */
Index: openafs/src/WINNT/afsd/smb3.c
diff -c openafs/src/WINNT/afsd/smb3.c:1.42.2.43 openafs/src/WINNT/afsd/smb3.c:1.42.2.44
*** openafs/src/WINNT/afsd/smb3.c:1.42.2.43	Tue Jan 31 04:10:00 2006
--- openafs/src/WINNT/afsd/smb3.c	Fri Feb  3 18:05:28 2006
***************
*** 950,961 ****
--- 950,968 ----
  	unp = uidp->unp;
          lock_ReleaseMutex(&uidp->mx);
  
+ #ifdef COMMENT
+ 	/* we can't do this.  we get logoff messages prior to a session
+ 	 * disconnect even though it doesn't mean the user is logging out.
+ 	 * we need to create a new pioctl and EventLogoff handler to set
+ 	 * SMB_USERNAMEFLAG_LOGOFF.
+ 	 */
  	if (unp && smb_LogoffTokenTransfer) {
  	    lock_ObtainMutex(&unp->mx);
  	    unp->flags |= SMB_USERNAMEFLAG_LOGOFF;
  	    unp->last_logoff_t = osi_Time() + smb_LogoffTransferTimeout;
  	    lock_ReleaseMutex(&unp->mx);
  	}
+ #endif
  
  	smb_ReleaseUID(uidp);
      }
***************
*** 1167,1173 ****
      return tp;
  }       
  
! /* free a tran2 packet; must be called with smb_globalLock held */
  void smb_FreeTran2Packet(smb_tran2Packet_t *t2p)
  {
      if (t2p->vcp) {
--- 1174,1180 ----
      return tp;
  }       
  
! /* free a tran2 packet */
  void smb_FreeTran2Packet(smb_tran2Packet_t *t2p)
  {
      if (t2p->vcp) {
***************
*** 1409,1417 ****
          }
  
          /* free the input tran 2 packet */
-         lock_ObtainWrite(&smb_globalLock);
          smb_FreeTran2Packet(asp);
-         lock_ReleaseWrite(&smb_globalLock);
      }
      else if (firstPacket) {
          /* the first packet in a multi-packet request, we need to send an
--- 1416,1422 ----
***************
*** 2047,2055 ****
          }
  
          /* free the input tran 2 packet */
-         lock_ObtainWrite(&smb_globalLock);
          smb_FreeTran2Packet(asp);
-         lock_ReleaseWrite(&smb_globalLock);
      }
      else if (firstPacket) {
          /* the first packet in a multi-packet request, we need to send an
--- 2052,2058 ----
Index: openafs/src/WINNT/doc/install/Documentation/en_US/html/ReleaseNotes/frames.htm
diff -c openafs/src/WINNT/doc/install/Documentation/en_US/html/ReleaseNotes/frames.htm:1.1.2.4 openafs/src/WINNT/doc/install/Documentation/en_US/html/ReleaseNotes/frames.htm:1.1.2.5
*** openafs/src/WINNT/doc/install/Documentation/en_US/html/ReleaseNotes/frames.htm:1.1.2.4	Mon Jan  9 00:29:23 2006
--- openafs/src/WINNT/doc/install/Documentation/en_US/html/ReleaseNotes/frames.htm	Sun Feb  5 03:14:16 2006
***************
*** 8,22 ****
  <meta name=Generator content="Microsoft Word 11">
  <meta name=Originator content="Microsoft Word 11">
  <link rel=File-List href="frames_files/filelist.xml">
! <title>OpenAFS for Windows 1.4.1-RC4 Release Notes</title>
  <!--[if gte mso 9]><xml>
   <o:DocumentProperties>
    <o:Author>Jeffrey Altman</o:Author>
    <o:LastAuthor>Jeffrey Altman</o:LastAuthor>
    <o:Revision>2</o:Revision>
    <o:TotalTime>0</o:TotalTime>
!   <o:Created>2006-01-09T05:14:00Z</o:Created>
!   <o:LastSaved>2006-01-09T05:14:00Z</o:LastSaved>
    <o:Pages>1</o:Pages>
    <o:Words>9</o:Words>
    <o:Characters>53</o:Characters>
--- 8,22 ----
  <meta name=Generator content="Microsoft Word 11">
  <meta name=Originator content="Microsoft Word 11">
  <link rel=File-List href="frames_files/filelist.xml">
! <title>OpenAFS for Windows 1.4.1 Release Notes</title>
  <!--[if gte mso 9]><xml>
   <o:DocumentProperties>
    <o:Author>Jeffrey Altman</o:Author>
    <o:LastAuthor>Jeffrey Altman</o:LastAuthor>
    <o:Revision>2</o:Revision>
    <o:TotalTime>0</o:TotalTime>
!   <o:Created>2006-02-05T08:10:00Z</o:Created>
!   <o:LastSaved>2006-02-05T08:10:00Z</o:LastSaved>
    <o:Pages>1</o:Pages>
    <o:Words>9</o:Words>
    <o:Characters>53</o:Characters>
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.2.4 openafs/src/WINNT/doc/install/Documentation/en_US/html/ReleaseNotes/logo.htm:1.1.2.5
*** openafs/src/WINNT/doc/install/Documentation/en_US/html/ReleaseNotes/logo.htm:1.1.2.4	Mon Jan  9 00:29:23 2006
--- openafs/src/WINNT/doc/install/Documentation/en_US/html/ReleaseNotes/logo.htm	Sun Feb  5 03:14:16 2006
***************
*** 24,30 ****
    <o:Author>Jeffrey Altman</o:Author>
    <o:LastAuthor>Jeffrey Altman</o:LastAuthor>
    <o:Revision>1</o:Revision>
!   <o:TotalTime>0</o:TotalTime>
    <o:Created>2005-09-25T21:09:00Z</o:Created>
    <o:LastSaved>2005-09-25T21:09:00Z</o:LastSaved>
    <o:Pages>1</o:Pages>
--- 24,30 ----
    <o:Author>Jeffrey Altman</o:Author>
    <o:LastAuthor>Jeffrey Altman</o:LastAuthor>
    <o:Revision>1</o:Revision>
!   <o:TotalTime>2</o:TotalTime>
    <o:Created>2005-09-25T21:09:00Z</o:Created>
    <o:LastSaved>2005-09-25T21:09:00Z</o:LastSaved>
    <o:Pages>1</o:Pages>
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.2.2.8 openafs/src/WINNT/doc/install/Documentation/en_US/html/ReleaseNotes/relnotes.htm:1.2.2.9
*** openafs/src/WINNT/doc/install/Documentation/en_US/html/ReleaseNotes/relnotes.htm:1.2.2.8	Mon Jan  9 00:29:23 2006
--- openafs/src/WINNT/doc/install/Documentation/en_US/html/ReleaseNotes/relnotes.htm	Sun Feb  5 03:14:17 2006
***************
*** 1,8 ****
  <html xmlns:v="urn:schemas-microsoft-com:vml"
  xmlns:o="urn:schemas-microsoft-com:office:office"
! xmlns:w="urn:schemas-microsoft-com:office:word"
  xmlns:st2="urn:schemas-microsoft-com:office:smarttags"
! xmlns:st1="urn:schemas:contacts" xmlns="http://www.w3.org/TR/REC-html40">
  
  <head>
  <meta http-equiv=Content-Type content="text/html; charset=windows-1252">
--- 1,8 ----
  <html xmlns:v="urn:schemas-microsoft-com:vml"
  xmlns:o="urn:schemas-microsoft-com:office:office"
! xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:st1="urn:schemas:contacts"
  xmlns:st2="urn:schemas-microsoft-com:office:smarttags"
! xmlns="http://www.w3.org/TR/REC-html40">
  
  <head>
  <meta http-equiv=Content-Type content="text/html; charset=windows-1252">
***************
*** 11,53 ****
  <meta name=Originator content="Microsoft Word 11">
  <link rel=File-List href="relnotes_files/filelist.xml">
  <link rel=Preview href="relnotes_files/preview.wmf">
! <title>OpenAFS for Windows 1.4.1-RC4 Release Notes</title>
  <o:SmartTagType namespaceuri="urn:schemas-microsoft-com:office:smarttags"
!  name="Street"/>
  <o:SmartTagType namespaceuri="urn:schemas-microsoft-com:office:smarttags"
!  name="PostalCode"/>
  <o:SmartTagType namespaceuri="urn:schemas-microsoft-com:office:smarttags"
!  name="State"/>
  <o:SmartTagType namespaceuri="urn:schemas-microsoft-com:office:smarttags"
!  name="City"/>
  <o:SmartTagType namespaceuri="urn:schemas-microsoft-com:office:smarttags"
   name="address"/>
  <o:SmartTagType namespaceuri="urn:schemas-microsoft-com:office:smarttags"
!  name="country-region"/>
  <o:SmartTagType namespaceuri="urn:schemas-microsoft-com:office:smarttags"
!  name="place"/>
  <o:SmartTagType namespaceuri="urn:schemas-microsoft-com:office:smarttags"
!  name="PlaceName"/>
  <o:SmartTagType namespaceuri="urn:schemas-microsoft-com:office:smarttags"
!  name="PlaceType"/>
! <o:SmartTagType namespaceuri="urn:schemas:contacts" name="GivenName"/>
  <!--[if gte mso 9]><xml>
   <o:DocumentProperties>
    <o:Author>Jeffrey Altman</o:Author>
!   <o:Keywords>OpenAFS 1.4.1-RC4 AFS Windows</o:Keywords>
    <o:LastAuthor>Jeffrey Altman</o:LastAuthor>
    <o:Revision>3</o:Revision>
!   <o:TotalTime>8</o:TotalTime>
    <o:LastPrinted>1601-01-01T07:00:00Z</o:LastPrinted>
    <o:Created>2005-09-25T21:12:00Z</o:Created>
    <o:LastSaved>2006-01-09T05:13:00Z</o:LastSaved>
    <o:Pages>1</o:Pages>
    <o:Words>14578</o:Words>
!   <o:Characters>83101</o:Characters>
    <o:Company>Secure Endpoints Inc.</o:Company>
    <o:Lines>692</o:Lines>
    <o:Paragraphs>194</o:Paragraphs>
!   <o:CharactersWithSpaces>97485</o:CharactersWithSpaces>
    <o:Version>11.6568</o:Version>
   </o:DocumentProperties>
  </xml><![endif]--><!--[if gte mso 9]><xml>
--- 11,53 ----
  <meta name=Originator content="Microsoft Word 11">
  <link rel=File-List href="relnotes_files/filelist.xml">
  <link rel=Preview href="relnotes_files/preview.wmf">
! <title>OpenAFS for Windows 1.4.1 Release Notes</title>
! <o:SmartTagType namespaceuri="urn:schemas:contacts" name="GivenName"/>
  <o:SmartTagType namespaceuri="urn:schemas-microsoft-com:office:smarttags"
!  name="PlaceType"/>
  <o:SmartTagType namespaceuri="urn:schemas-microsoft-com:office:smarttags"
!  name="PlaceName"/>
  <o:SmartTagType namespaceuri="urn:schemas-microsoft-com:office:smarttags"
!  name="place"/>
  <o:SmartTagType namespaceuri="urn:schemas-microsoft-com:office:smarttags"
!  name="country-region"/>
  <o:SmartTagType namespaceuri="urn:schemas-microsoft-com:office:smarttags"
   name="address"/>
  <o:SmartTagType namespaceuri="urn:schemas-microsoft-com:office:smarttags"
!  name="City"/>
  <o:SmartTagType namespaceuri="urn:schemas-microsoft-com:office:smarttags"
!  name="State"/>
  <o:SmartTagType namespaceuri="urn:schemas-microsoft-com:office:smarttags"
!  name="PostalCode"/>
  <o:SmartTagType namespaceuri="urn:schemas-microsoft-com:office:smarttags"
!  name="Street"/>
  <!--[if gte mso 9]><xml>
   <o:DocumentProperties>
    <o:Author>Jeffrey Altman</o:Author>
!   <o:Keywords>OpenAFS 1.4.1 AFS Windows</o:Keywords>
    <o:LastAuthor>Jeffrey Altman</o:LastAuthor>
    <o:Revision>3</o:Revision>
!   <o:TotalTime>11</o:TotalTime>
    <o:LastPrinted>1601-01-01T07:00:00Z</o:LastPrinted>
    <o:Created>2005-09-25T21:12:00Z</o:Created>
    <o:LastSaved>2006-01-09T05:13:00Z</o:LastSaved>
    <o:Pages>1</o:Pages>
    <o:Words>14578</o:Words>
!   <o:Characters>83097</o:Characters>
    <o:Company>Secure Endpoints Inc.</o:Company>
    <o:Lines>692</o:Lines>
    <o:Paragraphs>194</o:Paragraphs>
!   <o:CharactersWithSpaces>97481</o:CharactersWithSpaces>
    <o:Version>11.6568</o:Version>
   </o:DocumentProperties>
  </xml><![endif]--><!--[if gte mso 9]><xml>
***************
*** 82,88 ****
  </xml><![endif]--><!--[if !mso]><object
   classid="clsid:38481807-CA0E-42D2-BF39-B33AF135CC4D" id=ieooui></object>
  <style>
! st2\:*{behavior:url(#ieooui) }st1\:*{behavior:url(#ieooui) }
  </style>
  <![endif]-->
  <style>
--- 82,88 ----
  </xml><![endif]--><!--[if !mso]><object
   classid="clsid:38481807-CA0E-42D2-BF39-B33AF135CC4D" id=ieooui></object>
  <style>
! st1\:*{behavior:url(#ieooui) }st2\:*{behavior:url(#ieooui) }
  </style>
  <![endif]-->
  <style>
***************
*** 3209,3215 ****
  
  <div class=Section1>
  
! <p class=MsoTitle>OpenAFS for Windows 1.4.1 RC4<br>
  Release Notes</p>
  
  <p class=MsoBodyText>The Andrew File System (AFS) is a location-independent
--- 3209,3215 ----
  
  <div class=Section1>
  
! <p class=MsoTitle>OpenAFS for Windows 1.4.1<br>
  Release Notes</p>
  
  <p class=MsoBodyText>The Andrew File System (AFS) is a location-independent
***************
*** 3432,3440 ****
  mso-fareast-language:JA;mso-no-proof:yes'><o:p></o:p></span></p>
  
  <h1 style='margin-left:0pt;text-indent:0pt'><!--[if supportFields]><span
! style='mso-element:field-end'></span><![endif]--><a name="_Toc115417109"></a><a
! name="_Toc115417037"></a><a name="_Toc115416098"><span style='mso-bookmark:
! _Toc115417037'><span style='mso-bookmark:_Toc115417109'>1. Installer Options</span></span></a></h1>
  
  <p class=MsoNormal>It can be installed either as a new installation or an
  upgrade from previous versions of OpenAFS for Windows or IBM AFS for
--- 3432,3441 ----
  mso-fareast-language:JA;mso-no-proof:yes'><o:p></o:p></span></p>
  
  <h1 style='margin-left:0pt;text-indent:0pt'><!--[if supportFields]><span
! style='mso-element:field-end'></span><![endif]--><a name="_Toc126872163"></a><a
! name="_Toc115417109"></a><a name="_Toc115417037"></a><a name="_Toc115416098"><span
! style='mso-bookmark:_Toc115417037'><span style='mso-bookmark:_Toc115417109'><span
! style='mso-bookmark:_Toc126872163'>1. Installer Options</span></span></span></a></h1>
  
  <p class=MsoNormal>It can be installed either as a new installation or an
  upgrade from previous versions of OpenAFS for Windows or IBM AFS for
***************
*** 3457,3469 ****
  (see <a href="oafw-1-4-release-notes.doc#_MSI_Deployment_Guide">MSI Deployment
  Guide</a>)</p>
  
! <h1 style='margin-left:0pt;text-indent:0pt'><a name="_Toc115417110"></a><a
! name="_Toc115417038"></a><a name="_Toc115416099"><span style='mso-bookmark:
! _Toc115417038'><span style='mso-bookmark:_Toc115417110'>2. System Requirements</span></span></a></h1>
! 
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc115417039"></a><a
! name="_Toc115416100"><span style='mso-bookmark:_Toc115417039'>2.1 Supported
! Operating Systems</span></a></h2>
  
  <p class=MsoNormal style='margin-left:14.15pt;text-indent:-14.15pt;mso-list:
  l11 level1 lfo2;tab-stops:list 14.15pt'><![if !supportLists]><span
--- 3458,3472 ----
  (see <a href="oafw-1-4-release-notes.doc#_MSI_Deployment_Guide">MSI Deployment
  Guide</a>)</p>
  
! <h1 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872164"></a><a
! name="_Toc115417110"></a><a name="_Toc115417038"></a><a name="_Toc115416099"><span
! style='mso-bookmark:_Toc115417038'><span style='mso-bookmark:_Toc115417110'><span
! style='mso-bookmark:_Toc126872164'>2. System Requirements</span></span></span></a></h1>
! 
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872165"></a><a
! name="_Toc115417039"></a><a name="_Toc115416100"><span style='mso-bookmark:
! _Toc115417039'><span style='mso-bookmark:_Toc126872165'>2.1 Supported Operating
! Systems</span></span></a></h2>
  
  <p class=MsoNormal style='margin-left:14.15pt;text-indent:-14.15pt;mso-list:
  l11 level1 lfo2;tab-stops:list 14.15pt'><![if !supportLists]><span
***************
*** 3507,3514 ****
  style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><![endif]>Microsoft
  Windows 2003 R2 Server</p>
  
! <h3 style='margin-left:0pt;text-indent:0pt'><a name="_Toc115416101">2.1.1 Unsupported
! Operating Systems</a></h3>
  
  <p class=MsoNormal style='margin-left:14.15pt;text-indent:-14.15pt;mso-list:
  l12 level1 lfo3;tab-stops:list 14.15pt'><![if !supportLists]><span
--- 3510,3518 ----
  style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><![endif]>Microsoft
  Windows 2003 R2 Server</p>
  
! <h3 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872166"></a><a
! name="_Toc115416101"><span style='mso-bookmark:_Toc126872166'>2.1.1 Unsupported
! Operating Systems</span></a></h3>
  
  <p class=MsoNormal style='margin-left:14.15pt;text-indent:-14.15pt;mso-list:
  l12 level1 lfo3;tab-stops:list 14.15pt'><![if !supportLists]><span
***************
*** 3565,3592 ****
  style='mso-spacerun:yes'>  </span>The last version with support for Windows NT
  4.0 is 1.2.10.</p>
  
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc115417040"></a><a
! name="_Toc115416102"><span style='mso-bookmark:_Toc115417040'>2.2 Disk Space</span></a></h2>
  
  <p class=MsoNormal>Up to 60mb required for the OpenAFS binaries plus 100MB for
  the default AFSCache file.<span style='mso-spacerun:yes'>   </span>(The size of
  the AFSCache file may be adjusted via the Registry after installation.)</p>
  
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc115417041"></a><a
! name="_Toc115416103"><span style='mso-bookmark:_Toc115417041'>2.3 Additional
! Software</span></a></h2>
  
  <p class=MsoNormal><a href="http://web.mit.edu/kerberos/dist/index.html">MIT
  Kerberos for Windows</a> 2.6.x or 3.x.x if Kerberos 5 authentication support is
  desired.</p>
  
! <h1 style='margin-left:0pt;text-indent:0pt'><a name="_Toc115417111"></a><a
! name="_Toc115417042"></a><a name="_Toc115416104"><span style='mso-bookmark:
! _Toc115417042'><span style='mso-bookmark:_Toc115417111'>3. Operational Notes</span></span></a></h1>
! 
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc115417043"></a><a
! name="_Toc115416105"><span style='mso-bookmark:_Toc115417043'>3.1. Requirements
! for Kerberos 5 Authentication</span></a></h2>
  
  <p class=MsoNormal>The Kerberos 4 infrastructure on which the OpenAFS 1.2
  series is reliant is no longer secure.<span style='mso-spacerun:yes'> 
--- 3569,3599 ----
  style='mso-spacerun:yes'>  </span>The last version with support for Windows NT
  4.0 is 1.2.10.</p>
  
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872167"></a><a
! name="_Toc115417040"></a><a name="_Toc115416102"><span style='mso-bookmark:
! _Toc115417040'><span style='mso-bookmark:_Toc126872167'>2.2 Disk Space</span></span></a></h2>
  
  <p class=MsoNormal>Up to 60mb required for the OpenAFS binaries plus 100MB for
  the default AFSCache file.<span style='mso-spacerun:yes'>   </span>(The size of
  the AFSCache file may be adjusted via the Registry after installation.)</p>
  
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872168"></a><a
! name="_Toc115417041"></a><a name="_Toc115416103"><span style='mso-bookmark:
! _Toc115417041'><span style='mso-bookmark:_Toc126872168'>2.3 Additional Software</span></span></a></h2>
  
  <p class=MsoNormal><a href="http://web.mit.edu/kerberos/dist/index.html">MIT
  Kerberos for Windows</a> 2.6.x or 3.x.x if Kerberos 5 authentication support is
  desired.</p>
  
! <h1 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872169"></a><a
! name="_Toc115417111"></a><a name="_Toc115417042"></a><a name="_Toc115416104"><span
! style='mso-bookmark:_Toc115417042'><span style='mso-bookmark:_Toc115417111'><span
! style='mso-bookmark:_Toc126872169'>3. Operational Notes</span></span></span></a></h1>
! 
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872170"></a><a
! name="_Toc115417043"></a><a name="_Toc115416105"><span style='mso-bookmark:
! _Toc115417043'><span style='mso-bookmark:_Toc126872170'>3.1. Requirements for
! Kerberos 5 Authentication</span></span></a></h2>
  
  <p class=MsoNormal>The Kerberos 4 infrastructure on which the OpenAFS 1.2
  series is reliant is no longer secure.<span style='mso-spacerun:yes'> 
***************
*** 3609,3616 ****
  style='mso-element:field-begin'></span> XE &quot;Kerberos 5&quot; <![endif]--><!--[if supportFields]><span
  style='mso-element:field-end'></span><![endif]--></p>
  
! <h3 style='margin-left:0pt;text-indent:0pt'><a name="_Toc115416106">3.1.1. Active
! Directory</a></h3>
  
  <p class=MsoNormal>There are two things to consider when using a Microsoft
  Windows Active Directory as the Kerberos realm that issues the AFS service
--- 3616,3624 ----
  style='mso-element:field-begin'></span> XE &quot;Kerberos 5&quot; <![endif]--><!--[if supportFields]><span
  style='mso-element:field-end'></span><![endif]--></p>
  
! <h3 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872171"></a><a
! name="_Toc115416106"><span style='mso-bookmark:_Toc126872171'>3.1.1. Active
! Directory</span></a></h3>
  
  <p class=MsoNormal>There are two things to consider when using a Microsoft
  Windows Active Directory as the Kerberos realm that issues the AFS service
***************
*** 3631,3638 ****
  style='mso-spacerun:yes'> </span>XE &quot;DES enctypes&quot; <![endif]--><!--[if supportFields]><span
  style='mso-element:field-end'></span><![endif]--></p>
  
! <h3 style='margin-left:0pt;text-indent:0pt'><a name="_Toc115416107">3.1.2. Using
! the krb524 service</a></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
--- 3639,3647 ----
  style='mso-spacerun:yes'> </span>XE &quot;DES enctypes&quot; <![endif]--><!--[if supportFields]><span
  style='mso-element:field-end'></span><![endif]--></p>
  
! <h3 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872172"></a><a
! name="_Toc115416107"><span style='mso-bookmark:_Toc126872172'>3.1.2. Using the
! krb524 service</span></a></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
***************
*** 3669,3677 ****
  style='mso-spacerun:yes'> </span>XE &quot;krb524&quot; <![endif]--><!--[if supportFields]><span
  style='mso-element:field-end'></span><![endif]--></p>
  
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc115417044"></a><a
! name="_Toc115416108"><span style='mso-bookmark:_Toc115417044'>3.2. Use of the
! Microsoft Loopback Adapter</span></a></h2>
  
  <p class=MsoNormal>By itself the OpenAFS Client Service does not provide robust
  behavior in a plug-n-play network environment.<span style='mso-spacerun:yes'> 
--- 3678,3687 ----
  style='mso-spacerun:yes'> </span>XE &quot;krb524&quot; <![endif]--><!--[if supportFields]><span
  style='mso-element:field-end'></span><![endif]--></p>
  
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872173"></a><a
! name="_Toc115417044"></a><a name="_Toc115416108"><span style='mso-bookmark:
! _Toc115417044'><span style='mso-bookmark:_Toc126872173'>3.2. Use of the
! Microsoft Loopback Adapter</span></span></a></h2>
  
  <p class=MsoNormal>By itself the OpenAFS Client Service does not provide robust
  behavior in a plug-n-play network environment.<span style='mso-spacerun:yes'> 
***************
*** 3753,3761 ****
  style='mso-spacerun:yes'> </span>XE &quot;NETBIOS&quot; <![endif]--><!--[if supportFields]><span
  style='mso-element:field-end'></span><![endif]--></p>
  
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc115417045"></a><a
! name="_Toc115416109"><span style='mso-bookmark:_Toc115417045'>3.3. Using
! Freelance (Dynamic Root) Mode to Improve Mobility</span></a></h2>
  
  <p class=MsoNormal>Traditionally, when the OpenAFS Client Service starts it
  must be able to access the &quot;root.afs&quot; volume of the default
--- 3763,3772 ----
  style='mso-spacerun:yes'> </span>XE &quot;NETBIOS&quot; <![endif]--><!--[if supportFields]><span
  style='mso-element:field-end'></span><![endif]--></p>
  
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872174"></a><a
! name="_Toc115417045"></a><a name="_Toc115416109"><span style='mso-bookmark:
! _Toc115417045'><span style='mso-bookmark:_Toc126872174'>3.3. Using Freelance
! (Dynamic Root) Mode to Improve Mobility</span></span></a></h2>
  
  <p class=MsoNormal>Traditionally, when the OpenAFS Client Service starts it
  must be able to access the &quot;root.afs&quot; volume of the default
***************
*** 3841,3849 ****
  style='mso-element:field-end'></span><![endif]--><span
  style='mso-spacerun:yes'> </span></p>
  
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc115417046"></a><a
! name="_Toc115416110"><span style='mso-bookmark:_Toc115417046'>3.4. Locating AFS
! Volume Database Servers</span></a> </h2>
  
  <p class=MsoNormal>The OpenAFS for Windows client will use DNS AFSDB records to
  discover the location of AFS Volume Database servers when entries are not
--- 3852,3861 ----
  style='mso-element:field-end'></span><![endif]--><span
  style='mso-spacerun:yes'> </span></p>
  
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872175"></a><a
! name="_Toc115417046"></a><a name="_Toc115416110"><span style='mso-bookmark:
! _Toc115417046'><span style='mso-bookmark:_Toc126872175'>3.4. Locating AFS
! Volume Database Servers</span></span></a> </h2>
  
  <p class=MsoNormal>The OpenAFS for Windows client will use DNS AFSDB records to
  discover the location of AFS Volume Database servers when entries are not
***************
*** 3855,3863 ****
  style='mso-spacerun:yes'> </span>XE &quot;afsdb&quot; <![endif]--><!--[if supportFields]><span
  style='mso-element:field-end'></span><![endif]--></p>
  
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc115417047"></a><a
! name="_Toc115416111"><span style='mso-bookmark:_Toc115417047'>3.5. Obtaining
! AFS Tokens as a Part of Windows Logon</span></a></h2>
  
  <p class=MsoNormal>OpenAFS for Windows installs a WinLogon Network Provider to
  provide Single Sign-on functionality (aka Integrated Logon.)<span
--- 3867,3876 ----
  style='mso-spacerun:yes'> </span>XE &quot;afsdb&quot; <![endif]--><!--[if supportFields]><span
  style='mso-element:field-end'></span><![endif]--></p>
  
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872176"></a><a
! name="_Toc115417047"></a><a name="_Toc115416111"><span style='mso-bookmark:
! _Toc115417047'><span style='mso-bookmark:_Toc126872176'>3.5. Obtaining AFS
! Tokens as a Part of Windows Logon</span></span></a></h2>
  
  <p class=MsoNormal>OpenAFS for Windows installs a WinLogon Network Provider to
  provide Single Sign-on functionality (aka Integrated Logon.)<span
***************
*** 3894,3902 ****
  style='mso-element:field-begin'></span> XE &quot;integrated login&quot; <![endif]--><!--[if supportFields]><span
  style='mso-element:field-end'></span><![endif]--></p>
  
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc115417048"></a><a
! name="_Toc115416112"><span style='mso-bookmark:_Toc115417048'>3.6. AFS System
! Tray Command Line Options</span></a></h2>
  
  <p class=MsoNormal>The AFS System Tray tool (afscreds.exe) supports several
  command line options: </p>
--- 3907,3916 ----
  style='mso-element:field-begin'></span> XE &quot;integrated login&quot; <![endif]--><!--[if supportFields]><span
  style='mso-element:field-end'></span><![endif]--></p>
  
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872177"></a><a
! name="_Toc115417048"></a><a name="_Toc115416112"><span style='mso-bookmark:
! _Toc115417048'><span style='mso-bookmark:_Toc126872177'>3.6. AFS System Tray
! Command Line Options</span></span></a></h2>
  
  <p class=MsoNormal>The AFS System Tray tool (afscreds.exe) supports several
  command line options: </p>
***************
*** 3959,3967 ****
  style='mso-element:field-begin'></span> XE &quot;afscreds.exe&quot; <![endif]--><!--[if supportFields]><span
  style='mso-element:field-end'></span><![endif]--></p>
  
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc115417049"></a><a
! name="_Toc115416113"><span style='mso-bookmark:_Toc115417049'>3.7. The “AFS
! Client Admins” Authorization Group</span></a></h2>
  
  <p class=MsoNormal>The OpenAFS for Windows 1.4 client supports a local Windows
  authorization group named &quot;AFS Client Admins&quot;.<span
--- 3973,3982 ----
  style='mso-element:field-begin'></span> XE &quot;afscreds.exe&quot; <![endif]--><!--[if supportFields]><span
  style='mso-element:field-end'></span><![endif]--></p>
  
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872178"></a><a
! name="_Toc115417049"></a><a name="_Toc115416113"><span style='mso-bookmark:
! _Toc115417049'><span style='mso-bookmark:_Toc126872178'>3.7. The “AFS Client
! Admins” Authorization Group</span></span></a></h2>
  
  <p class=MsoNormal>The OpenAFS for Windows 1.4 client supports a local Windows
  authorization group named &quot;AFS Client Admins&quot;.<span
***************
*** 4062,4070 ****
  style='mso-spacerun:yes'> </span>XE &quot;fs.exe&quot; <![endif]--><!--[if supportFields]><span
  style='mso-element:field-end'></span><![endif]--></p>
  
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc115417050"></a><a
! name="_Toc115416114"><span style='mso-bookmark:_Toc115417050'>3.8. OpenAFS
! support for UNC paths</span></a> </h2>
  
  <p class=MsoNormal>The OpenAFS 1.4 client supports UNC paths everywhere.<span
  style='mso-spacerun:yes'>  </span>UNC paths provide a canonical name for
--- 4077,4086 ----
  style='mso-spacerun:yes'> </span>XE &quot;fs.exe&quot; <![endif]--><!--[if supportFields]><span
  style='mso-element:field-end'></span><![endif]--></p>
  
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872179"></a><a
! name="_Toc115417050"></a><a name="_Toc115416114"><span style='mso-bookmark:
! _Toc115417050'><span style='mso-bookmark:_Toc126872179'>3.8. OpenAFS support
! for UNC paths</span></span></a> </h2>
  
  <p class=MsoNormal>The OpenAFS 1.4 client supports UNC paths everywhere.<span
  style='mso-spacerun:yes'>  </span>UNC paths provide a canonical name for
***************
*** 4095,4103 ****
  style='mso-spacerun:yes'> </span>XE &quot;4nt.exe&quot; <![endif]--><!--[if supportFields]><span
  style='mso-element:field-end'></span><![endif]--></p>
  
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc115417051"></a><a
! name="_Toc115416115"><span style='mso-bookmark:_Toc115417051'>3.9. OpenAFS
! includes aklog.exe</span></a></h2>
  
  <p class=MsoNormal>The OpenAFS 1.4 Client ships with its own version of
  aklog.exe which should be used in preference to those obtained by third party
--- 4111,4120 ----
  style='mso-spacerun:yes'> </span>XE &quot;4nt.exe&quot; <![endif]--><!--[if supportFields]><span
  style='mso-element:field-end'></span><![endif]--></p>
  
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872180"></a><a
! name="_Toc115417051"></a><a name="_Toc115416115"><span style='mso-bookmark:
! _Toc115417051'><span style='mso-bookmark:_Toc126872180'>3.9. OpenAFS includes
! aklog.exe</span></span></a></h2>
  
  <p class=MsoNormal>The OpenAFS 1.4 Client ships with its own version of
  aklog.exe which should be used in preference to those obtained by third party
***************
*** 4141,4149 ****
  style='mso-element:field-begin'></span> XE &quot;aklog.exe&quot; <![endif]--><!--[if supportFields]><span
  style='mso-element:field-end'></span><![endif]--></p>
  
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc115417052"></a><a
! name="_Toc115416116"><span style='mso-bookmark:_Toc115417052'>3.10. OpenAFS
! Servers on Windows are Unsupported</span></a></h2>
  
  <p class=MsoNormal>The AFS Server functionality provided with OpenAFS 1.4 might
  work but should be considered highly experimental.<span
--- 4158,4167 ----
  style='mso-element:field-begin'></span> XE &quot;aklog.exe&quot; <![endif]--><!--[if supportFields]><span
  style='mso-element:field-end'></span><![endif]--></p>
  
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872181"></a><a
! name="_Toc115417052"></a><a name="_Toc115416116"><span style='mso-bookmark:
! _Toc115417052'><span style='mso-bookmark:_Toc126872181'>3.10. OpenAFS Servers
! on Windows are Unsupported</span></span></a></h2>
  
  <p class=MsoNormal>The AFS Server functionality provided with OpenAFS 1.4 might
  work but should be considered highly experimental.<span
***************
*** 4174,4182 ****
  style='mso-element:field-begin'></span> XE &quot;AFS Servers&quot; <![endif]--><!--[if supportFields]><span
  style='mso-element:field-end'></span><![endif]--></p>
  
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc115417053"></a><a
! name="_Toc115416117"><span style='mso-bookmark:_Toc115417053'>3.11. OpenAFS
! Debugging Symbol files</span></a></h2>
  
  <p class=MsoNormal>The OpenAFS for Windows installers now include Debugging
  Symbol files which should be installed if you are experiencing problems and
--- 4192,4201 ----
  style='mso-element:field-begin'></span> XE &quot;AFS Servers&quot; <![endif]--><!--[if supportFields]><span
  style='mso-element:field-end'></span><![endif]--></p>
  
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872182"></a><a
! name="_Toc115417053"></a><a name="_Toc115416117"><span style='mso-bookmark:
! _Toc115417053'><span style='mso-bookmark:_Toc126872182'>3.11. OpenAFS Debugging
! Symbol files</span></span></a></h2>
  
  <p class=MsoNormal>The OpenAFS for Windows installers now include Debugging
  Symbol files which should be installed if you are experiencing problems and
***************
*** 4208,4216 ****
  style='mso-element:field-begin'></span> XE &quot;Symbol files&quot; <![endif]--><!--[if supportFields]><span
  style='mso-element:field-end'></span><![endif]--></p>
  
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc115417054"></a><a
! name="_Toc115416118"><span style='mso-bookmark:_Toc115417054'>3.12. Maximum
! File Size is 2GB</span></a></h2>
  
  <p class=MsoNormal>OpenAFS for Windows does not support files larger than
  2GB.<span style='mso-spacerun:yes'>  </span>The version of the SMB/CIFS
--- 4227,4236 ----
  style='mso-element:field-begin'></span> XE &quot;Symbol files&quot; <![endif]--><!--[if supportFields]><span
  style='mso-element:field-end'></span><![endif]--></p>
  
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872183"></a><a
! name="_Toc115417054"></a><a name="_Toc115416118"><span style='mso-bookmark:
! _Toc115417054'><span style='mso-bookmark:_Toc126872183'>3.12. Maximum File Size
! is 2GB</span></span></a></h2>
  
  <p class=MsoNormal>OpenAFS for Windows does not support files larger than
  2GB.<span style='mso-spacerun:yes'>  </span>The version of the SMB/CIFS
***************
*** 4220,4237 ****
  style='mso-element:field-begin'></span> XE &quot;large file support&quot; <![endif]--><!--[if supportFields]><span
  style='mso-element:field-end'></span><![endif]--></p>
  
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc115417055"></a><a
! name="_Toc115416119"><span style='mso-bookmark:_Toc115417055'>3.13. Encrypted
! AFS File Access</span></a></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.<span style='mso-spacerun:yes'>  </span>This is often referred to as
  &quot;fcrypt&quot; mode.</p>
  
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc115417056"></a><a
! name="_Toc115416120"><span style='mso-bookmark:_Toc115417056'>3.14.
! Authenticated Access to the OpenAFS Client Service</span></a></h2>
  
  <p class=MsoNormal>OpenAFS 1.4 supports authenticated SMB connections using
  either NTLM or GSS SPNEGO (NTLM).<span style='mso-spacerun:yes'>  </span>In
--- 4240,4259 ----
  style='mso-element:field-begin'></span> XE &quot;large file support&quot; <![endif]--><!--[if supportFields]><span
  style='mso-element:field-end'></span><![endif]--></p>
  
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872184"></a><a
! name="_Toc115417055"></a><a name="_Toc115416119"><span style='mso-bookmark:
! _Toc115417055'><span style='mso-bookmark:_Toc126872184'>3.13. Encrypted AFS
! File Access</span></span></a></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.<span style='mso-spacerun:yes'>  </span>This is often referred to as
  &quot;fcrypt&quot; mode.</p>
  
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872185"></a><a
! name="_Toc115417056"></a><a name="_Toc115416120"><span style='mso-bookmark:
! _Toc115417056'><span style='mso-bookmark:_Toc126872185'>3.14. Authenticated
! Access to the OpenAFS Client Service</span></span></a></h2>
  
  <p class=MsoNormal>OpenAFS 1.4 supports authenticated SMB connections using
  either NTLM or GSS SPNEGO (NTLM).<span style='mso-spacerun:yes'>  </span>In
***************
*** 4252,4260 ****
  password.<span style='mso-spacerun:yes'>  </span>Instead, Windows will
  internally recognize the request as coming from a local logon session.</p>
  
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc115417057"></a><a
! name="_Toc115416121"><span style='mso-bookmark:_Toc115417057'>3.15. No More INI
! Files</span></a></h2>
  
  <p class=MsoNormal>Previous AFS clients for Windows stored configuration data
  in Windows .INI files. <span style='mso-spacerun:yes'>  </span>OpenAFS 1.4 does
--- 4274,4282 ----
  password.<span style='mso-spacerun:yes'>  </span>Instead, Windows will
  internally recognize the request as coming from a local logon session.</p>
  
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872186"></a><a
! name="_Toc115417057"></a><a name="_Toc115416121"><span style='mso-bookmark:
! _Toc115417057'><span style='mso-bookmark:_Toc126872186'>3.15. No More INI Files</span></span></a></h2>
  
  <p class=MsoNormal>Previous AFS clients for Windows stored configuration data
  in Windows .INI files. <span style='mso-spacerun:yes'>  </span>OpenAFS 1.4 does
***************
*** 4273,4281 ****
  Windows registry.<span style='mso-spacerun:yes'>   </span>OpenAFS 1.4 will not
  process the contents of the “afsddbmt.ini”.</p>
  
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc115417058"></a><a
! name="_Toc115416122"><span style='mso-bookmark:_Toc115417058'>3.16. Microsoft
! Windows Internet Connection Firewall</span></a></h2>
  
  <p class=MsoNormal>The OpenAFS 1.4 Client is compatible with the Internet
  Connection Firewall that debuted with Windows XP SP2 and Windows 2003 SP1.<span
--- 4295,4304 ----
  Windows registry.<span style='mso-spacerun:yes'>   </span>OpenAFS 1.4 will not
  process the contents of the “afsddbmt.ini”.</p>
  
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872187"></a><a
! name="_Toc115417058"></a><a name="_Toc115416122"><span style='mso-bookmark:
! _Toc115417058'><span style='mso-bookmark:_Toc126872187'>3.16. Microsoft Windows
! Internet Connection Firewall</span></span></a></h2>
  
  <p class=MsoNormal>The OpenAFS 1.4 Client is compatible with the Internet
  Connection Firewall that debuted with Windows XP SP2 and Windows 2003 SP1.<span
***************
*** 4285,4307 ****
  appropriate <i>Back Connection</i> registry entries are added to allow SMB
  authentication to be performed across the Microsoft Loopback Adapter.</p>
  
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc115417059"></a><a
! name="_Toc115416123"><span style='mso-bookmark:_Toc115417059'>3.17. Browsing
! AFS from the Explorer Shell and Office</span></a></h2>
  
  <p class=MsoNormal>The OpenAFS 1.4 Client Service implements the CIFS Remote
  Admin Protocol which allows Explorer to browse server and share information.
  This significantly enhances the interoperability of AFS volumes within the
  Explorer Shell and Microsoft Office applications.</p>
  
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc115417060"></a><a
! name="_Toc115416124"><span style='mso-bookmark:_Toc115417060'>3.18. </span></a><st2:place
! w:st="on"><st2:PlaceName w:st="on"><span style='mso-bookmark:_Toc115417060'><span
!   style='mso-bookmark:_Toc115416124'>Byte</span></span></st2:PlaceName><span
!  style='mso-bookmark:_Toc115417060'><span style='mso-bookmark:_Toc115416124'> <st2:PlaceType
!  w:st="on">Range</st2:PlaceType></span></span></st2:place><span
! style='mso-bookmark:_Toc115417060'><span style='mso-bookmark:_Toc115416124'>
! Locking</span></span></h2>
  
  <p class=MsoBodyText>Many applications on Windows (e.g. Microsoft Office)
  require the use of byte range locks applied to a file either to protect against
--- 4308,4332 ----
  appropriate <i>Back Connection</i> registry entries are added to allow SMB
  authentication to be performed across the Microsoft Loopback Adapter.</p>
  
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872188"></a><a
! name="_Toc115417059"></a><a name="_Toc115416123"><span style='mso-bookmark:
! _Toc115417059'><span style='mso-bookmark:_Toc126872188'>3.17. Browsing AFS from
! the Explorer Shell and Office</span></span></a></h2>
  
  <p class=MsoNormal>The OpenAFS 1.4 Client Service implements the CIFS Remote
  Admin Protocol which allows Explorer to browse server and share information.
  This significantly enhances the interoperability of AFS volumes within the
  Explorer Shell and Microsoft Office applications.</p>
  
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872189"></a><a
! name="_Toc115417060"></a><a name="_Toc115416124"><span style='mso-bookmark:
! _Toc115417060'><span style='mso-bookmark:_Toc126872189'>3.18. </span></span></a><st2:place
! w:st="on"><st2:PlaceName w:st="on"><span style='mso-bookmark:_Toc126872189'><span
!   style='mso-bookmark:_Toc115417060'><span style='mso-bookmark:_Toc115416124'>Byte</span></span></span></st2:PlaceName><span
!  style='mso-bookmark:_Toc126872189'><span style='mso-bookmark:_Toc115417060'><span
!  style='mso-bookmark:_Toc115416124'> <st2:PlaceType w:st="on">Range</st2:PlaceType></span></span></span></st2:place><span
! style='mso-bookmark:_Toc126872189'><span style='mso-bookmark:_Toc115417060'><span
! style='mso-bookmark:_Toc115416124'> Locking</span></span></span></h2>
  
  <p class=MsoBodyText>Many applications on Windows (e.g. Microsoft Office)
  require the use of byte range locks applied to a file either to protect against
***************
*** 4341,4349 ****
  style='font-family:"Times New Roman";mso-fareast-font-family:"MS Mincho";
  mso-fareast-language:JA'><o:p></o:p></span></p>
  
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc115417061"></a><a
! name="_Toc115416125"><span style='mso-bookmark:_Toc115417061'>3.19. Automatic
! Discarding of AFS Tokens at Logoff</span></a></h2>
  
  <p class=MsoNormal>OpenAFS 1.4 will automatically forget a user's tokens upon
  Logoff unless the user's profile was loaded from an AFS volume.<span
--- 4366,4375 ----
  style='font-family:"Times New Roman";mso-fareast-font-family:"MS Mincho";
  mso-fareast-language:JA'><o:p></o:p></span></p>
  
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872190"></a><a
! name="_Toc115417061"></a><a name="_Toc115416125"><span style='mso-bookmark:
! _Toc115417061'><span style='mso-bookmark:_Toc126872190'>3.19. Automatic
! Discarding of AFS Tokens at Logoff</span></span></a></h2>
  
  <p class=MsoNormal>OpenAFS 1.4 will automatically forget a user's tokens upon
  Logoff unless the user's profile was loaded from an AFS volume.<span
***************
*** 4360,4368 ****
  registry value can be used. (see <a
  href="oafw-1-4-release-notes.doc#_Appendix_A:_Registry_Values">Appendix A</a>.)</p>
  
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc115417062"></a><a
! name="_Toc115416126"><span style='mso-bookmark:_Toc115417062'>3.20. Terminal
! Server installations</span></a></h2>
  
  <p class=MsoNormal>When installing the NSIS (.exe) installer under Terminal
  Server, you must execute it from within the Add/Remove Programs Control
--- 4386,4395 ----
  registry value can be used. (see <a
  href="oafw-1-4-release-notes.doc#_Appendix_A:_Registry_Values">Appendix A</a>.)</p>
  
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872191"></a><a
! name="_Toc115417062"></a><a name="_Toc115416126"><span style='mso-bookmark:
! _Toc115417062'><span style='mso-bookmark:_Toc126872191'>3.20. Terminal Server
! installations</span></span></a></h2>
  
  <p class=MsoNormal>When installing the NSIS (.exe) installer under Terminal
  Server, you must execute it from within the Add/Remove Programs Control
***************
*** 4370,4378 ****
  AFS not running properly.<span style='mso-spacerun:yes'>  </span>The AFS Server
  should not be installed on a machine with Terminal Server installed.</p>
  
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc115417063"></a><a
! name="_Toc115416127"><span style='mso-bookmark:_Toc115417063'>3.21. Hidden Dot
! Files</span></a></h2>
  
  <p class=MsoNormal>AFS is a UNIX native file system.<span
  style='mso-spacerun:yes'>  </span>The OpenAFS client attempts to treat the
--- 4397,4405 ----
  AFS not running properly.<span style='mso-spacerun:yes'>  </span>The AFS Server
  should not be installed on a machine with Terminal Server installed.</p>
  
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872192"></a><a
! name="_Toc115417063"></a><a name="_Toc115416127"><span style='mso-bookmark:
! _Toc115417063'><span style='mso-bookmark:_Toc126872192'>3.21. Hidden Dot Files</span></span></a></h2>
  
  <p class=MsoNormal>AFS is a UNIX native file system.<span
  style='mso-spacerun:yes'>  </span>The OpenAFS client attempts to treat the
***************
*** 4381,4389 ****
  automatically given the Hidden attribute so they will not normally be
  displayed.</p>
  
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc115417064"></a><a
! name="_Toc115416128"><span style='mso-bookmark:_Toc115417064'>3.22. Status
! Cache Limits</span></a></h2>
  
  <p class=MsoNormal>The Status Cache (AFS Configuration Control Panel: Advanced
  Page) is defined to have a maximum number of entries.<span
--- 4408,4417 ----
  automatically given the Hidden attribute so they will not normally be
  displayed.</p>
  
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872193"></a><a
! name="_Toc115417064"></a><a name="_Toc115416128"><span style='mso-bookmark:
! _Toc115417064'><span style='mso-bookmark:_Toc126872193'>3.22. Status Cache
! Limits</span></span></a></h2>
  
  <p class=MsoNormal>The Status Cache (AFS Configuration Control Panel: Advanced
  Page) is defined to have a maximum number of entries.<span
***************
*** 4401,4409 ****
  </span>Each entry requires approximately 1.2K.<span style='mso-spacerun:yes'> 
  </span>In OpenAFS 1.4, the default number of Status Cache entries is 10,000.</p>
  
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc115417065"></a><a
! name="_Toc115416129"><span style='mso-bookmark:_Toc115417065'>3.23. NETBIOS
! over TCP/IP must be enabled</span></a></h2>
  
  <p class=MsoNormal>&quot;Netbios over TCP/IP&quot; must be active on the
  machine in order for communication with the AFS Client Service to succeed.<span
--- 4429,4438 ----
  </span>Each entry requires approximately 1.2K.<span style='mso-spacerun:yes'> 
  </span>In OpenAFS 1.4, the default number of Status Cache entries is 10,000.</p>
  
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872194"></a><a
! name="_Toc115417065"></a><a name="_Toc115416129"><span style='mso-bookmark:
! _Toc115417065'><span style='mso-bookmark:_Toc126872194'>3.23. NETBIOS over
! TCP/IP must be enabled</span></span></a></h2>
  
  <p class=MsoNormal>&quot;Netbios over TCP/IP&quot; must be active on the
  machine in order for communication with the AFS Client Service to succeed.<span
***************
*** 4411,4419 ****
  disabled on the machine, then communication with the AFS Client Service will be
  impossible.</p>
  
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc115417066"></a><a
! name="_Toc115416130"><span style='mso-bookmark:_Toc115417066'>3.24. OpenAFS
! binaries are digitally signed</span></a></h2>
  
  <p class=MsoNormal>The OpenAFS Client Service and related binaries distributed
  by OpenAFS.org are digitally signed by &quot;Secure Endpoints Inc.&quot;.<span
--- 4440,4449 ----
  disabled on the machine, then communication with the AFS Client Service will be
  impossible.</p>
  
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872195"></a><a
! name="_Toc115417066"></a><a name="_Toc115416130"><span style='mso-bookmark:
! _Toc115417066'><span style='mso-bookmark:_Toc126872195'>3.24. OpenAFS binaries
! are digitally signed</span></span></a></h2>
  
  <p class=MsoNormal>The OpenAFS Client Service and related binaries distributed
  by OpenAFS.org are digitally signed by &quot;Secure Endpoints Inc.&quot;.<span
***************
*** 4434,4442 ****
  registry value which can be used to disable the signature check.<span
  style='mso-spacerun:yes'>  </span>The file version check cannot be disabled.</p>
  
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc115417067"></a><a
! name="_Toc115416131"><span style='mso-bookmark:_Toc115417067'>3.25. Maximum
! Size of the AFSCache File</span></a></h2>
  
  <p class=MsoNormal>The maximum cache size is approximately 1.3GB.<span
  style='mso-spacerun:yes'>  </span>This is the largest contiguous block of
--- 4464,4473 ----
  registry value which can be used to disable the signature check.<span
  style='mso-spacerun:yes'>  </span>The file version check cannot be disabled.</p>
  
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872196"></a><a
! name="_Toc115417067"></a><a name="_Toc115416131"><span style='mso-bookmark:
! _Toc115417067'><span style='mso-bookmark:_Toc126872196'>3.25. Maximum Size of
! the AFSCache File</span></span></a></h2>
  
  <p class=MsoNormal>The maximum cache size is approximately 1.3GB.<span
  style='mso-spacerun:yes'>  </span>This is the largest contiguous block of
***************
*** 4446,4454 ****
  signature verification code, any attempt to specify a cache size greater then
  700MB will result in the automatic disabling of the signature check.</p>
  
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc115417068"></a><a
! name="_Toc115416132"><span style='mso-bookmark:_Toc115417068'>3.26. Filename
! Character Sets</span></a></h2>
  
  <p class=MsoNormal>OpenAFS for Windows implements an SMB server which is used
  as a gateway to the AFS filesystem.<span style='mso-spacerun:yes'> 
--- 4477,4486 ----
  signature verification code, any attempt to specify a cache size greater then
  700MB will result in the automatic disabling of the signature check.</p>
  
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872197"></a><a
! name="_Toc115417068"></a><a name="_Toc115416132"><span style='mso-bookmark:
! _Toc115417068'><span style='mso-bookmark:_Toc126872197'>3.26. Filename
! Character Sets</span></span></a></h2>
  
  <p class=MsoNormal>OpenAFS for Windows implements an SMB server which is used
  as a gateway to the AFS filesystem.<span style='mso-spacerun:yes'> 
***************
*** 4645,4653 ****
  prevent OpenAFS for Windows from being able to access filenames containing the
  above characters which were created without this setting.</p>
  
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc115417069"></a><a
! name="_Toc115416133"><span style='mso-bookmark:_Toc115417069'>3.27. Known
! Character Set Issues with Roaming Profiles</span></a></h2>
  
  <p class=MsoNormal>There is a known issue with storing Windows Roaming Profiles
  when the profile contains either directories or files with names which cannot
--- 4677,4686 ----
  prevent OpenAFS for Windows from being able to access filenames containing the
  above characters which were created without this setting.</p>
  
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872198"></a><a
! name="_Toc115417069"></a><a name="_Toc115416133"><span style='mso-bookmark:
! _Toc115417069'><span style='mso-bookmark:_Toc126872198'>3.27. Known Character
! Set Issues with Roaming Profiles</span></span></a></h2>
  
  <p class=MsoNormal>There is a known issue with storing Windows Roaming Profiles
  when the profile contains either directories or files with names which cannot
***************
*** 4658,4666 ****
  some sites run logoff scripts (assigned by group policy) which rename all files
  to use only the supported characters for the locale.</p>
  
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc115417070"></a><a
! name="_Toc115416134"><span style='mso-bookmark:_Toc115417070'>3.28. The
! AFSCache File</span></a></h2>
  
  <p class=MsoNormal>The AFS Cache file is stored by default at %TEMP%\AFSCache
  in a persistent file marked with the Hidden and System attributes. <span
--- 4691,4699 ----
  some sites run logoff scripts (assigned by group policy) which rename all files
  to use only the supported characters for the locale.</p>
  
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872199"></a><a
! name="_Toc115417070"></a><a name="_Toc115416134"><span style='mso-bookmark:
! _Toc115417070'><span style='mso-bookmark:_Toc126872199'>3.28. The AFSCache File</span></span></a></h2>
  
  <p class=MsoNormal>The AFS Cache file is stored by default at %TEMP%\AFSCache
  in a persistent file marked with the Hidden and System attributes. <span
***************
*** 4677,4685 ****
  style='mso-spacerun:yes'>   </span>Significant performance gains can be
  achieved by defragmenting the AFSCache file with Sysinternal's Contig utility.</p>
  
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc115417071"></a><a
! name="_Toc115416135"><span style='mso-bookmark:_Toc115417071'>3.29. Restricting
! OpenAFS Client Service Start and Stop</span></a></h2>
  
  <p class=MsoNormal>A new command line tool, afsdacl.exe, can be used to
  restrict the ability to start and stop the OpenAFS Client Service.</p>
--- 4710,4719 ----
  style='mso-spacerun:yes'>   </span>Significant performance gains can be
  achieved by defragmenting the AFSCache file with Sysinternal's Contig utility.</p>
  
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872200"></a><a
! name="_Toc115417071"></a><a name="_Toc115416135"><span style='mso-bookmark:
! _Toc115417071'><span style='mso-bookmark:_Toc126872200'>3.29. Restricting
! OpenAFS Client Service Start and Stop</span></span></a></h2>
  
  <p class=MsoNormal>A new command line tool, afsdacl.exe, can be used to
  restrict the ability to start and stop the OpenAFS Client Service.</p>
***************
*** 4704,4712 ****
  <p class=PreformattedText><span style='mso-spacerun:yes'>         
  </span>-show<span style='mso-spacerun:yes'>  </span>: Show current DACL (SDSF)</p>
  
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc115417072"></a><a
! name="_Toc115416136"><span style='mso-bookmark:_Toc115417072'>3.30. The @sys
! Name List</span></a></h2>
  
  <p class=MsoNormal>The default @sys name list in OpenAFS 1.4 is set to
  &quot;x86_win32 i386_w2k i386_nt40&quot; for 32-bit x86 systems.<span
--- 4738,4747 ----
  <p class=PreformattedText><span style='mso-spacerun:yes'>         
  </span>-show<span style='mso-spacerun:yes'>  </span>: Show current DACL (SDSF)</p>
  
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872201"></a><a
! name="_Toc115417072"></a><a name="_Toc115416136"><span style='mso-bookmark:
! _Toc115417072'><span style='mso-bookmark:_Toc126872201'>3.30. The @sys Name
! List</span></span></a></h2>
  
  <p class=MsoNormal>The default @sys name list in OpenAFS 1.4 is set to
  &quot;x86_win32 i386_w2k i386_nt40&quot; for 32-bit x86 systems.<span
***************
*** 4714,4730 ****
  &quot;ia64_win64&quot; and &quot;amd64_win64&quot; for amd 64-bit processors
  when those platforms are supported.</p>
  
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc115417073"></a><a
! name="_Toc115416137"><span style='mso-bookmark:_Toc115417073'>3.31. Symlinks to
! AFS UNC paths</span></a></h2>
  
  <p class=MsoNormal>In OpenAFS 1.4, symlinks to AFS UNC paths, \\AFS[\all]\...,
  are treated the same as symlinks to /afs/...<span style='mso-spacerun:yes'> 
  </span>However, please use /afs/... as the Windows UNC form will not work on UNIX.</p>
  
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc115417074"></a><a
! name="_Toc115416138"><span style='mso-bookmark:_Toc115417074'>3.32. Cache Manager
! Debugging Now Supported</span></a></h2>
  
  <p class=MsoNormal>OpenAFS for Windows 1.4 implements the Cache Manager
  Debugging RPC Interface.<span style='mso-spacerun:yes'>  </span>The CM debugger
--- 4749,4767 ----
  &quot;ia64_win64&quot; and &quot;amd64_win64&quot; for amd 64-bit processors
  when those platforms are supported.</p>
  
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872202"></a><a
! name="_Toc115417073"></a><a name="_Toc115416137"><span style='mso-bookmark:
! _Toc115417073'><span style='mso-bookmark:_Toc126872202'>3.31. Symlinks to AFS
! UNC paths</span></span></a></h2>
  
  <p class=MsoNormal>In OpenAFS 1.4, symlinks to AFS UNC paths, \\AFS[\all]\...,
  are treated the same as symlinks to /afs/...<span style='mso-spacerun:yes'> 
  </span>However, please use /afs/... as the Windows UNC form will not work on UNIX.</p>
  
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872203"></a><a
! name="_Toc115417074"></a><a name="_Toc115416138"><span style='mso-bookmark:
! _Toc115417074'><span style='mso-bookmark:_Toc126872203'>3.32. Cache Manager
! Debugging Now Supported</span></span></a></h2>
  
  <p class=MsoNormal>OpenAFS for Windows 1.4 implements the Cache Manager
  Debugging RPC Interface.<span style='mso-spacerun:yes'>  </span>The CM debugger
***************
*** 4746,4763 ****
  </span>-cache<span style='mso-spacerun:yes'>  </span>print only cache
  configuration</p>
  
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc115417075"></a><a
! name="_Toc115416139"><span style='mso-bookmark:_Toc115417075'>3.33. Windows
! Logon Caching vs. Kerberos Logons</span></a></h2>
  
  <p class=MsoNormal>If you are a site which utilizes MIT/Heimdal Kerberos
  principals to logon to Windows via a cross-realm relationship with a
  multi-domain Windows forest, you must enable Windows logon caching unless the
  workstation is Windows Vista Beta 1 or later.</p>
  
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc115417076"></a><a
! name="_Toc115416140"><span style='mso-bookmark:_Toc115417076'>3.34. Initial
! Server Preferences</span></a></h2>
  
  <p class=MsoNormal>VLDB and File Server Preferences can now be provided initial
  values using registry keys.<span style='mso-spacerun:yes'>  </span>This is
--- 4783,4802 ----
  </span>-cache<span style='mso-spacerun:yes'>  </span>print only cache
  configuration</p>
  
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872204"></a><a
! name="_Toc115417075"></a><a name="_Toc115416139"><span style='mso-bookmark:
! _Toc115417075'><span style='mso-bookmark:_Toc126872204'>3.33. Windows Logon
! Caching vs. Kerberos Logons</span></span></a></h2>
  
  <p class=MsoNormal>If you are a site which utilizes MIT/Heimdal Kerberos
  principals to logon to Windows via a cross-realm relationship with a
  multi-domain Windows forest, you must enable Windows logon caching unless the
  workstation is Windows Vista Beta 1 or later.</p>
  
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872205"></a><a
! name="_Toc115417076"></a><a name="_Toc115416140"><span style='mso-bookmark:
! _Toc115417076'><span style='mso-bookmark:_Toc126872205'>3.34. Initial Server
! Preferences</span></span></a></h2>
  
  <p class=MsoNormal>VLDB and File Server Preferences can now be provided initial
  values using registry keys.<span style='mso-spacerun:yes'>  </span>This is
***************
*** 4768,4776 ****
  href="oafw-1-4-release-notes.doc#_Regkey:_[HKLMSOFTWAREOpenAFSClie_2">Server
  Preferences</a>&quot; keys.</p>
  
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc115417077"></a><a
! name="_Toc115416141"><span style='mso-bookmark:_Toc115417077'>3.35. File
! Timestamps</span></a></h2>
  
  <p class=MsoNormal>OpenAFS 1.4 reports timestamps on files stored in AFS in UTC
  all year round.<span style='mso-spacerun:yes'>  </span>In locales with daylight
--- 4807,4815 ----
  href="oafw-1-4-release-notes.doc#_Regkey:_[HKLMSOFTWAREOpenAFSClie_2">Server
  Preferences</a>&quot; keys.</p>
  
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872206"></a><a
! name="_Toc115417077"></a><a name="_Toc115416141"><span style='mso-bookmark:
! _Toc115417077'><span style='mso-bookmark:_Toc126872206'>3.35. File Timestamps</span></span></a></h2>
  
  <p class=MsoNormal>OpenAFS 1.4 reports timestamps on files stored in AFS in UTC
  all year round.<span style='mso-spacerun:yes'>  </span>In locales with daylight
***************
*** 4794,4802 ****
  </span>During DST, these two times will no longer agree even though they are in
  fact representing the same moment in time.</p>
  
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc115417078"></a><a
! name="_Toc115416142"><span style='mso-bookmark:_Toc115417078'>3.36. Windows RPC
! client support must be installed</span></a> </h2>
  
  <p class=MsoNormal>If the installer refuses to install and complains about an
  RPC configuration error, check to ensure that the following registry entries
--- 4833,4842 ----
  </span>During DST, these two times will no longer agree even though they are in
  fact representing the same moment in time.</p>
  
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872207"></a><a
! name="_Toc115417078"></a><a name="_Toc115416142"><span style='mso-bookmark:
! _Toc115417078'><span style='mso-bookmark:_Toc126872207'>3.36. Windows RPC
! client support must be installed</span></span></a> </h2>
  
  <p class=MsoNormal>If the installer refuses to install and complains about an
  RPC configuration error, check to ensure that the following registry entries
***************
*** 4814,4822 ****
  <p class=PreformattedText><span style='mso-spacerun:yes'>   </span>HKLM
  &quot;SOFTWARE\Microsoft\RPC\ClientProtocols&quot; &quot;ncacn_http&quot;</p>
  
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc115417079"></a><a
! name="_Toc115416143"><span style='mso-bookmark:_Toc115417079'>3.37. Generating
! Minidumps of the OpenAFS Client Service</span></a></h2>
  
  <p class=MsoNormal>OpenAFS 1.4 adds a new command, &quot;fs
  minidump&quot;.<span style='mso-spacerun:yes'>  </span>This command can be used
--- 4854,4863 ----
  <p class=PreformattedText><span style='mso-spacerun:yes'>   </span>HKLM
  &quot;SOFTWARE\Microsoft\RPC\ClientProtocols&quot; &quot;ncacn_http&quot;</p>
  
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872208"></a><a
! name="_Toc115417079"></a><a name="_Toc115416143"><span style='mso-bookmark:
! _Toc115417079'><span style='mso-bookmark:_Toc126872208'>3.37. Generating
! Minidumps of the OpenAFS Client Service</span></span></a></h2>
  
  <p class=MsoNormal>OpenAFS 1.4 adds a new command, &quot;fs
  minidump&quot;.<span style='mso-spacerun:yes'>  </span>This command can be used
***************
*** 4825,4833 ****
  can be very helpful when debugging the AFS Client Service when it is
  unresponsive to SMB/CIFS requests.</p>
  
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc115417080"></a><a
! name="_Toc115416144"><span style='mso-bookmark:_Toc115417080'>3.38. AFS Client
! Universally Unique Identifiers</span></a></h2>
  
  <p class=MsoNormal>The OpenAFS for Windows 1.4 client implements Universally
  Unique Identifiers (UUIDs).<span style='mso-spacerun:yes'>  </span>They are
--- 4866,4875 ----
  can be very helpful when debugging the AFS Client Service when it is
  unresponsive to SMB/CIFS requests.</p>
  
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872209"></a><a
! name="_Toc115417080"></a><a name="_Toc115416144"><span style='mso-bookmark:
! _Toc115417080'><span style='mso-bookmark:_Toc126872209'>3.38. AFS Client
! Universally Unique Identifiers</span></span></a></h2>
  
  <p class=MsoNormal>The OpenAFS for Windows 1.4 client implements Universally
  Unique Identifiers (UUIDs).<span style='mso-spacerun:yes'>  </span>They are
***************
*** 4840,4862 ****
  client installed, the AFSCache files must be deleted as part of the cloning
  process.</p>
  
! <h1 style='margin-left:0pt;text-indent:0pt'><a name="_Toc115417112"></a><a
! name="_Toc115417081"></a><a name="_Toc115416145"><span style='mso-bookmark:
! _Toc115417081'><span style='mso-bookmark:_Toc115417112'>4. How to Debug
! Problems with OpenAFS for Windows:</span></span></a></h1>
  
  <p class=MsoNormal>OpenAFS for Windows provides a wide range of tools to assist
  you in debugging problems.<span style='mso-spacerun:yes'>  </span>The
  techniques available to you are varied because of the wide range of issues that
  have been discovered over the years.</p>
  
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc115417082"></a><a
! name="_Toc115416146"><span style='mso-bookmark:_Toc115417082'>4.1. pioctl
! debugging (</span></a><a href="oafw-1-4-release-notes.doc#_Value___: IoctlDebug"><span
! style='mso-bookmark:_Toc115416146'><span style='mso-bookmark:_Toc115417082'>IoctlDebug</span></span><span
! style='mso-bookmark:_Toc115416146'><span style='mso-bookmark:_Toc115417082'></span></span></a><span
! style='mso-bookmark:_Toc115416146'><span style='mso-bookmark:_Toc115417082'>
! registry key)</span></span></h2>
  
  <p class=MsoNormal>pioctl (path-based ioctl) calls are used by various tools to
  communicate with the AFS Client Service.<span style='mso-spacerun:yes'> 
--- 4882,4907 ----
  client installed, the AFSCache files must be deleted as part of the cloning
  process.</p>
  
! <h1 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872210"></a><a
! name="_Toc115417112"></a><a name="_Toc115417081"></a><a name="_Toc115416145"><span
! style='mso-bookmark:_Toc115417081'><span style='mso-bookmark:_Toc115417112'><span
! style='mso-bookmark:_Toc126872210'>4. How to Debug Problems with OpenAFS for
! Windows:</span></span></span></a></h1>
  
  <p class=MsoNormal>OpenAFS for Windows provides a wide range of tools to assist
  you in debugging problems.<span style='mso-spacerun:yes'>  </span>The
  techniques available to you are varied because of the wide range of issues that
  have been discovered over the years.</p>
  
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872211"></a><a
! name="_Toc115417082"></a><a name="_Toc115416146"><span style='mso-bookmark:
! _Toc115417082'><span style='mso-bookmark:_Toc126872211'>4.1. pioctl debugging (</span></span></a><a
! href="oafw-1-4-release-notes.doc#_Value___: IoctlDebug"><span style='mso-bookmark:
! _Toc115416146'><span style='mso-bookmark:_Toc115417082'><span style='mso-bookmark:
! _Toc126872211'>IoctlDebug</span></span></span><span style='mso-bookmark:_Toc115416146'><span
! style='mso-bookmark:_Toc115417082'><span style='mso-bookmark:_Toc126872211'></span></span></span></a><span
! style='mso-bookmark:_Toc115416146'><span style='mso-bookmark:_Toc115417082'><span
! style='mso-bookmark:_Toc126872211'> registry key)</span></span></span></h2>
  
  <p class=MsoNormal>pioctl (path-based ioctl) calls are used by various tools to
  communicate with the AFS Client Service.<span style='mso-spacerun:yes'> 
***************
*** 4944,4952 ****
  KnowledgeBase can be used as a reference to help you determine the
  configuration probem with your system.</p>
  
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc115417083"></a><a
! name="_Toc115416147"><span style='mso-bookmark:_Toc115417083'>4.2. afsd_service
! initialization log (%WinDir%\TEMP\afsd_init.log)</span></a></h2>
  
  <p class=MsoNormal>Every time the AFS Client Service starts it appends data
  about its progress and configuration to a file.<span style='mso-spacerun:yes'> 
--- 4989,4998 ----
  KnowledgeBase can be used as a reference to help you determine the
  configuration probem with your system.</p>
  
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872212"></a><a
! name="_Toc115417083"></a><a name="_Toc115416147"><span style='mso-bookmark:
! _Toc115417083'><span style='mso-bookmark:_Toc126872212'>4.2. afsd_service
! initialization log (%WinDir%\TEMP\afsd_init.log)</span></span></a></h2>
  
  <p class=MsoNormal>Every time the AFS Client Service starts it appends data
  about its progress and configuration to a file.<span style='mso-spacerun:yes'> 
***************
*** 4968,4976 ****
  style='mso-spacerun:yes'>  </span>If value is set to 0, the file will be
  allowed to grow indefinitely.</p>
  
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc115417084"></a><a
! name="_Toc115416148"><span style='mso-bookmark:_Toc115417084'>4.3. afsd_service
! debug logs (fs trace {-on, -off, -dump} -&gt;%WinDir%\TEMP\afsd.log)</span></a></h2>
  
  <p class=MsoNormal>When attempting to debug the behavior of the SMB/CIFS Server
  and the Cache Manager it is often useful to examine a log of the operations
--- 5014,5023 ----
  style='mso-spacerun:yes'>  </span>If value is set to 0, the file will be
  allowed to grow indefinitely.</p>
  
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872213"></a><a
! name="_Toc115417084"></a><a name="_Toc115416148"><span style='mso-bookmark:
! _Toc115417084'><span style='mso-bookmark:_Toc126872213'>4.3. afsd_service debug
! logs (fs trace {-on, -off, -dump} -&gt;%WinDir%\TEMP\afsd.log)</span></span></a></h2>
  
  <p class=MsoNormal>When attempting to debug the behavior of the SMB/CIFS Server
  and the Cache Manager it is often useful to examine a log of the operations
***************
*** 4992,5000 ****
  to clear to the log and &quot;fs trace -dump&quot; to output the contents of
  the log to the file.</p>
  
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc115417085"></a><a
! name="_Toc115416149"><span style='mso-bookmark:_Toc115417085'>4.4. Using
! SysInternal’s DbgView and FileMon Tools</span></a></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 such as
--- 5039,5048 ----
  to clear to the log and &quot;fs trace -dump&quot; to output the contents of
  the log to the file.</p>
  
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872214"></a><a
! name="_Toc115417085"></a><a name="_Toc115416149"><span style='mso-bookmark:
! _Toc115417085'><span style='mso-bookmark:_Toc126872214'>4.4. Using
! SysInternal’s DbgView and FileMon Tools</span></span></a></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 such as
***************
*** 5026,5035 ****
  style='mso-spacerun:yes'>   </span>The captured data can be stored to files for
  inclusion in bug reports.</p>
  
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc115417086"></a><a
! name="_Toc115416150"><span style='mso-bookmark:_Toc115417086'>4.5. Microsoft
  MiniDumps <br>
! (fs minidump -&gt; %WinDir%\TEMP\afsd.dmp)</span></a></h2>
  
  <p class=MsoNormal>If the AFS Client Service become unresponsive to any form of
  communication there may be a serious error that can only be debugged by someone
--- 5074,5084 ----
  style='mso-spacerun:yes'>   </span>The captured data can be stored to files for
  inclusion in bug reports.</p>
  
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872215"></a><a
! name="_Toc115417086"></a><a name="_Toc115416150"><span style='mso-bookmark:
! _Toc115417086'><span style='mso-bookmark:_Toc126872215'>4.5. Microsoft
  MiniDumps <br>
! (fs minidump -&gt; %WinDir%\TEMP\afsd.dmp)</span></span></a></h2>
  
  <p class=MsoNormal>If the AFS Client Service become unresponsive to any form of
  communication there may be a serious error that can only be debugged by someone
***************
*** 5038,5046 ****
  of a MiniDump file containing the state of all of the threads in the AFS Client
  Service process.</p>
  
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc115417087"></a><a
! name="_Toc115416151"><span style='mso-bookmark:_Toc115417087'>4.6. Single
! Sign-on (Integrated Logon) debugging</span></a></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
--- 5087,5096 ----
  of a MiniDump file containing the state of all of the threads in the AFS Client
  Service process.</p>
  
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872216"></a><a
! name="_Toc115417087"></a><a name="_Toc115416151"><span style='mso-bookmark:
! _Toc115417087'><span style='mso-bookmark:_Toc126872216'>4.6. Single Sign-on (Integrated
! Logon) debugging</span></span></a></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
***************
*** 5058,5066 ****
  Event Handlers to log information to the Windows Event Log: Application under
  the name “AFS Logon&quot;.</p>
  
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc115417088"></a><a
! name="_Toc115416152"><span style='mso-bookmark:_Toc115417088'>4.7. RX (AFS RPC)
! debugging (rxdebug)</span></a></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.<span
--- 5108,5117 ----
  Event Handlers to log information to the Windows Event Log: Application under
  the name “AFS Logon&quot;.</p>
  
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872217"></a><a
! name="_Toc115417088"></a><a name="_Toc115416152"><span style='mso-bookmark:
! _Toc115417088'><span style='mso-bookmark:_Toc126872217'>4.7. RX (AFS RPC)
! debugging (rxdebug)</span></span></a></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.<span
***************
*** 5117,5125 ****
  <p class=PreformattedText><span style='mso-spacerun:yes'>      
  </span>-peers<span style='mso-spacerun:yes'>           </span>show peers</p>
  
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc115417089"></a><a
! name="_Toc115416153"><span style='mso-bookmark:_Toc115417089'>4.8. Cache
! Manager debugging (cmdebug)</span></a></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>
--- 5168,5177 ----
  <p class=PreformattedText><span style='mso-spacerun:yes'>      
  </span>-peers<span style='mso-spacerun:yes'>           </span>show peers</p>
  
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872218"></a><a
! name="_Toc115417089"></a><a name="_Toc115416153"><span style='mso-bookmark:
! _Toc115417089'><span style='mso-bookmark:_Toc126872218'>4.8. Cache Manager
! debugging (cmdebug)</span></span></a></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>
***************
*** 5150,5158 ****
  </span>-cache<span style='mso-spacerun:yes'>      </span>print only cache
  configuration</p>
  
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc115417090"></a><a
! name="_Toc115416154"><span style='mso-bookmark:_Toc115417090'>4.9. Persistent
! Cache consistency check</span></a></h2>
  
  <p class=MsoNormal>The persistent cache is stored in a Hidden System file at
  %WinDir%\TEMP\AFSCache.<span style='mso-spacerun:yes'>  </span>If there is a
--- 5202,5211 ----
  </span>-cache<span style='mso-spacerun:yes'>      </span>print only cache
  configuration</p>
  
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872219"></a><a
! name="_Toc115417090"></a><a name="_Toc115416154"><span style='mso-bookmark:
! _Toc115417090'><span style='mso-bookmark:_Toc126872219'>4.9. Persistent Cache
! consistency check</span></span></a></h2>
  
  <p class=MsoNormal>The persistent cache is stored in a Hidden System file at
  %WinDir%\TEMP\AFSCache.<span style='mso-spacerun:yes'>  </span>If there is a
***************
*** 5162,5170 ****
  <p class=PreformattedText><span style='mso-spacerun:yes'> 
  </span>afsd_service.exe --validate-cache &lt;cache-path&gt;</p>
  
! <h1 style='margin-left:0pt;text-indent:0pt'><a name="_Toc115417113"></a><a
! name="_Toc115417091"></a><a name="_Toc115416155"><span style='mso-bookmark:
! _Toc115417091'><span style='mso-bookmark:_Toc115417113'>5. Reporting Bugs:</span></span></a></h1>
  
  <p class=MsoNormal>Bug reports should be sent to <a
  href="mailto:openafs-bugs@openafs.org?subject=Bug%20Report">openafs-bugs@openafs.org</a>.<span
--- 5215,5224 ----
  <p class=PreformattedText><span style='mso-spacerun:yes'> 
  </span>afsd_service.exe --validate-cache &lt;cache-path&gt;</p>
  
! <h1 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872220"></a><a
! name="_Toc115417113"></a><a name="_Toc115417091"></a><a name="_Toc115416155"><span
! style='mso-bookmark:_Toc115417091'><span style='mso-bookmark:_Toc115417113'><span
! style='mso-bookmark:_Toc126872220'>5. Reporting Bugs:</span></span></span></a></h1>
  
  <p class=MsoNormal>Bug reports should be sent to <a
  href="mailto:openafs-bugs@openafs.org?subject=Bug%20Report">openafs-bugs@openafs.org</a>.<span
***************
*** 5273,5291 ****
  <p class=MsoNormal>When reporting a error, please be sure to include the
  version of OpenAFS.</p>
  
! <h1 style='margin-left:0pt;text-indent:0pt'><a name="_Toc115417114"></a><a
! name="_Toc115417092"></a><a name="_Toc115416156"><span style='mso-bookmark:
! _Toc115417092'><span style='mso-bookmark:_Toc115417114'>6. How to Contribute to
! the Development of OpenAFS for Windows</span></span></a></h1>
  
  <p class=MsoNormal>Contributions to the development of OpenAFS for Windows are
  continuously needed.<span style='mso-spacerun:yes'>  </span>Contributions may
  take many forms including cash donations, support contracts, donated developer
  time, and even donated tech writer time.</p>
  
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc115417093"></a><a
! name="_Toc115416157"><span style='mso-bookmark:_Toc115417093'>6.1. The USENIX
! OpenAFS Fund</span></a> </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
--- 5327,5347 ----
  <p class=MsoNormal>When reporting a error, please be sure to include the
  version of OpenAFS.</p>
  
! <h1 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872221"></a><a
! name="_Toc115417114"></a><a name="_Toc115417092"></a><a name="_Toc115416156"><span
! style='mso-bookmark:_Toc115417092'><span style='mso-bookmark:_Toc115417114'><span
! style='mso-bookmark:_Toc126872221'>6. How to Contribute to the Development of
! OpenAFS for Windows</span></span></span></a></h1>
  
  <p class=MsoNormal>Contributions to the development of OpenAFS for Windows are
  continuously needed.<span style='mso-spacerun:yes'>  </span>Contributions may
  take many forms including cash donations, support contracts, donated developer
  time, and even donated tech writer time.</p>
  
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872222"></a><a
! name="_Toc115417093"></a><a name="_Toc115416157"><span style='mso-bookmark:
! _Toc115417093'><span style='mso-bookmark:_Toc126872222'>6.1. The USENIX OpenAFS
! Fund</span></span></a> </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
***************
*** 5322,5329 ****
  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 style='margin-left:0pt;text-indent:0pt'><a name="_Toc115417094"><span
! style='mso-fareast-language:JA'>6.2. Secure Endpoints Inc.</span></a><span
  style='mso-fareast-language:JA'> <o:p></o:p></span></h2>
  
  <p class=MsoBodyText><span style='mso-fareast-language:JA'><a
--- 5378,5386 ----
  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 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872223"></a><a
! name="_Toc115417094"><span style='mso-bookmark:_Toc126872223'><span
! style='mso-fareast-language:JA'>6.2. Secure Endpoints Inc.</span></span></a><span
  style='mso-fareast-language:JA'> <o:p></o:p></span></h2>
  
  <p class=MsoBodyText><span style='mso-fareast-language:JA'><a
***************
*** 5343,5350 ****
  Inc. provides contract based support for the OpenAFS for Windows and the MIT
  Kerberos for Windows products. <o:p></o:p></span></p>
  
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc115417095"><span
! style='mso-fareast-language:JA'>6.3. The MIT Kerberos Account</span></a><span
  style='mso-fareast-language:JA'> <o:p></o:p></span></h2>
  
  <p class=MsoNormal style='margin:0pt;margin-bottom:.0001pt;mso-pagination:widow-orphan;
--- 5400,5408 ----
  Inc. provides contract based support for the OpenAFS for Windows and the MIT
  Kerberos for Windows products. <o:p></o:p></span></p>
  
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872224"></a><a
! name="_Toc115417095"><span style='mso-bookmark:_Toc126872224'><span
! style='mso-fareast-language:JA'>6.3. The MIT Kerberos Account</span></span></a><span
  style='mso-fareast-language:JA'> <o:p></o:p></span></h2>
  
  <p class=MsoNormal style='margin:0pt;margin-bottom:.0001pt;mso-pagination:widow-orphan;
***************
*** 5362,5370 ****
  management. <span style='mso-spacerun:yes'> </span>Future releases of both
  products will share a common identity management user interface. <o:p></o:p></span></p>
  
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc115417096"><span
  style='mso-fareast-language:JA'>6.4. Direct contributions of code and/or
! documentation</span></a><span style='mso-fareast-language:JA'> <o:p></o:p></span></h2>
  
  <p class=MsoBodyText><span style='mso-fareast-language:JA'>Organizations that
  use OpenAFS in house and have development staffs are encouraged to contribute
--- 5420,5429 ----
  management. <span style='mso-spacerun:yes'> </span>Future releases of both
  products will share a common identity management user interface. <o:p></o:p></span></p>
  
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872225"></a><a
! name="_Toc115417096"><span style='mso-bookmark:_Toc126872225'><span
  style='mso-fareast-language:JA'>6.4. Direct contributions of code and/or
! documentation</span></span></a><span style='mso-fareast-language:JA'> <o:p></o:p></span></h2>
  
  <p class=MsoBodyText><span style='mso-fareast-language:JA'>Organizations that
  use OpenAFS in house and have development staffs are encouraged to contribute
***************
*** 5372,5379 ****
  <span style='mso-spacerun:yes'> </span>Contributions of documentation are
  highly desired. <o:p></o:p></span></p>
  
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc115417097">6.5.
! OpenAFS for Windows Mailing Lists</a></h2>
  
  <p class=MsoNormal>If you wish to participate in OpenAFS for Windows
  development please join the <i><a
--- 5431,5439 ----
  <span style='mso-spacerun:yes'> </span>Contributions of documentation are
  highly desired. <o:p></o:p></span></p>
  
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872226"></a><a
! name="_Toc115417097"><span style='mso-bookmark:_Toc126872226'>6.5. OpenAFS for
! Windows Mailing Lists</span></a></h2>
  
  <p class=MsoNormal>If you wish to participate in OpenAFS for Windows
  development please join the <i><a
***************
*** 5391,5403 ****
  <p class=MsoNormal>You must join the mailing lists if you wish to post to the
  list without incurring a moderation delay.</p>
  
! <h1 style='margin-left:0pt;text-indent:0pt'><a name="_Toc115417115"></a><a
! name="_Toc115417098"></a><a name="_Toc115416158"></a><a
  name="_MSI_Deployment_Guide"></a><![if !supportLists]><span style='mso-bookmark:
! _Toc115417115'><span style='mso-bookmark:_Toc115417098'><span style='mso-bookmark:
! _Toc115416158'></span></span></span><![endif]><span style='mso-bookmark:_Toc115417115'><span
  style='mso-bookmark:_Toc115417098'><span style='mso-bookmark:_Toc115416158'>7. MSI
! Deployment Guide</span></span></span></h1>
  
  </div>
  
--- 5451,5464 ----
  <p class=MsoNormal>You must join the mailing lists if you wish to post to the
  list without incurring a moderation delay.</p>
  
! <h1 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872227"></a><a
! name="_Toc115417115"></a><a name="_Toc115417098"></a><a name="_Toc115416158"></a><a
  name="_MSI_Deployment_Guide"></a><![if !supportLists]><span style='mso-bookmark:
! _Toc126872227'><span style='mso-bookmark:_Toc115417115'><span style='mso-bookmark:
! _Toc115417098'><span style='mso-bookmark:_Toc115416158'></span></span></span></span><![endif]><span
! style='mso-bookmark:_Toc126872227'><span style='mso-bookmark:_Toc115417115'><span
  style='mso-bookmark:_Toc115417098'><span style='mso-bookmark:_Toc115416158'>7. MSI
! Deployment Guide</span></span></span></span></h1>
  
  </div>
  
***************
*** 5409,5416 ****
  
  <div class=Section2>
  
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc115417099"></a><a
! name="_Toc115416159"><span style='mso-bookmark:_Toc115417099'>7.1. Introduction</span></a></h2>
  
  <p class=MsoNormal>A MSI installer option is available for those who wish to
  use Windows Installer for installing OpenAFS and for organizations that wish to
--- 5470,5478 ----
  
  <div class=Section2>
  
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872228"></a><a
! name="_Toc115417099"></a><a name="_Toc115416159"><span style='mso-bookmark:
! _Toc115417099'><span style='mso-bookmark:_Toc126872228'>7.1. Introduction</span></span></a></h2>
  
  <p class=MsoNormal>A MSI installer option is available for those who wish to
  use Windows Installer for installing OpenAFS and for organizations that wish to
***************
*** 5425,5432 ****
  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 style='margin-left:0pt;text-indent:0pt'><a name="_Toc115416160">7.1.1
! Requirements</a></h3>
  
  <p class=MsoNormal>The information in this document applies to MSI packages
  distributed with OpenAFS for Windows releases from 1.3.65 and onwards or MSI
--- 5487,5495 ----
  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 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872229"></a><a
! name="_Toc115416160"><span style='mso-bookmark:_Toc126872229'>7.1.1
! Requirements</span></a></h3>
  
  <p class=MsoNormal>The information in this document applies to MSI packages
  distributed with OpenAFS for Windows releases from 1.3.65 and onwards or MSI
***************
*** 5465,5472 ****
  <p class=MsoNormal><span style='mso-spacerun:yes'>    </span><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 style='margin-left:0pt;text-indent:0pt'><a name="_Toc115416161">7.1.2 Authoring
! a Transform</a></h3>
  
  <p class=MsoNormal>Transforms describe a set of modifications to be performed
  on an existing MSI for the purpose of customizing it.<span
--- 5528,5536 ----
  <p class=MsoNormal><span style='mso-spacerun:yes'>    </span><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 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872230"></a><a
! name="_Toc115416161"><span style='mso-bookmark:_Toc126872230'>7.1.2 Authoring a
! Transform</span></a></h3>
  
  <p class=MsoNormal>Transforms describe a set of modifications to be performed
  on an existing MSI for the purpose of customizing it.<span
***************
*** 5523,5531 ****
  the MSI databases directly when editing openafs-modified.msi.<span
  style='mso-spacerun:yes'>  </span>More details are given below.</p>
  
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc115417100"></a><a
! name="_Toc115416162"><span style='mso-bookmark:_Toc115417100'>7.2. Configuration
! Options</span></a></h2>
  
  <p class=MsoNormal>The logic necessary to implement many of the settings
  described in <a href="oafw-1-4-release-notes.doc#_Appendix_A:_Registry_Values">Appendix
--- 5587,5596 ----
  the MSI databases directly when editing openafs-modified.msi.<span
  style='mso-spacerun:yes'>  </span>More details are given below.</p>
  
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872231"></a><a
! name="_Toc115417100"></a><a name="_Toc115416162"><span style='mso-bookmark:
! _Toc115417100'><span style='mso-bookmark:_Toc126872231'>7.2. Configuration
! Options</span></span></a></h2>
  
  <p class=MsoNormal>The logic necessary to implement many of the settings
  described in <a href="oafw-1-4-release-notes.doc#_Appendix_A:_Registry_Values">Appendix
***************
*** 5536,5543 ****
  resources (like files or registry keys).<span style='mso-spacerun:yes'> 
  </span>Instructions for performing these tasks are below.</p>
  
! <h3 style='margin-left:0pt;text-indent:0pt'><a name="_Toc115416163">7.2.1
! Configurable Properties</a></h3>
  
  <p class=MsoNormal>Most configurable properties correspond to registry keys or
  values.<span style='mso-spacerun:yes'>  </span>Due to the logic invoked based
--- 5601,5609 ----
  resources (like files or registry keys).<span style='mso-spacerun:yes'> 
  </span>Instructions for performing these tasks are below.</p>
  
! <h3 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872232"></a><a
! name="_Toc115416163"><span style='mso-bookmark:_Toc126872232'>7.2.1
! Configurable Properties</span></a></h3>
  
  <p class=MsoNormal>Most configurable properties correspond to registry keys or
  values.<span style='mso-spacerun:yes'>  </span>Due to the logic invoked based
***************
*** 5565,5571 ****
  
  <p class=MsoNormal>Numeric values should be authored as decimal strings.</p>
  
! <h4><a name="_Toc115416164">7.2.1.1 Setting Properties</a></h4>
  
  <p class=MsoNormal>In order to set a property,</p>
  
--- 5631,5638 ----
  
  <p class=MsoNormal>Numeric values should be authored as decimal strings.</p>
  
! <h4><a name="_Toc126872233"></a><a name="_Toc115416164"><span style='mso-bookmark:
! _Toc126872233'>7.2.1.1 Setting Properties</span></a></h4>
  
  <p class=MsoNormal>In order to set a property,</p>
  
***************
*** 5601,5640 ****
  list, right click the list and select 'Add Row', type the property name and the
  desired value.</p>
  
! <h4><a name="_Toc115416165">7.2.1.2 OpenAFS for Windows Properties</a></h4>
  
  <table class=MsoTableWeb1 border=1 cellspacing=3 cellpadding=0
   style='mso-cellspacing:2.0pt;mso-yfti-tbllook:480;mso-padding-alt:0pt 5.4pt 0pt 5.4pt;
   mso-border-insideh:.75pt outset windowtext;mso-border-insidev:.75pt outset windowtext'>
   <tr style='mso-yfti-irow:-1;mso-yfti-firstrow:yes'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <h5 style='mso-outline-level:5;mso-yfti-cnfc:1'><a name="_Toc115416166"></a><a
!   name="_(Service_parameters):"></a><span style='mso-bookmark:_Toc115416166'>(Service
!   parameters):</span></h5>
    <p class=ListContents style='margin-left:0pt;mso-yfti-cnfc:1'>[HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters]<span
    style='mso-bidi-language:#00FF'><o:p></o:p></span></p>
    </td>
   </tr>
   <tr style='mso-yfti-irow:0'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <h5 style='mso-outline-level:5'><a name="_Toc115416167"></a><a
!   name="_(Network_provider):"></a><span style='mso-bookmark:_Toc115416167'>(Network
!   provider):</span></h5>
    <p class=ListContents style='margin-left:0pt'>[HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider]</p>
    </td>
   </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 style='mso-outline-level:5'><a name="_Toc115416168"></a><a
!   name="_(OpenAFS_Client):"></a><span style='mso-bookmark:_Toc115416168'>(OpenAFS
!   Client):</span></h5>
    <p class=ListContents style='margin-left:0pt'>[HKLM\SOFTWARE\OpenAFS\Client]<span
    style='mso-bidi-language:#00FF'><o:p></o:p></span></p>
    </td>
   </tr>
  </table>
  
! <h5><a name="_Toc115416169">7.2.1.2.1 Registry Properties</a></h5>
  
  <p class=MsoNormal>These properties are used to set the values of registry
  entries associated with OpenAFS for Windows.</p>
--- 5668,5712 ----
  list, right click the list and select 'Add Row', type the property name and the
  desired value.</p>
  
! <h4><a name="_Toc126872234"></a><a name="_Toc115416165"><span style='mso-bookmark:
! _Toc126872234'>7.2.1.2 OpenAFS for Windows Properties</span></a></h4>
  
  <table class=MsoTableWeb1 border=1 cellspacing=3 cellpadding=0
   style='mso-cellspacing:2.0pt;mso-yfti-tbllook:480;mso-padding-alt:0pt 5.4pt 0pt 5.4pt;
   mso-border-insideh:.75pt outset windowtext;mso-border-insidev:.75pt outset windowtext'>
   <tr style='mso-yfti-irow:-1;mso-yfti-firstrow:yes'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <h5 style='mso-outline-level:5;mso-yfti-cnfc:1'><a name="_Toc126872235"></a><a
!   name="_Toc115416166"></a><a name="_(Service_parameters):"></a><span
!   style='mso-bookmark:_Toc126872235'><span style='mso-bookmark:_Toc115416166'>(Service
!   parameters):</span></span></h5>
    <p class=ListContents style='margin-left:0pt;mso-yfti-cnfc:1'>[HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters]<span
    style='mso-bidi-language:#00FF'><o:p></o:p></span></p>
    </td>
   </tr>
   <tr style='mso-yfti-irow:0'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <h5 style='mso-outline-level:5'><a name="_Toc126872236"></a><a
!   name="_Toc115416167"></a><a name="_(Network_provider):"></a><span
!   style='mso-bookmark:_Toc126872236'><span style='mso-bookmark:_Toc115416167'>(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:1;mso-yfti-lastrow:yes'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <h5 style='mso-outline-level:5'><a name="_Toc126872237"></a><a
!   name="_Toc115416168"></a><a name="_(OpenAFS_Client):"></a><span
!   style='mso-bookmark:_Toc126872237'><span style='mso-bookmark:_Toc115416168'>(OpenAFS
!   Client):</span></span></h5>
    <p class=ListContents style='margin-left:0pt'>[HKLM\SOFTWARE\OpenAFS\Client]<span
    style='mso-bidi-language:#00FF'><o:p></o:p></span></p>
    </td>
   </tr>
  </table>
  
! <h5><a name="_Toc126872238"></a><a name="_Toc115416169"><span style='mso-bookmark:
! _Toc126872238'>7.2.1.2.1 Registry Properties</span></a></h5>
  
  <p class=MsoNormal>These properties are used to set the values of registry
  entries associated with OpenAFS for Windows.</p>
***************
*** 5644,5650 ****
   mso-border-insideh:.75pt outset windowtext;mso-border-insidev:.75pt outset windowtext'>
   <tr style='mso-yfti-irow:-1;mso-yfti-firstrow:yes'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <h6 style='mso-outline-level:6;mso-yfti-cnfc:1'><a name="_Toc115416170">AFSCACHEPATH</a></h6>
    <p class=MsoList style='mso-yfti-cnfc:1'>Registry key<span
    style='mso-spacerun:yes'>    </span>: <a
    href="oafw-1-4-release-notes.doc#_(Service_parameters):">(Service parameters)</a></p>
--- 5716,5723 ----
   mso-border-insideh:.75pt outset windowtext;mso-border-insidev:.75pt outset windowtext'>
   <tr style='mso-yfti-irow:-1;mso-yfti-firstrow:yes'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <h6 style='mso-outline-level:6;mso-yfti-cnfc:1'><a name="_Toc126872239"></a><a
!   name="_Toc115416170"><span style='mso-bookmark:_Toc126872239'>AFSCACHEPATH</span></a></h6>
    <p class=MsoList style='mso-yfti-cnfc:1'>Registry key<span
    style='mso-spacerun:yes'>    </span>: <a
    href="oafw-1-4-release-notes.doc#_(Service_parameters):">(Service parameters)</a></p>
***************
*** 5656,5662 ****
   </tr>
   <tr style='mso-yfti-irow:0'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <h6 style='mso-outline-level:6'><a name="_Toc115416171">AFSCACHESIZE</a></h6>
    <p class=MsoList>Registry key<span style='mso-spacerun:yes'>    </span>: <a
    href="oafw-1-4-release-notes.doc#_(Service_parameters):">(Service parameters)</a></p>
    <p class=MsoList>Registry value : <a
--- 5729,5736 ----
   </tr>
   <tr style='mso-yfti-irow:0'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <h6 style='mso-outline-level:6'><a name="_Toc126872240"></a><a
!   name="_Toc115416171"><span style='mso-bookmark:_Toc126872240'>AFSCACHESIZE</span></a></h6>
    <p class=MsoList>Registry key<span style='mso-spacerun:yes'>    </span>: <a
    href="oafw-1-4-release-notes.doc#_(Service_parameters):">(Service parameters)</a></p>
    <p class=MsoList>Registry value : <a
***************
*** 5667,5673 ****
   </tr>
   <tr style='mso-yfti-irow:1'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <h6 style='mso-outline-level:6'><a name="_Toc115416172">AFSCELLNAME</a></h6>
    <p class=MsoList>Registry key<span style='mso-tab-count:1'>    </span>: <a
    href="oafw-1-4-release-notes.doc#_(Service_parameters):">(Service parameters)</a></p>
    <p class=MsoList>Registry value<span style='mso-tab-count:1'> </span>: <a
--- 5741,5748 ----
   </tr>
   <tr style='mso-yfti-irow:1'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <h6 style='mso-outline-level:6'><a name="_Toc126872241"></a><a
!   name="_Toc115416172"><span style='mso-bookmark:_Toc126872241'>AFSCELLNAME</span></a></h6>
    <p class=MsoList>Registry key<span style='mso-tab-count:1'>    </span>: <a
    href="oafw-1-4-release-notes.doc#_(Service_parameters):">(Service parameters)</a></p>
    <p class=MsoList>Registry value<span style='mso-tab-count:1'> </span>: <a
***************
*** 5678,5684 ****
   </tr>
   <tr style='mso-yfti-irow:2'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <h6 style='mso-outline-level:6'><a name="_Toc115416173">FREELANCEMODE</a></h6>
    <p class=MsoList>Registry key<span style='mso-tab-count:1'>    </span>: <a
    href="oafw-1-4-release-notes.doc#_(Service_parameters):">(Service parameters)</a></p>
    <p class=MsoList>Registry value<span style='mso-tab-count:1'> </span>: <a
--- 5753,5760 ----
   </tr>
   <tr style='mso-yfti-irow:2'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <h6 style='mso-outline-level:6'><a name="_Toc126872242"></a><a
!   name="_Toc115416173"><span style='mso-bookmark:_Toc126872242'>FREELANCEMODE</span></a></h6>
    <p class=MsoList>Registry key<span style='mso-tab-count:1'>    </span>: <a
    href="oafw-1-4-release-notes.doc#_(Service_parameters):">(Service parameters)</a></p>
    <p class=MsoList>Registry value<span style='mso-tab-count:1'> </span>: <a
***************
*** 5689,5695 ****
   </tr>
   <tr style='mso-yfti-irow:3'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <h6 style='mso-outline-level:6'><a name="_Toc115416174">HIDEDOTFILES</a></h6>
    <p class=MsoList>Registry key<span style='mso-tab-count:1'>    </span>: <a
    href="oafw-1-4-release-notes.doc#_(Service_parameters):">(Service parameters)</a></p>
    <p class=MsoList>Registry value<span style='mso-tab-count:1'> </span>: <a
--- 5765,5772 ----
   </tr>
   <tr style='mso-yfti-irow:3'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <h6 style='mso-outline-level:6'><a name="_Toc126872243"></a><a
!   name="_Toc115416174"><span style='mso-bookmark:_Toc126872243'>HIDEDOTFILES</span></a></h6>
    <p class=MsoList>Registry key<span style='mso-tab-count:1'>    </span>: <a
    href="oafw-1-4-release-notes.doc#_(Service_parameters):">(Service parameters)</a></p>
    <p class=MsoList>Registry value<span style='mso-tab-count:1'> </span>: <a
***************
*** 5700,5706 ****
   </tr>
   <tr style='mso-yfti-irow:4'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <h6 style='mso-outline-level:6'><a name="_Toc115416175">LOGONOPTIONS</a></h6>
    <p class=MsoList>Registry key<span style='mso-tab-count:1'>    </span>: <a
    href="oafw-1-4-release-notes.doc#_(Network_provider):">(Network provider)</a></p>
    <p class=MsoList>Registry value<span style='mso-tab-count:1'> </span>: <a
--- 5777,5784 ----
   </tr>
   <tr style='mso-yfti-irow:4'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <h6 style='mso-outline-level:6'><a name="_Toc126872244"></a><a
!   name="_Toc115416175"><span style='mso-bookmark:_Toc126872244'>LOGONOPTIONS</span></a></h6>
    <p class=MsoList>Registry key<span style='mso-tab-count:1'>    </span>: <a
    href="oafw-1-4-release-notes.doc#_(Network_provider):">(Network provider)</a></p>
    <p class=MsoList>Registry value<span style='mso-tab-count:1'> </span>: <a
***************
*** 5716,5722 ****
   </tr>
   <tr style='mso-yfti-irow:5'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <h6 style='mso-outline-level:6'><a name="_Toc115416176">MOUNTROOT</a></h6>
    <p class=MsoList>Registry key<span style='mso-tab-count:1'>    </span>: <a
    href="oafw-1-4-release-notes.doc#_(Service_parameters):">(Service parameters)</a></p>
    <p class=MsoList>Registry value<span style='mso-tab-count:1'> </span>: <a
--- 5794,5801 ----
   </tr>
   <tr style='mso-yfti-irow:5'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <h6 style='mso-outline-level:6'><a name="_Toc126872245"></a><a
!   name="_Toc115416176"><span style='mso-bookmark:_Toc126872245'>MOUNTROOT</span></a></h6>
    <p class=MsoList>Registry key<span style='mso-tab-count:1'>    </span>: <a
    href="oafw-1-4-release-notes.doc#_(Service_parameters):">(Service parameters)</a></p>
    <p class=MsoList>Registry value<span style='mso-tab-count:1'> </span>: <a
***************
*** 5727,5733 ****
   </tr>
   <tr style='mso-yfti-irow:6'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <h6 style='mso-outline-level:6'><a name="_Toc115416177">NETBIOSNAME</a></h6>
    <p class=MsoList>Registry key<span style='mso-tab-count:1'>    </span>: <a
    href="oafw-1-4-release-notes.doc#_(Service_parameters):">(Service parameters)</a></p>
    <p class=MsoList>Registry value<span style='mso-tab-count:1'> </span>: <a
--- 5806,5813 ----
   </tr>
   <tr style='mso-yfti-irow:6'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <h6 style='mso-outline-level:6'><a name="_Toc126872246"></a><a
!   name="_Toc115416177"><span style='mso-bookmark:_Toc126872246'>NETBIOSNAME</span></a></h6>
    <p class=MsoList>Registry key<span style='mso-tab-count:1'>    </span>: <a
    href="oafw-1-4-release-notes.doc#_(Service_parameters):">(Service parameters)</a></p>
    <p class=MsoList>Registry value<span style='mso-tab-count:1'> </span>: <a
***************
*** 5738,5744 ****
   </tr>
   <tr style='mso-yfti-irow:7'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <h6 style='mso-outline-level:6'><a name="_Toc115416178">NOFINDLANABYNAME</a></h6>
    <p class=MsoList>Registry key<span style='mso-tab-count:1'>    </span>: <a
    href="oafw-1-4-release-notes.doc#_(Service_parameters):">(Service parameters)</a></p>
    <p class=MsoList>Registry value<span style='mso-tab-count:1'> </span>: <a
--- 5818,5825 ----
   </tr>
   <tr style='mso-yfti-irow:7'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <h6 style='mso-outline-level:6'><a name="_Toc126872247"></a><a
!   name="_Toc115416178"><span style='mso-bookmark:_Toc126872247'>NOFINDLANABYNAME</span></a></h6>
    <p class=MsoList>Registry key<span style='mso-tab-count:1'>    </span>: <a
    href="oafw-1-4-release-notes.doc#_(Service_parameters):">(Service parameters)</a></p>
    <p class=MsoList>Registry value<span style='mso-tab-count:1'> </span>: <a
***************
*** 5749,5755 ****
   </tr>
   <tr style='mso-yfti-irow:8'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <h6 style='mso-outline-level:6'><a name="_Toc115416179">RXMAXMTU</a></h6>
    <p class=MsoList>Registry key<span style='mso-tab-count:1'>    </span>: <a
    href="oafw-1-4-release-notes.doc#_(Service_parameters):">(Service parameters)</a></p>
    <p class=MsoList>Registry value<span style='mso-tab-count:1'> </span>: <a
--- 5830,5837 ----
   </tr>
   <tr style='mso-yfti-irow:8'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <h6 style='mso-outline-level:6'><a name="_Toc126872248"></a><a
!   name="_Toc115416179"><span style='mso-bookmark:_Toc126872248'>RXMAXMTU</span></a></h6>
    <p class=MsoList>Registry key<span style='mso-tab-count:1'>    </span>: <a
    href="oafw-1-4-release-notes.doc#_(Service_parameters):">(Service parameters)</a></p>
    <p class=MsoList>Registry value<span style='mso-tab-count:1'> </span>: <a
***************
*** 5760,5766 ****
   </tr>
   <tr style='mso-yfti-irow:9'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <h6 style='mso-outline-level:6'><a name="_Toc115416180">SECURITYLEVEL</a></h6>
    <p class=MsoList>Registry key<span style='mso-tab-count:1'>    </span>: <a
    href="oafw-1-4-release-notes.doc#_(Service_parameters):">(Service parameters)</a></p>
    <p class=MsoList>Registry value<span style='mso-tab-count:1'> </span>: <a
--- 5842,5849 ----
   </tr>
   <tr style='mso-yfti-irow:9'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <h6 style='mso-outline-level:6'><a name="_Toc126872249"></a><a
!   name="_Toc115416180"><span style='mso-bookmark:_Toc126872249'>SECURITYLEVEL</span></a></h6>
    <p class=MsoList>Registry key<span style='mso-tab-count:1'>    </span>: <a
    href="oafw-1-4-release-notes.doc#_(Service_parameters):">(Service parameters)</a></p>
    <p class=MsoList>Registry value<span style='mso-tab-count:1'> </span>: <a
***************
*** 5771,5777 ****
   </tr>
   <tr style='mso-yfti-irow:10'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <h6 style='mso-outline-level:6'><a name="_Toc115416181">SMBAUTHTYPE</a></h6>
    <p class=MsoList>Registry key<span style='mso-tab-count:1'>    </span>: <a
    href="oafw-1-4-release-notes.doc#_(Service_parameters):">(Service parameters)</a></p>
    <p class=MsoList>Registry value<span style='mso-tab-count:1'> </span>: <a
--- 5854,5861 ----
   </tr>
   <tr style='mso-yfti-irow:10'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <h6 style='mso-outline-level:6'><a name="_Toc126872250"></a><a
!   name="_Toc115416181"><span style='mso-bookmark:_Toc126872250'>SMBAUTHTYPE</span></a></h6>
    <p class=MsoList>Registry key<span style='mso-tab-count:1'>    </span>: <a
    href="oafw-1-4-release-notes.doc#_(Service_parameters):">(Service parameters)</a></p>
    <p class=MsoList>Registry value<span style='mso-tab-count:1'> </span>: <a
***************
*** 5782,5788 ****
   </tr>
   <tr style='mso-yfti-irow:11'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <h6 style='mso-outline-level:6'><a name="_Toc115416182">STOREANSIFILENAMES</a></h6>
    <p class=MsoList>Registry key<span style='mso-tab-count:1'>    </span>: <a
    href="oafw-1-4-release-notes.doc#_(OpenAFS_Client):">(OpenAFS Client)</a></p>
    <p class=MsoList>Registry value<span style='mso-tab-count:1'> </span>: <a
--- 5866,5873 ----
   </tr>
   <tr style='mso-yfti-irow:11'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <h6 style='mso-outline-level:6'><a name="_Toc126872251"></a><a
!   name="_Toc115416182"><span style='mso-bookmark:_Toc126872251'>STOREANSIFILENAMES</span></a></h6>
    <p class=MsoList>Registry key<span style='mso-tab-count:1'>    </span>: <a
    href="oafw-1-4-release-notes.doc#_(OpenAFS_Client):">(OpenAFS Client)</a></p>
    <p class=MsoList>Registry value<span style='mso-tab-count:1'> </span>: <a
***************
*** 5793,5799 ****
   </tr>
   <tr style='mso-yfti-irow:12;mso-yfti-lastrow:yes'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <h6 style='mso-outline-level:6'><a name="_Toc115416183">USEDNS</a></h6>
    <p class=MsoList>Registry key<span style='mso-tab-count:1'>    </span>: <a
    href="oafw-1-4-release-notes.doc#_(Service_parameters):">(Service parameters)</a></p>
    <p class=MsoList>Registry value<span style='mso-tab-count:1'> </span>: <a
--- 5878,5885 ----
   </tr>
   <tr style='mso-yfti-irow:12;mso-yfti-lastrow:yes'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <h6 style='mso-outline-level:6'><a name="_Toc126872252"></a><a
!   name="_Toc115416183"><span style='mso-bookmark:_Toc126872252'>USEDNS</span></a></h6>
    <p class=MsoList>Registry key<span style='mso-tab-count:1'>    </span>: <a
    href="oafw-1-4-release-notes.doc#_(Service_parameters):">(Service parameters)</a></p>
    <p class=MsoList>Registry value<span style='mso-tab-count:1'> </span>: <a
***************
*** 5804,5811 ****
   </tr>
  </table>
  
! <h5><a name="_Toc115416184"></a><a name="_7.2.1.2.2_AFSCreds.exe_Properties"></a><span
! style='mso-bookmark:_Toc115416184'>7.2.1.2.2 AFSCreds.exe Properties</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
--- 5890,5898 ----
   </tr>
  </table>
  
! <h5><a name="_Toc126872253"></a><a name="_Toc115416184"></a><a
! name="_7.2.1.2.2_AFSCreds.exe_Properties"></a><span style='mso-bookmark:_Toc126872253'><span
! style='mso-bookmark:_Toc115416184'>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
***************
*** 5821,5827 ****
   mso-border-insideh:.75pt outset windowtext;mso-border-insidev:.75pt outset windowtext'>
   <tr style='mso-yfti-irow:-1;mso-yfti-firstrow:yes'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <h6 style='mso-outline-level:6;mso-yfti-cnfc:1'><a name="_Toc115416185">CREDSSTARTUP</a></h6>
    <p class=MsoList style='mso-yfti-cnfc:1'>Valid values<span
    style='mso-spacerun:yes'>    </span>: '1' or '0'</p>
    <p class=MsoList style='mso-yfti-cnfc:1'>Controls whether AFSCreds.exe starts
--- 5908,5915 ----
   mso-border-insideh:.75pt outset windowtext;mso-border-insidev:.75pt outset windowtext'>
   <tr style='mso-yfti-irow:-1;mso-yfti-firstrow:yes'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <h6 style='mso-outline-level:6;mso-yfti-cnfc:1'><a name="_Toc126872254"></a><a
!   name="_Toc115416185"><span style='mso-bookmark:_Toc126872254'>CREDSSTARTUP</span></a></h6>
    <p class=MsoList style='mso-yfti-cnfc:1'>Valid values<span
    style='mso-spacerun:yes'>    </span>: '1' or '0'</p>
    <p class=MsoList style='mso-yfti-cnfc:1'>Controls whether AFSCreds.exe starts
***************
*** 5833,5839 ****
   </tr>
   <tr style='mso-yfti-irow:0'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <h6 style='mso-outline-level:6'><a name="_Toc115416186">CREDSAUTOINIT</a></h6>
    <p class=MsoList>Valid values<span style='mso-tab-count:1'>    </span>: '-a'
    or ''</p>
    <p class=MsoList>Enables automatic initialization.</p>
--- 5921,5928 ----
   </tr>
   <tr style='mso-yfti-irow:0'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <h6 style='mso-outline-level:6'><a name="_Toc126872255"></a><a
!   name="_Toc115416186"><span style='mso-bookmark:_Toc126872255'>CREDSAUTOINIT</span></a></h6>
    <p class=MsoList>Valid values<span style='mso-tab-count:1'>    </span>: '-a'
    or ''</p>
    <p class=MsoList>Enables automatic initialization.</p>
***************
*** 5841,5847 ****
   </tr>
   <tr style='mso-yfti-irow:1'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <h6 style='mso-outline-level:6'><a name="_Toc115416187">CREDSIPCHDET</a></h6>
    <p class=MsoList>Valid values<span style='mso-tab-count:1'>    </span>: '-n'
    or ''</p>
    <p class=MsoList>Enables IP address change detection.</p>
--- 5930,5937 ----
   </tr>
   <tr style='mso-yfti-irow:1'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <h6 style='mso-outline-level:6'><a name="_Toc126872256"></a><a
!   name="_Toc115416187"><span style='mso-bookmark:_Toc126872256'>CREDSIPCHDET</span></a></h6>
    <p class=MsoList>Valid values<span style='mso-tab-count:1'>    </span>: '-n'
    or ''</p>
    <p class=MsoList>Enables IP address change detection.</p>
***************
*** 5849,5855 ****
   </tr>
   <tr style='mso-yfti-irow:2'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <h6 style='mso-outline-level:6'><a name="_Toc115416188">CREDSQUIET</a></h6>
    <p class=MsoList>Valid values<span style='mso-tab-count:1'>    </span>: '-q'
    or ''</p>
    <p class=MsoList>Enables quiet mode.</p>
--- 5939,5946 ----
   </tr>
   <tr style='mso-yfti-irow:2'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <h6 style='mso-outline-level:6'><a name="_Toc126872257"></a><a
!   name="_Toc115416188"><span style='mso-bookmark:_Toc126872257'>CREDSQUIET</span></a></h6>
    <p class=MsoList>Valid values<span style='mso-tab-count:1'>    </span>: '-q'
    or ''</p>
    <p class=MsoList>Enables quiet mode.</p>
***************
*** 5857,5863 ****
   </tr>
   <tr style='mso-yfti-irow:3'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <h6 style='mso-outline-level:6'><a name="_Toc115416189">CREDSRENEWDRMAP</a></h6>
    <p class=MsoList>Valid values<span style='mso-tab-count:1'>    </span>: '-m'
    or '’</p>
    <p class=MsoList>Enables renewing drive map at startup.</p>
--- 5948,5955 ----
   </tr>
   <tr style='mso-yfti-irow:3'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <h6 style='mso-outline-level:6'><a name="_Toc126872258"></a><a
!   name="_Toc115416189"><span style='mso-bookmark:_Toc126872258'>CREDSRENEWDRMAP</span></a></h6>
    <p class=MsoList>Valid values<span style='mso-tab-count:1'>    </span>: '-m'
    or '’</p>
    <p class=MsoList>Enables renewing drive map at startup.</p>
***************
*** 5865,5871 ****
   </tr>
   <tr style='mso-yfti-irow:4;mso-yfti-lastrow:yes'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <h6 style='mso-outline-level:6'><a name="_Toc115416190">CREDSSHOW</a></h6>
    <p class=MsoList>Valid values<span style='mso-spacerun:yes'>    </span>: '-s'
    or ''</p>
    <p class=MsoList>Enables displaying the credential manager window when
--- 5957,5964 ----
   </tr>
   <tr style='mso-yfti-irow:4;mso-yfti-lastrow:yes'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <h6 style='mso-outline-level:6'><a name="_Toc126872259"></a><a
!   name="_Toc115416190"><span style='mso-bookmark:_Toc126872259'>CREDSSHOW</span></a></h6>
    <p class=MsoList>Valid values<span style='mso-spacerun:yes'>    </span>: '-s'
    or ''</p>
    <p class=MsoList>Enables displaying the credential manager window when
***************
*** 5874,5881 ****
   </tr>
  </table>
  
! <h3 style='margin-left:0pt;text-indent:0pt'><a name="_Toc115416191">7.2.2
! Existing Registry Entries</a></h3>
  
  <p class=MsoNormal>You can change existing registry values subject to the
  restrictions mentioned in the Windows Platform SDK.<span
--- 5967,5975 ----
   </tr>
  </table>
  
! <h3 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872260"></a><a
! name="_Toc115416191"><span style='mso-bookmark:_Toc126872260'>7.2.2 Existing
! Registry Entries</span></a></h3>
  
  <p class=MsoNormal>You can change existing registry values subject to the
  restrictions mentioned in the Windows Platform SDK.<span
***************
*** 5884,5891 ****
  style='mso-spacerun:yes'>  </span>If you want to add additional registry keys
  please refer to section 3 (Additional resources).</p>
  
! <h3 style='margin-left:0pt;text-indent:0pt'><a name="_Toc115416192">7.2.3
! Replacing Configuration Files</a></h3>
  
  <p class=MsoNormal>The OpenAFS configuration files (CellServDB) can be replaced
  by your own configuration files.<span style='mso-spacerun:yes'>  </span>These
--- 5978,5986 ----
  style='mso-spacerun:yes'>  </span>If you want to add additional registry keys
  please refer to section 3 (Additional resources).</p>
  
! <h3 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872261"></a><a
! name="_Toc115416192"><span style='mso-bookmark:_Toc126872261'>7.2.3 Replacing
! Configuration Files</span></a></h3>
  
  <p class=MsoNormal>The OpenAFS configuration files (CellServDB) can be replaced
  by your own configuration files.<span style='mso-spacerun:yes'>  </span>These
***************
*** 6425,6438 ****
  <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="_Toc115416193"></a><a name="_2.3.1_Components_for_Configuration "></a><span
! style='mso-bookmark:_Toc115416193'>7.2.3.1 Components for Configuration Files</span></h4>
  
  <p class=PreformattedText style='text-indent:35.45pt'>CellServDB:
  'cpf_CellServDB' (ID {D5BA4C15-DBEC-4292-91FC-B54C30F24F2A})</p>
  
! <h3 style='margin-left:0pt;text-indent:0pt'><a name="_Toc115416194">7.2.4
! Adding Domain Specific Registry Keys</a></h3>
  
  <p class=MsoNormal>Following is an example for adding domain specific registry
  keys.</p>
--- 6520,6535 ----
  <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="_Toc126872262"></a><a name="_Toc115416193"></a><a
! name="_2.3.1_Components_for_Configuration "></a><span style='mso-bookmark:_Toc126872262'><span
! style='mso-bookmark:_Toc115416193'>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 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872263"></a><a
! name="_Toc115416194"><span style='mso-bookmark:_Toc126872263'>7.2.4 Adding
! Domain Specific Registry Keys</span></a></h3>
  
  <p class=MsoNormal>Following is an example for adding domain specific registry
  keys.</p>
***************
*** 6643,6650 ****
  (enable integrated logon) and 'LOCALHOST' (disable integrated logon and fail
  logins silently).</p>
  
! <h3 style='margin-left:0pt;text-indent:0pt'><a name="_Toc115416195">7.2.5
! Adding Site Specific Freelance Registry Keys</a></h3>
  
  <p class=MsoNormal>Following is an example for adding site specific Freelance
  registry keys to pre-populate the Mountpoints and Symlinks in the fake root.afs
--- 6740,6748 ----
  (enable integrated logon) and 'LOCALHOST' (disable integrated logon and fail
  logins silently).</p>
  
! <h3 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872264"></a><a
! name="_Toc115416195"><span style='mso-bookmark:_Toc126872264'>7.2.5 Adding Site
! Specific Freelance Registry Keys</span></a></h3>
  
  <p class=MsoNormal>Following is an example for adding site specific Freelance
  registry keys to pre-populate the Mountpoints and Symlinks in the fake root.afs
***************
*** 6829,6838 ****
  athena.mit.edu cell's root.afs volume as well as a read-write mountpoint.<span
  style='mso-spacerun:yes'>  </span>Aliases are also provided using symlinks.</p>
  
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc115417101"></a><a
! name="_Toc115416196"></a><a name="_Ref115275867"><span style='mso-bookmark:
! _Toc115416196'><span style='mso-bookmark:_Toc115417101'>7.3 Additional
! Resources</span></span></a></h2>
  
  <p class=MsoNormal>If you want to add registry keys or files you need to create
  new components and features for those.<span style='mso-spacerun:yes'> 
--- 6927,6936 ----
  athena.mit.edu cell's root.afs volume as well as a read-write mountpoint.<span
  style='mso-spacerun:yes'>  </span>Aliases are also provided using symlinks.</p>
  
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872265"></a><a
! name="_Toc115417101"></a><a name="_Toc115416196"></a><a name="_Ref115275867"><span
! style='mso-bookmark:_Toc115416196'><span style='mso-bookmark:_Toc115417101'><span
! style='mso-bookmark:_Toc126872265'>7.3 Additional Resources</span></span></span></a></h2>
  
  <p class=MsoNormal>If you want to add registry keys or files you need to create
  new components and features for those.<span style='mso-spacerun:yes'> 
***************
*** 6875,6882 ****
  <p class=MsoNormal>See the Platform SDK documentation for information on
  command line options for MSITRAN.EXE.</p>
  
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc115417102"></a><a
! name="_Toc115416197"><span style='mso-bookmark:_Toc115417102'>7.4. Upgrades</span></a></h2>
  
  <p class=MsoNormal>The MSI package is designed to uninstall previous versions
  of OpenAFS for Windows during installation.<span style='mso-spacerun:yes'> 
--- 6973,6981 ----
  <p class=MsoNormal>See the Platform SDK documentation for information on
  command line options for MSITRAN.EXE.</p>
  
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872266"></a><a
! name="_Toc115417102"></a><a name="_Toc115416197"><span style='mso-bookmark:
! _Toc115417102'><span style='mso-bookmark:_Toc126872266'>7.4. Upgrades</span></span></a></h2>
  
  <p class=MsoNormal>The MSI package is designed to uninstall previous versions
  of OpenAFS for Windows during installation.<span style='mso-spacerun:yes'> 
***************
*** 6924,6946 ****
  <p class=MsoNormal>When performing an upgrade with msiexec.exe execute the MSI
  with the repair options &quot;vomus&quot;.</p>
  
! <h1 style='margin-left:0pt;text-indent:0pt'><a name="_Toc115417116"></a><a
! name="_Toc115417103"></a><a name="_Toc115416198"></a><a
  name="_Appendix_A:_Registry_Values"></a><![if !supportLists]><span
! style='mso-bookmark:_Toc115417116'><span style='mso-bookmark:_Toc115417103'><span
! style='mso-bookmark:_Toc115416198'></span></span></span><![endif]><span
! style='mso-bookmark:_Toc115417116'><span style='mso-bookmark:_Toc115417103'><span
! style='mso-bookmark:_Toc115416198'>Appendix A: Registry Values</span></span></span></h1>
! 
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc115417104"></a><a
! name="_Toc115416199"><span style='mso-bookmark:_Toc115417104'>A.1. Service
! parameters</span></a></h2>
  
  <p class=MsoBodyText>The service parameters primarily affect the behavior of
  the AFS client service (afsd_service.exe).</p>
  
! <h3 style='margin-left:0pt;text-indent:0pt'><a name="_Toc115416200">Regkey:<br>
! [HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters]</a></h3>
  
  <table class=MsoTableWeb1 border=1 cellspacing=3 cellpadding=0
   style='mso-cellspacing:2.0pt;mso-yfti-tbllook:480;mso-padding-alt:0pt 5.4pt 0pt 5.4pt;
--- 7023,7047 ----
  <p class=MsoNormal>When performing an upgrade with msiexec.exe execute the MSI
  with the repair options &quot;vomus&quot;.</p>
  
! <h1 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872267"></a><a
! name="_Toc115417116"></a><a name="_Toc115417103"></a><a name="_Toc115416198"></a><a
  name="_Appendix_A:_Registry_Values"></a><![if !supportLists]><span
! style='mso-bookmark:_Toc126872267'><span style='mso-bookmark:_Toc115417116'><span
! style='mso-bookmark:_Toc115417103'><span style='mso-bookmark:_Toc115416198'></span></span></span></span><![endif]><span
! style='mso-bookmark:_Toc126872267'><span style='mso-bookmark:_Toc115417116'><span
! style='mso-bookmark:_Toc115417103'><span style='mso-bookmark:_Toc115416198'>Appendix
! A: Registry Values</span></span></span></span></h1>
! 
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872268"></a><a
! name="_Toc115417104"></a><a name="_Toc115416199"><span style='mso-bookmark:
! _Toc115417104'><span style='mso-bookmark:_Toc126872268'>A.1. Service parameters</span></span></a></h2>
  
  <p class=MsoBodyText>The service parameters primarily affect the behavior of
  the AFS client service (afsd_service.exe).</p>
  
! <h3 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872269"></a><a
! name="_Toc115416200"><span style='mso-bookmark:_Toc126872269'>Regkey:<br>
! [HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters]</span></a></h3>
  
  <table class=MsoTableWeb1 border=1 cellspacing=3 cellpadding=0
   style='mso-cellspacing:2.0pt;mso-yfti-tbllook:480;mso-padding-alt:0pt 5.4pt 0pt 5.4pt;
***************
*** 6948,6955 ****
   <tr style='mso-yfti-irow:-1;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 style='mso-outline-level:5;mso-yfti-cnfc:1'><a name="_Toc115416201">Value:
!   LANadapter</a></h5>
    <p class=MsoBodyText style='mso-yfti-cnfc:1'>Type: DWORD<br>
    Default: -1<br>
    Variable: LANadapter</p>
--- 7049,7057 ----
   <tr style='mso-yfti-irow:-1;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 style='mso-outline-level:5;mso-yfti-cnfc:1'><a name="_Toc126872270"></a><a
!   name="_Toc115416201"><span style='mso-bookmark:_Toc126872270'>Value:
!   LANadapter</span></a></h5>
    <p class=MsoBodyText style='mso-yfti-cnfc:1'>Type: DWORD<br>
    Default: -1<br>
    Variable: LANadapter</p>
***************
*** 6968,6976 ****
   <tr style='mso-yfti-irow:0;height:79.25pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:79.25pt'>
!   <h5 style='mso-outline-level:5'><a name="_Toc115416202"></a><a
!   name="_Value___: CacheSize"></a><span style='mso-bookmark:_Toc115416202'>Value:
!   CacheSize</span></h5>
    <p class=MsoBodyText>Type: DWORD<br>
    Default: 98304 (CM_CONFIGDEFAULT_CACHESIZE)<br>
    Variable: cm_initParams.cacheSize</p>
--- 7070,7079 ----
   <tr style='mso-yfti-irow:0;height:79.25pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:79.25pt'>
!   <h5 style='mso-outline-level:5'><a name="_Toc126872271"></a><a
!   name="_Toc115416202"></a><a name="_Value___: CacheSize"></a><span
!   style='mso-bookmark:_Toc126872271'><span style='mso-bookmark:_Toc115416202'>Value:
!   CacheSize</span></span></h5>
    <p class=MsoBodyText>Type: DWORD<br>
    Default: 98304 (CM_CONFIGDEFAULT_CACHESIZE)<br>
    Variable: cm_initParams.cacheSize</p>
***************
*** 6980,6986 ****
   <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 style='mso-outline-level:5'><a name="_Toc115416203">Value: ChunkSize</a></h5>
    <p class=MsoBodyText>Type: DWORD<br>
    Default: 17 (CM_CONFIGDEFAULT_CHUNKSIZE)<br>
    Variable: cm_logChunkSize (cm_chunkSize = 1 &lt;&lt; cm_logChunkSize)</p>
--- 7083,7091 ----
   <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 style='mso-outline-level:5'><a name="_Toc126872272"></a><a
!   name="_Toc115416203"><span style='mso-bookmark:_Toc126872272'>Value:
!   ChunkSize</span></a></h5>
    <p class=MsoBodyText>Type: DWORD<br>
    Default: 17 (CM_CONFIGDEFAULT_CHUNKSIZE)<br>
    Variable: cm_logChunkSize (cm_chunkSize = 1 &lt;&lt; cm_logChunkSize)</p>
***************
*** 6991,6997 ****
   <tr style='mso-yfti-irow:2;height:92.0pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:92.0pt'>
!   <h5 style='mso-outline-level:5'><a name="_Toc115416204">Value: Daemons</a></h5>
    <p class=MsoBodyText>Type: DWORD<br>
    Default: 2 (CM_CONFIGDEFAULT_DAEMONS)<br>
    Variable: numBkgD</p>
--- 7096,7103 ----
   <tr style='mso-yfti-irow:2;height:92.0pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:92.0pt'>
!   <h5 style='mso-outline-level:5'><a name="_Toc126872273"></a><a
!   name="_Toc115416204"><span style='mso-bookmark:_Toc126872273'>Value: Daemons</span></a></h5>
    <p class=MsoBodyText>Type: DWORD<br>
    Default: 2 (CM_CONFIGDEFAULT_DAEMONS)<br>
    Variable: numBkgD</p>
***************
*** 7002,7008 ****
   <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 style='mso-outline-level:5'><a name="_Toc115416205">Value: ServerThreads</a></h5>
    <p class=MsoBodyText>Type: DWORD<br>
    Default: 25 (CM_CONFIGDEFAULT_SVTHREADS)<br>
    Variable: numSvThreads</p>
--- 7108,7116 ----
   <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 style='mso-outline-level:5'><a name="_Toc126872274"></a><a
!   name="_Toc115416205"><span style='mso-bookmark:_Toc126872274'>Value:
!   ServerThreads</span></a></h5>
    <p class=MsoBodyText>Type: DWORD<br>
    Default: 25 (CM_CONFIGDEFAULT_SVTHREADS)<br>
    Variable: numSvThreads</p>
***************
*** 7013,7019 ****
   <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 style='mso-outline-level:5'><a name="_Toc115416206">Value: Stats</a></h5>
    <p class=MsoBodyText>Type: DWORD<br>
    Default: 10000 (CM_CONFIGDEFAULT_STATS)<br>
    Variable: cm_initParams.nStatCaches</p>
--- 7121,7128 ----
   <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 style='mso-outline-level:5'><a name="_Toc126872275"></a><a
!   name="_Toc115416206"><span style='mso-bookmark:_Toc126872275'>Value: Stats</span></a></h5>
    <p class=MsoBodyText>Type: DWORD<br>
    Default: 10000 (CM_CONFIGDEFAULT_STATS)<br>
    Variable: cm_initParams.nStatCaches</p>
***************
*** 7023,7031 ****
   <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 style='mso-outline-level:5'><a name="_Toc115416207"></a><a
!   name="_Value_:_LogoffPreserveTokens"></a><span style='mso-bookmark:_Toc115416207'>Value:
!   LogoffPreserveTokens</span></h5>
    <p class=MsoBodyText>Type: DWORD {1,0}<br>
    Default : 0</p>
    <p class=MsoBodyText>If enabled (set to 1), the Logoff Event handler will not
--- 7132,7141 ----
   <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 style='mso-outline-level:5'><a name="_Toc126872276"></a><a
!   name="_Toc115416207"></a><a name="_Value_:_LogoffPreserveTokens"></a><span
!   style='mso-bookmark:_Toc126872276'><span style='mso-bookmark:_Toc115416207'>Value:
!   LogoffPreserveTokens</span></span></h5>
    <p class=MsoBodyText>Type: DWORD {1,0}<br>
    Default : 0</p>
    <p class=MsoBodyText>If enabled (set to 1), the Logoff Event handler will not
***************
*** 7036,7042 ****
   <tr style='mso-yfti-irow:6;height:79.25pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:79.25pt'>
!   <h5 style='mso-outline-level:5'><a name="_Toc115416208">Value: RootVolume</a></h5>
    <p class=MsoBodyText>Type: REG_SZ<br>
    Default: &quot;root.afs&quot;<br>
    Variable: cm_rootVolumeName</p>
--- 7146,7154 ----
   <tr style='mso-yfti-irow:6;height:79.25pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:79.25pt'>
!   <h5 style='mso-outline-level:5'><a name="_Toc126872277"></a><a
!   name="_Toc115416208"><span style='mso-bookmark:_Toc126872277'>Value:
!   RootVolume</span></a></h5>
    <p class=MsoBodyText>Type: REG_SZ<br>
    Default: &quot;root.afs&quot;<br>
    Variable: cm_rootVolumeName</p>
***************
*** 7046,7054 ****
   <tr style='mso-yfti-irow:7;height:145.25pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:145.25pt'>
!   <h5 style='mso-outline-level:5'><a name="_Toc115416209"></a><a
!   name="_Value_:_Mountroot"></a><span style='mso-bookmark:_Toc115416209'>Value:
!   Mountroot</span></h5>
    <p class=MsoBodyText>Type: REG_SZ<br>
    Default: &quot;/afs&quot;<br>
    Variable: cm_mountRoot</p>
--- 7158,7167 ----
   <tr style='mso-yfti-irow:7;height:145.25pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:145.25pt'>
!   <h5 style='mso-outline-level:5'><a name="_Toc126872278"></a><a
!   name="_Toc115416209"></a><a name="_Value_:_Mountroot"></a><span
!   style='mso-bookmark:_Toc126872278'><span style='mso-bookmark:_Toc115416209'>Value:
!   Mountroot</span></span></h5>
    <p class=MsoBodyText>Type: REG_SZ<br>
    Default: &quot;/afs&quot;<br>
    Variable: cm_mountRoot</p>
***************
*** 7066,7074 ****
   <tr style='mso-yfti-irow:8;height:92.0pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:92.0pt'>
!   <h5 style='mso-outline-level:5'><a name="_Toc115416210"></a><a
!   name="_Value_:_CachePath"></a><span style='mso-bookmark:_Toc115416210'>Value:
!   CachePath</span></h5>
    <p class=MsoBodyText>Type: REG_SZ or REG_EXPAND_SZ<br>
    Default: &quot;%TEMP%\AFSCache&quot;<br>
    Variable: cm_CachePath</p>
--- 7179,7188 ----
   <tr style='mso-yfti-irow:8;height:92.0pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:92.0pt'>
!   <h5 style='mso-outline-level:5'><a name="_Toc126872279"></a><a
!   name="_Toc115416210"></a><a name="_Value_:_CachePath"></a><span
!   style='mso-bookmark:_Toc126872279'><span style='mso-bookmark:_Toc115416210'>Value:
!   CachePath</span></span></h5>
    <p class=MsoBodyText>Type: REG_SZ or REG_EXPAND_SZ<br>
    Default: &quot;%TEMP%\AFSCache&quot;<br>
    Variable: cm_CachePath</p>
***************
*** 7081,7088 ****
   <tr style='mso-yfti-irow:9;height:119.0pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:119.0pt'>
!   <h5 style='mso-outline-level:5'><a name="_Toc115416211">Value:
!   NonPersistentCaching</a></h5>
    <p class=MsoBodyText>Type: DWORD [0..1]<br>
    Default: 0<br>
    Variable: buf_CacheType</p>
--- 7195,7203 ----
   <tr style='mso-yfti-irow:9;height:119.0pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:119.0pt'>
!   <h5 style='mso-outline-level:5'><a name="_Toc126872280"></a><a
!   name="_Toc115416211"><span style='mso-bookmark:_Toc126872280'>Value:
!   NonPersistentCaching</span></a></h5>
    <p class=MsoBodyText>Type: DWORD [0..1]<br>
    Default: 0<br>
    Variable: buf_CacheType</p>
***************
*** 7096,7102 ****
   <tr style='mso-yfti-irow:10;height:125.5pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:125.5pt'>
!   <h5 style='mso-outline-level:5'><a name="_Toc115416212">Value: ValidateCache</a></h5>
    <p class=MsoBodyText>Type: DWORD [0..2]<br>
    Default: 1<br>
    Variable: buf_CacheType</p>
--- 7211,7219 ----
   <tr style='mso-yfti-irow:10;height:125.5pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:125.5pt'>
!   <h5 style='mso-outline-level:5'><a name="_Toc126872281"></a><a
!   name="_Toc115416212"><span style='mso-bookmark:_Toc126872281'>Value:
!   ValidateCache</span></a></h5>
    <p class=MsoBodyText>Type: DWORD [0..2]<br>
    Default: 1<br>
    Variable: buf_CacheType</p>
***************
*** 7110,7116 ****
   <tr style='mso-yfti-irow:11;height:79.25pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:79.25pt'>
!   <h5 style='mso-outline-level:5'><a name="_Toc115416213">Value: TrapOnPanic</a></h5>
    <p class=MsoBodyText>Type: DWORD {1,0}<br>
    Default: 0<br>
    Variable: traceOnPanic</p>
--- 7227,7235 ----
   <tr style='mso-yfti-irow:11;height:79.25pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:79.25pt'>
!   <h5 style='mso-outline-level:5'><a name="_Toc126872282"></a><a
!   name="_Toc115416213"><span style='mso-bookmark:_Toc126872282'>Value:
!   TrapOnPanic</span></a></h5>
    <p class=MsoBodyText>Type: DWORD {1,0}<br>
    Default: 0<br>
    Variable: traceOnPanic</p>
***************
*** 7121,7129 ****
   <tr style='mso-yfti-irow:12;height:92.0pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:92.0pt'>
!   <h5 style='mso-outline-level:5'><a name="_Toc115416214"></a><a
!   name="_Value___: NetbiosName"></a><span style='mso-bookmark:_Toc115416214'>Value:
!   NetbiosName</span></h5>
    <p class=MsoBodyText>Type: REG_EXPAND_SZ<br>
    Default: &quot;AFS&quot;<br>
    Variable: cm_NetbiosName</p>
--- 7240,7249 ----
   <tr style='mso-yfti-irow:12;height:92.0pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:92.0pt'>
!   <h5 style='mso-outline-level:5'><a name="_Toc126872283"></a><a
!   name="_Toc115416214"></a><a name="_Value___: NetbiosName"></a><span
!   style='mso-bookmark:_Toc126872283'><span style='mso-bookmark:_Toc115416214'>Value:
!   NetbiosName</span></span></h5>
    <p class=MsoBodyText>Type: REG_EXPAND_SZ<br>
    Default: &quot;AFS&quot;<br>
    Variable: cm_NetbiosName</p>
***************
*** 7136,7142 ****
   <tr style='mso-yfti-irow:13;height:152.0pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:152.0pt'>
!   <h5 style='mso-outline-level:5'><a name="_Toc115416215">Value: IsGateway</a></h5>
    <p class=MsoBodyText>Type: DWORD {1,0}<br>
    Default: 0<br>
    Variable: isGateway</p>
--- 7256,7264 ----
   <tr style='mso-yfti-irow:13;height:152.0pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:152.0pt'>
!   <h5 style='mso-outline-level:5'><a name="_Toc126872284"></a><a
!   name="_Toc115416215"><span style='mso-bookmark:_Toc126872284'>Value:
!   IsGateway</span></a></h5>
    <p class=MsoBodyText>Type: DWORD {1,0}<br>
    Default: 0<br>
    Variable: isGateway</p>
***************
*** 7154,7161 ****
   <tr style='mso-yfti-irow:14;height:92.0pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:92.0pt'>
!   <h5 style='mso-outline-level:5'><a name="_Toc115416216">Value:
!   ReportSessionStartups</a></h5>
    <p class=MsoBodyText>Type: DWORD {1,0}<br>
    Default: 0<br>
    Variable: reportSessionStartups</p>
--- 7276,7284 ----
   <tr style='mso-yfti-irow:14;height:92.0pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:92.0pt'>
!   <h5 style='mso-outline-level:5'><a name="_Toc126872285"></a><a
!   name="_Toc115416216"><span style='mso-bookmark:_Toc126872285'>Value:
!   ReportSessionStartups</span></a></h5>
    <p class=MsoBodyText>Type: DWORD {1,0}<br>
    Default: 0<br>
    Variable: reportSessionStartups</p>
***************
*** 7168,7176 ****
   <tr style='mso-yfti-irow:15;height:79.25pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:79.25pt'>
!   <h5 style='mso-outline-level:5'><a name="_Toc115416217"></a><a
!   name="_Value_:_TraceBufferSize"></a><span style='mso-bookmark:_Toc115416217'>Value:
!   TraceBufferSize</span></h5>
    <p class=MsoBodyText>Type: DWORD<br>
    Default: 5000 (CM_CONFIGDEFAULT_TRACEBUFSIZE)<br>
    Variable: traceBufSize</p>
--- 7291,7300 ----
   <tr style='mso-yfti-irow:15;height:79.25pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:79.25pt'>
!   <h5 style='mso-outline-level:5'><a name="_Toc126872286"></a><a
!   name="_Toc115416217"></a><a name="_Value_:_TraceBufferSize"></a><span
!   style='mso-bookmark:_Toc126872286'><span style='mso-bookmark:_Toc115416217'>Value:
!   TraceBufferSize</span></span></h5>
    <p class=MsoBodyText>Type: DWORD<br>
    Default: 5000 (CM_CONFIGDEFAULT_TRACEBUFSIZE)<br>
    Variable: traceBufSize</p>
***************
*** 7180,7188 ****
   <tr style='mso-yfti-irow:16;height:92.0pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:92.0pt'>
!   <h5 style='mso-outline-level:5'><a name="_Toc115416218"></a><a
!   name="_Value_:_SysName"></a><span style='mso-bookmark:_Toc115416218'>Value:
!   SysName</span></h5>
    <p class=MsoBodyText>Type: REG_SZ<br>
    Default: &quot;i386_nt40&quot;<br>
    Variable: cm_sysName</p>
--- 7304,7313 ----
   <tr style='mso-yfti-irow:16;height:92.0pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:92.0pt'>
!   <h5 style='mso-outline-level:5'><a name="_Toc126872287"></a><a
!   name="_Toc115416218"></a><a name="_Value_:_SysName"></a><span
!   style='mso-bookmark:_Toc126872287'><span style='mso-bookmark:_Toc115416218'>Value:
!   SysName</span></span></h5>
    <p class=MsoBodyText>Type: REG_SZ<br>
    Default: &quot;i386_nt40&quot;<br>
    Variable: cm_sysName</p>
***************
*** 7195,7203 ****
   <tr style='mso-yfti-irow:17;height:79.25pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:79.25pt'>
!   <h5 style='mso-outline-level:5'><a name="_Toc115416219"></a><a
!   name="_Value_:_SecurityLevel"></a><span style='mso-bookmark:_Toc115416219'>Value:
!   SecurityLevel</span></h5>
    <p class=MsoBodyText>Type: DWORD {1,0}<br>
    Default: 0<br>
    Variable: cryptall</p>
--- 7320,7329 ----
   <tr style='mso-yfti-irow:17;height:79.25pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:79.25pt'>
!   <h5 style='mso-outline-level:5'><a name="_Toc126872288"></a><a
!   name="_Toc115416219"></a><a name="_Value_:_SecurityLevel"></a><span
!   style='mso-bookmark:_Toc126872288'><span style='mso-bookmark:_Toc115416219'>Value:
!   SecurityLevel</span></span></h5>
    <p class=MsoBodyText>Type: DWORD {1,0}<br>
    Default: 0<br>
    Variable: cryptall</p>
***************
*** 7207,7215 ****
   <tr style='mso-yfti-irow:18;height:112.25pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:112.25pt'>
!   <h5 style='mso-outline-level:5'><a name="_Toc115416220"></a><a
!   name="_Value_:_UseDNS"></a><span style='mso-bookmark:_Toc115416220'>Value:
!   UseDNS</span></h5>
    <p class=MsoBodyText>Type: DWORD {1,0}<br>
    Default: 1<br>
    Variable: cm_dnsEnabled</p>
--- 7333,7342 ----
   <tr style='mso-yfti-irow:18;height:112.25pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:112.25pt'>
!   <h5 style='mso-outline-level:5'><a name="_Toc126872289"></a><a
!   name="_Toc115416220"></a><a name="_Value_:_UseDNS"></a><span
!   style='mso-bookmark:_Toc126872289'><span style='mso-bookmark:_Toc115416220'>Value:
!   UseDNS</span></span></h5>
    <p class=MsoBodyText>Type: DWORD {1,0}<br>
    Default: 1<br>
    Variable: cm_dnsEnabled</p>
***************
*** 7222,7230 ****
   <tr style='mso-yfti-irow:19;height:79.25pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:79.25pt'>
!   <h5 style='mso-outline-level:5'><a name="_Toc115416221"></a><a
!   name="_Value_:_FreelanceClient"></a><span style='mso-bookmark:_Toc115416221'>Value:
!   FreelanceClient</span></h5>
    <p class=MsoBodyText>Type: DWORD {1,0}<br>
    Default: 0<br>
    Variable: cm_freelanceEnabled</p>
--- 7349,7358 ----
   <tr style='mso-yfti-irow:19;height:79.25pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:79.25pt'>
!   <h5 style='mso-outline-level:5'><a name="_Toc126872290"></a><a
!   name="_Toc115416221"></a><a name="_Value_:_FreelanceClient"></a><span
!   style='mso-bookmark:_Toc126872290'><span style='mso-bookmark:_Toc115416221'>Value:
!   FreelanceClient</span></span></h5>
    <p class=MsoBodyText>Type: DWORD {1,0}<br>
    Default: 0<br>
    Variable: cm_freelanceEnabled</p>
***************
*** 7234,7242 ****
   <tr style='mso-yfti-irow:20;height:92.0pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:92.0pt'>
!   <h5 style='mso-outline-level:5'><a name="_Toc115416222"></a><a
!   name="_Value_:_HideDotFiles"></a><span style='mso-bookmark:_Toc115416222'>Value:
!   HideDotFiles</span></h5>
    <p class=MsoBodyText>Type: DWORD {1,0}<br>
    Default: 1<br>
    Variable: smb_hideDotFiles</p>
--- 7362,7371 ----
   <tr style='mso-yfti-irow:20;height:92.0pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:92.0pt'>
!   <h5 style='mso-outline-level:5'><a name="_Toc126872291"></a><a
!   name="_Toc115416222"></a><a name="_Value_:_HideDotFiles"></a><span
!   style='mso-bookmark:_Toc126872291'><span style='mso-bookmark:_Toc115416222'>Value:
!   HideDotFiles</span></span></h5>
    <p class=MsoBodyText>Type: DWORD {1,0}<br>
    Default: 1<br>
    Variable: smb_hideDotFiles</p>
***************
*** 7248,7254 ****
   <tr style='mso-yfti-irow:21;height:79.25pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:79.25pt'>
!   <h5 style='mso-outline-level:5'><a name="_Toc115416223">Value: MaxMpxRequests</a></h5>
    <p class=MsoBodyText>Type: DWORD<br>
    Default: 50<br>
    Variable: smb_maxMpxRequests</p>
--- 7377,7385 ----
   <tr style='mso-yfti-irow:21;height:79.25pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:79.25pt'>
!   <h5 style='mso-outline-level:5'><a name="_Toc126872292"></a><a
!   name="_Toc115416223"><span style='mso-bookmark:_Toc126872292'>Value:
!   MaxMpxRequests</span></a></h5>
    <p class=MsoBodyText>Type: DWORD<br>
    Default: 50<br>
    Variable: smb_maxMpxRequests</p>
***************
*** 7259,7265 ****
   <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 style='mso-outline-level:5'><a name="_Toc115416224">Value: MaxVCPerServer</a></h5>
    <p class=MsoBodyText>Type: DWORD<br>
    Default: 100<br>
    Variable: smb_maxVCPerServer</p>
--- 7390,7398 ----
   <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 style='mso-outline-level:5'><a name="_Toc126872293"></a><a
!   name="_Toc115416224"><span style='mso-bookmark:_Toc126872293'>Value:
!   MaxVCPerServer</span></a></h5>
    <p class=MsoBodyText>Type: DWORD<br>
    Default: 100<br>
    Variable: smb_maxVCPerServer</p>
***************
*** 7269,7276 ****
   <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 style='mso-outline-level:5'><a name="_Toc115416225"></a><a
!   name="_Value_:_Cell"></a><span style='mso-bookmark:_Toc115416225'>Value: Cell</span></h5>
    <p class=MsoBodyText>Type: REG_SZ<br>
    Default: &lt;none&gt;<br>
    Variable: rootCellName</p>
--- 7402,7410 ----
   <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 style='mso-outline-level:5'><a name="_Toc126872294"></a><a
!   name="_Toc115416225"></a><a name="_Value_:_Cell"></a><span style='mso-bookmark:
!   _Toc126872294'><span style='mso-bookmark:_Toc115416225'>Value: Cell</span></span></h5>
    <p class=MsoBodyText>Type: REG_SZ<br>
    Default: &lt;none&gt;<br>
    Variable: rootCellName</p>
***************
*** 7281,7287 ****
   <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 style='mso-outline-level:5'><a name="_Toc115416226">Value: RxNoJumbo</a></h5>
    <p class=MsoBodyText>Type: DWORD {0,1}<br>
    Default: 0<br>
    Variable: rx_nojumbo</p>
--- 7415,7423 ----
   <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 style='mso-outline-level:5'><a name="_Toc126872295"></a><a
!   name="_Toc115416226"><span style='mso-bookmark:_Toc126872295'>Value:
!   RxNoJumbo</span></a></h5>
    <p class=MsoBodyText>Type: DWORD {0,1}<br>
    Default: 0<br>
    Variable: rx_nojumbo</p>
***************
*** 7292,7300 ****
   <tr style='mso-yfti-irow:25;height:124.75pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:124.75pt'>
!   <h5 style='mso-outline-level:5'><a name="_Toc115416227"></a><a
!   name="_Value_:_RxMaxMTU"></a><span style='mso-bookmark:_Toc115416227'>Value:
!   RxMaxMTU</span></h5>
    <p class=MsoBodyText>Type: DWORD<br>
    Default: -1<br>
    Variable: rx_mtu</p>
--- 7428,7437 ----
   <tr style='mso-yfti-irow:25;height:124.75pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:124.75pt'>
!   <h5 style='mso-outline-level:5'><a name="_Toc126872296"></a><a
!   name="_Toc115416227"></a><a name="_Value_:_RxMaxMTU"></a><span
!   style='mso-bookmark:_Toc126872296'><span style='mso-bookmark:_Toc115416227'>Value:
!   RxMaxMTU</span></span></h5>
    <p class=MsoBodyText>Type: DWORD<br>
    Default: -1<br>
    Variable: rx_mtu</p>
***************
*** 7307,7314 ****
   <tr style='mso-yfti-irow:26;height:151.75pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:151.75pt'>
!   <h5 style='mso-outline-level:5'><a name="_Toc115416228">Value:
!   ConnDeadTimeout</a></h5>
    <p class=MsoBodyText>Type: DWORD<br>
    Default: 60 (seconds)<br>
    Variable: ConnDeadtimeout</p>
--- 7444,7452 ----
   <tr style='mso-yfti-irow:26;height:151.75pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:151.75pt'>
!   <h5 style='mso-outline-level:5'><a name="_Toc126872297"></a><a
!   name="_Toc115416228"><span style='mso-bookmark:_Toc126872297'>Value:
!   ConnDeadTimeout</span></a></h5>
    <p class=MsoBodyText>Type: DWORD<br>
    Default: 60 (seconds)<br>
    Variable: ConnDeadtimeout</p>
***************
*** 7324,7331 ****
   <tr style='mso-yfti-irow:27;height:92.0pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:92.0pt'>
!   <h5 style='mso-outline-level:5'><a name="_Toc115416229">Value:
!   HardDeadTimeout</a></h5>
    <p class=MsoBodyText>Type: DWORD<br>
    Default: 120 (seconds)<br>
    Variable: HardDeadtimeout</p>
--- 7462,7470 ----
   <tr style='mso-yfti-irow:27;height:92.0pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:92.0pt'>
!   <h5 style='mso-outline-level:5'><a name="_Toc126872298"></a><a
!   name="_Toc115416229"><span style='mso-bookmark:_Toc126872298'>Value:
!   HardDeadTimeout</span></a></h5>
    <p class=MsoBodyText>Type: DWORD<br>
    Default: 120 (seconds)<br>
    Variable: HardDeadtimeout</p>
***************
*** 7337,7345 ****
   <tr style='mso-yfti-irow:28;height:158.5pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:158.5pt'>
!   <h5 style='mso-outline-level:5'><a name="_Toc115416230"></a><a
!   name="_Value__:_TraceOption"></a><span style='mso-bookmark:_Toc115416230'>Value:
!   TraceOption</span></h5>
    <p class=MsoBodyText>Type: DWORD {0-15}<br>
    Default: 0</p>
    <p class=MsoBodyText>Enables logging of debug output to the Windows Event
--- 7476,7485 ----
   <tr style='mso-yfti-irow:28;height:158.5pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:158.5pt'>
!   <h5 style='mso-outline-level:5'><a name="_Toc126872299"></a><a
!   name="_Toc115416230"></a><a name="_Value__:_TraceOption"></a><span
!   style='mso-bookmark:_Toc126872299'><span style='mso-bookmark:_Toc115416230'>Value:
!   TraceOption</span></span></h5>
    <p class=MsoBodyText>Type: DWORD {0-15}<br>
    Default: 0</p>
    <p class=MsoBodyText>Enables logging of debug output to the Windows Event
***************
*** 7357,7363 ****
   <tr style='mso-yfti-irow:29;height:98.5pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:98.5pt'>
!   <h5 style='mso-outline-level:5'><a name="_Toc115416231">Value: AllSubmount</a></h5>
    <p class=MsoBodyText>Type: DWORD {0, 1}<br>
    Default: 1</p>
    <p class=MsoBodyText>Variable: allSubmount (smb.c)</p>
--- 7497,7505 ----
   <tr style='mso-yfti-irow:29;height:98.5pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:98.5pt'>
!   <h5 style='mso-outline-level:5'><a name="_Toc126872300"></a><a
!   name="_Toc115416231"><span style='mso-bookmark:_Toc126872300'>Value:
!   AllSubmount</span></a></h5>
    <p class=MsoBodyText>Type: DWORD {0, 1}<br>
    Default: 1</p>
    <p class=MsoBodyText>Variable: allSubmount (smb.c)</p>
***************
*** 7370,7378 ****
   <tr style='mso-yfti-irow:30;height:78.5pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:78.5pt'>
!   <h5 style='mso-outline-level:5'><a name="_Toc115416232"></a><a
!   name="_Value___: NoFindLanaByName"></a><span style='mso-bookmark:_Toc115416232'>Value:
!   NoFindLanaByName</span></h5>
    <p class=MsoBodyText>Type: DWORD {0, 1}<br>
    Default: 0</p>
    <p class=MsoBodyText>Disables the attempt to identity the network adapter to
--- 7512,7521 ----
   <tr style='mso-yfti-irow:30;height:78.5pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:78.5pt'>
!   <h5 style='mso-outline-level:5'><a name="_Toc126872301"></a><a
!   name="_Toc115416232"></a><a name="_Value___: NoFindLanaByName"></a><span
!   style='mso-bookmark:_Toc126872301'><span style='mso-bookmark:_Toc115416232'>Value:
!   NoFindLanaByName</span></span></h5>
    <p class=MsoBodyText>Type: DWORD {0, 1}<br>
    Default: 0</p>
    <p class=MsoBodyText>Disables the attempt to identity the network adapter to
***************
*** 7382,7388 ****
   <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 style='mso-outline-level:5'><a name="_Toc115416233">Value: MaxCPUs</a></h5>
    <p class=MsoBodyText>Type: DWORD {1..32} or {1..64} depending on the
    architecture<br>
    Default: &lt;no default&gt;</p>
--- 7525,7532 ----
   <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 style='mso-outline-level:5'><a name="_Toc126872302"></a><a
!   name="_Toc115416233"><span style='mso-bookmark:_Toc126872302'>Value: MaxCPUs</span></a></h5>
    <p class=MsoBodyText>Type: DWORD {1..32} or {1..64} depending on the
    architecture<br>
    Default: &lt;no default&gt;</p>
***************
*** 7395,7403 ****
   <tr style='mso-yfti-irow:32;height:151.75pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:151.75pt'>
!   <h5 style='mso-outline-level:5'><a name="_Toc115416234"></a><a
!   name="_Value___: smbAuthType"></a><span style='mso-bookmark:_Toc115416234'>Value:
!   smbAuthType</span></h5>
    <p class=MsoBodyText>Type: DWORD {0..2}<br>
    Default: 2</p>
    <p class=MsoBodyText>If this value is specified, it defines the type of SMB
--- 7539,7548 ----
   <tr style='mso-yfti-irow:32;height:151.75pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:151.75pt'>
!   <h5 style='mso-outline-level:5'><a name="_Toc126872303"></a><a
!   name="_Toc115416234"></a><a name="_Value___: smbAuthType"></a><span
!   style='mso-bookmark:_Toc126872303'><span style='mso-bookmark:_Toc115416234'>Value:
!   smbAuthType</span></span></h5>
    <p class=MsoBodyText>Type: DWORD {0..2}<br>
    Default: 2</p>
    <p class=MsoBodyText>If this value is specified, it defines the type of SMB
***************
*** 7413,7421 ****
   <tr style='mso-yfti-irow:33;height:92.0pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:92.0pt'>
!   <h5 style='mso-outline-level:5'><a name="_Toc115416235"></a><a
!   name="_Value___: MaxLogSize"></a><span style='mso-bookmark:_Toc115416235'>Value:
!   MaxLogSize</span></h5>
    <p class=MsoBodyText>Type: DWORD {0 .. MAXDWORD}<br>
    Default: 100K</p>
    <p class=MsoBodyText>This entry determines the maximum size of the
--- 7558,7567 ----
   <tr style='mso-yfti-irow:33;height:92.0pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:92.0pt'>
!   <h5 style='mso-outline-level:5'><a name="_Toc126872304"></a><a
!   name="_Toc115416235"></a><a name="_Value___: MaxLogSize"></a><span
!   style='mso-bookmark:_Toc126872304'><span style='mso-bookmark:_Toc115416235'>Value:
!   MaxLogSize</span></span></h5>
    <p class=MsoBodyText>Type: DWORD {0 .. MAXDWORD}<br>
    Default: 100K</p>
    <p class=MsoBodyText>This entry determines the maximum size of the
***************
*** 7428,7434 ****
   <tr style='mso-yfti-irow:34;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 style='mso-outline-level:5'><a name="_Toc115416236">Value: FlushOnHibernate</a></h5>
    <p class=MsoBodyText>Type: DWORD {0,1}<br>
    Default: 1</p>
    <p class=MsoBodyText>If set, flushes all volumes before the machine goes on
--- 7574,7582 ----
   <tr style='mso-yfti-irow:34;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 style='mso-outline-level:5'><a name="_Toc126872305"></a><a
!   name="_Toc115416236"><span style='mso-bookmark:_Toc126872305'>Value:
!   FlushOnHibernate</span></a></h5>
    <p class=MsoBodyText>Type: DWORD {0,1}<br>
    Default: 1</p>
    <p class=MsoBodyText>If set, flushes all volumes before the machine goes on
***************
*** 7437,7444 ****
   </tr>
  </table>
  
! <h3 style='margin-left:0pt;text-indent:0pt'><a name="_Toc115416237">Regkey:<br>
! [HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters\GlobalAutoMapper]</a></h3>
  
  <table class=MsoTableWeb1 border=1 cellspacing=3 cellpadding=0
   style='mso-cellspacing:2.0pt;mso-yfti-tbllook:480;mso-padding-alt:0pt 5.4pt 0pt 5.4pt;
--- 7585,7593 ----
   </tr>
  </table>
  
! <h3 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872306"></a><a
! name="_Toc115416237"><span style='mso-bookmark:_Toc126872306'>Regkey:<br>
! [HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters\GlobalAutoMapper]</span></a></h3>
  
  <table class=MsoTableWeb1 border=1 cellspacing=3 cellpadding=0
   style='mso-cellspacing:2.0pt;mso-yfti-tbllook:480;mso-padding-alt:0pt 5.4pt 0pt 5.4pt;
***************
*** 7447,7454 ****
    height:65.0pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:65.0pt'>
!   <h5 style='mso-outline-level:5;mso-yfti-cnfc:1'><a name="_Toc115416238">Value:
!   &lt;Drive Letter:&gt; for example &quot;G:&quot;</a></h5>
    <p class=MsoBodyText style='mso-yfti-cnfc:1'>Type: REG_SZ</p>
    <p class=MsoBodyText style='mso-yfti-cnfc:1'>Specifies the submount name to
    be mapped by afsd_service.exe at startup to the provided drive letter.</p>
--- 7596,7604 ----
    height:65.0pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:65.0pt'>
!   <h5 style='mso-outline-level:5;mso-yfti-cnfc:1'><a name="_Toc126872307"></a><a
!   name="_Toc115416238"><span style='mso-bookmark:_Toc126872307'>Value: &lt;Drive
!   Letter:&gt; for example &quot;G:&quot;</span></a></h5>
    <p class=MsoBodyText style='mso-yfti-cnfc:1'>Type: REG_SZ</p>
    <p class=MsoBodyText style='mso-yfti-cnfc:1'>Specifies the submount name to
    be mapped by afsd_service.exe at startup to the provided drive letter.</p>
***************
*** 7456,7463 ****
   </tr>
  </table>
  
! <h3 style='margin-left:0pt;text-indent:0pt'><a name="_Toc115416239">Regkey:<br>
! [HKLM\SOFTWARE\OpenAFS\Client]</a></h3>
  
  <table class=MsoTableWeb1 border=1 cellspacing=3 cellpadding=0
   style='mso-cellspacing:2.0pt;mso-yfti-tbllook:480;mso-padding-alt:0pt 5.4pt 0pt 5.4pt;
--- 7606,7614 ----
   </tr>
  </table>
  
! <h3 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872308"></a><a
! name="_Toc115416239"><span style='mso-bookmark:_Toc126872308'>Regkey:<br>
! [HKLM\SOFTWARE\OpenAFS\Client]</span></a></h3>
  
  <table class=MsoTableWeb1 border=1 cellspacing=3 cellpadding=0
   style='mso-cellspacing:2.0pt;mso-yfti-tbllook:480;mso-padding-alt:0pt 5.4pt 0pt 5.4pt;
***************
*** 7465,7473 ****
   <tr style='mso-yfti-irow:-1;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 style='mso-outline-level:5;mso-yfti-cnfc:1'><a name="_Toc115416240"></a><a
!   name="_Value___: CellServDBDir"></a><span style='mso-bookmark:_Toc115416240'>Value:
!   CellServDBDir</span></h5>
    <p class=MsoBodyText style='mso-yfti-cnfc:1'>Type: REG_SZ<br>
    Default: &lt;not defined&gt;</p>
    <p class=MsoBodyText style='mso-yfti-cnfc:1'>Specifies the directory
--- 7616,7625 ----
   <tr style='mso-yfti-irow:-1;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 style='mso-outline-level:5;mso-yfti-cnfc:1'><a name="_Toc126872309"></a><a
!   name="_Toc115416240"></a><a name="_Value___: CellServDBDir"></a><span
!   style='mso-bookmark:_Toc126872309'><span style='mso-bookmark:_Toc115416240'>Value:
!   CellServDBDir</span></span></h5>
    <p class=MsoBodyText style='mso-yfti-cnfc:1'>Type: REG_SZ<br>
    Default: &lt;not defined&gt;</p>
    <p class=MsoBodyText style='mso-yfti-cnfc:1'>Specifies the directory
***************
*** 7478,7486 ****
   <tr style='mso-yfti-irow:0;height:145.25pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:145.25pt'>
!   <h5 style='mso-outline-level:5'><a name="_Toc115416241"></a><a
!   name="_Value___: VerifyServiceSignature"></a><span style='mso-bookmark:_Toc115416241'>Value:
!   VerifyServiceSignature</span></h5>
    <p class=MsoBodyText>Type: REG_DWORD<br>
    Default: 0x1</p>
    <p class=MsoBodyText>This value can be used to disable the runtime
--- 7630,7639 ----
   <tr style='mso-yfti-irow:0;height:145.25pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:145.25pt'>
!   <h5 style='mso-outline-level:5'><a name="_Toc126872310"></a><a
!   name="_Toc115416241"></a><a name="_Value___: VerifyServiceSignature"></a><span
!   style='mso-bookmark:_Toc126872310'><span style='mso-bookmark:_Toc115416241'>Value:
!   VerifyServiceSignature</span></span></h5>
    <p class=MsoBodyText>Type: REG_DWORD<br>
    Default: 0x1</p>
    <p class=MsoBodyText>This value can be used to disable the runtime
***************
*** 7498,7506 ****
   <tr style='mso-yfti-irow:1;height:105.5pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:105.5pt'>
!   <h5 style='mso-outline-level:5'><a name="_Toc115416242"></a><a
!   name="_Value___: IoctlDebug"></a><span style='mso-bookmark:_Toc115416242'>Value:
!   IoctlDebug</span></h5>
    <p class=MsoBodyText>Type: REG_DWORD<br>
    Default: 0x0</p>
    <p class=MsoBodyText>This value can be used to debug the cause of pioctl()
--- 7651,7660 ----
   <tr style='mso-yfti-irow:1;height:105.5pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:105.5pt'>
!   <h5 style='mso-outline-level:5'><a name="_Toc126872311"></a><a
!   name="_Toc115416242"></a><a name="_Value___: IoctlDebug"></a><span
!   style='mso-bookmark:_Toc126872311'><span style='mso-bookmark:_Toc115416242'>Value:
!   IoctlDebug</span></span></h5>
    <p class=MsoBodyText>Type: REG_DWORD<br>
    Default: 0x0</p>
    <p class=MsoBodyText>This value can be used to debug the cause of pioctl()
***************
*** 7514,7520 ****
   <tr style='mso-yfti-irow:2;height:330.75pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:330.75pt'>
!   <h5 style='mso-outline-level:5'><a name="_Toc115416243">Value: MiniDumpType</a></h5>
    <p class=MsoBodyText>Type: REG_DWORD<br>
    Default: 0x0 (MiniDumpNormal)</p>
    <p class=MsoBodyText>This value is used to specify the type of minidump
--- 7668,7676 ----
   <tr style='mso-yfti-irow:2;height:330.75pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:330.75pt'>
!   <h5 style='mso-outline-level:5'><a name="_Toc126872312"></a><a
!   name="_Toc115416243"><span style='mso-bookmark:_Toc126872312'>Value:
!   MiniDumpType</span></a></h5>
    <p class=MsoBodyText>Type: REG_DWORD<br>
    Default: 0x0 (MiniDumpNormal)</p>
    <p class=MsoBodyText>This value is used to specify the type of minidump
***************
*** 7544,7552 ****
   <tr style='mso-yfti-irow:3;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 style='mso-outline-level:5'><a name="_Toc115416244"></a><a
!   name="_Value___: StoreAnsiFilenames"></a><span style='mso-bookmark:_Toc115416244'>Value:
!   StoreAnsiFilenames</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
--- 7700,7709 ----
   <tr style='mso-yfti-irow:3;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 style='mso-outline-level:5'><a name="_Toc126872313"></a><a
!   name="_Toc115416244"></a><a name="_Value___: StoreAnsiFilenames"></a><span
!   style='mso-bookmark:_Toc126872313'><span style='mso-bookmark:_Toc115416244'>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
***************
*** 7562,7569 ****
   </tr>
  </table>
  
! <h3 style='margin-left:0pt;text-indent:0pt'><a name="_Toc115416245">Regkey:<br>
! [HKLM\SOFTWARE\OpenAFS\Client\CSCPolicy]</a></h3>
  
  <table class=MsoTableWeb1 border=1 cellspacing=3 cellpadding=0
   style='mso-cellspacing:2.0pt;mso-yfti-tbllook:480;mso-padding-alt:0pt 5.4pt 0pt 5.4pt;
--- 7719,7727 ----
   </tr>
  </table>
  
! <h3 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872314"></a><a
! name="_Toc115416245"><span style='mso-bookmark:_Toc126872314'>Regkey:<br>
! [HKLM\SOFTWARE\OpenAFS\Client\CSCPolicy]</span></a></h3>
  
  <table class=MsoTableWeb1 border=1 cellspacing=3 cellpadding=0
   style='mso-cellspacing:2.0pt;mso-yfti-tbllook:480;mso-padding-alt:0pt 5.4pt 0pt 5.4pt;
***************
*** 7572,7579 ****
    height:112.0pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:112.0pt'>
!   <h5 style='mso-outline-level:5;mso-yfti-cnfc:1'><a name="_Toc115416246">Value:
!   &quot;smb/cifs share name&quot;</a></h5>
    <p class=MsoBodyText style='mso-yfti-cnfc:1'>Type: REG_SZ<br>
    Default: &lt;none&gt;</p>
    <p class=MsoBodyText style='mso-yfti-cnfc:1'>This key is used to map SMB/CIFS
--- 7730,7738 ----
    height:112.0pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:112.0pt'>
!   <h5 style='mso-outline-level:5;mso-yfti-cnfc:1'><a name="_Toc126872315"></a><a
!   name="_Toc115416246"><span style='mso-bookmark:_Toc126872315'>Value:
!   &quot;smb/cifs share name&quot;</span></a></h5>
    <p class=MsoBodyText style='mso-yfti-cnfc:1'>Type: REG_SZ<br>
    Default: &lt;none&gt;</p>
    <p class=MsoBodyText style='mso-yfti-cnfc:1'>This key is used to map SMB/CIFS
***************
*** 7587,7597 ****
   </tr>
  </table>
  
! <h3 style='margin-left:0pt;text-indent:0pt'><a name="_Toc115416247"></a><a
! name="_Regkey:_[HKLM\SOFTWARE\OpenAFS\Clie"></a><![if !supportLists]><span
! style='mso-bookmark:_Toc115416247'></span><![endif]><span style='mso-bookmark:
! _Toc115416247'>Regkey:<br>
! [HKLM\SOFTWARE\OpenAFS\Client\Freelance]</span></h3>
  
  <table class=MsoTableWeb1 border=1 cellspacing=3 cellpadding=0
   style='mso-cellspacing:2.0pt;mso-yfti-tbllook:480;mso-padding-alt:0pt 5.4pt 0pt 5.4pt;
--- 7746,7756 ----
   </tr>
  </table>
  
! <h3 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872316"></a><a
! name="_Toc115416247"></a><a name="_Regkey:_[HKLM\SOFTWARE\OpenAFS\Clie"></a><![if !supportLists]><span
! style='mso-bookmark:_Toc126872316'><span style='mso-bookmark:_Toc115416247'></span></span><![endif]><span
! style='mso-bookmark:_Toc126872316'><span style='mso-bookmark:_Toc115416247'>Regkey:<br>
! [HKLM\SOFTWARE\OpenAFS\Client\Freelance]</span></span></h3>
  
  <table class=MsoTableWeb1 border=1 cellspacing=3 cellpadding=0
   style='mso-cellspacing:2.0pt;mso-yfti-tbllook:480;mso-padding-alt:0pt 5.4pt 0pt 5.4pt;
***************
*** 7600,7607 ****
    height:138.5pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:138.5pt'>
!   <h5 style='mso-outline-level:5;mso-yfti-cnfc:1'><a name="_Toc115416248">Value:
!   &quot;numeric value&quot;</a></h5>
    <p class=MsoBodyText style='mso-yfti-cnfc:1'>Type: REG_SZ<br>
    Default: &lt;none&gt;</p>
    <p class=MsoBodyText style='mso-yfti-cnfc:1'>This key is used to store dot
--- 7759,7767 ----
    height:138.5pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:138.5pt'>
!   <h5 style='mso-outline-level:5;mso-yfti-cnfc:1'><a name="_Toc126872317"></a><a
!   name="_Toc115416248"><span style='mso-bookmark:_Toc126872317'>Value:
!   &quot;numeric value&quot;</span></a></h5>
    <p class=MsoBodyText style='mso-yfti-cnfc:1'>Type: REG_SZ<br>
    Default: &lt;none&gt;</p>
    <p class=MsoBodyText style='mso-yfti-cnfc:1'>This key is used to store dot
***************
*** 7615,7625 ****
   </tr>
  </table>
  
! <h3 style='margin-left:0pt;text-indent:0pt'><a name="_Toc115416249"></a><a
! name="_Regkey:_[HKLM\SOFTWARE\OpenAFS\Clie_1"></a><![if !supportLists]><span
! style='mso-bookmark:_Toc115416249'></span><![endif]><span style='mso-bookmark:
! _Toc115416249'>Regkey:<br>
! [HKLM\SOFTWARE\OpenAFS\Client\Freelance\Symlinks]</span></h3>
  
  <table class=MsoTableWeb1 border=1 cellspacing=3 cellpadding=0
   style='mso-cellspacing:2.0pt;mso-yfti-tbllook:480;mso-padding-alt:0pt 5.4pt 0pt 5.4pt;
--- 7775,7785 ----
   </tr>
  </table>
  
! <h3 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872318"></a><a
! name="_Toc115416249"></a><a name="_Regkey:_[HKLM\SOFTWARE\OpenAFS\Clie_1"></a><![if !supportLists]><span
! style='mso-bookmark:_Toc126872318'><span style='mso-bookmark:_Toc115416249'></span></span><![endif]><span
! style='mso-bookmark:_Toc126872318'><span style='mso-bookmark:_Toc115416249'>Regkey:<br>
! [HKLM\SOFTWARE\OpenAFS\Client\Freelance\Symlinks]</span></span></h3>
  
  <table class=MsoTableWeb1 border=1 cellspacing=3 cellpadding=0
   style='mso-cellspacing:2.0pt;mso-yfti-tbllook:480;mso-padding-alt:0pt 5.4pt 0pt 5.4pt;
***************
*** 7628,7635 ****
    height:145.0pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:145.0pt'>
!   <h5 style='mso-outline-level:5;mso-yfti-cnfc:1'><a name="_Toc115416250">Value:
!   &quot;numeric value&quot;</a></h5>
    <p class=MsoBodyText style='mso-yfti-cnfc:1'>Type: REG_SZ<br>
    Default: &lt;none&gt;</p>
    <p class=MsoBodyText style='mso-yfti-cnfc:1'>This key is used to store a dot
--- 7788,7796 ----
    height:145.0pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:145.0pt'>
!   <h5 style='mso-outline-level:5;mso-yfti-cnfc:1'><a name="_Toc126872319"></a><a
!   name="_Toc115416250"><span style='mso-bookmark:_Toc126872319'>Value:
!   &quot;numeric value&quot;</span></a></h5>
    <p class=MsoBodyText style='mso-yfti-cnfc:1'>Type: REG_SZ<br>
    Default: &lt;none&gt;</p>
    <p class=MsoBodyText style='mso-yfti-cnfc:1'>This key is used to store a dot
***************
*** 7643,7650 ****
   </tr>
  </table>
  
! <h3 style='margin-left:0pt;text-indent:0pt'><a name="_Toc115416251">Regkey:<br>
! [HKLM\SOFTWARE\OpenAFS\Client\Submounts]</a></h3>
  
  <table class=MsoTableWeb1 border=1 cellspacing=3 cellpadding=0
   style='mso-cellspacing:2.0pt;mso-yfti-tbllook:480;mso-padding-alt:0pt 5.4pt 0pt 5.4pt;
--- 7804,7812 ----
   </tr>
  </table>
  
! <h3 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872320"></a><a
! name="_Toc115416251"><span style='mso-bookmark:_Toc126872320'>Regkey:<br>
! [HKLM\SOFTWARE\OpenAFS\Client\Submounts]</span></a></h3>
  
  <table class=MsoTableWeb1 border=1 cellspacing=3 cellpadding=0
   style='mso-cellspacing:2.0pt;mso-yfti-tbllook:480;mso-padding-alt:0pt 5.4pt 0pt 5.4pt;
***************
*** 7653,7660 ****
    height:171.75pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:171.75pt'>
!   <h5 style='mso-outline-level:5;mso-yfti-cnfc:1'><a name="_Toc115416252">Value:
!   &quot;submount name&quot;</a></h5>
    <p class=MsoBodyText style='mso-yfti-cnfc:1'>Type: REG_EXPAND_SZ<br>
    Default: &lt;none&gt;</p>
    <p class=MsoBodyText style='mso-yfti-cnfc:1'>This key is used to store
--- 7815,7823 ----
    height:171.75pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:171.75pt'>
!   <h5 style='mso-outline-level:5;mso-yfti-cnfc:1'><a name="_Toc126872321"></a><a
!   name="_Toc115416252"><span style='mso-bookmark:_Toc126872321'>Value:
!   &quot;submount name&quot;</span></a></h5>
    <p class=MsoBodyText style='mso-yfti-cnfc:1'>Type: REG_EXPAND_SZ<br>
    Default: &lt;none&gt;</p>
    <p class=MsoBodyText style='mso-yfti-cnfc:1'>This key is used to store
***************
*** 7672,7682 ****
   </tr>
  </table>
  
! <h3 style='margin-left:0pt;text-indent:0pt'><a name="_Toc115416253"></a><a
! name="_Regkey:_[HKLM\SOFTWARE\OpenAFS\Clie_2"></a><![if !supportLists]><span
! style='mso-bookmark:_Toc115416253'></span><![endif]><span style='mso-bookmark:
! _Toc115416253'>Regkey:<br>
! [HKLM\SOFTWARE\OpenAFS\Client\Server Preferences\VLDB]</span></h3>
  
  <table class=MsoTableWeb1 border=1 cellspacing=3 cellpadding=0
   style='mso-cellspacing:2.0pt;mso-yfti-tbllook:480;mso-padding-alt:0pt 5.4pt 0pt 5.4pt;
--- 7835,7845 ----
   </tr>
  </table>
  
! <h3 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872322"></a><a
! name="_Toc115416253"></a><a name="_Regkey:_[HKLM\SOFTWARE\OpenAFS\Clie_2"></a><![if !supportLists]><span
! style='mso-bookmark:_Toc126872322'><span style='mso-bookmark:_Toc115416253'></span></span><![endif]><span
! style='mso-bookmark:_Toc126872322'><span style='mso-bookmark:_Toc115416253'>Regkey:<br>
! [HKLM\SOFTWARE\OpenAFS\Client\Server Preferences\VLDB]</span></span></h3>
  
  <table class=MsoTableWeb1 border=1 cellspacing=3 cellpadding=0
   style='mso-cellspacing:2.0pt;mso-yfti-tbllook:480;mso-padding-alt:0pt 5.4pt 0pt 5.4pt;
***************
*** 7685,7692 ****
    height:105.5pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:105.5pt'>
!   <h5 style='mso-outline-level:5;mso-yfti-cnfc:1'><a name="_Toc115416254">Value:
!   &quot;hostname or ip address&quot;</a></h5>
    <p class=MsoBodyText style='mso-yfti-cnfc:1'>Type: REG_DWORD<br>
    Default: &lt;none&gt;</p>
    <p class=MsoBodyText style='mso-yfti-cnfc:1'>This key is used to specify a
--- 7848,7856 ----
    height:105.5pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:105.5pt'>
!   <h5 style='mso-outline-level:5;mso-yfti-cnfc:1'><a name="_Toc126872323"></a><a
!   name="_Toc115416254"><span style='mso-bookmark:_Toc126872323'>Value:
!   &quot;hostname or ip address&quot;</span></a></h5>
    <p class=MsoBodyText style='mso-yfti-cnfc:1'>Type: REG_DWORD<br>
    Default: &lt;none&gt;</p>
    <p class=MsoBodyText style='mso-yfti-cnfc:1'>This key is used to specify a
***************
*** 7699,7706 ****
   </tr>
  </table>
  
! <h3 style='margin-left:0pt;text-indent:0pt'><a name="_Toc115416255">Regkey:<br>
! [HKLM\SOFTWARE\OpenAFS\Client\Server Preferences\File]</a></h3>
  
  <table class=MsoTableWeb1 border=1 cellspacing=3 cellpadding=0
   style='mso-cellspacing:2.0pt;mso-yfti-tbllook:480;mso-padding-alt:0pt 5.4pt 0pt 5.4pt;
--- 7863,7871 ----
   </tr>
  </table>
  
! <h3 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872324"></a><a
! name="_Toc115416255"><span style='mso-bookmark:_Toc126872324'>Regkey:<br>
! [HKLM\SOFTWARE\OpenAFS\Client\Server Preferences\File]</span></a></h3>
  
  <table class=MsoTableWeb1 border=1 cellspacing=3 cellpadding=0
   style='mso-cellspacing:2.0pt;mso-yfti-tbllook:480;mso-padding-alt:0pt 5.4pt 0pt 5.4pt;
***************
*** 7709,7716 ****
    height:105.5pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:105.5pt'>
!   <h5 style='mso-outline-level:5;mso-yfti-cnfc:1'><a name="_Toc115416256">Value:
!   &quot;hostname or ip address&quot;</a></h5>
    <p class=MsoBodyText style='mso-yfti-cnfc:1'>Type: REG_DWORD<br>
    Default: &lt;none&gt;</p>
    <p class=MsoBodyText style='mso-yfti-cnfc:1'>This key is used to specify a
--- 7874,7882 ----
    height:105.5pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:105.5pt'>
!   <h5 style='mso-outline-level:5;mso-yfti-cnfc:1'><a name="_Toc126872325"></a><a
!   name="_Toc115416256"><span style='mso-bookmark:_Toc126872325'>Value:
!   &quot;hostname or ip address&quot;</span></a></h5>
    <p class=MsoBodyText style='mso-yfti-cnfc:1'>Type: REG_DWORD<br>
    Default: &lt;none&gt;</p>
    <p class=MsoBodyText style='mso-yfti-cnfc:1'>This key is used to specify a
***************
*** 7723,7735 ****
   </tr>
  </table>
  
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc115417105"></a><a
! name="_Toc115416257"><span style='mso-bookmark:_Toc115417105'>A.2. Integrated
! Logon Network provider parameters</span></a></h2>
  
  <p class=MsoBodyText>Affects the network provider (afslogon.dll).</p>
  
! <h3 style='margin-left:0pt;text-indent:0pt'><a name="_Toc115416258">Regkey: [HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters]</a></h3>
  
  <table class=MsoTableWeb1 border=1 cellspacing=3 cellpadding=0
   style='mso-cellspacing:2.0pt;mso-yfti-tbllook:480;mso-padding-alt:0pt 5.4pt 0pt 5.4pt;
--- 7889,7903 ----
   </tr>
  </table>
  
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872326"></a><a
! name="_Toc115417105"></a><a name="_Toc115416257"><span style='mso-bookmark:
! _Toc115417105'><span style='mso-bookmark:_Toc126872326'>A.2. Integrated Logon Network
! provider parameters</span></span></a></h2>
  
  <p class=MsoBodyText>Affects the network provider (afslogon.dll).</p>
  
! <h3 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872327"></a><a
! name="_Toc115416258"><span style='mso-bookmark:_Toc126872327'>Regkey: [HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters]</span></a></h3>
  
  <table class=MsoTableWeb1 border=1 cellspacing=3 cellpadding=0
   style='mso-cellspacing:2.0pt;mso-yfti-tbllook:480;mso-padding-alt:0pt 5.4pt 0pt 5.4pt;
***************
*** 7738,7745 ****
    height:65.75pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:65.75pt'>
!   <h5 style='mso-outline-level:5;mso-yfti-cnfc:1'><a name="_Toc115416259">Value:
!   FailLoginsSilently</a></h5>
    <p class=MsoBodyText style='mso-yfti-cnfc:1'>Type: DWORD<br>
    Default: 0</p>
    <p class=MsoBodyText style='mso-yfti-cnfc:1'>Do not display message boxes if
--- 7906,7914 ----
    height:65.75pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:65.75pt'>
!   <h5 style='mso-outline-level:5;mso-yfti-cnfc:1'><a name="_Toc126872328"></a><a
!   name="_Toc115416259"><span style='mso-bookmark:_Toc126872328'>Value:
!   FailLoginsSilently</span></a></h5>
    <p class=MsoBodyText style='mso-yfti-cnfc:1'>Type: DWORD<br>
    Default: 0</p>
    <p class=MsoBodyText style='mso-yfti-cnfc:1'>Do not display message boxes if
***************
*** 7748,7755 ****
   </tr>
  </table>
  
! <h3 style='margin-left:0pt;text-indent:0pt'><a name="_Toc115416260">Regkey:<br>
! [HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider]</a></h3>
  
  <table class=MsoTableWeb1 border=1 cellspacing=3 cellpadding=0
   style='mso-cellspacing:2.0pt;mso-yfti-tbllook:480;mso-padding-alt:0pt 5.4pt 0pt 5.4pt;
--- 7917,7925 ----
   </tr>
  </table>
  
! <h3 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872329"></a><a
! name="_Toc115416260"><span style='mso-bookmark:_Toc126872329'>Regkey:<br>
! [HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider]</span></a></h3>
  
  <table class=MsoTableWeb1 border=1 cellspacing=3 cellpadding=0
   style='mso-cellspacing:2.0pt;mso-yfti-tbllook:480;mso-padding-alt:0pt 5.4pt 0pt 5.4pt;
***************
*** 7757,7764 ****
   <tr style='mso-yfti-irow:-1;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 style='mso-outline-level:5;mso-yfti-cnfc:1'><a name="_Toc115416261">Value:
!   NoWarnings</a></h5>
    <p class=MsoBodyText style='mso-yfti-cnfc:1'>Type: DWORD<br>
    Default: 0</p>
    <p class=MsoBodyText style='mso-yfti-cnfc:1'>Disables visible warnings during
--- 7927,7934 ----
   <tr style='mso-yfti-irow:-1;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 style='mso-outline-level:5;mso-yfti-cnfc:1'><a name="_Toc126872330"></a><a
!   name="_Toc115416261"><span style='mso-bookmark:_Toc126872330'>Value: NoWarnings</span></a></h5>
    <p class=MsoBodyText style='mso-yfti-cnfc:1'>Type: DWORD<br>
    Default: 0</p>
    <p class=MsoBodyText style='mso-yfti-cnfc:1'>Disables visible warnings during
***************
*** 7768,7775 ****
   <tr style='mso-yfti-irow:0;height:65.75pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:65.75pt'>
!   <h5 style='mso-outline-level:5'><a name="_Toc115416262">Value:
!   AuthentProviderPath</a></h5>
    <p class=MsoBodyText>Type: REG_SZ<br>
    NSIS: %WINDIR%\SYSTEM32\afslogon.dll</p>
    <p class=MsoBodyText>Specifies the install location of the authentication
--- 7938,7946 ----
   <tr style='mso-yfti-irow:0;height:65.75pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:65.75pt'>
!   <h5 style='mso-outline-level:5'><a name="_Toc126872331"></a><a
!   name="_Toc115416262"><span style='mso-bookmark:_Toc126872331'>Value:
!   AuthentProviderPath</span></a></h5>
    <p class=MsoBodyText>Type: REG_SZ<br>
    NSIS: %WINDIR%\SYSTEM32\afslogon.dll</p>
    <p class=MsoBodyText>Specifies the install location of the authentication
***************
*** 7779,7785 ****
   <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 style='mso-outline-level:5'><a name="_Toc115416263">Value: Class</a></h5>
    <p class=MsoBodyText>Type: DWORD<br>
    NSIS: 0x02</p>
    <p class=MsoBodyText>Specifies the class of network provider</p>
--- 7950,7957 ----
   <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 style='mso-outline-level:5'><a name="_Toc126872332"></a><a
!   name="_Toc115416263"><span style='mso-bookmark:_Toc126872332'>Value: Class</span></a></h5>
    <p class=MsoBodyText>Type: DWORD<br>
    NSIS: 0x02</p>
    <p class=MsoBodyText>Specifies the class of network provider</p>
***************
*** 7788,7794 ****
   <tr style='mso-yfti-irow:2;height:92.0pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:92.0pt'>
!   <h5 style='mso-outline-level:5'><a name="_Toc115416264">Value: DependOnGroup</a></h5>
    <p class=MsoBodyText>Type: REG_MULTI_SZ<br>
    NSIS: PNP_TDI</p>
    <p class=MsoBodyText>Specifies the service groups upon which the AFS Client
--- 7960,7968 ----
   <tr style='mso-yfti-irow:2;height:92.0pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:92.0pt'>
!   <h5 style='mso-outline-level:5'><a name="_Toc126872333"></a><a
!   name="_Toc115416264"><span style='mso-bookmark:_Toc126872333'>Value:
!   DependOnGroup</span></a></h5>
    <p class=MsoBodyText>Type: REG_MULTI_SZ<br>
    NSIS: PNP_TDI</p>
    <p class=MsoBodyText>Specifies the service groups upon which the AFS Client
***************
*** 7800,7807 ****
   <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 style='mso-outline-level:5'><a name="_Toc115416265">Value:
!   DependOnService</a></h5>
    <p class=MsoBodyText>Type: REG_MULTI_SZ<br>
    NSIS: Tcpip NETBIOS RpcSs</p>
    <p class=MsoBodyText>Specifies a list of services upon which the AFS Client
--- 7974,7982 ----
   <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 style='mso-outline-level:5'><a name="_Toc126872334"></a><a
!   name="_Toc115416265"><span style='mso-bookmark:_Toc126872334'>Value:
!   DependOnService</span></a></h5>
    <p class=MsoBodyText>Type: REG_MULTI_SZ<br>
    NSIS: Tcpip NETBIOS RpcSs</p>
    <p class=MsoBodyText>Specifies a list of services upon which the AFS Client
***************
*** 7813,7819 ****
   <tr style='mso-yfti-irow:4;height:65.75pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:65.75pt'>
!   <h5 style='mso-outline-level:5'><a name="_Toc115416266">Value: Name</a></h5>
    <p class=MsoBodyText>Type: REG_SZ<br>
    NSIS: &quot;OpenAFSDaemon&quot;</p>
    <p class=MsoBodyText>Specifies the display name of the AFS Client Service</p>
--- 7988,7995 ----
   <tr style='mso-yfti-irow:4;height:65.75pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:65.75pt'>
!   <h5 style='mso-outline-level:5'><a name="_Toc126872335"></a><a
!   name="_Toc115416266"><span style='mso-bookmark:_Toc126872335'>Value: Name</span></a></h5>
    <p class=MsoBodyText>Type: REG_SZ<br>
    NSIS: &quot;OpenAFSDaemon&quot;</p>
    <p class=MsoBodyText>Specifies the display name of the AFS Client Service</p>
***************
*** 7822,7828 ****
   <tr style='mso-yfti-irow:5;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 style='mso-outline-level:5'><a name="_Toc115416267">Value: ProviderPath</a></h5>
    <p class=MsoBodyText>Type: REG_SZ<br>
    NSIS: %WINDIR%\SYSTEM32\afslogon.dll</p>
    <p class=MsoBodyText>Specifies the DLL to use for the network provider</p>
--- 7998,8006 ----
   <tr style='mso-yfti-irow:5;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 style='mso-outline-level:5'><a name="_Toc126872336"></a><a
!   name="_Toc115416267"><span style='mso-bookmark:_Toc126872336'>Value:
!   ProviderPath</span></a></h5>
    <p class=MsoBodyText>Type: REG_SZ<br>
    NSIS: %WINDIR%\SYSTEM32\afslogon.dll</p>
    <p class=MsoBodyText>Specifies the DLL to use for the network provider</p>
***************
*** 7830,7840 ****
   </tr>
  </table>
  
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc115417106"></a><a
! name="_Toc115416268"></a><a name="_A.2.1_Domain_specific_configuration"></a><![if !supportLists]><span
! style='mso-bookmark:_Toc115417106'><span style='mso-bookmark:_Toc115416268'></span></span><![endif]><span
! style='mso-bookmark:_Toc115417106'><span style='mso-bookmark:_Toc115416268'>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
  behavior depending on the domain that the user logs into.<span
--- 8008,8021 ----
   </tr>
  </table>
  
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872337"></a><a
! name="_Toc115417106"></a><a name="_Toc115416268"></a><a
! name="_A.2.1_Domain_specific_configuration"></a><![if !supportLists]><span
! style='mso-bookmark:_Toc126872337'><span style='mso-bookmark:_Toc115417106'><span
! style='mso-bookmark:_Toc115416268'></span></span></span><![endif]><span
! style='mso-bookmark:_Toc126872337'><span style='mso-bookmark:_Toc115417106'><span
! style='mso-bookmark:_Toc115416268'>A.2.1 Domain specific configuration keys for
! the Network Provider</span></span></span></h2>
  
  <p class=MsoBodyText>The network provider can be configured to have different
  behavior depending on the domain that the user logs into.<span
***************
*** 7847,7871 ****
  
  <p class=MsoBodyText>Domain specific registry keys are:</p>
  
! <h3 style='margin-left:0pt;text-indent:0pt'><a name="_Toc115416269">[HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider]</a></h3>
  
  <p class=MsoBodyText><span style='mso-spacerun:yes'>  </span>(NP key)</p>
  
! <h3 style='margin-left:0pt;text-indent:0pt'><a name="_Toc115416270">[HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider\Domain]</a></h3>
  
  <p class=MsoBodyText><span style='mso-spacerun:yes'>  </span>(Domains key)</p>
  
! <h3 style='margin-left:0pt;text-indent:0pt'><a name="_Toc115416271">[HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider\Domain\&quot;domain
! name&quot;]</a></h3>
  
  <p class=MsoBodyText><span style='mso-spacerun:yes'>  </span>(Specific domain
  key. One per domain.)</p>
  
! <h3 style='margin-left:0pt;text-indent:0pt'><a name="_Toc115416272">[HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider\Domain\LOCALHOST]</a></h3>
  
  <p class=MsoBodyText><span style='mso-spacerun:yes'>  </span>(Localhost key)</p>
  
! <h3 style='margin-left:0pt;text-indent:0pt'><a name="_Toc115416273">Example:</a></h3>
  
  <p class=PreformattedText><span
  style='mso-spacerun:yes'> </span>HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider</p>
--- 8028,8057 ----
  
  <p class=MsoBodyText>Domain specific registry keys are:</p>
  
! <h3 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872338"></a><a
! name="_Toc115416269"><span style='mso-bookmark:_Toc126872338'>[HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider]</span></a></h3>
  
  <p class=MsoBodyText><span style='mso-spacerun:yes'>  </span>(NP key)</p>
  
! <h3 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872339"></a><a
! name="_Toc115416270"><span style='mso-bookmark:_Toc126872339'>[HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider\Domain]</span></a></h3>
  
  <p class=MsoBodyText><span style='mso-spacerun:yes'>  </span>(Domains key)</p>
  
! <h3 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872340"></a><a
! name="_Toc115416271"><span style='mso-bookmark:_Toc126872340'>[HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider\Domain\&quot;domain
! name&quot;]</span></a></h3>
  
  <p class=MsoBodyText><span style='mso-spacerun:yes'>  </span>(Specific domain
  key. One per domain.)</p>
  
! <h3 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872341"></a><a
! name="_Toc115416272"><span style='mso-bookmark:_Toc126872341'>[HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider\Domain\LOCALHOST]</span></a></h3>
  
  <p class=MsoBodyText><span style='mso-spacerun:yes'>  </span>(Localhost key)</p>
  
! <h3 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872342"></a><a
! name="_Toc115416273"><span style='mso-bookmark:_Toc126872342'>Example:</span></a></h3>
  
  <p class=PreformattedText><span
  style='mso-spacerun:yes'> </span>HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider</p>
***************
*** 7886,7899 ****
  values described in 2.1.1.<span style='mso-spacerun:yes'>  </span>The effective
  values are chosen as described in 2.1.2.</p>
  
! <h3 style='margin-left:0pt;text-indent:0pt'><a name="_Toc115416274">A.2.1.1 Domain
! specific configuration values</a></h3>
  
! <h4><a name="_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
  name&quot;]<br>
! [HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider\Domain\LOCALHOST]</a></h4>
  
  <table class=MsoTableWeb1 border=1 cellspacing=3 cellpadding=0
   style='mso-cellspacing:2.0pt;mso-yfti-tbllook:480;mso-padding-alt:0pt 5.4pt 0pt 5.4pt;
--- 8072,8087 ----
  values described in 2.1.1.<span style='mso-spacerun:yes'>  </span>The effective
  values are chosen as described in 2.1.2.</p>
  
! <h3 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872343"></a><a
! name="_Toc115416274"><span style='mso-bookmark:_Toc126872343'>A.2.1.1 Domain
! specific configuration values</span></a></h3>
  
! <h4><a name="_Toc126872344"></a><a name="_Toc115416275"><span style='mso-bookmark:
! _Toc126872344'>[HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider]<br>
  [HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider\Domain]<br>
  [HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider\Domain\&quot;domain
  name&quot;]<br>
! [HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider\Domain\LOCALHOST]</span></a></h4>
  
  <table class=MsoTableWeb1 border=1 cellspacing=3 cellpadding=0
   style='mso-cellspacing:2.0pt;mso-yfti-tbllook:480;mso-padding-alt:0pt 5.4pt 0pt 5.4pt;
***************
*** 7901,7909 ****
   <tr style='mso-yfti-irow:-1;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 style='mso-outline-level:5;mso-yfti-cnfc:1'><a name="_Toc115416276"></a><a
!   name="_Value___: LogonOptions"></a><span style='mso-bookmark:_Toc115416276'>Value:
!   LogonOptions</span></h5>
    <p class=MsoBodyText style='mso-yfti-cnfc:1'>Type: DWORD<br>
    Default: 0x01</p>
    <p class=MsoBodyText style='mso-yfti-cnfc:1'>NSIS/WiX: depends on user
--- 8089,8098 ----
   <tr style='mso-yfti-irow:-1;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 style='mso-outline-level:5;mso-yfti-cnfc:1'><a name="_Toc126872345"></a><a
!   name="_Toc115416276"></a><a name="_Value___: LogonOptions"></a><span
!   style='mso-bookmark:_Toc126872345'><span style='mso-bookmark:_Toc115416276'>Value:
!   LogonOptions</span></span></h5>
    <p class=MsoBodyText style='mso-yfti-cnfc:1'>Type: DWORD<br>
    Default: 0x01</p>
    <p class=MsoBodyText style='mso-yfti-cnfc:1'>NSIS/WiX: depends on user
***************
*** 7926,7933 ****
   <tr style='mso-yfti-irow:0;height:92.0pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:92.0pt'>
!   <h5 style='mso-outline-level:5'><a name="_Toc115416277">Value:
!   FailLoginsSilentl</a></h5>
    <p class=MsoBodyText>Type: DWORD (1|0)<br>
    Default: 0<br>
    NSIS/WiX: (not set)</p>
--- 8115,8123 ----
   <tr style='mso-yfti-irow:0;height:92.0pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:92.0pt'>
!   <h5 style='mso-outline-level:5'><a name="_Toc126872346"></a><a
!   name="_Toc115416277"><span style='mso-bookmark:_Toc126872346'>Value:
!   FailLoginsSilentl</span></a></h5>
    <p class=MsoBodyText>Type: DWORD (1|0)<br>
    Default: 0<br>
    NSIS/WiX: (not set)</p>
***************
*** 7938,7944 ****
   <tr style='mso-yfti-irow:1;height:139.0pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:139.0pt'>
!   <h5 style='mso-outline-level:5'><a name="_Toc115416278">Value: LogonScript</a></h5>
    <p class=MsoBodyText>Type: REG_SZ or REG_EXPAND_SZ<br>
    Default: (null)<br>
    NSIS/WiX: (only value under NP key) &lt;install path&gt;\afscreds.exe -:%s -x
--- 8128,8136 ----
   <tr style='mso-yfti-irow:1;height:139.0pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:139.0pt'>
!   <h5 style='mso-outline-level:5'><a name="_Toc126872347"></a><a
!   name="_Toc115416278"><span style='mso-bookmark:_Toc126872347'>Value:
!   LogonScript</span></a></h5>
    <p class=MsoBodyText>Type: REG_SZ or REG_EXPAND_SZ<br>
    Default: (null)<br>
    NSIS/WiX: (only value under NP key) &lt;install path&gt;\afscreds.exe -:%s -x
***************
*** 7955,7961 ****
   <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 style='mso-outline-level:5'><a name="_Toc115416279">Value: LoginRetryInterval</a></h5>
    <p class=MsoBodyText>Type: DWORD<br>
    Default: 30<br>
    NSIS/WiX: (not set)</p>
--- 8147,8154 ----
   <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 style='mso-outline-level:5'><a name="_Toc126872348"></a><a
!   name="_Toc115416279"><span style='mso-bookmark:_Toc126872348'>Value: LoginRetryInterval</span></a></h5>
    <p class=MsoBodyText>Type: DWORD<br>
    Default: 30<br>
    NSIS/WiX: (not set)</p>
***************
*** 7968,7975 ****
   <tr style='mso-yfti-irow:3;height:79.25pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:79.25pt'>
!   <h5 style='mso-outline-level:5'><a name="_Toc115416280">Value:
!   LoginSleepInterval</a></h5>
    <p class=MsoBodyText>Type: DWORD<br>
    Default: 5<br>
    NSIS/WiX: (not set)</p>
--- 8161,8169 ----
   <tr style='mso-yfti-irow:3;height:79.25pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:79.25pt'>
!   <h5 style='mso-outline-level:5'><a name="_Toc126872349"></a><a
!   name="_Toc115416280"><span style='mso-bookmark:_Toc126872349'>Value:
!   LoginSleepInterval</span></a></h5>
    <p class=MsoBodyText>Type: DWORD<br>
    Default: 5<br>
    NSIS/WiX: (not set)</p>
***************
*** 7979,7987 ****
   <tr style='mso-yfti-irow:4;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 style='mso-outline-level:5'><a name="_Toc115416281"></a><a
!   name="_Value:_TheseCells"></a><span style='mso-bookmark:_Toc115416281'>Value:
!   TheseCells</span></h5>
    <p class=MsoBodyText>Type: REG_MULTI_SZ<br>
    NSIS: &lt;not set&gt;</p>
    <p class=MsoBodyText>When Kerberos 5 is being used, TheseCells provides a
--- 8173,8182 ----
   <tr style='mso-yfti-irow:4;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 style='mso-outline-level:5'><a name="_Toc126872350"></a><a
!   name="_Toc115416281"></a><a name="_Value:_TheseCells"></a><span
!   style='mso-bookmark:_Toc126872350'><span style='mso-bookmark:_Toc115416281'>Value:
!   TheseCells</span></span></h5>
    <p class=MsoBodyText>Type: REG_MULTI_SZ<br>
    NSIS: &lt;not set&gt;</p>
    <p class=MsoBodyText>When Kerberos 5 is being used, TheseCells provides a
***************
*** 7991,7999 ****
   </tr>
  </table>
  
! <h3 style='margin-left:0pt;text-indent:0pt'><a name="_Toc115416282">A.2.1.2<span
  style='mso-spacerun:yes'>  </span>Selection of effective values for domain
! specific configuration</a></h3>
  
  <p class=MsoBodyText>During login to domain X, where X is the domain passed
  into NPLogonNotify as lpAuthentInfo-&gt;LogonDomainName or the string 'LOCALHOST'
--- 8186,8195 ----
   </tr>
  </table>
  
! <h3 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872351"></a><a
! name="_Toc115416282"><span style='mso-bookmark:_Toc126872351'>A.2.1.2<span
  style='mso-spacerun:yes'>  </span>Selection of effective values for domain
! specific configuration</span></a></h3>
  
  <p class=MsoBodyText>During login to domain X, where X is the domain passed
  into NPLogonNotify as lpAuthentInfo-&gt;LogonDomainName or the string 'LOCALHOST'
***************
*** 8031,8043 ****
  a more specific key supercedes a value in a less specific key.<span
  style='mso-spacerun:yes'>  </span>The exceptions to this rule are stated below.</p>
  
! <h3 style='margin-left:0pt;text-indent:0pt'><a name="_Toc115416283">A.2.1.3 Exceptions
! to A.2.1.2</a></h3>
  
  <p class=MsoBodyText>To retain backwards compatibility, the following
  exceptions are made to 2.1.2.</p>
  
! <h4><a name="_Toc115416284">2.1.3.1 'FailLoginsSilently'</a></h4>
  
  <p class=MsoBodyText>Historically, the 'FailLoginsSilently' value was in HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters
  key and not in the NP key.<span style='mso-spacerun:yes'>  </span>Therefore, for
--- 8227,8241 ----
  a more specific key supercedes a value in a less specific key.<span
  style='mso-spacerun:yes'>  </span>The exceptions to this rule are stated below.</p>
  
! <h3 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872352"></a><a
! name="_Toc115416283"><span style='mso-bookmark:_Toc126872352'>A.2.1.3 Exceptions
! to A.2.1.2</span></a></h3>
  
  <p class=MsoBodyText>To retain backwards compatibility, the following
  exceptions are made to 2.1.2.</p>
  
! <h4><a name="_Toc126872353"></a><a name="_Toc115416284"><span style='mso-bookmark:
! _Toc126872353'>2.1.3.1 'FailLoginsSilently'</span></a></h4>
  
  <p class=MsoBodyText>Historically, the 'FailLoginsSilently' value was in HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters
  key and not in the NP key.<span style='mso-spacerun:yes'>  </span>Therefore, for
***************
*** 8046,8052 ****
  </span>In the absence of this value in the Parameters key, normal scope rules
  apply.</p>
  
! <h4><a name="_Toc115416285">2.1.3.2 'LogonScript'</a></h4>
  
  <p class=MsoBodyText>If a 'LogonScript' is not specified in the specific domain
  key nor in the domains key, the value in the NP key will only be checked if the
--- 8244,8251 ----
  </span>In the absence of this value in the Parameters key, normal scope rules
  apply.</p>
  
! <h4><a name="_Toc126872354"></a><a name="_Toc115416285"><span style='mso-bookmark:
! _Toc126872354'>2.1.3.2 'LogonScript'</span></a></h4>
  
  <p class=MsoBodyText>If a 'LogonScript' is not specified in the specific domain
  key nor in the domains key, the value in the NP key will only be checked if the
***************
*** 8056,8069 ****
  security setting.<span style='mso-spacerun:yes'>  </span>Please be aware of
  this when setting this value.</p>
  
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc115417107"></a><a
! name="_Toc115416286"><span style='mso-bookmark:_Toc115417107'>A.3. AFS
! Credentials System Tray Tool parameters</span></a></h2>
  
  <p class=MsoBodyText>Affects the behavior of afscreds.exe</p>
  
! <h3 style='margin-left:0pt;text-indent:0pt'><a name="_Toc115416287">Regkey:<br>
! [HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters]</a></h3>
  
  <table class=MsoTableWeb1 border=1 cellspacing=3 cellpadding=0
   style='mso-cellspacing:2.0pt;mso-yfti-tbllook:480;mso-padding-alt:0pt 5.4pt 0pt 5.4pt;
--- 8255,8270 ----
  security setting.<span style='mso-spacerun:yes'>  </span>Please be aware of
  this when setting this value.</p>
  
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872355"></a><a
! name="_Toc115417107"></a><a name="_Toc115416286"><span style='mso-bookmark:
! _Toc115417107'><span style='mso-bookmark:_Toc126872355'>A.3. AFS Credentials
! System Tray Tool parameters</span></span></a></h2>
  
  <p class=MsoBodyText>Affects the behavior of afscreds.exe</p>
  
! <h3 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872356"></a><a
! name="_Toc115416287"><span style='mso-bookmark:_Toc126872356'>Regkey:<br>
! [HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters]</span></a></h3>
  
  <table class=MsoTableWeb1 border=1 cellspacing=3 cellpadding=0
   style='mso-cellspacing:2.0pt;mso-yfti-tbllook:480;mso-padding-alt:0pt 5.4pt 0pt 5.4pt;
***************
*** 8071,8078 ****
   <tr style='mso-yfti-irow:-1;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 style='mso-outline-level:5;mso-yfti-cnfc:1'><a name="_Toc115416288">Value:
!   Gateway</a></h5>
    <p class=MsoBodyText style='mso-yfti-cnfc:1'>Type: REG_SZ<br>
    Default: &quot;&quot;<br>
    Function: GetGatewayName()</p>
--- 8272,8279 ----
   <tr style='mso-yfti-irow:-1;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 style='mso-outline-level:5;mso-yfti-cnfc:1'><a name="_Toc126872357"></a><a
!   name="_Toc115416288"><span style='mso-bookmark:_Toc126872357'>Value: Gateway</span></a></h5>
    <p class=MsoBodyText style='mso-yfti-cnfc:1'>Type: REG_SZ<br>
    Default: &quot;&quot;<br>
    Function: GetGatewayName()</p>
***************
*** 8084,8090 ****
   <tr style='mso-yfti-irow:0;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 style='mso-outline-level:5'><a name="_Toc115416289">Value: Cell</a></h5>
    <p class=MsoBodyText>Type: REG_SZ<br>
    Default: &lt;none&gt;<br>
    Variable: IsServiceConfigured()</p>
--- 8285,8292 ----
   <tr style='mso-yfti-irow:0;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 style='mso-outline-level:5'><a name="_Toc126872358"></a><a
!   name="_Toc115416289"><span style='mso-bookmark:_Toc126872358'>Value: Cell</span></a></h5>
    <p class=MsoBodyText>Type: REG_SZ<br>
    Default: &lt;none&gt;<br>
    Variable: IsServiceConfigured()</p>
***************
*** 8094,8102 ****
   </tr>
  </table>
  
! <h3 style='margin-left:0pt;text-indent:0pt'><a name="_Toc115416290">Regkey:<br>
  [HKLM\SOFTWARE\OpenAFS\Client]<br>
! [HKCU\SOFTWARE\OpenAFS\Client]</a></h3>
  
  <table class=MsoTableWeb1 border=1 cellspacing=3 cellpadding=0
   style='mso-cellspacing:2.0pt;mso-yfti-tbllook:480;mso-padding-alt:0pt 5.4pt 0pt 5.4pt;
--- 8296,8305 ----
   </tr>
  </table>
  
! <h3 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872359"></a><a
! name="_Toc115416290"><span style='mso-bookmark:_Toc126872359'>Regkey:<br>
  [HKLM\SOFTWARE\OpenAFS\Client]<br>
! [HKCU\SOFTWARE\OpenAFS\Client]</span></a></h3>
  
  <table class=MsoTableWeb1 border=1 cellspacing=3 cellpadding=0
   style='mso-cellspacing:2.0pt;mso-yfti-tbllook:480;mso-padding-alt:0pt 5.4pt 0pt 5.4pt;
***************
*** 8104,8111 ****
   <tr style='mso-yfti-irow:-1;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 style='mso-outline-level:5;mso-yfti-cnfc:1'><a name="_Toc115416291">Value:
!   ShowTrayIcon</a></h5>
    <p class=MsoBodyText style='mso-yfti-cnfc:1'>Type: DWORD {0, 1}<br>
    Default: 1<br>
    Function: InitApp(), Main_OnCheckTerminate()</p>
--- 8307,8315 ----
   <tr style='mso-yfti-irow:-1;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 style='mso-outline-level:5;mso-yfti-cnfc:1'><a name="_Toc126872360"></a><a
!   name="_Toc115416291"><span style='mso-bookmark:_Toc126872360'>Value:
!   ShowTrayIcon</span></a></h5>
    <p class=MsoBodyText style='mso-yfti-cnfc:1'>Type: DWORD {0, 1}<br>
    Default: 1<br>
    Function: InitApp(), Main_OnCheckTerminate()</p>
***************
*** 8121,8127 ****
   <tr style='mso-yfti-irow:0;height:119.0pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:119.0pt'>
!   <h5 style='mso-outline-level:5'><a name="_Toc115416292">Value: EnableKFW</a></h5>
    <p class=MsoBodyText>Type: DWORD {0, 1}<br>
    Default: 1<br>
    Function: KFW_is_available()</p>
--- 8325,8333 ----
   <tr style='mso-yfti-irow:0;height:119.0pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:119.0pt'>
!   <h5 style='mso-outline-level:5'><a name="_Toc126872361"></a><a
!   name="_Toc115416292"><span style='mso-bookmark:_Toc126872361'>Value:
!   EnableKFW</span></a></h5>
    <p class=MsoBodyText>Type: DWORD {0, 1}<br>
    Default: 1<br>
    Function: KFW_is_available()</p>
***************
*** 8136,8144 ****
   <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 style='mso-outline-level:5'><a name="_Toc115416293"></a><a
!   name="_Value___: Use524"></a><span style='mso-bookmark:_Toc115416293'>Value:
!   Use524</span></h5>
    <p class=MsoBodyText>Type: DWORD {0, 1}<br>
    Default: 0<br>
    Function: KFW_use_krb524()</p>
--- 8342,8351 ----
   <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 style='mso-outline-level:5'><a name="_Toc126872362"></a><a
!   name="_Toc115416293"></a><a name="_Value___: Use524"></a><span
!   style='mso-bookmark:_Toc126872362'><span style='mso-bookmark:_Toc115416293'>Value:
!   Use524</span></span></h5>
    <p class=MsoBodyText>Type: DWORD {0, 1}<br>
    Default: 0<br>
    Function: KFW_use_krb524()</p>
***************
*** 8153,8161 ****
   <tr style='mso-yfti-irow:2;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 style='mso-outline-level:5'><a name="_Toc115416294"></a><a
!   name="_Value___: AfscredsShortcutParams"></a><span style='mso-bookmark:_Toc115416294'>Value:
!   AfscredsShortcutParams</span></h5>
    <p class=MsoBodyText>Type: REG_SZ<br>
    Default: &quot;-A -M -N -Q&quot;<br>
    Function: Shortcut_FixStartup</p>
--- 8360,8369 ----
   <tr style='mso-yfti-irow:2;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 style='mso-outline-level:5'><a name="_Toc126872363"></a><a
!   name="_Toc115416294"></a><a name="_Value___: AfscredsShortcutParams"></a><span
!   style='mso-bookmark:_Toc126872363'><span style='mso-bookmark:_Toc115416294'>Value:
!   AfscredsShortcutParams</span></span></h5>
    <p class=MsoBodyText>Type: REG_SZ<br>
    Default: &quot;-A -M -N -Q&quot;<br>
    Function: Shortcut_FixStartup</p>
***************
*** 8180,8187 ****
   </tr>
  </table>
  
! <h3 style='margin-left:0pt;text-indent:0pt'><a name="_Toc115416295">Regkey:<br>
! [HKCU\SOFTWARE\OpenAFS\Client]</a></h3>
  
  <table class=MsoTableWeb1 border=1 cellspacing=3 cellpadding=0
   style='mso-cellspacing:2.0pt;mso-yfti-tbllook:480;mso-padding-alt:0pt 5.4pt 0pt 5.4pt;
--- 8388,8396 ----
   </tr>
  </table>
  
! <h3 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872364"></a><a
! name="_Toc115416295"><span style='mso-bookmark:_Toc126872364'>Regkey:<br>
! [HKCU\SOFTWARE\OpenAFS\Client]</span></a></h3>
  
  <table class=MsoTableWeb1 border=1 cellspacing=3 cellpadding=0
   style='mso-cellspacing:2.0pt;mso-yfti-tbllook:480;mso-padding-alt:0pt 5.4pt 0pt 5.4pt;
***************
*** 8190,8197 ****
    height:92.0pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:92.0pt'>
!   <h5 style='mso-outline-level:5;mso-yfti-cnfc:1'><a name="_Toc115416296">Value:
!   Authentication Cell</a></h5>
    <p class=MsoBodyText style='mso-yfti-cnfc:1'>Type: REG_SZ<br>
    Default: &lt;none&gt;<br>
    Function: Afscreds.exe GetDefaultCell()</p>
--- 8399,8407 ----
    height:92.0pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:92.0pt'>
!   <h5 style='mso-outline-level:5;mso-yfti-cnfc:1'><a name="_Toc126872365"></a><a
!   name="_Toc115416296"><span style='mso-bookmark:_Toc126872365'>Value:
!   Authentication Cell</span></a></h5>
    <p class=MsoBodyText style='mso-yfti-cnfc:1'>Type: REG_SZ<br>
    Default: &lt;none&gt;<br>
    Function: Afscreds.exe GetDefaultCell()</p>
***************
*** 8202,8209 ****
   </tr>
  </table>
  
! <h3 style='margin-left:0pt;text-indent:0pt'><a name="_Toc115416297">Regkey:<br>
! [HKCU\SOFTWARE\OpenAFS\Client\Reminders]</a></h3>
  
  <table class=MsoTableWeb1 border=1 cellspacing=3 cellpadding=0
   style='mso-cellspacing:2.0pt;mso-yfti-tbllook:480;mso-padding-alt:0pt 5.4pt 0pt 5.4pt;
--- 8412,8420 ----
   </tr>
  </table>
  
! <h3 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872366"></a><a
! name="_Toc115416297"><span style='mso-bookmark:_Toc126872366'>Regkey:<br>
! [HKCU\SOFTWARE\OpenAFS\Client\Reminders]</span></a></h3>
  
  <table class=MsoTableWeb1 border=1 cellspacing=3 cellpadding=0
   style='mso-cellspacing:2.0pt;mso-yfti-tbllook:480;mso-padding-alt:0pt 5.4pt 0pt 5.4pt;
***************
*** 8212,8219 ****
    height:124.75pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:124.75pt'>
!   <h5 style='mso-outline-level:5;mso-yfti-cnfc:1'><a name="_Toc115416298">Value:
!   &quot;afs cell name&quot;</a></h5>
    <p class=MsoBodyText style='mso-yfti-cnfc:1'>Type: DWORD {0, 1}<br>
    Default: &lt;none&gt;<br>
    Function: LoadRemind(), SaveRemind()</p>
--- 8423,8431 ----
    height:124.75pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:124.75pt'>
!   <h5 style='mso-outline-level:5;mso-yfti-cnfc:1'><a name="_Toc126872367"></a><a
!   name="_Toc115416298"><span style='mso-bookmark:_Toc126872367'>Value:
!   &quot;afs cell name&quot;</span></a></h5>
    <p class=MsoBodyText style='mso-yfti-cnfc:1'>Type: DWORD {0, 1}<br>
    Default: &lt;none&gt;<br>
    Function: LoadRemind(), SaveRemind()</p>
***************
*** 8226,8233 ****
   </tr>
  </table>
  
! <h3 style='margin-left:0pt;text-indent:0pt'><a name="_Toc115416299">Regkey:<br>
! [HKCU\SOFTWARE\OpenAFS\Client\Active Maps]</a></h3>
  
  <table class=MsoTableWeb1 border=1 cellspacing=3 cellpadding=0
   style='mso-cellspacing:2.0pt;mso-yfti-tbllook:480;mso-padding-alt:0pt 5.4pt 0pt 5.4pt;
--- 8438,8446 ----
   </tr>
  </table>
  
! <h3 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872368"></a><a
! name="_Toc115416299"><span style='mso-bookmark:_Toc126872368'>Regkey:<br>
! [HKCU\SOFTWARE\OpenAFS\Client\Active Maps]</span></a></h3>
  
  <table class=MsoTableWeb1 border=1 cellspacing=3 cellpadding=0
   style='mso-cellspacing:2.0pt;mso-yfti-tbllook:480;mso-padding-alt:0pt 5.4pt 0pt 5.4pt;
***************
*** 8236,8243 ****
    height:98.5pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:98.5pt'>
!   <h5 style='mso-outline-level:5;mso-yfti-cnfc:1'><a name="_Toc115416300">Value:
!   &quot;upper case drive letter&quot;</a></h5>
    <p class=MsoBodyText style='mso-yfti-cnfc:1'>Type: DWORD {0, 1}<br>
    Default: &lt;none&gt;</p>
    <p class=MsoBodyText style='mso-yfti-cnfc:1'>These values are used to store
--- 8449,8457 ----
    height:98.5pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:98.5pt'>
!   <h5 style='mso-outline-level:5;mso-yfti-cnfc:1'><a name="_Toc126872369"></a><a
!   name="_Toc115416300"><span style='mso-bookmark:_Toc126872369'>Value:
!   &quot;upper case drive letter&quot;</span></a></h5>
    <p class=MsoBodyText style='mso-yfti-cnfc:1'>Type: DWORD {0, 1}<br>
    Default: &lt;none&gt;</p>
    <p class=MsoBodyText style='mso-yfti-cnfc:1'>These values are used to store
***************
*** 8249,8256 ****
   </tr>
  </table>
  
! <h3 style='margin-left:0pt;text-indent:0pt'><a name="_Toc115416301">Regkey:<br>
! [HKCU\SOFTWARE\OpenAFS\Client\Mappings]</a></h3>
  
  <table class=MsoTableWeb1 border=1 cellspacing=3 cellpadding=0
   style='mso-cellspacing:2.0pt;mso-yfti-tbllook:480;mso-padding-alt:0pt 5.4pt 0pt 5.4pt;
--- 8463,8471 ----
   </tr>
  </table>
  
! <h3 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872370"></a><a
! name="_Toc115416301"><span style='mso-bookmark:_Toc126872370'>Regkey:<br>
! [HKCU\SOFTWARE\OpenAFS\Client\Mappings]</span></a></h3>
  
  <table class=MsoTableWeb1 border=1 cellspacing=3 cellpadding=0
   style='mso-cellspacing:2.0pt;mso-yfti-tbllook:480;mso-padding-alt:0pt 5.4pt 0pt 5.4pt;
***************
*** 8259,8266 ****
    height:98.5pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:98.5pt'>
!   <h5 style='mso-outline-level:5;mso-yfti-cnfc:1'><a name="_Toc115416302">Value:
!   &quot;upper case drive letter&quot;</a></h5>
    <p class=MsoBodyText style='mso-yfti-cnfc:1'>Type: REG_SZ<br>
    Default: &lt;none&gt;</p>
    <p class=MsoBodyText style='mso-yfti-cnfc:1'>These values are used to store
--- 8474,8482 ----
    height:98.5pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:98.5pt'>
!   <h5 style='mso-outline-level:5;mso-yfti-cnfc:1'><a name="_Toc126872371"></a><a
!   name="_Toc115416302"><span style='mso-bookmark:_Toc126872371'>Value:
!   &quot;upper case drive letter&quot;</span></a></h5>
    <p class=MsoBodyText style='mso-yfti-cnfc:1'>Type: REG_SZ<br>
    Default: &lt;none&gt;</p>
    <p class=MsoBodyText style='mso-yfti-cnfc:1'>These values are used to store
***************
*** 8271,8287 ****
   </tr>
  </table>
  
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc115417108"></a><a
! name="_Toc115416303"><span style='mso-bookmark:_Toc115417108'>A.4 OpenAFS
! Client Service Environment Variables</span></a></h2>
  
  <table class=MsoTableWeb1 border=1 cellspacing=3 cellpadding=0
   style='mso-cellspacing:2.0pt;mso-yfti-tbllook:480;mso-padding-alt:0pt 5.4pt 0pt 5.4pt;
   mso-border-insideh:.75pt outset windowtext;mso-border-insidev:.75pt outset windowtext'>
   <tr style='mso-yfti-irow:-1;mso-yfti-firstrow:yes'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <h5 style='mso-outline-level:5;mso-yfti-cnfc:1'><a name="_Toc115416304">Variable:
!   AFS_RPC_ENCRYPT</a></h5>
    <p class=MsoBodyText style='mso-yfti-cnfc:1'>Values:<span
    style='mso-spacerun:yes'>   </span>&quot;OFF&quot; disables the use of RPC
    encryption any other value allows RPC encryption to be used<br>
--- 8487,8505 ----
   </tr>
  </table>
  
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872372"></a><a
! name="_Toc115417108"></a><a name="_Toc115416303"><span style='mso-bookmark:
! _Toc115417108'><span style='mso-bookmark:_Toc126872372'>A.4 OpenAFS Client
! Service Environment Variables</span></span></a></h2>
  
  <table class=MsoTableWeb1 border=1 cellspacing=3 cellpadding=0
   style='mso-cellspacing:2.0pt;mso-yfti-tbllook:480;mso-padding-alt:0pt 5.4pt 0pt 5.4pt;
   mso-border-insideh:.75pt outset windowtext;mso-border-insidev:.75pt outset windowtext'>
   <tr style='mso-yfti-irow:-1;mso-yfti-firstrow:yes'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <h5 style='mso-outline-level:5;mso-yfti-cnfc:1'><a name="_Toc126872373"></a><a
!   name="_Toc115416304"><span style='mso-bookmark:_Toc126872373'>Variable:
!   AFS_RPC_ENCRYPT</span></a></h5>
    <p class=MsoBodyText style='mso-yfti-cnfc:1'>Values:<span
    style='mso-spacerun:yes'>   </span>&quot;OFF&quot; disables the use of RPC
    encryption any other value allows RPC encryption to be used<br>
***************
*** 8290,8297 ****
   </tr>
   <tr style='mso-yfti-irow:0;mso-yfti-lastrow:yes'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <h5 style='mso-outline-level:5'><a name="_Toc115416305">Variable:
!   AFS_RPC_PROTSEQ</a></h5>
    <p class=MsoBodyText>Values:<span style='mso-tab-count:1'>            </span>&quot;ncalrpc&quot;<span
    style='mso-spacerun:yes'>  </span>- local RPC<br>
    <span style='mso-spacerun:yes'> </span><span style='mso-tab-count:2'>                       </span>&quot;ncacn_np&quot;
--- 8508,8516 ----
   </tr>
   <tr style='mso-yfti-irow:0;mso-yfti-lastrow:yes'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <h5 style='mso-outline-level:5'><a name="_Toc126872374"></a><a
!   name="_Toc115416305"><span style='mso-bookmark:_Toc126872374'>Variable:
!   AFS_RPC_PROTSEQ</span></a></h5>
    <p class=MsoBodyText>Values:<span style='mso-tab-count:1'>            </span>&quot;ncalrpc&quot;<span
    style='mso-spacerun:yes'>  </span>- local RPC<br>
    <span style='mso-spacerun:yes'> </span><span style='mso-tab-count:2'>                       </span>&quot;ncacn_np&quot;
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.2.4 openafs/src/WINNT/doc/install/Documentation/en_US/html/ReleaseNotes/toc.htm:1.2.2.5
*** openafs/src/WINNT/doc/install/Documentation/en_US/html/ReleaseNotes/toc.htm:1.2.2.4	Mon Jan  9 00:29:24 2006
--- openafs/src/WINNT/doc/install/Documentation/en_US/html/ReleaseNotes/toc.htm	Sun Feb  5 03:14:18 2006
***************
*** 16,31 ****
    <o:Author>Jeffrey Altman</o:Author>
    <o:LastAuthor>Jeffrey Altman</o:LastAuthor>
    <o:Revision>1</o:Revision>
!   <o:TotalTime>0</o:TotalTime>
    <o:Created>2005-09-25T21:11:00Z</o:Created>
    <o:LastSaved>2005-09-25T21:11:00Z</o:LastSaved>
    <o:Pages>1</o:Pages>
!   <o:Words>2360</o:Words>
!   <o:Characters>13453</o:Characters>
    <o:Company>Secure Endpoints Inc.</o:Company>
!   <o:Lines>112</o:Lines>
!   <o:Paragraphs>31</o:Paragraphs>
!   <o:CharactersWithSpaces>15782</o:CharactersWithSpaces>
    <o:Version>11.6568</o:Version>
   </o:DocumentProperties>
  </xml><![endif]--><!--[if gte mso 9]><xml>
--- 16,31 ----
    <o:Author>Jeffrey Altman</o:Author>
    <o:LastAuthor>Jeffrey Altman</o:LastAuthor>
    <o:Revision>1</o:Revision>
!   <o:TotalTime>9</o:TotalTime>
    <o:Created>2005-09-25T21:11:00Z</o:Created>
    <o:LastSaved>2005-09-25T21:11:00Z</o:LastSaved>
    <o:Pages>1</o:Pages>
!   <o:Words>4476</o:Words>
!   <o:Characters>25515</o:Characters>
    <o:Company>Secure Endpoints Inc.</o:Company>
!   <o:Lines>212</o:Lines>
!   <o:Paragraphs>59</o:Paragraphs>
!   <o:CharactersWithSpaces>29932</o:CharactersWithSpaces>
    <o:Version>11.6568</o:Version>
   </o:DocumentProperties>
  </xml><![endif]--><!--[if gte mso 9]><xml>
***************
*** 200,1448 ****
  <div class=Section1>
  
  <p class=MsoNormal><!--[if supportFields]><span style='mso-element:field-begin'></span><span
! style='mso-spacerun:yes'> </span>RD &quot;oafw-1-4-release-notes.doc&quot; \f <![endif]--><!--[if supportFields]><span
! style='mso-element:field-end'></span><![endif]--><!--[if supportFields]><span
  style='mso-element:field-begin'></span><span
! style='mso-spacerun:yes'> </span>TOC \o &quot;1-2&quot; \h \z \u <span
! style='mso-element:field-separator'></span><![endif]--><span style='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="oafw-1-4-release-notes.doc#_Toc115417037">1. Installer Options<span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-tab-count:1 dotted'>. </span></span><!--[if supportFields]><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-element:field-begin'></span></span><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'> PAGEREF _Toc115417037 \h </span><span style='color:windowtext;
! display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span
! style='mso-element:field-separator'></span></span><![endif]--><b><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'>Error! Bookmark not defined.</span></b><!--[if supportFields]><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-element:field-end'></span></span><![endif]--></a></span></span><span
  style='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="oafw-1-4-release-notes.doc#_Toc115417038">2. System Requirements<span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-tab-count:1 dotted'>. </span></span><!--[if supportFields]><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-element:field-begin'></span></span><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'> PAGEREF _Toc115417038 \h </span><span style='color:windowtext;
! display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span
! style='mso-element:field-separator'></span></span><![endif]--><b><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'>Error! Bookmark not defined.</span></b><!--[if supportFields]><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-element:field-end'></span></span><![endif]--></a></span></span><span
! style='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="oafw-1-4-release-notes.doc#_Toc115417039">2.1 Supported Operating Systems<span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-tab-count:1 dotted'>. </span></span><!--[if supportFields]><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-element:field-begin'></span></span><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'> PAGEREF _Toc115417039 \h </span><span style='color:windowtext;
! display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span
! style='mso-element:field-separator'></span></span><![endif]--><b><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'>Error! Bookmark not defined.</span></b><!--[if supportFields]><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-element:field-end'></span></span><![endif]--></a></span></span><span
! style='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="oafw-1-4-release-notes.doc#_Toc115417040">2.2 Disk Space<span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-tab-count:1 dotted'>. </span></span><!--[if supportFields]><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-element:field-begin'></span></span><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'> PAGEREF _Toc115417040 \h </span><span style='color:windowtext;
! display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span
! style='mso-element:field-separator'></span></span><![endif]--><b><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'>Error! Bookmark not defined.</span></b><!--[if supportFields]><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-element:field-end'></span></span><![endif]--></a></span></span><span
! style='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="oafw-1-4-release-notes.doc#_Toc115417041">2.3 Additional Software<span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-tab-count:1 dotted'>. </span></span><!--[if supportFields]><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-element:field-begin'></span></span><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'> PAGEREF _Toc115417041 \h </span><span style='color:windowtext;
! display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span
! style='mso-element:field-separator'></span></span><![endif]--><b><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'>Error! Bookmark not defined.</span></b><!--[if supportFields]><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-element:field-end'></span></span><![endif]--></a></span></span><span
  style='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="oafw-1-4-release-notes.doc#_Toc115417042">3. Operational Notes<span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-tab-count:1 dotted'>. </span></span><!--[if supportFields]><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-element:field-begin'></span></span><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'> PAGEREF _Toc115417042 \h </span><span style='color:windowtext;
! display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span
! style='mso-element:field-separator'></span></span><![endif]--><b><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'>Error! Bookmark not defined.</span></b><!--[if supportFields]><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-element:field-end'></span></span><![endif]--></a></span></span><span
! style='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="oafw-1-4-release-notes.doc#_Toc115417043">3.1. Requirements for Kerberos
! 5 Authentication<span style='color:windowtext;display:none;mso-hide:screen;
! text-decoration:none;text-underline:none'><span style='mso-tab-count:1 dotted'>. </span></span><!--[if supportFields]><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-element:field-begin'></span></span><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'> PAGEREF _Toc115417043 \h </span><span style='color:windowtext;
! display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span
! style='mso-element:field-separator'></span></span><![endif]--><b><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'>Error! Bookmark not defined.</span></b><!--[if supportFields]><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-element:field-end'></span></span><![endif]--></a></span></span><span
! style='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="oafw-1-4-release-notes.doc#_Toc115417044">3.2. Use of the Microsoft
! Loopback Adapter<span style='color:windowtext;display:none;mso-hide:screen;
! text-decoration:none;text-underline:none'><span style='mso-tab-count:1 dotted'> </span></span><!--[if supportFields]><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-element:field-begin'></span></span><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'> PAGEREF _Toc115417044 \h </span><span style='color:windowtext;
! display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span
! style='mso-element:field-separator'></span></span><![endif]--><b><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'>Error! Bookmark not defined.</span></b><!--[if supportFields]><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-element:field-end'></span></span><![endif]--></a></span></span><span
! style='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="oafw-1-4-release-notes.doc#_Toc115417045">3.3. Using Freelance (Dynamic
! Root) Mode to Improve Mobility<span style='color:windowtext;display:none;
! mso-hide:screen;text-decoration:none;text-underline:none'><span
! style='mso-tab-count:1 dotted'>. </span></span><!--[if supportFields]><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-element:field-begin'></span></span><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'> PAGEREF _Toc115417045 \h </span><span style='color:windowtext;
! display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span
! style='mso-element:field-separator'></span></span><![endif]--><b><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'>Error! Bookmark not defined.</span></b><!--[if supportFields]><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-element:field-end'></span></span><![endif]--></a></span></span><span
! style='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="oafw-1-4-release-notes.doc#_Toc115417046">3.4. Locating AFS Volume
! Database Servers<span style='color:windowtext;display:none;mso-hide:screen;
! text-decoration:none;text-underline:none'><span style='mso-tab-count:1 dotted'>. </span></span><!--[if supportFields]><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-element:field-begin'></span></span><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'> PAGEREF _Toc115417046 \h </span><span style='color:windowtext;
! display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span
! style='mso-element:field-separator'></span></span><![endif]--><b><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'>Error! Bookmark not defined.</span></b><!--[if supportFields]><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-element:field-end'></span></span><![endif]--></a></span></span><span
! style='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="oafw-1-4-release-notes.doc#_Toc115417047">3.5. Obtaining AFS Tokens as a
! Part of Windows Logon<span style='color:windowtext;display:none;mso-hide:screen;
! text-decoration:none;text-underline:none'><span style='mso-tab-count:1 dotted'>. </span></span><!--[if supportFields]><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-element:field-begin'></span></span><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'> PAGEREF _Toc115417047 \h </span><span style='color:windowtext;
! display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span
! style='mso-element:field-separator'></span></span><![endif]--><b><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'>Error! Bookmark not defined.</span></b><!--[if supportFields]><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-element:field-end'></span></span><![endif]--></a></span></span><span
! style='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="oafw-1-4-release-notes.doc#_Toc115417048">3.6. AFS System Tray Command
! Line Options<span style='color:windowtext;display:none;mso-hide:screen;
! text-decoration:none;text-underline:none'><span style='mso-tab-count:1 dotted'>. </span></span><!--[if supportFields]><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-element:field-begin'></span></span><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'> PAGEREF _Toc115417048 \h </span><span style='color:windowtext;
! display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span
! style='mso-element:field-separator'></span></span><![endif]--><b><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'>Error! Bookmark not defined.</span></b><!--[if supportFields]><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-element:field-end'></span></span><![endif]--></a></span></span><span
! style='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="oafw-1-4-release-notes.doc#_Toc115417049">3.7. The “AFS Client Admins”
! Authorization Group<span style='color:windowtext;display:none;mso-hide:screen;
! text-decoration:none;text-underline:none'><span style='mso-tab-count:1 dotted'>. </span></span><!--[if supportFields]><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-element:field-begin'></span></span><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'> PAGEREF _Toc115417049 \h </span><span style='color:windowtext;
! display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span
! style='mso-element:field-separator'></span></span><![endif]--><b><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'>Error! Bookmark not defined.</span></b><!--[if supportFields]><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-element:field-end'></span></span><![endif]--></a></span></span><span
! style='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="oafw-1-4-release-notes.doc#_Toc115417050">3.8. OpenAFS support for UNC
! paths<span style='color:windowtext;display:none;mso-hide:screen;text-decoration:
! none;text-underline:none'><span style='mso-tab-count:1 dotted'>. </span></span><!--[if supportFields]><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-element:field-begin'></span></span><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'> PAGEREF _Toc115417050 \h </span><span style='color:windowtext;
! display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span
! style='mso-element:field-separator'></span></span><![endif]--><b><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'>Error! Bookmark not defined.</span></b><!--[if supportFields]><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-element:field-end'></span></span><![endif]--></a></span></span><span
! style='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="oafw-1-4-release-notes.doc#_Toc115417051">3.9. OpenAFS includes aklog.exe<span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-tab-count:1 dotted'>. </span></span><!--[if supportFields]><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-element:field-begin'></span></span><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'> PAGEREF _Toc115417051 \h </span><span style='color:windowtext;
! display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span
! style='mso-element:field-separator'></span></span><![endif]--><b><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'>Error! Bookmark not defined.</span></b><!--[if supportFields]><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-element:field-end'></span></span><![endif]--></a></span></span><span
! style='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="oafw-1-4-release-notes.doc#_Toc115417052">3.10. OpenAFS Servers on
! Windows are Unsupported<span style='color:windowtext;display:none;mso-hide:
! screen;text-decoration:none;text-underline:none'><span style='mso-tab-count:
! 1 dotted'>. </span></span><!--[if supportFields]><span style='color:windowtext;
! display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span
! style='mso-element:field-begin'></span></span><span style='color:windowtext;
! display:none;mso-hide:screen;text-decoration:none;text-underline:none'> PAGEREF
! _Toc115417052 \h </span><span style='color:windowtext;display:none;mso-hide:
! screen;text-decoration:none;text-underline:none'><span style='mso-element:field-separator'></span></span><![endif]--><b><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'>Error! Bookmark not defined.</span></b><!--[if supportFields]><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-element:field-end'></span></span><![endif]--></a></span></span><span
! style='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="oafw-1-4-release-notes.doc#_Toc115417053">3.11. OpenAFS Debugging Symbol
! files<span style='color:windowtext;display:none;mso-hide:screen;text-decoration:
! none;text-underline:none'><span style='mso-tab-count:1 dotted'>. </span></span><!--[if supportFields]><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-element:field-begin'></span></span><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'> PAGEREF _Toc115417053 \h </span><span style='color:windowtext;
! display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span
! style='mso-element:field-separator'></span></span><![endif]--><b><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'>Error! Bookmark not defined.</span></b><!--[if supportFields]><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-element:field-end'></span></span><![endif]--></a></span></span><span
! style='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="oafw-1-4-release-notes.doc#_Toc115417054">3.12. Maximum File Size is 2GB<span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-tab-count:1 dotted'>.. </span></span><!--[if supportFields]><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-element:field-begin'></span></span><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'> PAGEREF _Toc115417054 \h </span><span style='color:windowtext;
! display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span
! style='mso-element:field-separator'></span></span><![endif]--><b><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'>Error! Bookmark not defined.</span></b><!--[if supportFields]><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-element:field-end'></span></span><![endif]--></a></span></span><span
! style='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="oafw-1-4-release-notes.doc#_Toc115417055">3.13. Encrypted AFS File Access<span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-tab-count:1 dotted'>. </span></span><!--[if supportFields]><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-element:field-begin'></span></span><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'> PAGEREF _Toc115417055 \h </span><span style='color:windowtext;
! display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span
! style='mso-element:field-separator'></span></span><![endif]--><b><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'>Error! Bookmark not defined.</span></b><!--[if supportFields]><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-element:field-end'></span></span><![endif]--></a></span></span><span
! style='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="oafw-1-4-release-notes.doc#_Toc115417056">3.14. Authenticated Access to
! the OpenAFS Client Service<span style='color:windowtext;display:none;
! mso-hide:screen;text-decoration:none;text-underline:none'><span
! style='mso-tab-count:1 dotted'>. </span></span><!--[if supportFields]><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-element:field-begin'></span></span><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'> PAGEREF _Toc115417056 \h </span><span style='color:windowtext;
! display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span
! style='mso-element:field-separator'></span></span><![endif]--><b><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'>Error! Bookmark not defined.</span></b><!--[if supportFields]><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-element:field-end'></span></span><![endif]--></a></span></span><span
! style='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="oafw-1-4-release-notes.doc#_Toc115417057">3.15. No More INI Files<span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-tab-count:1 dotted'>. </span></span><!--[if supportFields]><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-element:field-begin'></span></span><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'> PAGEREF _Toc115417057 \h </span><span style='color:windowtext;
! display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span
! style='mso-element:field-separator'></span></span><![endif]--><b><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'>Error! Bookmark not defined.</span></b><!--[if supportFields]><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-element:field-end'></span></span><![endif]--></a></span></span><span
! style='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="oafw-1-4-release-notes.doc#_Toc115417058">3.16. Microsoft Windows
! Internet Connection Firewall<span style='color:windowtext;display:none;
! mso-hide:screen;text-decoration:none;text-underline:none'><span
! style='mso-tab-count:1 dotted'> </span></span><!--[if supportFields]><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-element:field-begin'></span></span><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'> PAGEREF _Toc115417058 \h </span><span style='color:windowtext;
! display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span
! style='mso-element:field-separator'></span></span><![endif]--><b><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'>Error! Bookmark not defined.</span></b><!--[if supportFields]><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-element:field-end'></span></span><![endif]--></a></span></span><span
! style='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="oafw-1-4-release-notes.doc#_Toc115417059">3.17. Browsing AFS from the
! Explorer Shell and Office<span style='color:windowtext;display:none;mso-hide:
! screen;text-decoration:none;text-underline:none'><span style='mso-tab-count:
! 1 dotted'>. </span></span><!--[if supportFields]><span style='color:windowtext;
! display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span
! style='mso-element:field-begin'></span></span><span style='color:windowtext;
! display:none;mso-hide:screen;text-decoration:none;text-underline:none'> PAGEREF
! _Toc115417059 \h </span><span style='color:windowtext;display:none;mso-hide:
! screen;text-decoration:none;text-underline:none'><span style='mso-element:field-separator'></span></span><![endif]--><b><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'>Error! Bookmark not defined.</span></b><!--[if supportFields]><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-element:field-end'></span></span><![endif]--></a></span></span><span
! style='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="oafw-1-4-release-notes.doc#_Toc115417060">3.18. Byte Range Locking<span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-tab-count:1 dotted'>. </span></span><!--[if supportFields]><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-element:field-begin'></span></span><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'> PAGEREF _Toc115417060 \h </span><span style='color:windowtext;
! display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span
! style='mso-element:field-separator'></span></span><![endif]--><b><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'>Error! Bookmark not defined.</span></b><!--[if supportFields]><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-element:field-end'></span></span><![endif]--></a></span></span><span
! style='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="oafw-1-4-release-notes.doc#_Toc115417061">3.19. Automatic Discarding of
! AFS Tokens at Logoff<span style='color:windowtext;display:none;mso-hide:screen;
! text-decoration:none;text-underline:none'><span style='mso-tab-count:1 dotted'>. </span></span><!--[if supportFields]><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-element:field-begin'></span></span><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'> PAGEREF _Toc115417061 \h </span><span style='color:windowtext;
! display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span
! style='mso-element:field-separator'></span></span><![endif]--><b><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'>Error! Bookmark not defined.</span></b><!--[if supportFields]><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-element:field-end'></span></span><![endif]--></a></span></span><span
! style='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="oafw-1-4-release-notes.doc#_Toc115417062">3.20. Terminal Server
! installations<span style='color:windowtext;display:none;mso-hide:screen;
! text-decoration:none;text-underline:none'><span style='mso-tab-count:1 dotted'>. </span></span><!--[if supportFields]><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-element:field-begin'></span></span><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'> PAGEREF _Toc115417062 \h </span><span style='color:windowtext;
! display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span
! style='mso-element:field-separator'></span></span><![endif]--><b><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'>Error! Bookmark not defined.</span></b><!--[if supportFields]><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-element:field-end'></span></span><![endif]--></a></span></span><span
! style='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="oafw-1-4-release-notes.doc#_Toc115417063">3.21. Hidden Dot Files<span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-tab-count:1 dotted'>. </span></span><!--[if supportFields]><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-element:field-begin'></span></span><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'> PAGEREF _Toc115417063 \h </span><span style='color:windowtext;
! display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span
! style='mso-element:field-separator'></span></span><![endif]--><b><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'>Error! Bookmark not defined.</span></b><!--[if supportFields]><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-element:field-end'></span></span><![endif]--></a></span></span><span
! style='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="oafw-1-4-release-notes.doc#_Toc115417064">3.22. Status Cache Limits<span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-tab-count:1 dotted'>. </span></span><!--[if supportFields]><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-element:field-begin'></span></span><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'> PAGEREF _Toc115417064 \h </span><span style='color:windowtext;
! display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span
! style='mso-element:field-separator'></span></span><![endif]--><b><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'>Error! Bookmark not defined.</span></b><!--[if supportFields]><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-element:field-end'></span></span><![endif]--></a></span></span><span
! style='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="oafw-1-4-release-notes.doc#_Toc115417065">3.23. NETBIOS over TCP/IP must
! be enabled<span style='color:windowtext;display:none;mso-hide:screen;
! text-decoration:none;text-underline:none'><span style='mso-tab-count:1 dotted'>. </span></span><!--[if supportFields]><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-element:field-begin'></span></span><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'> PAGEREF _Toc115417065 \h </span><span style='color:windowtext;
! display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span
! style='mso-element:field-separator'></span></span><![endif]--><b><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'>Error! Bookmark not defined.</span></b><!--[if supportFields]><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-element:field-end'></span></span><![endif]--></a></span></span><span
! style='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="oafw-1-4-release-notes.doc#_Toc115417066">3.24. OpenAFS binaries are
! digitally signed<span style='color:windowtext;display:none;mso-hide:screen;
! text-decoration:none;text-underline:none'><span style='mso-tab-count:1 dotted'>. </span></span><!--[if supportFields]><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-element:field-begin'></span></span><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'> PAGEREF _Toc115417066 \h </span><span style='color:windowtext;
! display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span
! style='mso-element:field-separator'></span></span><![endif]--><b><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'>Error! Bookmark not defined.</span></b><!--[if supportFields]><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-element:field-end'></span></span><![endif]--></a></span></span><span
! style='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="oafw-1-4-release-notes.doc#_Toc115417067">3.25. Maximum Size of the
! AFSCache File<span style='color:windowtext;display:none;mso-hide:screen;
! text-decoration:none;text-underline:none'><span style='mso-tab-count:1 dotted'>. </span></span><!--[if supportFields]><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-element:field-begin'></span></span><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'> PAGEREF _Toc115417067 \h </span><span style='color:windowtext;
! display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span
! style='mso-element:field-separator'></span></span><![endif]--><b><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'>Error! Bookmark not defined.</span></b><!--[if supportFields]><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-element:field-end'></span></span><![endif]--></a></span></span><span
! style='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="oafw-1-4-release-notes.doc#_Toc115417068">3.26. Filename Character Sets<span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-tab-count:1 dotted'>. </span></span><!--[if supportFields]><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-element:field-begin'></span></span><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'> PAGEREF _Toc115417068 \h </span><span style='color:windowtext;
! display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span
! style='mso-element:field-separator'></span></span><![endif]--><b><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'>Error! Bookmark not defined.</span></b><!--[if supportFields]><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-element:field-end'></span></span><![endif]--></a></span></span><span
! style='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="oafw-1-4-release-notes.doc#_Toc115417069">3.27. Known Character Set
! Issues with Roaming Profiles<span style='color:windowtext;display:none;
! mso-hide:screen;text-decoration:none;text-underline:none'><span
! style='mso-tab-count:1 dotted'>. </span></span><!--[if supportFields]><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-element:field-begin'></span></span><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'> PAGEREF _Toc115417069 \h </span><span style='color:windowtext;
! display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span
! style='mso-element:field-separator'></span></span><![endif]--><b><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'>Error! Bookmark not defined.</span></b><!--[if supportFields]><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-element:field-end'></span></span><![endif]--></a></span></span><span
! style='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="oafw-1-4-release-notes.doc#_Toc115417070">3.28. The AFSCache File<span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-tab-count:1 dotted'>. </span></span><!--[if supportFields]><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-element:field-begin'></span></span><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'> PAGEREF _Toc115417070 \h </span><span style='color:windowtext;
! display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span
! style='mso-element:field-separator'></span></span><![endif]--><b><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'>Error! Bookmark not defined.</span></b><!--[if supportFields]><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-element:field-end'></span></span><![endif]--></a></span></span><span
! style='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="oafw-1-4-release-notes.doc#_Toc115417071">3.29. Restricting OpenAFS
! Client Service Start and Stop<span style='color:windowtext;display:none;
! mso-hide:screen;text-decoration:none;text-underline:none'><span
! style='mso-tab-count:1 dotted'>. </span></span><!--[if supportFields]><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-element:field-begin'></span></span><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'> PAGEREF _Toc115417071 \h </span><span style='color:windowtext;
! display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span
! style='mso-element:field-separator'></span></span><![endif]--><b><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'>Error! Bookmark not defined.</span></b><!--[if supportFields]><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-element:field-end'></span></span><![endif]--></a></span></span><span
! style='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="oafw-1-4-release-notes.doc#_Toc115417072">3.30. The @sys Name List<span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-tab-count:1 dotted'> </span></span><!--[if supportFields]><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-element:field-begin'></span></span><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'> PAGEREF _Toc115417072 \h </span><span style='color:windowtext;
! display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span
! style='mso-element:field-separator'></span></span><![endif]--><b><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'>Error! Bookmark not defined.</span></b><!--[if supportFields]><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-element:field-end'></span></span><![endif]--></a></span></span><span
! style='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="oafw-1-4-release-notes.doc#_Toc115417073">3.31. Symlinks to AFS UNC paths<span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-tab-count:1 dotted'>. </span></span><!--[if supportFields]><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-element:field-begin'></span></span><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'> PAGEREF _Toc115417073 \h </span><span style='color:windowtext;
! display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span
! style='mso-element:field-separator'></span></span><![endif]--><b><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'>Error! Bookmark not defined.</span></b><!--[if supportFields]><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-element:field-end'></span></span><![endif]--></a></span></span><span
! style='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="oafw-1-4-release-notes.doc#_Toc115417074">3.32. Cache Manager Debugging
! Now Supported<span style='color:windowtext;display:none;mso-hide:screen;
! text-decoration:none;text-underline:none'><span style='mso-tab-count:1 dotted'>. </span></span><!--[if supportFields]><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-element:field-begin'></span></span><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'> PAGEREF _Toc115417074 \h </span><span style='color:windowtext;
! display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span
! style='mso-element:field-separator'></span></span><![endif]--><b><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'>Error! Bookmark not defined.</span></b><!--[if supportFields]><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-element:field-end'></span></span><![endif]--></a></span></span><span
! style='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="oafw-1-4-release-notes.doc#_Toc115417075">3.33. Windows Logon Caching vs.
! Kerberos Logons<span style='color:windowtext;display:none;mso-hide:screen;
! text-decoration:none;text-underline:none'><span style='mso-tab-count:1 dotted'>. </span></span><!--[if supportFields]><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-element:field-begin'></span></span><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'> PAGEREF _Toc115417075 \h </span><span style='color:windowtext;
! display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span
! style='mso-element:field-separator'></span></span><![endif]--><b><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'>Error! Bookmark not defined.</span></b><!--[if supportFields]><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-element:field-end'></span></span><![endif]--></a></span></span><span
! style='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="oafw-1-4-release-notes.doc#_Toc115417076">3.34. Initial Server
! Preferences<span style='color:windowtext;display:none;mso-hide:screen;
! text-decoration:none;text-underline:none'><span style='mso-tab-count:1 dotted'>. </span></span><!--[if supportFields]><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-element:field-begin'></span></span><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'> PAGEREF _Toc115417076 \h </span><span style='color:windowtext;
! display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span
! style='mso-element:field-separator'></span></span><![endif]--><b><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'>Error! Bookmark not defined.</span></b><!--[if supportFields]><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-element:field-end'></span></span><![endif]--></a></span></span><span
! style='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="oafw-1-4-release-notes.doc#_Toc115417077">3.35. File Timestamps<span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-tab-count:1 dotted'>. </span></span><!--[if supportFields]><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-element:field-begin'></span></span><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'> PAGEREF _Toc115417077 \h </span><span style='color:windowtext;
! display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span
! style='mso-element:field-separator'></span></span><![endif]--><b><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'>Error! Bookmark not defined.</span></b><!--[if supportFields]><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-element:field-end'></span></span><![endif]--></a></span></span><span
! style='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="oafw-1-4-release-notes.doc#_Toc115417078">3.36. Windows RPC client
! support must be installed<span style='color:windowtext;display:none;mso-hide:
! screen;text-decoration:none;text-underline:none'><span style='mso-tab-count:
! 1 dotted'>. </span></span><!--[if supportFields]><span style='color:windowtext;
! display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span
! style='mso-element:field-begin'></span></span><span style='color:windowtext;
! display:none;mso-hide:screen;text-decoration:none;text-underline:none'> PAGEREF
! _Toc115417078 \h </span><span style='color:windowtext;display:none;mso-hide:
! screen;text-decoration:none;text-underline:none'><span style='mso-element:field-separator'></span></span><![endif]--><b><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'>Error! Bookmark not defined.</span></b><!--[if supportFields]><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-element:field-end'></span></span><![endif]--></a></span></span><span
! style='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="oafw-1-4-release-notes.doc#_Toc115417079">3.37. Generating Minidumps of
! the OpenAFS Client Service<span style='color:windowtext;display:none;
! mso-hide:screen;text-decoration:none;text-underline:none'><span
! style='mso-tab-count:1 dotted'>. </span></span><!--[if supportFields]><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-element:field-begin'></span></span><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'> PAGEREF _Toc115417079 \h </span><span style='color:windowtext;
! display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span
! style='mso-element:field-separator'></span></span><![endif]--><b><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'>Error! Bookmark not defined.</span></b><!--[if supportFields]><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-element:field-end'></span></span><![endif]--></a></span></span><span
! style='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="oafw-1-4-release-notes.doc#_Toc115417080">3.38. AFS Client Universally
! Unique Identifiers<span style='color:windowtext;display:none;mso-hide:screen;
! text-decoration:none;text-underline:none'><span style='mso-tab-count:1 dotted'>. </span></span><!--[if supportFields]><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-element:field-begin'></span></span><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'> PAGEREF _Toc115417080 \h </span><span style='color:windowtext;
! display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span
! style='mso-element:field-separator'></span></span><![endif]--><b><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'>Error! Bookmark not defined.</span></b><!--[if supportFields]><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-element:field-end'></span></span><![endif]--></a></span></span><span
  style='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="oafw-1-4-release-notes.doc#_Toc115417081">4. How to Debug Problems with
! OpenAFS for Windows:<span style='color:windowtext;display:none;mso-hide:screen;
! text-decoration:none;text-underline:none'><span style='mso-tab-count:1 dotted'> </span></span><!--[if supportFields]><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-element:field-begin'></span></span><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'> PAGEREF _Toc115417081 \h </span><span style='color:windowtext;
! display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span
! style='mso-element:field-separator'></span></span><![endif]--><b><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'>Error! Bookmark not defined.</span></b><!--[if supportFields]><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-element:field-end'></span></span><![endif]--></a></span></span><span
! style='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="oafw-1-4-release-notes.doc#_Toc115417082">4.1. pioctl debugging
! (IoctlDebug registry key)<span style='color:windowtext;display:none;mso-hide:
! screen;text-decoration:none;text-underline:none'><span style='mso-tab-count:
! 1 dotted'> </span></span><!--[if supportFields]><span style='color:windowtext;
! display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span
! style='mso-element:field-begin'></span></span><span style='color:windowtext;
! display:none;mso-hide:screen;text-decoration:none;text-underline:none'> PAGEREF
! _Toc115417082 \h </span><span style='color:windowtext;display:none;mso-hide:
! screen;text-decoration:none;text-underline:none'><span style='mso-element:field-separator'></span></span><![endif]--><b><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'>Error! Bookmark not defined.</span></b><!--[if supportFields]><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-element:field-end'></span></span><![endif]--></a></span></span><span
! style='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="oafw-1-4-release-notes.doc#_Toc115417083">4.2. afsd_service
! initialization log (%WinDir%\TEMP\afsd_init.log)<span style='color:windowtext;
! display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span
! style='mso-tab-count:1 dotted'> </span></span><!--[if supportFields]><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-element:field-begin'></span></span><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'> PAGEREF _Toc115417083 \h </span><span style='color:windowtext;
! display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span
! style='mso-element:field-separator'></span></span><![endif]--><b><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'>Error! Bookmark not defined.</span></b><!--[if supportFields]><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-element:field-end'></span></span><![endif]--></a></span></span><span
! style='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="oafw-1-4-release-notes.doc#_Toc115417084">4.3. afsd_service debug logs
! (fs trace {-on, -off, -dump} -&gt;%WinDir%\TEMP\afsd.log)<span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-tab-count:1 dotted'> </span></span><!--[if supportFields]><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-element:field-begin'></span></span><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'> PAGEREF _Toc115417084 \h </span><span style='color:windowtext;
! display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span
! style='mso-element:field-separator'></span></span><![endif]--><b><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'>Error! Bookmark not defined.</span></b><!--[if supportFields]><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-element:field-end'></span></span><![endif]--></a></span></span><span
! style='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="oafw-1-4-release-notes.doc#_Toc115417085">4.4. Using SysInternal’s
! DbgView and FileMon Tools<span style='color:windowtext;display:none;mso-hide:
! screen;text-decoration:none;text-underline:none'><span style='mso-tab-count:
! 1 dotted'>. </span></span><!--[if supportFields]><span style='color:windowtext;
! display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span
! style='mso-element:field-begin'></span></span><span style='color:windowtext;
! display:none;mso-hide:screen;text-decoration:none;text-underline:none'> PAGEREF
! _Toc115417085 \h </span><span style='color:windowtext;display:none;mso-hide:
! screen;text-decoration:none;text-underline:none'><span style='mso-element:field-separator'></span></span><![endif]--><b><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'>Error! Bookmark not defined.</span></b><!--[if supportFields]><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-element:field-end'></span></span><![endif]--></a></span></span><span
! style='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="oafw-1-4-release-notes.doc#_Toc115417086">4.5. Microsoft MiniDumps<span
! style='mso-spacerun:yes'>  </span>(fs minidump -&gt; %WinDir%\TEMP\afsd.dmp)<span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-tab-count:1 dotted'> </span></span><!--[if supportFields]><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-element:field-begin'></span></span><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'> PAGEREF _Toc115417086 \h </span><span style='color:windowtext;
! display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span
! style='mso-element:field-separator'></span></span><![endif]--><b><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'>Error! Bookmark not defined.</span></b><!--[if supportFields]><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-element:field-end'></span></span><![endif]--></a></span></span><span
! style='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="oafw-1-4-release-notes.doc#_Toc115417087">4.6. Single Sign-on (Integrated
! Logon) debugging<span style='color:windowtext;display:none;mso-hide:screen;
! text-decoration:none;text-underline:none'><span style='mso-tab-count:1 dotted'>. </span></span><!--[if supportFields]><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-element:field-begin'></span></span><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'> PAGEREF _Toc115417087 \h </span><span style='color:windowtext;
! display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span
! style='mso-element:field-separator'></span></span><![endif]--><b><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'>Error! Bookmark not defined.</span></b><!--[if supportFields]><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-element:field-end'></span></span><![endif]--></a></span></span><span
! style='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="oafw-1-4-release-notes.doc#_Toc115417088">4.7. RX (AFS RPC) debugging
! (rxdebug)<span style='color:windowtext;display:none;mso-hide:screen;text-decoration:
! none;text-underline:none'><span style='mso-tab-count:1 dotted'> </span></span><!--[if supportFields]><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-element:field-begin'></span></span><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'> PAGEREF _Toc115417088 \h </span><span style='color:windowtext;
! display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span
! style='mso-element:field-separator'></span></span><![endif]--><b><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'>Error! Bookmark not defined.</span></b><!--[if supportFields]><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-element:field-end'></span></span><![endif]--></a></span></span><span
! style='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="oafw-1-4-release-notes.doc#_Toc115417089">4.8. Cache Manager debugging
! (cmdebug)<span style='color:windowtext;display:none;mso-hide:screen;text-decoration:
! none;text-underline:none'><span style='mso-tab-count:1 dotted'> </span></span><!--[if supportFields]><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-element:field-begin'></span></span><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'> PAGEREF _Toc115417089 \h </span><span style='color:windowtext;
! display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span
! style='mso-element:field-separator'></span></span><![endif]--><b><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'>Error! Bookmark not defined.</span></b><!--[if supportFields]><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-element:field-end'></span></span><![endif]--></a></span></span><span
! style='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="oafw-1-4-release-notes.doc#_Toc115417090">4.9. Persistent Cache
! consistency check<span style='color:windowtext;display:none;mso-hide:screen;
! text-decoration:none;text-underline:none'><span style='mso-tab-count:1 dotted'>. </span></span><!--[if supportFields]><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-element:field-begin'></span></span><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'> PAGEREF _Toc115417090 \h </span><span style='color:windowtext;
! display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span
! style='mso-element:field-separator'></span></span><![endif]--><b><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'>Error! Bookmark not defined.</span></b><!--[if supportFields]><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-element:field-end'></span></span><![endif]--></a></span></span><span
  style='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="oafw-1-4-release-notes.doc#_Toc115417091">5. Reporting Bugs:<span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-tab-count:1 dotted'> </span></span><!--[if supportFields]><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-element:field-begin'></span></span><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'> PAGEREF _Toc115417091 \h </span><span style='color:windowtext;
! display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span
! style='mso-element:field-separator'></span></span><![endif]--><b><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'>Error! Bookmark not defined.</span></b><!--[if supportFields]><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-element:field-end'></span></span><![endif]--></a></span></span><span
  style='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="oafw-1-4-release-notes.doc#_Toc115417092">6. How to Contribute to the
! Development of OpenAFS for Windows<span style='color:windowtext;display:none;
! mso-hide:screen;text-decoration:none;text-underline:none'><span
! style='mso-tab-count:1 dotted'>. </span></span><!--[if supportFields]><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-element:field-begin'></span></span><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'> PAGEREF _Toc115417092 \h </span><span style='color:windowtext;
! display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span
! style='mso-element:field-separator'></span></span><![endif]--><b><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'>Error! Bookmark not defined.</span></b><!--[if supportFields]><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-element:field-end'></span></span><![endif]--></a></span></span><span
! style='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="oafw-1-4-release-notes.doc#_Toc115417093">6.1. The USENIX OpenAFS Fund<span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-tab-count:1 dotted'>. </span></span><!--[if supportFields]><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-element:field-begin'></span></span><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'> PAGEREF _Toc115417093 \h </span><span style='color:windowtext;
! display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span
! style='mso-element:field-separator'></span></span><![endif]--><b><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'>Error! Bookmark not defined.</span></b><!--[if supportFields]><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-element:field-end'></span></span><![endif]--></a></span></span><span
! style='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="oafw-1-4-release-notes.doc#_Toc115417094">6.2. Secure Endpoints Inc.<span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-tab-count:1 dotted'> </span></span><!--[if supportFields]><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-element:field-begin'></span></span><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'> PAGEREF _Toc115417094 \h </span><span style='color:windowtext;
! display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span
! style='mso-element:field-separator'></span></span><![endif]--><b><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'>Error! Bookmark not defined.</span></b><!--[if supportFields]><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-element:field-end'></span></span><![endif]--></a></span></span><span
! style='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="oafw-1-4-release-notes.doc#_Toc115417095">6.3. The MIT Kerberos Account<span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-tab-count:1 dotted'> </span></span><!--[if supportFields]><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-element:field-begin'></span></span><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'> PAGEREF _Toc115417095 \h </span><span style='color:windowtext;
! display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span
! style='mso-element:field-separator'></span></span><![endif]--><b><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'>Error! Bookmark not defined.</span></b><!--[if supportFields]><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-element:field-end'></span></span><![endif]--></a></span></span><span
! style='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="oafw-1-4-release-notes.doc#_Toc115417096">6.4. Direct contributions of
! code and/or documentation<span style='color:windowtext;display:none;mso-hide:
! screen;text-decoration:none;text-underline:none'><span style='mso-tab-count:
! 1 dotted'>. </span></span><!--[if supportFields]><span style='color:windowtext;
! display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span
! style='mso-element:field-begin'></span></span><span style='color:windowtext;
! display:none;mso-hide:screen;text-decoration:none;text-underline:none'> PAGEREF
! _Toc115417096 \h </span><span style='color:windowtext;display:none;mso-hide:
! screen;text-decoration:none;text-underline:none'><span style='mso-element:field-separator'></span></span><![endif]--><b><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'>Error! Bookmark not defined.</span></b><!--[if supportFields]><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-element:field-end'></span></span><![endif]--></a></span></span><span
! style='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="oafw-1-4-release-notes.doc#_Toc115417097">6.5. OpenAFS for Windows
! Mailing Lists<span style='color:windowtext;display:none;mso-hide:screen;
! text-decoration:none;text-underline:none'><span style='mso-tab-count:1 dotted'>. </span></span><!--[if supportFields]><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-element:field-begin'></span></span><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'> PAGEREF _Toc115417097 \h </span><span style='color:windowtext;
! display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span
! style='mso-element:field-separator'></span></span><![endif]--><b><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'>Error! Bookmark not defined.</span></b><!--[if supportFields]><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-element:field-end'></span></span><![endif]--></a></span></span><span
  style='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="oafw-1-4-release-notes.doc#_Toc115417098">7. MSI Deployment Guide<span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-tab-count:1 dotted'>. </span></span><!--[if supportFields]><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-element:field-begin'></span></span><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'> PAGEREF _Toc115417098 \h </span><span style='color:windowtext;
! display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span
! style='mso-element:field-separator'></span></span><![endif]--><b><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'>Error! Bookmark not defined.</span></b><!--[if supportFields]><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-element:field-end'></span></span><![endif]--></a></span></span><span
! style='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="oafw-1-4-release-notes.doc#_Toc115417099">7.1. Introduction<span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-tab-count:1 dotted'>. </span></span><!--[if supportFields]><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-element:field-begin'></span></span><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'> PAGEREF _Toc115417099 \h </span><span style='color:windowtext;
! display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span
! style='mso-element:field-separator'></span></span><![endif]--><b><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'>Error! Bookmark not defined.</span></b><!--[if supportFields]><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-element:field-end'></span></span><![endif]--></a></span></span><span
! style='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="oafw-1-4-release-notes.doc#_Toc115417100">7.2. Configuration Options<span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-tab-count:1 dotted'>. </span></span><!--[if supportFields]><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-element:field-begin'></span></span><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'> PAGEREF _Toc115417100 \h </span><span style='color:windowtext;
! display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span
! style='mso-element:field-separator'></span></span><![endif]--><b><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'>Error! Bookmark not defined.</span></b><!--[if supportFields]><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-element:field-end'></span></span><![endif]--></a></span></span><span
! style='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="oafw-1-4-release-notes.doc#_Toc115417101">7.3 Additional Resources<span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-tab-count:1 dotted'>. </span></span><!--[if supportFields]><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-element:field-begin'></span></span><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'> PAGEREF _Toc115417101 \h </span><span style='color:windowtext;
! display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span
! style='mso-element:field-separator'></span></span><![endif]--><b><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'>Error! Bookmark not defined.</span></b><!--[if supportFields]><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-element:field-end'></span></span><![endif]--></a></span></span><span
! style='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="oafw-1-4-release-notes.doc#_Toc115417102">7.4. Upgrades<span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-tab-count:1 dotted'>. </span></span><!--[if supportFields]><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-element:field-begin'></span></span><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'> PAGEREF _Toc115417102 \h </span><span style='color:windowtext;
! display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span
! style='mso-element:field-separator'></span></span><![endif]--><b><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'>Error! Bookmark not defined.</span></b><!--[if supportFields]><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-element:field-end'></span></span><![endif]--></a></span></span><span
  style='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="oafw-1-4-release-notes.doc#_Toc115417103">Appendix A: Registry Values<span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-tab-count:1 dotted'>. </span></span><!--[if supportFields]><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-element:field-begin'></span></span><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'> PAGEREF _Toc115417103 \h </span><span style='color:windowtext;
! display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span
! style='mso-element:field-separator'></span></span><![endif]--><b><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'>Error! Bookmark not defined.</span></b><!--[if supportFields]><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-element:field-end'></span></span><![endif]--></a></span></span><span
! style='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="oafw-1-4-release-notes.doc#_Toc115417104">A.1. Service parameters<span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-tab-count:1 dotted'>. </span></span><!--[if supportFields]><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-element:field-begin'></span></span><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'> PAGEREF _Toc115417104 \h </span><span style='color:windowtext;
! display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span
! style='mso-element:field-separator'></span></span><![endif]--><b><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'>Error! Bookmark not defined.</span></b><!--[if supportFields]><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-element:field-end'></span></span><![endif]--></a></span></span><span
! style='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="oafw-1-4-release-notes.doc#_Toc115417105">A.2. Integrated Logon Network
! provider parameters<span style='color:windowtext;display:none;mso-hide:screen;
! text-decoration:none;text-underline:none'><span style='mso-tab-count:1 dotted'>. </span></span><!--[if supportFields]><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-element:field-begin'></span></span><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'> PAGEREF _Toc115417105 \h </span><span style='color:windowtext;
! display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span
! style='mso-element:field-separator'></span></span><![endif]--><b><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'>Error! Bookmark not defined.</span></b><!--[if supportFields]><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-element:field-end'></span></span><![endif]--></a></span></span><span
! style='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="oafw-1-4-release-notes.doc#_Toc115417106">A.2.1 Domain specific
! configuration keys for the Network Provider<span style='color:windowtext;
! display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span
! style='mso-tab-count:1 dotted'> </span></span><!--[if supportFields]><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-element:field-begin'></span></span><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'> PAGEREF _Toc115417106 \h </span><span style='color:windowtext;
! display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span
! style='mso-element:field-separator'></span></span><![endif]--><b><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'>Error! Bookmark not defined.</span></b><!--[if supportFields]><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-element:field-end'></span></span><![endif]--></a></span></span><span
! style='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="oafw-1-4-release-notes.doc#_Toc115417107">A.3. AFS Credentials System
! Tray Tool parameters<span style='color:windowtext;display:none;mso-hide:screen;
! text-decoration:none;text-underline:none'><span style='mso-tab-count:1 dotted'>. </span></span><!--[if supportFields]><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-element:field-begin'></span></span><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'> PAGEREF _Toc115417107 \h </span><span style='color:windowtext;
! display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span
! style='mso-element:field-separator'></span></span><![endif]--><b><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'>Error! Bookmark not defined.</span></b><!--[if supportFields]><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-element:field-end'></span></span><![endif]--></a></span></span><span
! style='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="oafw-1-4-release-notes.doc#_Toc115417108">A.4 OpenAFS Client Service
! Environment Variables<span style='color:windowtext;display:none;mso-hide:screen;
! text-decoration:none;text-underline:none'><span style='mso-tab-count:1 dotted'>. </span></span><!--[if supportFields]><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-element:field-begin'></span></span><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'> PAGEREF _Toc115417108 \h </span><span style='color:windowtext;
! display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span
! style='mso-element:field-separator'></span></span><![endif]--><b><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'>Error! Bookmark not defined.</span></b><!--[if supportFields]><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-element:field-end'></span></span><![endif]--></a></span></span><span
  style='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>
  
  </div>
  
--- 200,1291 ----
  <div class=Section1>
  
  <p class=MsoNormal><!--[if supportFields]><span style='mso-element:field-begin'></span><span
! style='mso-spacerun:yes'> </span>RD
! &quot;C:\\src\\openafs\\openafs-1-4-branch\\doc\\txt\\winnotes\\relnotes.htm&quot;
! \f <![endif]--><!--[if supportFields]><span style='mso-element:field-end'></span><![endif]--><!--[if supportFields]><span
  style='mso-element:field-begin'></span><span
! style='mso-spacerun:yes'> </span>TOC \h \z \n \u <span style='mso-element:field-separator'></span><![endif]--><span
! style='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#_Toc126872163">1. Installer Options</a></span></span><span
  style='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#_Toc126872164">2. System Requirements</a></span></span><span
  style='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#_Toc126872165">2.1 Supported Operating Systems</a></span></span><span
! style='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#_Toc126872166">2.1.1 Unsupported Operating Systems</a></span></span><span
! style='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#_Toc126872167">2.2 Disk Space</a></span></span><span
! style='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#_Toc126872168">2.3 Additional Software</a></span></span><span
  style='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#_Toc126872169">3. Operational Notes</a></span></span><span
! style='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#_Toc126872170">3.1. Requirements for Kerberos 5
! Authentication</a></span></span><span style='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#_Toc126872171">3.1.1. Active Directory</a></span></span><span
! style='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#_Toc126872172">3.1.2. Using the krb524 service</a></span></span><span
! style='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#_Toc126872173">3.2. Use of the Microsoft Loopback Adapter</a></span></span><span
! style='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#_Toc126872174">3.3. Using Freelance (Dynamic Root) Mode to
! Improve Mobility</a></span></span><span style='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#_Toc126872175">3.4. Locating AFS Volume Database Servers</a></span></span><span
! style='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#_Toc126872176">3.5. Obtaining AFS Tokens as a Part of
! Windows Logon</a></span></span><span style='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#_Toc126872177">3.6. AFS System Tray Command Line Options</a></span></span><span
! style='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#_Toc126872178">3.7. The “AFS Client Admins” Authorization
! Group</a></span></span><span style='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#_Toc126872179">3.8. OpenAFS support for UNC paths</a></span></span><span
! style='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#_Toc126872180">3.9. OpenAFS includes aklog.exe</a></span></span><span
! style='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#_Toc126872181">3.10. OpenAFS Servers on Windows are
! Unsupported</a></span></span><span style='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#_Toc126872182">3.11. OpenAFS Debugging Symbol files</a></span></span><span
! style='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#_Toc126872183">3.12. Maximum File Size is 2GB</a></span></span><span
! style='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#_Toc126872184">3.13. Encrypted AFS File Access</a></span></span><span
! style='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#_Toc126872185">3.14. Authenticated Access to the OpenAFS Client
! Service</a></span></span><span style='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#_Toc126872186">3.15. No More INI Files</a></span></span><span
! style='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#_Toc126872187">3.16. Microsoft Windows Internet Connection
! Firewall</a></span></span><span style='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#_Toc126872188">3.17. Browsing AFS from the Explorer Shell
! and Office</a></span></span><span style='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#_Toc126872189">3.18. Byte Range Locking</a></span></span><span
! style='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#_Toc126872190">3.19. Automatic Discarding of AFS Tokens at
! Logoff</a></span></span><span style='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#_Toc126872191">3.20. Terminal Server installations</a></span></span><span
! style='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#_Toc126872192">3.21. Hidden Dot Files</a></span></span><span
! style='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#_Toc126872193">3.22. Status Cache Limits</a></span></span><span
! style='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#_Toc126872194">3.23. NETBIOS over TCP/IP must be enabled</a></span></span><span
! style='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#_Toc126872195">3.24. OpenAFS binaries are digitally signed</a></span></span><span
! style='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#_Toc126872196">3.25. Maximum Size of the AFSCache File</a></span></span><span
! style='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#_Toc126872197">3.26. Filename Character Sets</a></span></span><span
! style='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#_Toc126872198">3.27. Known Character Set Issues with Roaming
! Profiles</a></span></span><span style='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#_Toc126872199">3.28. The AFSCache File</a></span></span><span
! style='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#_Toc126872200">3.29. Restricting OpenAFS Client Service
! Start and Stop</a></span></span><span style='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#_Toc126872201">3.30. The @sys Name List</a></span></span><span
! style='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#_Toc126872202">3.31. Symlinks to AFS UNC paths</a></span></span><span
! style='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#_Toc126872203">3.32. Cache Manager Debugging Now Supported</a></span></span><span
! style='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#_Toc126872204">3.33. Windows Logon Caching vs. Kerberos
! Logons</a></span></span><span style='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#_Toc126872205">3.34. Initial Server Preferences</a></span></span><span
  style='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#_Toc126872206">3.35. File Timestamps</a></span></span><span
+ style='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#_Toc126872207">3.36. Windows RPC client support must be
+ installed</a></span></span><span style='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#_Toc126872208">3.37. Generating Minidumps of the OpenAFS
+ Client Service</a></span></span><span style='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#_Toc126872209">3.38. AFS Client Universally Unique
+ Identifiers</a></span></span><span style='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#_Toc126872210">4. How to Debug Problems with OpenAFS for
! Windows:</a></span></span><span style='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#_Toc126872211">4.1. pioctl debugging (IoctlDebug registry
! key)</a></span></span><span style='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#_Toc126872212">4.2. afsd_service initialization log
! (%WinDir%\TEMP\afsd_init.log)</a></span></span><span style='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#_Toc126872213">4.3. afsd_service debug logs (fs trace {-on,
! -off, -dump} -&gt;%WinDir%\TEMP\afsd.log)</a></span></span><span
! style='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#_Toc126872214">4.4. Using SysInternal’s DbgView and FileMon
! Tools</a></span></span><span style='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#_Toc126872215">4.5. Microsoft MiniDumps<span
! style='mso-spacerun:yes'>  </span>(fs minidump -&gt; %WinDir%\TEMP\afsd.dmp)</a></span></span><span
! style='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#_Toc126872216">4.6. Single Sign-on (Integrated Logon)
! debugging</a></span></span><span style='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#_Toc126872217">4.7. RX (AFS RPC) debugging (rxdebug)</a></span></span><span
! style='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#_Toc126872218">4.8. Cache Manager debugging (cmdebug)</a></span></span><span
! style='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#_Toc126872219">4.9. Persistent Cache consistency check</a></span></span><span
  style='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#_Toc126872220">5. Reporting Bugs:</a></span></span><span
  style='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#_Toc126872221">6. How to Contribute to the Development of
! OpenAFS for Windows</a></span></span><span style='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#_Toc126872222">6.1. The USENIX OpenAFS Fund</a></span></span><span
! style='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#_Toc126872223">6.2. Secure Endpoints Inc.</a></span></span><span
! style='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#_Toc126872224">6.3. The MIT Kerberos Account</a></span></span><span
! style='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#_Toc126872225">6.4. Direct contributions of code and/or
! documentation</a></span></span><span style='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#_Toc126872226">6.5. OpenAFS for Windows Mailing Lists</a></span></span><span
  style='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#_Toc126872227">7. MSI Deployment Guide</a></span></span><span
  style='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#_Toc126872228">7.1. Introduction</a></span></span><span
! style='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#_Toc126872229">7.1.1 Requirements</a></span></span><span
! style='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#_Toc126872230">7.1.2 Authoring a Transform</a></span></span><span
! style='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#_Toc126872231">7.2. Configuration Options</a></span></span><span
! style='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#_Toc126872232">7.2.1 Configurable Properties</a></span></span><span
! style='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#_Toc126872233">7.2.1.1 Setting Properties</a></span></span><span
! style='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#_Toc126872234">7.2.1.2 OpenAFS for Windows Properties</a></span></span><span
! style='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#_Toc126872235">(Service parameters):</a></span></span><span
! style='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#_Toc126872236">(Network provider):</a></span></span><span
! style='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#_Toc126872237">(OpenAFS Client):</a></span></span><span
! style='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#_Toc126872238">7.2.1.2.1 Registry Properties</a></span></span><span
! style='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#_Toc126872239">AFSCACHEPATH</a></span></span><span
! style='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#_Toc126872240">AFSCACHESIZE</a></span></span><span
! style='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#_Toc126872241">AFSCELLNAME</a></span></span><span
! style='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#_Toc126872242">FREELANCEMODE</a></span></span><span
! style='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#_Toc126872243">HIDEDOTFILES</a></span></span><span
! style='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#_Toc126872244">LOGONOPTIONS</a></span></span><span
! style='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#_Toc126872245">MOUNTROOT</a></span></span><span
! style='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#_Toc126872246">NETBIOSNAME</a></span></span><span
! style='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#_Toc126872247">NOFINDLANABYNAME</a></span></span><span
! style='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#_Toc126872248">RXMAXMTU</a></span></span><span
! style='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#_Toc126872249">SECURITYLEVEL</a></span></span><span
! style='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#_Toc126872250">SMBAUTHTYPE</a></span></span><span
! style='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#_Toc126872251">STOREANSIFILENAMES</a></span></span><span
! style='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#_Toc126872252">USEDNS</a></span></span><span
! style='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#_Toc126872253">7.2.1.2.2 AFSCreds.exe Properties</a></span></span><span
! style='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#_Toc126872254">CREDSSTARTUP</a></span></span><span
! style='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#_Toc126872255">CREDSAUTOINIT</a></span></span><span
! style='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#_Toc126872256">CREDSIPCHDET</a></span></span><span
! style='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#_Toc126872257">CREDSQUIET</a></span></span><span
! style='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#_Toc126872258">CREDSRENEWDRMAP</a></span></span><span
! style='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#_Toc126872259">CREDSSHOW</a></span></span><span
! style='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#_Toc126872260">7.2.2 Existing Registry Entries</a></span></span><span
! style='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#_Toc126872261">7.2.3 Replacing Configuration Files</a></span></span><span
! style='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#_Toc126872262">7.2.3.1 Components for Configuration Files</a></span></span><span
! style='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#_Toc126872263">7.2.4 Adding Domain Specific Registry Keys</a></span></span><span
! style='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#_Toc126872264">7.2.5 Adding Site Specific Freelance Registry
! Keys</a></span></span><span style='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#_Toc126872265">7.3 Additional Resources</a></span></span><span
! style='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#_Toc126872266">7.4. Upgrades</a></span></span><span
! style='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#_Toc126872267">Appendix A: Registry Values</a></span></span><span
! style='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#_Toc126872268">A.1. Service parameters</a></span></span><span
! style='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#_Toc126872269">Regkey:
! [HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters]</a></span></span><span
! style='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#_Toc126872270">Value: LANadapter</a></span></span><span
! style='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#_Toc126872271">Value: CacheSize</a></span></span><span
! style='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#_Toc126872272">Value: ChunkSize</a></span></span><span
! style='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#_Toc126872273">Value: Daemons</a></span></span><span
! style='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#_Toc126872274">Value: ServerThreads</a></span></span><span
! style='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#_Toc126872275">Value: Stats</a></span></span><span
! style='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#_Toc126872276">Value: LogoffPreserveTokens</a></span></span><span
! style='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#_Toc126872277">Value: RootVolume</a></span></span><span
! style='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#_Toc126872278">Value: Mountroot</a></span></span><span
! style='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#_Toc126872279">Value: CachePath</a></span></span><span
! style='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#_Toc126872280">Value: NonPersistentCaching</a></span></span><span
! style='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#_Toc126872281">Value: ValidateCache</a></span></span><span
! style='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#_Toc126872282">Value: TrapOnPanic</a></span></span><span
! style='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#_Toc126872283">Value: NetbiosName</a></span></span><span
! style='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#_Toc126872284">Value: IsGateway</a></span></span><span
! style='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#_Toc126872285">Value: ReportSessionStartups</a></span></span><span
! style='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#_Toc126872286">Value: TraceBufferSize</a></span></span><span
! style='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#_Toc126872287">Value: SysName</a></span></span><span
! style='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#_Toc126872288">Value: SecurityLevel</a></span></span><span
! style='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#_Toc126872289">Value: UseDNS</a></span></span><span
! style='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#_Toc126872290">Value: FreelanceClient</a></span></span><span
! style='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#_Toc126872291">Value: HideDotFiles</a></span></span><span
! style='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#_Toc126872292">Value: MaxMpxRequests</a></span></span><span
! style='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#_Toc126872293">Value: MaxVCPerServer</a></span></span><span
! style='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#_Toc126872294">Value: Cell</a></span></span><span
! style='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#_Toc126872295">Value: RxNoJumbo</a></span></span><span
! style='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#_Toc126872296">Value: RxMaxMTU</a></span></span><span
! style='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#_Toc126872297">Value: ConnDeadTimeout</a></span></span><span
! style='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#_Toc126872298">Value: HardDeadTimeout</a></span></span><span
! style='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#_Toc126872299">Value: TraceOption</a></span></span><span
! style='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#_Toc126872300">Value: AllSubmount</a></span></span><span
! style='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#_Toc126872301">Value: NoFindLanaByName</a></span></span><span
! style='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#_Toc126872302">Value: MaxCPUs</a></span></span><span
! style='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#_Toc126872303">Value: smbAuthType</a></span></span><span
! style='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#_Toc126872304">Value: MaxLogSize</a></span></span><span
! style='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#_Toc126872305">Value: FlushOnHibernate</a></span></span><span
! style='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#_Toc126872306">Regkey: [HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters\GlobalAutoMapper]</a></span></span><span
! style='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#_Toc126872307">Value: &lt;Drive Letter:&gt; for example
! &quot;G:&quot;</a></span></span><span style='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#_Toc126872308">Regkey: [HKLM\SOFTWARE\OpenAFS\Client]</a></span></span><span
! style='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#_Toc126872309">Value: CellServDBDir</a></span></span><span
! style='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#_Toc126872310">Value: VerifyServiceSignature</a></span></span><span
! style='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#_Toc126872311">Value: IoctlDebug</a></span></span><span
! style='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#_Toc126872312">Value: MiniDumpType</a></span></span><span
! style='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#_Toc126872313">Value: StoreAnsiFilenames</a></span></span><span
! style='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#_Toc126872314">Regkey:
! [HKLM\SOFTWARE\OpenAFS\Client\CSCPolicy]</a></span></span><span
! style='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#_Toc126872315">Value: &quot;smb/cifs share name&quot;</a></span></span><span
! style='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#_Toc126872316">Regkey:
! [HKLM\SOFTWARE\OpenAFS\Client\Freelance]</a></span></span><span
! style='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#_Toc126872317">Value: &quot;numeric value&quot;</a></span></span><span
! style='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#_Toc126872318">Regkey:
! [HKLM\SOFTWARE\OpenAFS\Client\Freelance\Symlinks</a></span></span><span
! style='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#_Toc126872319">Value: &quot;numeric value&quot;</a></span></span><span
! style='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#_Toc126872320">Regkey:
! [HKLM\SOFTWARE\OpenAFS\Client\Submounts]</a></span></span><span
! style='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#_Toc126872321">Value: &quot;submount name&quot;</a></span></span><span
! style='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#_Toc126872322">Regkey: [HKLM\SOFTWARE\OpenAFS\Client\Server
! Preferences\VLDB]</a></span></span><span style='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#_Toc126872323">Value: &quot;hostname or ip address&quot;</a></span></span><span
! style='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#_Toc126872324">Regkey: [HKLM\SOFTWARE\OpenAFS\Client\Server
! Preferences\File]</a></span></span><span style='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#_Toc126872325">Value: &quot;hostname or ip address&quot;</a></span></span><span
! style='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#_Toc126872326">A.2. Integrated Logon Network provider
! parameters</a></span></span><span style='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#_Toc126872327">Regkey: [HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters]</a></span></span><span
! style='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#_Toc126872328">Value: FailLoginsSilently</a></span></span><span
! style='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#_Toc126872329">Regkey:
! [HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider]</a></span></span><span
! style='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#_Toc126872330">Value: NoWarnings</a></span></span><span
! style='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#_Toc126872331">Value: AuthentProviderPath</a></span></span><span
! style='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#_Toc126872332">Value: Class</a></span></span><span
! style='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#_Toc126872333">Value: DependOnGroup</a></span></span><span
! style='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#_Toc126872334">Value: DependOnService</a></span></span><span
! style='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#_Toc126872335">Value: Name</a></span></span><span
! style='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#_Toc126872336">Value: ProviderPath</a></span></span><span
! style='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#_Toc126872337">A.2.1 Domain specific configuration keys for
! the Network Provider</a></span></span><span style='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#_Toc126872338">[HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider]</a></span></span><span
! style='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#_Toc126872339">[HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider\Domain]</a></span></span><span
! style='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#_Toc126872340">[HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider\Domain&quot;domain
! name&quot;]</a></span></span><span style='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#_Toc126872341">[HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider\Domain\LOCALHOST]</a></span></span><span
! style='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#_Toc126872342">Example:</a></span></span><span
! style='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#_Toc126872343">A.2.1.1 Domain specific configuration values</a></span></span><span
! style='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#_Toc126872344">[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-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#_Toc126872345">Value: LogonOptions</a></span></span><span
! style='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#_Toc126872346">Value: FailLoginsSilentl</a></span></span><span
! style='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#_Toc126872347">Value: LogonScript</a></span></span><span
! style='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#_Toc126872348">Value: LoginRetryInterval</a></span></span><span
! style='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#_Toc126872349">Value: LoginSleepInterval</a></span></span><span
! style='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#_Toc126872350">Value: TheseCells</a></span></span><span
! style='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#_Toc126872351">A.2.1.2<span style='mso-spacerun:yes'> 
! </span>Selection of effective values for domain specific configuration</a></span></span><span
! style='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#_Toc126872352">A.2.1.3 Exceptions to A.2.1.2</a></span></span><span
! style='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#_Toc126872353">2.1.3.1 'FailLoginsSilently'</a></span></span><span
! style='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#_Toc126872354">2.1.3.2 'LogonScript'</a></span></span><span
! style='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#_Toc126872355">A.3. AFS Credentials System Tray Tool
! parameters</a></span></span><span style='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#_Toc126872356">Regkey:
! [HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters]</a></span></span><span
! style='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#_Toc126872357">Value: Gateway</a></span></span><span
! style='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#_Toc126872358">Value: Cell</a></span></span><span
! style='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#_Toc126872359">Regkey: [HKLM\SOFTWARE\OpenAFS\Client]
! [HKCU\SOFTWARE\OpenAFS\Client]</a></span></span><span style='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#_Toc126872360">Value: ShowTrayIcon</a></span></span><span
! style='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#_Toc126872361">Value: EnableKFW</a></span></span><span
! style='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#_Toc126872362">Value: Use524</a></span></span><span
! style='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#_Toc126872363">Value: AfscredsShortcutParams</a></span></span><span
! style='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#_Toc126872364">Regkey: [HKCU\SOFTWARE\OpenAFS\Client]</a></span></span><span
! style='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#_Toc126872365">Value: Authentication Cell</a></span></span><span
! style='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#_Toc126872366">Regkey:
! [HKCU\SOFTWARE\OpenAFS\Client\Reminders]</a></span></span><span
! style='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#_Toc126872367">Value: &quot;afs cell name&quot;</a></span></span><span
! style='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#_Toc126872368">Regkey: [HKCU\SOFTWARE\OpenAFS\Client\Active
! Maps]</a></span></span><span style='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#_Toc126872369">Value: &quot;upper case drive letter&quot;</a></span></span><span
! style='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#_Toc126872370">Regkey:
! [HKCU\SOFTWARE\OpenAFS\Client\Mappings]</a></span></span><span
! style='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#_Toc126872371">Value: &quot;upper case drive letter&quot;</a></span></span><span
! style='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#_Toc126872372">A.4 OpenAFS Client Service Environment
! Variables</a></span></span><span style='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#_Toc126872373">Variable: AFS_RPC_ENCRYPT</a></span></span><span
! style='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#_Toc126872374">Variable: AFS_RPC_PROTSEQ</a></span></span><span
! style='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>
! 
! <p class=MsoNormal><o:p>&nbsp;</o:p></p>
  
  </div>
  
Index: openafs/src/afs/afs_daemons.c
diff -c openafs/src/afs/afs_daemons.c:1.28.2.12 openafs/src/afs/afs_daemons.c:1.28.2.13
*** openafs/src/afs/afs_daemons.c:1.28.2.12	Thu Feb  2 03:28:42 2006
--- openafs/src/afs/afs_daemons.c	Mon Feb 13 13:31:13 2006
***************
*** 11,17 ****
  #include "afs/param.h"
  
  RCSID
!     ("$Header: /cvs/openafs/src/afs/afs_daemons.c,v 1.28.2.12 2006/02/02 08:28:42 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.28.2.13 2006/02/13 18:31:13 shadow Exp $");
  
  #ifdef AFS_AIX51_ENV
  #define __FULL_PROTO
***************
*** 35,43 ****
  struct brequest afs_brs[NBRS];	/* request structures */
  struct afs_osi_WaitHandle AFS_WaitHandler, AFS_CSWaitHandler;
  static int afs_brs_count = 0;	/* request counter, to service reqs in order */
- #ifdef AFS_DISABLE_BKG
- int disable_bkg = AFS_DISABLE_BKG;
- #endif
  
  static int rxepoch_checked = 0;
  #define afs_CheckRXEpoch() {if (rxepoch_checked == 0 && rxkad_EpochWasSet) { \
--- 35,40 ----
***************
*** 566,575 ****
  afs_BBusy(void)
  {
      AFS_STATCNT(afs_BBusy);
- #ifdef AFS_DISABLE_BKG
-     if (disable_bkg)
- 	return 1;
- #endif
      if (afs_brsDaemons > 0)
  	return 0;
      return 1;
--- 563,568 ----
Index: openafs/src/afs/DARWIN/osi_sleep.c
diff -c openafs/src/afs/DARWIN/osi_sleep.c:1.10.2.1 openafs/src/afs/DARWIN/osi_sleep.c:1.10.2.2
*** openafs/src/afs/DARWIN/osi_sleep.c:1.10.2.1	Wed Oct  5 01:58:29 2005
--- openafs/src/afs/DARWIN/osi_sleep.c	Mon Feb 13 13:19:49 2006
***************
*** 11,17 ****
  #include "afs/param.h"
  
  RCSID
!     ("$Header: /cvs/openafs/src/afs/DARWIN/osi_sleep.c,v 1.10.2.1 2005/10/05 05:58:29 shadow Exp $");
  
  #include "afs/sysincludes.h"	/* Standard vendor system headers */
  #include "afsincludes.h"	/* Afs-based standard headers */
--- 11,17 ----
  #include "afs/param.h"
  
  RCSID
!     ("$Header: /cvs/openafs/src/afs/DARWIN/osi_sleep.c,v 1.10.2.2 2006/02/13 18:19:49 shadow Exp $");
  
  #include "afs/sysincludes.h"	/* Standard vendor system headers */
  #include "afsincludes.h"	/* Afs-based standard headers */
***************
*** 84,91 ****
--- 84,121 ----
      int seq;			/* Sequence number: this is incremented
  				 * by wakeup calls; wait will not return until
  				 * it changes */
+ #ifdef AFS_DARWIN80_ENV
+    lck_mtx_t *lck;
+    thread_t owner;
+ #endif
  } afs_event_t;
  
+ #ifdef AFS_DARWIN80_ENV
+ #define EVTLOCK_INIT(e) \
+     do { \
+ 	(e)->lck = lck_mtx_alloc_init(openafs_lck_grp, 0); \
+ 	(e)->owner = 0; \
+     } while (0)
+ #define EVTLOCK_LOCK(e) \
+     do { \
+ 	osi_Assert((e)->owner != current_thread()); \
+ 	lck_mtx_lock((e)->lck); \
+ 	osi_Assert((e)->owner == 0); \
+ 	(e)->owner = current_thread(); \
+     } while (0)
+ #define EVTLOCK_UNLOCK(e) \
+     do { \
+ 	osi_Assert((e)->owner == current_thread()); \
+ 	(e)->owner = 0; \
+ 	lck_mtx_unlock((e)->lck); \
+     } while (0)
+ #define EVTLOCK_DESTROY(e) lck_mtx_free((e)->lck, openafs_lck_grp)
+ #else
+ #define EVTLOCK_INIT(e)
+ #define EVTLOCK_LOCK(e)
+ #define EVTLCK_UNLOCK(e)
+ #define EVTLOCK_DESTROY(e)
+ #endif
  #define HASHSIZE 128
  afs_event_t *afs_evhasht[HASHSIZE];	/* Hash table for events */
  #define afs_evhash(event)       (afs_uint32) ((((long)event)>>2) & (HASHSIZE-1));
***************
*** 96,114 ****
  static afs_event_t *
  afs_getevent(char *event)
  {
!     afs_event_t *evp, *newp = 0;
      int hashcode;
  
      AFS_ASSERT_GLOCK();
      hashcode = afs_evhash(event);
      evp = afs_evhasht[hashcode];
      while (evp) {
  	if (evp->event == event) {
  	    evp->refcount++;
  	    return evp;
  	}
  	if (evp->refcount == 0)
  	    newp = evp;
  	evp = evp->next;
      }
      if (!newp) {
--- 126,146 ----
  static afs_event_t *
  afs_getevent(char *event)
  {
!     afs_event_t *evp, *oevp, *newp = 0;
      int hashcode;
  
      AFS_ASSERT_GLOCK();
      hashcode = afs_evhash(event);
      evp = afs_evhasht[hashcode];
      while (evp) {
+ 	EVTLOCK_LOCK(evp);
  	if (evp->event == event) {
  	    evp->refcount++;
  	    return evp;
  	}
  	if (evp->refcount == 0)
  	    newp = evp;
+ 	EVTLOCK_UNLOCK(evp);
  	evp = evp->next;
      }
      if (!newp) {
***************
*** 117,130 ****
--- 149,174 ----
  	newp->next = afs_evhasht[hashcode];
  	afs_evhasht[hashcode] = newp;
  	newp->seq = 0;
+ 	EVTLOCK_INIT(newp);
      }
+     EVTLOCK_LOCK(newp);
      newp->event = event;
      newp->refcount = 1;
      return newp;
  }
  
  /* Release the specified event */
+ #ifdef AFS_DARWIN80_ENV
+ #define relevent(evp) \
+     do { \
+ 	osi_Assert((evp)->owner == current_thread()); \
+         (evp)->refcount--; \
+ 	(evp)->owner = 0; \
+ 	lck_mtx_unlock((evp)->lck); \
+     } while (0)
+ #else
  #define relevent(evp) ((evp)->refcount--)
+ #endif
  
  
  void
***************
*** 134,146 ****
      int seq;
  
      evp = afs_getevent(event);
      seq = evp->seq;
      while (seq == evp->seq) {
- 	AFS_ASSERT_GLOCK();
- 	AFS_GUNLOCK();
  #ifdef AFS_DARWIN80_ENV
!         msleep(event, NULL, PVFS, "afs_osi_Sleep", NULL);
  #else
  #ifdef AFS_DARWIN14_ENV
  	/* this is probably safe for all versions, but testing is hard */
  	sleep(event, PVFS);
--- 178,196 ----
      int seq;
  
      evp = afs_getevent(event);
+ #ifdef AFS_DARWIN80_ENV
+      AFS_ASSERT_GLOCK();
+      AFS_GUNLOCK();
+ #endif
      seq = evp->seq;
      while (seq == evp->seq) {
  #ifdef AFS_DARWIN80_ENV
! 	evp->owner = 0;
! 	msleep(event, evp->lck, PVFS, "afs_osi_Sleep", NULL);
! 	evp->owner = current_thread();
  #else
+ 	AFS_ASSERT_GLOCK();
+ 	AFS_GUNLOCK();
  #ifdef AFS_DARWIN14_ENV
  	/* this is probably safe for all versions, but testing is hard */
  	sleep(event, PVFS);
***************
*** 148,157 ****
  	assert_wait((event_t) event, 0);
  	thread_block(0);
  #endif
- #endif
  	AFS_GLOCK();
      }
      relevent(evp);
  }
  
  void 
--- 198,210 ----
  	assert_wait((event_t) event, 0);
  	thread_block(0);
  #endif
  	AFS_GLOCK();
+ #endif
      }
      relevent(evp);
+ #ifdef AFS_DARWIN80_ENV
+     AFS_GLOCK();
+ #endif
  }
  
  void 
***************
*** 227,233 ****
          prio = PVFS;
      ts.tv_sec = ams / 1000;
      ts.tv_nsec = (ams % 1000) * 1000000;
!     code = msleep(event, NULL, prio, "afs_osi_TimedSleep", &ts);
  #else
      ticks = (ams * afs_hz) / 1000;
  #ifdef AFS_DARWIN14_ENV
--- 280,288 ----
          prio = PVFS;
      ts.tv_sec = ams / 1000;
      ts.tv_nsec = (ams % 1000) * 1000000;
!     evp->owner = 0;
!     code = msleep(event, evp->lck, prio, "afs_osi_TimedSleep", &ts);
!     evp->owner = current_thread();
  #else
      ticks = (ams * afs_hz) / 1000;
  #ifdef AFS_DARWIN14_ENV
***************
*** 250,261 ****
      thread_block(0);
      code = 0;
  #endif
- #endif
      AFS_GLOCK();
      if (seq == evp->seq)
  	code = EINTR;
  
      relevent(evp);
      return code;
  }
  
--- 305,319 ----
      thread_block(0);
      code = 0;
  #endif
      AFS_GLOCK();
+ #endif
      if (seq == evp->seq)
  	code = EINTR;
  
      relevent(evp);
+ #ifdef AFS_DARWIN80_ENV
+     AFS_GLOCK();
+ #endif
      return code;
  }
  
***************
*** 280,282 ****
--- 338,365 ----
      relevent(evp);
      return ret;
  }
+ 
+ void
+ shutdown_osisleep(void) {
+     struct afs_event *evp, *nevp, **pevpp;
+     int i;
+     for (i=0; i < HASHSIZE; i++) {
+ 	evp = afs_evhasht[i];
+ 	pevpp = &afs_evhasht[i];
+ 	while (evp) {
+ 	    EVTLOCK_LOCK(evp);
+ 	    nevp = evp->next;
+ 	    if (evp->refcount == 0) {
+ 		EVTLOCK_DESTROY(evp);
+ 		*pevpp = evp->next;
+ 		osi_FreeSmallSpace(evp);
+ 		afs_evhashcnt--;
+ 	    } else {
+ 		EVTLOCK_UNLOCK(evp);
+ 		pevpp = &evp->next;
+ 	    }
+ 	    evp = nevp;
+ 	}
+     }
+ }
+ 
Index: openafs/src/afs/DARWIN/osi_vnodeops.c
diff -c openafs/src/afs/DARWIN/osi_vnodeops.c:1.18.2.15 openafs/src/afs/DARWIN/osi_vnodeops.c:1.18.2.16
*** openafs/src/afs/DARWIN/osi_vnodeops.c:1.18.2.15	Tue Jan 24 23:47:12 2006
--- openafs/src/afs/DARWIN/osi_vnodeops.c	Sun Feb  5 13:26:48 2006
***************
*** 5,11 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/afs/DARWIN/osi_vnodeops.c,v 1.18.2.15 2006/01/25 04:47:12 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.18.2.16 2006/02/05 18:26:48 shadow Exp $");
  
  #include <afs/sysincludes.h>	/* Standard vendor system headers */
  #include <afsincludes.h>	/* Afs-based standard headers */
***************
*** 2038,2044 ****
     par.vnfs_filesize = avc->m.Length;
     par.vnfs_fsnode = avc;
     par.vnfs_dvp = dvp;
!    par.vnfs_cnp = cnp;
     if (isroot)
         par.vnfs_markroot = 1;
     error = vnode_create(VNCREATE_FLAVOR, VCREATESIZE, &par, &nvp);
--- 2038,2047 ----
     par.vnfs_filesize = avc->m.Length;
     par.vnfs_fsnode = avc;
     par.vnfs_dvp = dvp;
!    if (cnp && (cnp->cn_flags & ISDOTDOT) == 0)
!        par.vnfs_cnp = cnp;
!    if (!dvp || !cnp || (cnp->cn_flags & MAKEENTRY) == 0)
!        par.vnfs_flags = VNFS_NOCACHE;
     if (isroot)
         par.vnfs_markroot = 1;
     error = vnode_create(VNCREATE_FLAVOR, VCREATESIZE, &par, &nvp);
Index: openafs/src/afs/SOLARIS/osi_vnodeops.c
diff -c openafs/src/afs/SOLARIS/osi_vnodeops.c:1.20.2.7 openafs/src/afs/SOLARIS/osi_vnodeops.c:1.20.2.8
*** openafs/src/afs/SOLARIS/osi_vnodeops.c:1.20.2.7	Mon Nov 28 23:13:29 2005
--- openafs/src/afs/SOLARIS/osi_vnodeops.c	Mon Feb 13 13:39:11 2006
***************
*** 11,17 ****
  #include "afs/param.h"
  
  RCSID
!     ("$Header: /cvs/openafs/src/afs/SOLARIS/osi_vnodeops.c,v 1.20.2.7 2005/11/29 04:13:29 shadow Exp $");
  
  /*
   * SOLARIS/osi_vnodeops.c
--- 11,17 ----
  #include "afs/param.h"
  
  RCSID
!     ("$Header: /cvs/openafs/src/afs/SOLARIS/osi_vnodeops.c,v 1.20.2.8 2006/02/13 18:39:11 shadow Exp $");
  
  /*
   * SOLARIS/osi_vnodeops.c
***************
*** 895,902 ****
  	 * call it with an offset based on blocks smaller than MAXBSIZE
  	 * (implying that it should be named BSIZE, since it is clearly both a
  	 * max and a min). */
! 	size = auio->afsio_resid;	/* transfer size */
! 	fileBase = auio->afsio_offset;	/* start file position for xfr */
  	pageBase = fileBase & ~(MAXBSIZE - 1);	/* file position of the page */
  	pageOffset = fileBase & (MAXBSIZE - 1);	/* xfr start's offset within page */
  	tsize = MAXBSIZE - pageOffset;	/* how much more fits in this page */
--- 895,903 ----
  	 * call it with an offset based on blocks smaller than MAXBSIZE
  	 * (implying that it should be named BSIZE, since it is clearly both a
  	 * max and a min). */
! 	size = auio->afsio_resid;       /* transfer size */     
! 	fileBase = ((arw == UIO_READ) && (origLength < auio->uio_offset)) ? 
! 	    origLength : auio->afsio_offset;  /* start file position for xfr */
  	pageBase = fileBase & ~(MAXBSIZE - 1);	/* file position of the page */
  	pageOffset = fileBase & (MAXBSIZE - 1);	/* xfr start's offset within page */
  	tsize = MAXBSIZE - pageOffset;	/* how much more fits in this page */
Index: openafs/src/afs/VNOPS/afs_vnop_lookup.c
diff -c openafs/src/afs/VNOPS/afs_vnop_lookup.c:1.50.2.16 openafs/src/afs/VNOPS/afs_vnop_lookup.c:1.50.2.17
*** openafs/src/afs/VNOPS/afs_vnop_lookup.c:1.50.2.16	Tue Jan 17 00:00:21 2006
--- openafs/src/afs/VNOPS/afs_vnop_lookup.c	Tue Feb 14 15:33:48 2006
***************
*** 18,24 ****
  #include "afs/param.h"
  
  RCSID
!     ("$Header: /cvs/openafs/src/afs/VNOPS/afs_vnop_lookup.c,v 1.50.2.16 2006/01/17 05:00:21 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_lookup.c,v 1.50.2.17 2006/02/14 20:33:48 shadow Exp $");
  
  #include "afs/sysincludes.h"	/* Standard vendor system headers */
  #include "afsincludes.h"	/* Afs-based standard headers */
***************
*** 1601,1608 ****
      }
      if (bulkcode)
  	code = bulkcode;
!     else
! 	code = afs_CheckCode(code, &treq, 19);
      if (code) {
  	/* If there is an error, make sure *avcp is null.
  	 * Alphas panic otherwise - defect 10719.
--- 1601,1608 ----
      }
      if (bulkcode)
  	code = bulkcode;
! 
!     code = afs_CheckCode(code, &treq, 19);
      if (code) {
  	/* If there is an error, make sure *avcp is null.
  	 * Alphas panic otherwise - defect 10719.
Index: openafs/src/afsd/afs.rc.darwin
diff -c openafs/src/afsd/afs.rc.darwin:1.6.2.1 openafs/src/afsd/afs.rc.darwin:1.6.2.2
*** openafs/src/afsd/afs.rc.darwin:1.6.2.1	Mon Apr  4 00:01:20 2005
--- openafs/src/afsd/afs.rc.darwin	Tue Feb 14 19:38:36 2006
***************
*** 41,54 ****
  {
      echo "Starting OpenAFS"
  
-     if [ "${NETWORKUP}" = "-NO-" ]; then exit; fi
- 
      if [ -f $AFSDOPT ]; then
  	OPTIONS=`cat $AFSDOPT`
      else
  	OPTIONS="$MEDIUM -fakestat"
      fi
  
  # Need the commands ps, awk, kill, sleep
      PATH=${PATH}${PATH:+:}/sbin:/bin:/usr/bin
  
--- 41,56 ----
  {
      echo "Starting OpenAFS"
  
      if [ -f $AFSDOPT ]; then
  	OPTIONS=`cat $AFSDOPT`
      else
  	OPTIONS="$MEDIUM -fakestat"
      fi
  
+     if [ "${NETWORKUP}" = "-NO-" ]; then
+         echo $OPTIONS | grep -e '-dynroot' || exit
+     fi
+ 
  # Need the commands ps, awk, kill, sleep
      PATH=${PATH}${PATH:+:}/sbin:/bin:/usr/bin
  
Index: openafs/src/audit/audit.c
diff -c openafs/src/audit/audit.c:1.8.2.6 openafs/src/audit/audit.c:1.8.2.8
*** openafs/src/audit/audit.c:1.8.2.6	Fri Jul 29 10:32:10 2005
--- openafs/src/audit/audit.c	Mon Feb 13 12:57:26 2006
***************
*** 11,17 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/audit/audit.c,v 1.8.2.6 2005/07/29 14:32:10 shadow Exp $");
  
  #include <fcntl.h>
  #include <stdarg.h>
--- 11,17 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/audit/audit.c,v 1.8.2.8 2006/02/13 17:57:26 jaltman Exp $");
  
  #include <fcntl.h>
  #include <stdarg.h>
***************
*** 257,262 ****
--- 257,285 ----
  	fprintf(out, "\n");
  }
  
+ #ifdef AFS_PTHREAD_ENV
+ static pthread_mutex_t audit_lock;
+ static volatile afs_int32   audit_lock_initialized = 0;
+ static pthread_once_t audit_lock_once = PTHREAD_ONCE_INIT;
+ 
+ static void
+ osi_audit_init_lock(void)
+ {
+     pthread_mutex_init(&audit_lock, NULL);
+     audit_lock_initialized = 1;
+ }
+ #endif
+ 
+ void
+ osi_audit_init(void)
+ {
+ #ifdef AFS_PTHREAD_ENV
+     if (!audit_lock_initialized) {
+ 	pthread_once(&audit_lock_once, osi_audit_init_lock);
+     }
+ #endif /* AFS_PTHREAD_ENV */
+ }
+ 
  /* ************************************************************************** */
  /* The routine that acually does the audit call.
   * ************************************************************************** */
***************
*** 268,287 ****
  #ifdef AFS_AIX32_ENV
      afs_int32 code;
      afs_int32 err;
  #endif
      int result;
- 
      va_list vaList;
! #ifdef AFS_AIX32_ENV
!     static struct Lock audbuflock = { 0, 0, 0, 0,
  #ifdef AFS_PTHREAD_ENV
! 	PTHREAD_MUTEX_INITIALIZER,
! 	PTHREAD_COND_INITIALIZER,
! 	PTHREAD_COND_INITIALIZER
  #endif /* AFS_PTHREAD_ENV */
-     };
-     static char BUFFER[32768];
- #endif
  
      if ((osi_audit_all < 0) || (osi_echo_trail < 0))
  	osi_audit_check();
--- 291,307 ----
  #ifdef AFS_AIX32_ENV
      afs_int32 code;
      afs_int32 err;
+     static char BUFFER[32768];
  #endif
      int result;
      va_list vaList;
! 
  #ifdef AFS_PTHREAD_ENV
!     /* i'm pretty sure all the server apps now call osi_audit_init(),
!      * but to be extra careful we'll leave this assert in here for a 
!      * while to make sure */
!     assert(audit_lock_initialized);
  #endif /* AFS_PTHREAD_ENV */
  
      if ((osi_audit_all < 0) || (osi_echo_trail < 0))
  	osi_audit_check();
***************
*** 312,319 ****
  	break;
      }
  
  #ifdef AFS_AIX32_ENV
-     ObtainWriteLock(&audbuflock);
      bufferPtr = BUFFER;
  
      /* Put the error code into the buffer list */
--- 332,341 ----
  	break;
      }
  
+ #ifdef AFS_PTHREAD_ENV
+     pthread_mutex_lock(&audit_lock);
+ #endif
  #ifdef AFS_AIX32_ENV
      bufferPtr = BUFFER;
  
      /* Put the error code into the buffer list */
***************
*** 340,346 ****
  	    printf("Error while writing audit entry: %d.\n", errno);
      }
  #endif /* notdef */
-     ReleaseWriteLock(&audbuflock);
  #else
      if (auditout) {
  	va_start(vaList, errCode);
--- 362,367 ----
***************
*** 348,353 ****
--- 369,377 ----
  	fflush(auditout);
      }
  #endif
+ #ifdef AFS_PTHREAD_ENV
+     pthread_mutex_unlock(&audit_lock);
+ #endif
  
      return 0;
  }
Index: openafs/src/audit/audit.h
diff -c openafs/src/audit/audit.h:1.5.2.4 openafs/src/audit/audit.h:1.5.2.5
*** openafs/src/audit/audit.h:1.5.2.4	Thu Jul 14 23:25:38 2005
--- openafs/src/audit/audit.h	Mon Feb 13 12:56:49 2006
***************
*** 292,294 ****
--- 292,296 ----
  int osi_audit(char *audEvent, afs_int32 errCode, ...);
  int osi_auditU(struct rx_call *call, char *audEvent, int errCode, ...);
  int osi_audit_file(FILE *out);
+ void osi_audit_init(void);
+ 
Index: openafs/src/bozo/bosserver.c
diff -c openafs/src/bozo/bosserver.c:1.23.2.5 openafs/src/bozo/bosserver.c:1.23.2.6
*** openafs/src/bozo/bosserver.c:1.23.2.5	Mon Jul 11 15:08:36 2005
--- openafs/src/bozo/bosserver.c	Mon Feb 13 12:57:27 2006
***************
*** 11,17 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/bozo/bosserver.c,v 1.23.2.5 2005/07/11 19:08:36 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.23.2.6 2006/02/13 17:57:27 jaltman Exp $");
  
  #include <afs/stds.h>
  #include <sys/types.h>
***************
*** 743,748 ****
--- 743,749 ----
      sigaction(SIGSEGV, &nsa, NULL);
      sigaction(SIGABRT, &nsa, NULL);
  #endif
+     osi_audit_init();
  #ifdef BOS_RESTRICTED_MODE
      signal(SIGFPE, bozo_insecureme);
  #endif
Index: openafs/src/budb/server.c
diff -c openafs/src/budb/server.c:1.14.2.1 openafs/src/budb/server.c:1.14.2.2
*** openafs/src/budb/server.c:1.14.2.1	Mon Jul 11 15:08:36 2005
--- openafs/src/budb/server.c	Mon Feb 13 12:57:27 2006
***************
*** 11,17 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/budb/server.c,v 1.14.2.1 2005/07/11 19:08:36 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.14.2.2 2006/02/13 17:57:27 jaltman Exp $");
  
  #include <fcntl.h>
  #include <sys/stat.h>
***************
*** 395,400 ****
--- 395,401 ----
      sigaction(SIGSEGV, &nsa, NULL);
      sigaction(SIGABRT, &nsa, NULL);
  #endif
+     osi_audit_init();
      osi_audit(BUDB_StartEvent, 0, AUD_END);
  
      initialize_BUDB_error_table();
Index: openafs/src/cf/linux-test4.m4
diff -c openafs/src/cf/linux-test4.m4:1.20.2.8 openafs/src/cf/linux-test4.m4:1.20.2.9
*** openafs/src/cf/linux-test4.m4:1.20.2.8	Thu Jan 26 10:58:35 2006
--- openafs/src/cf/linux-test4.m4	Tue Feb 14 19:32:54 2006
***************
*** 208,214 ****
  AC_MSG_CHECKING(for i_devices in struct inode)
  save_CPPFLAGS="$CPPFLAGS"
  CPPFLAGS="-I${LINUX_KERNEL_PATH}/include -I${LINUX_KERNEL_PATH}/include/asm/mach-${SUBARCH} -DKBUILD_BASENAME=\"libafs\" -D__KERNEL__ $CPPFLAGS"
! AC_CACHE_VAL(ac_cv_linux_fs_struct_inode_has_i_cdev, 
  [
  AC_TRY_COMPILE(
  [#include <linux/fs.h>],
--- 208,214 ----
  AC_MSG_CHECKING(for i_devices in struct inode)
  save_CPPFLAGS="$CPPFLAGS"
  CPPFLAGS="-I${LINUX_KERNEL_PATH}/include -I${LINUX_KERNEL_PATH}/include/asm/mach-${SUBARCH} -DKBUILD_BASENAME=\"libafs\" -D__KERNEL__ $CPPFLAGS"
! AC_CACHE_VAL(ac_cv_linux_fs_struct_inode_has_i_devices, 
  [
  AC_TRY_COMPILE(
  [#include <linux/fs.h>],
***************
*** 299,304 ****
--- 299,320 ----
  CPPFLAGS="$save_CPPFLAGS"])
  
  
+ AC_DEFUN([LINUX_FS_STRUCT_INODE_HAS_I_MUTEX], [
+ AC_MSG_CHECKING(for i_mutex in struct inode)
+ save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I${LINUX_KERNEL_PATH}/include -I${LINUX_KERNEL_PATH}/include/asm/mach-${SUBARCH} -DKBUILD_BASENAME=\"libafs\" -D__KERNEL__ $CPPFLAGS"
+ AC_CACHE_VAL(ac_cv_linux_fs_struct_inode_has_i_mutex, 
+ [
+ AC_TRY_COMPILE(
+ [#include <linux/fs.h>],
+ [struct inode _inode;
+ printf("%d\n", _inode.i_mutex);], 
+ ac_cv_linux_fs_struct_inode_has_i_mutex=yes,
+ ac_cv_linux_fs_struct_inode_has_i_mutex=no)])
+ AC_MSG_RESULT($ac_cv_linux_fs_struct_inode_has_i_mutex)
+ CPPFLAGS="$save_CPPFLAGS"])
+ 
+ 
  AC_DEFUN([LINUX_FS_STRUCT_INODE_HAS_I_SECURITY], [
  AC_MSG_CHECKING(for i_security in struct inode)
  save_CPPFLAGS="$CPPFLAGS"
Index: openafs/src/config/NTMakefile.amd64_w2k
diff -c openafs/src/config/NTMakefile.amd64_w2k:1.1.2.26 openafs/src/config/NTMakefile.amd64_w2k:1.1.2.28
*** openafs/src/config/NTMakefile.amd64_w2k:1.1.2.26	Mon Jan 16 23:00:46 2006
--- openafs/src/config/NTMakefile.amd64_w2k	Sun Feb  5 23:12:34 2006
***************
*** 80,86 ****
  #define used in WinNT/2000 installation and program version display
  AFSPRODUCT_VER_MAJOR=1
  AFSPRODUCT_VER_MINOR=4
! AFSPRODUCT_VER_PATCH=0095
  AFSPRODUCT_VER_BUILD=0
  
  AFSPRODUCT_VERSION=$(AFSPRODUCT_VER_MAJOR).$(AFSPRODUCT_VER_MINOR).$(AFSPRODUCT_VER_PATCH)
--- 80,86 ----
  #define used in WinNT/2000 installation and program version display
  AFSPRODUCT_VER_MAJOR=1
  AFSPRODUCT_VER_MINOR=4
! AFSPRODUCT_VER_PATCH=0097
  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.46.2.41 openafs/src/config/NTMakefile.i386_nt40:1.46.2.43
*** openafs/src/config/NTMakefile.i386_nt40:1.46.2.41	Mon Jan 16 23:00:47 2006
--- openafs/src/config/NTMakefile.i386_nt40	Sun Feb  5 23:12:34 2006
***************
*** 80,86 ****
  #define used in WinNT/2000 installation and program version display
  AFSPRODUCT_VER_MAJOR=1
  AFSPRODUCT_VER_MINOR=4
! AFSPRODUCT_VER_PATCH=0095
  AFSPRODUCT_VER_BUILD=0
  
  AFSPRODUCT_VERSION=$(AFSPRODUCT_VER_MAJOR).$(AFSPRODUCT_VER_MINOR).$(AFSPRODUCT_VER_PATCH)
--- 80,86 ----
  #define used in WinNT/2000 installation and program version display
  AFSPRODUCT_VER_MAJOR=1
  AFSPRODUCT_VER_MINOR=4
! AFSPRODUCT_VER_PATCH=0097
  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.1.2.28 openafs/src/config/NTMakefile.i386_w2k:1.1.2.30
*** openafs/src/config/NTMakefile.i386_w2k:1.1.2.28	Mon Jan 16 23:00:47 2006
--- openafs/src/config/NTMakefile.i386_w2k	Sun Feb  5 23:12:34 2006
***************
*** 80,86 ****
  #define used in WinNT/2000 installation and program version display
  AFSPRODUCT_VER_MAJOR=1
  AFSPRODUCT_VER_MINOR=4
! AFSPRODUCT_VER_PATCH=0095
  AFSPRODUCT_VER_BUILD=0
  
  AFSPRODUCT_VERSION=$(AFSPRODUCT_VER_MAJOR).$(AFSPRODUCT_VER_MINOR).$(AFSPRODUCT_VER_PATCH)
--- 80,86 ----
  #define used in WinNT/2000 installation and program version display
  AFSPRODUCT_VER_MAJOR=1
  AFSPRODUCT_VER_MINOR=4
! AFSPRODUCT_VER_PATCH=0097
  AFSPRODUCT_VER_BUILD=0
  
  AFSPRODUCT_VERSION=$(AFSPRODUCT_VER_MAJOR).$(AFSPRODUCT_VER_MINOR).$(AFSPRODUCT_VER_PATCH)
Index: openafs/src/config/param.ppc_darwin_80.h
diff -c openafs/src/config/param.ppc_darwin_80.h:1.1.2.3 openafs/src/config/param.ppc_darwin_80.h:1.1.2.4
*** openafs/src/config/param.ppc_darwin_80.h:1.1.2.3	Sat Jan 28 14:22:31 2006
--- openafs/src/config/param.ppc_darwin_80.h	Mon Feb 13 13:31:15 2006
***************
*** 95,101 ****
  #define AFS_NONFSTRANS
  #define AFS_SYSCALL             230
  #define DARWIN_REFBASE 0
- #define AFS_DISABLE_BKG 1
  
  /* File system entry (used if mount.h doesn't define MOUNT_AFS */
  #define AFS_MOUNT_AFS    "afs"
--- 95,100 ----
Index: openafs/src/kauth/kaserver.c
diff -c openafs/src/kauth/kaserver.c:1.17.2.1 openafs/src/kauth/kaserver.c:1.17.2.2
*** openafs/src/kauth/kaserver.c:1.17.2.1	Mon Jul 11 15:08:37 2005
--- openafs/src/kauth/kaserver.c	Mon Feb 13 12:57:28 2006
***************
*** 11,17 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/kauth/kaserver.c,v 1.17.2.1 2005/07/11 19:08:37 shadow Exp $");
  
  #include <afs/stds.h>
  #include <sys/types.h>
--- 11,17 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/kauth/kaserver.c,v 1.17.2.2 2006/02/13 17:57:28 jaltman Exp $");
  
  #include <afs/stds.h>
  #include <sys/types.h>
***************
*** 198,203 ****
--- 198,205 ----
      sigaction(SIGABRT, &nsa, NULL);
      sigaction(SIGSEGV, &nsa, NULL);
  #endif
+     osi_audit_init();
+ 
      if (argc == 0) {
        usage:
  	printf("Usage: kaserver [-noAuth] [-fastKeys] [-database <dbpath>] "
Index: openafs/src/packaging/MacOS/OpenAFS.info
diff -c openafs/src/packaging/MacOS/OpenAFS.info:1.1.4.26 openafs/src/packaging/MacOS/OpenAFS.info:1.1.4.27
*** openafs/src/packaging/MacOS/OpenAFS.info:1.1.4.26	Wed Feb  1 23:37:47 2006
--- openafs/src/packaging/MacOS/OpenAFS.info	Tue Feb 14 19:52:45 2006
***************
*** 1,5 ****
  Title OpenAFS
! Version 1.4.1-rc6
  Description The OpenAFS distributed filesystem. This package installs an almost-ready-to-run client for OpenAFS. see http://www.openafs.org for more information.
  DefaultLocation /
  Diskname (null)
--- 1,5 ----
  Title OpenAFS
! Version 1.4.1-rc7
  Description The OpenAFS distributed filesystem. This package installs an almost-ready-to-run client for OpenAFS. see http://www.openafs.org for more information.
  DefaultLocation /
  Diskname (null)
Index: openafs/src/packaging/MacOS/buildpkg.sh
diff -c openafs/src/packaging/MacOS/buildpkg.sh:1.4.2.6 openafs/src/packaging/MacOS/buildpkg.sh:1.4.2.7
*** openafs/src/packaging/MacOS/buildpkg.sh:1.4.2.6	Thu Dec  1 00:19:49 2005
--- openafs/src/packaging/MacOS/buildpkg.sh	Tue Feb 14 19:35:00 2006
***************
*** 102,108 ****
  else
      echo /Network/afs:/var/db/openafs/cache:30000 > $PKGROOT/private/var/db/openafs/etc/cacheinfo.sample
  fi
! echo '-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
  
--- 102,108 ----
  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
  
Index: openafs/src/ptserver/ptserver.c
diff -c openafs/src/ptserver/ptserver.c:1.21.2.2 openafs/src/ptserver/ptserver.c:1.21.2.3
*** openafs/src/ptserver/ptserver.c:1.21.2.2	Mon Jul 11 15:08:49 2005
--- openafs/src/ptserver/ptserver.c	Mon Feb 13 12:57:28 2006
***************
*** 112,118 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/ptserver/ptserver.c,v 1.21.2.2 2005/07/11 19:08:49 shadow Exp $");
  
  #include <afs/stds.h>
  #ifdef	AFS_AIX32_ENV
--- 112,118 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/ptserver/ptserver.c,v 1.21.2.3 2006/02/13 17:57:28 jaltman Exp $");
  
  #include <afs/stds.h>
  #ifdef	AFS_AIX32_ENV
***************
*** 243,248 ****
--- 243,249 ----
      sigaction(SIGABRT, &nsa, NULL);
      sigaction(SIGSEGV, &nsa, NULL);
  #endif
+     osi_audit_init();
      osi_audit(PTS_StartEvent, 0, AUD_END);
  
      /* Initialize dirpaths */
Index: openafs/src/viced/afsfileprocs.c
diff -c openafs/src/viced/afsfileprocs.c:1.81.2.14 openafs/src/viced/afsfileprocs.c:1.81.2.17
*** openafs/src/viced/afsfileprocs.c:1.81.2.14	Wed Feb  1 10:59:43 2006
--- openafs/src/viced/afsfileprocs.c	Mon Feb 13 12:10:15 2006
***************
*** 29,35 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/viced/afsfileprocs.c,v 1.81.2.14 2006/02/01 15:59:43 shadow Exp $");
  
  #include <stdio.h>
  #include <stdlib.h>
--- 29,35 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/viced/afsfileprocs.c,v 1.81.2.17 2006/02/13 17:10:15 jaltman Exp $");
  
  #include <stdio.h>
  #include <stdlib.h>
***************
*** 305,311 ****
      struct client *tclient;
      int retry_flag = 1;
      int code = 0;
!     char hoststr[16];
      if (!tconn) {
  	ViceLog(0, ("CallPreamble: unexpected null tconn!\n"));
  	return -1;
--- 305,311 ----
      struct client *tclient;
      int retry_flag = 1;
      int code = 0;
!     char hoststr[16], hoststr2[16];
      if (!tconn) {
  	ViceLog(0, ("CallPreamble: unexpected null tconn!\n"));
  	return -1;
***************
*** 350,364 ****
      h_Lock_r(thost);
      if (thost->hostFlags & HOSTDELETED) {
  	ViceLog(3,
! 		("Discarded a packet for deleted host %s\n",
! 		 afs_inet_ntoa_r(thost->host, hoststr)));
  	code = VBUSY;		/* raced, so retry */
      } else if ((thost->hostFlags & VENUSDOWN)
  	       || (thost->hostFlags & HFE_LATER)) {
  	if (BreakDelayedCallBacks_r(thost)) {
  	    ViceLog(0,
! 		    ("BreakDelayedCallbacks FAILED for host %s which IS UP.  Possible network or routing failure.\n",
! 		     afs_inet_ntoa_r(thost->host, hoststr)));
  	    if (MultiProbeAlternateAddress_r(thost)) {
  		ViceLog(0,
  			("MultiProbe failed to find new address for host %s:%d\n",
--- 350,365 ----
      h_Lock_r(thost);
      if (thost->hostFlags & HOSTDELETED) {
  	ViceLog(3,
! 		("Discarded a packet for deleted host %s:%d\n",
! 		 afs_inet_ntoa_r(thost->host, hoststr), ntohs(thost->port)));
  	code = VBUSY;		/* raced, so retry */
      } else if ((thost->hostFlags & VENUSDOWN)
  	       || (thost->hostFlags & HFE_LATER)) {
  	if (BreakDelayedCallBacks_r(thost)) {
  	    ViceLog(0,
! 		    ("BreakDelayedCallbacks FAILED for host %s:%d which IS UP.  Connection from %s:%d.  Possible network or routing failure.\n",
! 		     afs_inet_ntoa_r(thost->host, hoststr), ntohs(thost->port), afs_inet_ntoa_r(rxr_HostOf(*tconn), hoststr2), 
! 		     ntohs(rxr_PortOf(*tconn))));
  	    if (MultiProbeAlternateAddress_r(thost)) {
  		ViceLog(0,
  			("MultiProbe failed to find new address for host %s:%d\n",
***************
*** 372,379 ****
  			 ntohs(thost->port)));
  		if (BreakDelayedCallBacks_r(thost)) {
  		    ViceLog(0,
! 			    ("BreakDelayedCallbacks FAILED AGAIN for host %s which IS UP.  Possible network or routing failure.\n",
! 			     afs_inet_ntoa_r(thost->host, hoststr)));
  		    code = -1;
  		}
  	    }
--- 373,381 ----
  			 ntohs(thost->port)));
  		if (BreakDelayedCallBacks_r(thost)) {
  		    ViceLog(0,
! 			    ("BreakDelayedCallbacks FAILED AGAIN for host %s:%d which IS UP.  Connection from %s:%d.  Possible network or routing failure.\n",
! 			      afs_inet_ntoa_r(thost->host, hoststr), ntohs(thost->port), afs_inet_ntoa_r(rxr_HostOf(*tconn), hoststr2), 
! 			      ntohs(rxr_PortOf(*tconn))));
  		    code = -1;
  		}
  	    }
***************
*** 573,578 ****
--- 575,606 ----
  
  }				/*SetAccessList */
  
+ /* Must not be called with H_LOCK held */
+ static void
+ client_CheckRights(struct client *client, struct acl_accessList *ACL, 
+ 		   afs_int32 *rights)
+ {
+     *rights = 0;
+     ObtainReadLock(&client->lock);
+     if (client->CPS.prlist_len > 0 && !client->deleted &&
+ 	client->host &&	!(client->host->hostFlags & HOSTDELETED))
+ 	acl_CheckRights(ACL, &client->CPS, rights);
+     ReleaseReadLock(&client->lock);
+ }
+ 
+ /* Must not be called with H_LOCK held */
+ static afs_int32
+ client_HasAsMember(struct client *client, afs_int32 id)
+ {
+     afs_int32 code = 0;
+ 
+     ObtainReadLock(&client->lock);
+     if (client->CPS.prlist_len > 0 && !client->deleted && 
+ 	client->host &&	!(client->host->hostFlags & HOSTDELETED))
+     ReleaseReadLock(&client->lock);
+     return code;
+ }
+ 
  /*
   * Compare the directory's ACL with the user's access rights in the client
   * connection and return the user's and everybody else's access permissions
***************
*** 589,603 ****
  #endif
  
      if (acl_CheckRights(ACL, &SystemAnyUserCPS, anyrights) != 0) {
- 
  	ViceLog(0, ("CheckRights failed\n"));
  	*anyrights = 0;
      }
      *rights = 0;
  
!     ObtainWriteLock(&client->lock);
!     acl_CheckRights(ACL, &client->CPS, rights);
!     ReleaseWriteLock(&client->lock);
  
      /* wait if somebody else is already doing the getCPS call */
      H_LOCK;
--- 617,628 ----
  #endif
  
      if (acl_CheckRights(ACL, &SystemAnyUserCPS, anyrights) != 0) {
  	ViceLog(0, ("CheckRights failed\n"));
  	*anyrights = 0;
      }
      *rights = 0;
  
!     client_CheckRights(client, ACL, rights);
  
      /* wait if somebody else is already doing the getCPS call */
      H_LOCK;
***************
*** 620,627 ****
  	acl_CheckRights(ACL, &client->host->hcps, &hrights);
      H_UNLOCK;
      /* Allow system:admin the rights given with the -implicit option */
!     if (acl_IsAMember(SystemId, &client->CPS))
  	*rights |= implicitAdminRights;
      *rights |= hrights;
      *anyrights |= hrights;
  
--- 645,653 ----
  	acl_CheckRights(ACL, &client->host->hcps, &hrights);
      H_UNLOCK;
      /* Allow system:admin the rights given with the -implicit option */
!     if (client_HasAsMember(client, SystemId))
  	*rights |= implicitAdminRights;
+ 
      *rights |= hrights;
      *anyrights |= hrights;
  
***************
*** 636,642 ****
  static afs_int32
  VanillaUser(struct client *client)
  {
!     if (acl_IsAMember(SystemId, &client->CPS))
  	return (0);		/* not a system administrator, then you're "vanilla" */
      return (1);
  
--- 662,668 ----
  static afs_int32
  VanillaUser(struct client *client)
  {
!     if (client_HasAsMember(client, SystemId))
  	return (0);		/* not a system administrator, then you're "vanilla" */
      return (1);
  
***************
*** 675,685 ****
  	return (errorCode);
      if (chkforDir == MustBeDIR)
  	assert((*parent) == 0);
!     if ((errorCode = GetClient(tcon, client)) != 0)
! 	return (errorCode);
!     if (!(*client))
! 	return (EINVAL);
!     assert(GetRights(*client, aCL, rights, anyrights) == 0);
      /* ok, if this is not a dir, set the PRSFS_ADMINISTER bit iff we're the owner */
      if ((*targetptr)->disk.type != vDirectory) {
  	/* anyuser can't be owner, so only have to worry about rights, not anyrights */
--- 701,713 ----
  	return (errorCode);
      if (chkforDir == MustBeDIR)
  	assert((*parent) == 0);
!     if (!(*client)) {
! 	if ((errorCode = GetClient(tcon, client)) != 0)
! 	    return (errorCode);
! 	if (!(*client))
! 	    return (EINVAL);
!     }
!     GetRights(*client, aCL, rights, anyrights);
      /* ok, if this is not a dir, set the PRSFS_ADMINISTER bit iff we're the owner */
      if ((*targetptr)->disk.type != vDirectory) {
  	/* anyuser can't be owner, so only have to worry about rights, not anyrights */
***************
*** 704,710 ****
   */
  static void
  PutVolumePackage(Vnode * parentwhentargetnotdir, Vnode * targetptr,
! 		 Vnode * parentptr, Volume * volptr)
  {
      int fileCode = 0;		/* Error code returned by the volume package */
  
--- 732,738 ----
   */
  static void
  PutVolumePackage(Vnode * parentwhentargetnotdir, Vnode * targetptr,
! 		 Vnode * parentptr, Volume * volptr, struct client **client)
  {
      int fileCode = 0;		/* Error code returned by the volume package */
  
***************
*** 723,728 ****
--- 751,759 ----
      if (volptr) {
  	VPutVolume(volptr);
      }
+     if (*client) {
+ 	PutClient(client);
+     }
  }				/*PutVolumePackage */
  
  static int
***************
*** 737,743 ****
  	 * We don't have to check for host's cps since only regular
  	 * viceid are volume owners.
  	 */
! 	return (acl_IsAMember(owner, &client->CPS));
      }
  
  }				/*VolumeOwner */
--- 768,774 ----
  	 * We don't have to check for host's cps since only regular
  	 * viceid are volume owners.
  	 */
! 	return (client_HasAsMember(client, owner));
      }
  
  }				/*VolumeOwner */
***************
*** 791,797 ****
  		&& targetptr->disk.type == vFile)
  #ifdef USE_GROUP_PERMS
  		if (!OWNSp(client, targetptr)
! 		    && !acl_IsAMember(targetptr->disk.owner, &client->CPS)) {
  		    errorCode =
  			(((GROUPREAD | GROUPEXEC) & targetptr->disk.modeBits)
  			 ? 0 : EACCES);
--- 822,828 ----
  		&& targetptr->disk.type == vFile)
  #ifdef USE_GROUP_PERMS
  		if (!OWNSp(client, targetptr)
! 		    && !client_HasAsMember(client, targetptr->disk.owner)) {
  		    errorCode =
  			(((GROUPREAD | GROUPEXEC) & targetptr->disk.modeBits)
  			 ? 0 : EACCES);
***************
*** 895,902 ****
  			if ((targetptr->disk.type == vFile)
  			    && VanillaUser(client)) {
  			    if (!OWNSp(client, targetptr)
! 				&& !acl_IsAMember(targetptr->disk.owner,
! 						  &client->CPS)) {
  				errorCode =
  				    ((GROUPWRITE & targetptr->disk.modeBits)
  				     ? 0 : EACCES);
--- 926,932 ----
  			if ((targetptr->disk.type == vFile)
  			    && VanillaUser(client)) {
  			    if (!OWNSp(client, targetptr)
! 				&& !client_HasAsMember(client, targetptr->disk.owner)) {
  				errorCode =
  				    ((GROUPWRITE & targetptr->disk.modeBits)
  				     ? 0 : EACCES);
***************
*** 2078,2084 ****
      int errorCode = 0;		/* return code to caller */
      int fileCode = 0;		/* return code from vol package */
      Volume *volptr = 0;		/* pointer to the volume */
!     struct client *client;	/* pointer to the client data */
      struct rx_connection *tcon;	/* the connection we're part of */
      afs_int32 rights, anyrights;	/* rights for this and any user */
      struct client *t_client = NULL;	/* tmp ptr to client data */
--- 2108,2114 ----
      int errorCode = 0;		/* return code to caller */
      int fileCode = 0;		/* return code from vol package */
      Volume *volptr = 0;		/* pointer to the volume */
!     struct client *client = 0;	/* pointer to the client data */
      struct rx_connection *tcon;	/* the connection we're part of */
      afs_int32 rights, anyrights;	/* rights for this and any user */
      struct client *t_client = NULL;	/* tmp ptr to client data */
***************
*** 2117,2127 ****
  
      /* Get ptr to client data for user Id for logging */
      t_client = (struct client *)rx_GetSpecific(tcon, rxcon_client_key);
!     logHostAddr.s_addr = rx_HostOf(rx_PeerOf(tcon));
      ViceLog(5,
! 	    ("SRXAFS_FetchData, Fid = %u.%u.%u, Host %s, Id %d\n",
  	     Fid->Volume, Fid->Vnode, Fid->Unique, inet_ntoa(logHostAddr),
! 	     t_client->ViceId));
      /*
       * Get volume/vnode for the fetched file; caller's access rights to
       * it are also returned
--- 2147,2157 ----
  
      /* Get ptr to client data for user Id for logging */
      t_client = (struct client *)rx_GetSpecific(tcon, rxcon_client_key);
!     logHostAddr.s_addr = rxr_HostOf(tcon);
      ViceLog(5,
! 	    ("SRXAFS_FetchData, Fid = %u.%u.%u, Host %s:%d, Id %d\n",
  	     Fid->Volume, Fid->Vnode, Fid->Unique, inet_ntoa(logHostAddr),
! 	     ntohs(rxr_PortOf(tcon)), t_client->ViceId));
      /*
       * Get volume/vnode for the fetched file; caller's access rights to
       * it are also returned
***************
*** 2266,2272 ****
    Bad_FetchData:
      /* Update and store volume/vnode and parent vnodes back */
      (void)PutVolumePackage(parentwhentargetnotdir, targetptr, (Vnode *) 0,
! 			   volptr);
      ViceLog(2, ("SRXAFS_FetchData returns %d\n", errorCode));
      errorCode = CallPostamble(tcon, errorCode);
  
--- 2296,2302 ----
    Bad_FetchData:
      /* Update and store volume/vnode and parent vnodes back */
      (void)PutVolumePackage(parentwhentargetnotdir, targetptr, (Vnode *) 0,
! 			   volptr, &client);
      ViceLog(2, ("SRXAFS_FetchData returns %d\n", errorCode));
      errorCode = CallPostamble(tcon, errorCode);
  
***************
*** 2341,2347 ****
      Vnode *parentwhentargetnotdir = 0;	/* parent vnode if targetptr is a file */
      int errorCode = 0;		/* return error code to caller */
      Volume *volptr = 0;		/* pointer to the volume */
!     struct client *client;	/* pointer to the client data */
      afs_int32 rights, anyrights;	/* rights for this and any user */
      struct rx_connection *tcon = rx_ConnectionOf(acall);
      struct client *t_client = NULL;	/* tmp ptr to client data */
--- 2371,2377 ----
      Vnode *parentwhentargetnotdir = 0;	/* parent vnode if targetptr is a file */
      int errorCode = 0;		/* return error code to caller */
      Volume *volptr = 0;		/* pointer to the volume */
!     struct client *client = 0;	/* pointer to the client data */
      afs_int32 rights, anyrights;	/* rights for this and any user */
      struct rx_connection *tcon = rx_ConnectionOf(acall);
      struct client *t_client = NULL;	/* tmp ptr to client data */
***************
*** 2373,2383 ****
  
      /* Get ptr to client data for user Id for logging */
      t_client = (struct client *)rx_GetSpecific(tcon, rxcon_client_key);
!     logHostAddr.s_addr = rx_HostOf(rx_PeerOf(tcon));
      ViceLog(5,
! 	    ("SAFS_FetchACL, Fid = %u.%u.%u, Host %s, Id %d\n", Fid->Volume,
  	     Fid->Vnode, Fid->Unique, inet_ntoa(logHostAddr),
! 	     t_client->ViceId));
  
      AccessList->AFSOpaque_len = 0;
      AccessList->AFSOpaque_val = malloc(AFSOPAQUEMAX);
--- 2403,2413 ----
  
      /* Get ptr to client data for user Id for logging */
      t_client = (struct client *)rx_GetSpecific(tcon, rxcon_client_key);
!     logHostAddr.s_addr = rxr_HostOf(tcon);
      ViceLog(5,
! 	    ("SAFS_FetchACL, Fid = %u.%u.%u, Host %s:%d, Id %d\n", Fid->Volume,
  	     Fid->Vnode, Fid->Unique, inet_ntoa(logHostAddr),
! 	     ntohs(rxr_PortOf(tcon)), t_client->ViceId));
  
      AccessList->AFSOpaque_len = 0;
      AccessList->AFSOpaque_val = malloc(AFSOPAQUEMAX);
***************
*** 2415,2421 ****
    Bad_FetchACL:
      /* Update and store volume/vnode and parent vnodes back */
      (void)PutVolumePackage(parentwhentargetnotdir, targetptr, (Vnode *) 0,
! 			   volptr);
      ViceLog(2,
  	    ("SAFS_FetchACL returns %d (ACL=%s)\n", errorCode,
  	     AccessList->AFSOpaque_val));
--- 2445,2451 ----
    Bad_FetchACL:
      /* Update and store volume/vnode and parent vnodes back */
      (void)PutVolumePackage(parentwhentargetnotdir, targetptr, (Vnode *) 0,
! 			   volptr, &client);
      ViceLog(2,
  	    ("SAFS_FetchACL returns %d (ACL=%s)\n", errorCode,
  	     AccessList->AFSOpaque_val));
***************
*** 2461,2467 ****
      Vnode *parentwhentargetnotdir = 0;	/* parent vnode if targetptr is a file */
      int errorCode = 0;		/* return code to caller */
      Volume *volptr = 0;		/* pointer to the volume */
!     struct client *client;	/* pointer to the client data */
      afs_int32 rights, anyrights;	/* rights for this and any user */
      struct client *t_client = NULL;	/* tmp ptr to client data */
      struct in_addr logHostAddr;	/* host ip holder for inet_ntoa */
--- 2491,2497 ----
      Vnode *parentwhentargetnotdir = 0;	/* parent vnode if targetptr is a file */
      int errorCode = 0;		/* return code to caller */
      Volume *volptr = 0;		/* pointer to the volume */
!     struct client *client = 0;	/* pointer to the client data */
      afs_int32 rights, anyrights;	/* rights for this and any user */
      struct client *t_client = NULL;	/* tmp ptr to client data */
      struct in_addr logHostAddr;	/* host ip holder for inet_ntoa */
***************
*** 2469,2479 ****
  
      /* Get ptr to client data for user Id for logging */
      t_client = (struct client *)rx_GetSpecific(tcon, rxcon_client_key);
!     logHostAddr.s_addr = rx_HostOf(rx_PeerOf(tcon));
      ViceLog(1,
! 	    ("SAFS_FetchStatus,  Fid = %u.%u.%u, Host %s, Id %d\n",
  	     Fid->Volume, Fid->Vnode, Fid->Unique, inet_ntoa(logHostAddr),
! 	     t_client->ViceId));
      FS_LOCK;
      AFSCallStats.FetchStatus++, AFSCallStats.TotalCalls++;
      FS_UNLOCK;
--- 2499,2509 ----
  
      /* Get ptr to client data for user Id for logging */
      t_client = (struct client *)rx_GetSpecific(tcon, rxcon_client_key);
!     logHostAddr.s_addr = rxr_HostOf(tcon);
      ViceLog(1,
! 	    ("SAFS_FetchStatus,  Fid = %u.%u.%u, Host %s:%d, Id %d\n",
  	     Fid->Volume, Fid->Vnode, Fid->Unique, inet_ntoa(logHostAddr),
! 	     ntohs(rxr_PortOf(tcon)), t_client->ViceId));
      FS_LOCK;
      AFSCallStats.FetchStatus++, AFSCallStats.TotalCalls++;
      FS_UNLOCK;
***************
*** 2518,2524 ****
    Bad_FetchStatus:
      /* Update and store volume/vnode and parent vnodes back */
      (void)PutVolumePackage(parentwhentargetnotdir, targetptr, (Vnode *) 0,
! 			   volptr);
      ViceLog(2, ("SAFS_FetchStatus returns %d\n", errorCode));
      return errorCode;
  
--- 2548,2554 ----
    Bad_FetchStatus:
      /* Update and store volume/vnode and parent vnodes back */
      (void)PutVolumePackage(parentwhentargetnotdir, targetptr, (Vnode *) 0,
! 			   volptr, &client);
      ViceLog(2, ("SAFS_FetchStatus returns %d\n", errorCode));
      return errorCode;
  
***************
*** 2536,2542 ****
      Vnode *parentwhentargetnotdir = 0;	/* parent vnode if targetptr is a file */
      int errorCode = 0;		/* return code to caller */
      Volume *volptr = 0;		/* pointer to the volume */
!     struct client *client;	/* pointer to the client data */
      afs_int32 rights, anyrights;	/* rights for this and any user */
      register struct AFSFid *tfid;	/* file id we're dealing with now */
      struct rx_connection *tcon = rx_ConnectionOf(acall);
--- 2566,2572 ----
      Vnode *parentwhentargetnotdir = 0;	/* parent vnode if targetptr is a file */
      int errorCode = 0;		/* return code to caller */
      Volume *volptr = 0;		/* pointer to the volume */
!     struct client *client = 0;	/* pointer to the client data */
      afs_int32 rights, anyrights;	/* rights for this and any user */
      register struct AFSFid *tfid;	/* file id we're dealing with now */
      struct rx_connection *tcon = rx_ConnectionOf(acall);
***************
*** 2630,2645 ****
  
  	/* put back the file ID and volume */
  	(void)PutVolumePackage(parentwhentargetnotdir, targetptr, (Vnode *) 0,
! 			       volptr);
  	parentwhentargetnotdir = (Vnode *) 0;
  	targetptr = (Vnode *) 0;
  	volptr = (Volume *) 0;
      }
  
    Bad_BulkStatus:
      /* Update and store volume/vnode and parent vnodes back */
      (void)PutVolumePackage(parentwhentargetnotdir, targetptr, (Vnode *) 0,
! 			   volptr);
      errorCode = CallPostamble(tcon, errorCode);
  
      t_client = (struct client *)rx_GetSpecific(tcon, rxcon_client_key);
--- 2660,2676 ----
  
  	/* put back the file ID and volume */
  	(void)PutVolumePackage(parentwhentargetnotdir, targetptr, (Vnode *) 0,
! 			       volptr, &client);
  	parentwhentargetnotdir = (Vnode *) 0;
  	targetptr = (Vnode *) 0;
  	volptr = (Volume *) 0;
+ 	client = (struct client *)0;
      }
  
    Bad_BulkStatus:
      /* Update and store volume/vnode and parent vnodes back */
      (void)PutVolumePackage(parentwhentargetnotdir, targetptr, (Vnode *) 0,
! 			   volptr, &client);
      errorCode = CallPostamble(tcon, errorCode);
  
      t_client = (struct client *)rx_GetSpecific(tcon, rxcon_client_key);
***************
*** 2683,2689 ****
      Vnode *parentwhentargetnotdir = 0;	/* parent vnode if targetptr is a file */
      int errorCode = 0;		/* return code to caller */
      Volume *volptr = 0;		/* pointer to the volume */
!     struct client *client;	/* pointer to the client data */
      afs_int32 rights, anyrights;	/* rights for this and any user */
      register struct AFSFid *tfid;	/* file id we're dealing with now */
      struct rx_connection *tcon;
--- 2714,2720 ----
      Vnode *parentwhentargetnotdir = 0;	/* parent vnode if targetptr is a file */
      int errorCode = 0;		/* return code to caller */
      Volume *volptr = 0;		/* pointer to the volume */
!     struct client *client = 0;	/* pointer to the client data */
      afs_int32 rights, anyrights;	/* rights for this and any user */
      register struct AFSFid *tfid;	/* file id we're dealing with now */
      struct rx_connection *tcon;
***************
*** 2747,2756 ****
  			      &rights, &anyrights))) {
  	    tstatus = &OutStats->AFSBulkStats_val[i];
  	    tstatus->errorCode = errorCode;
! 	    PutVolumePackage(parentwhentargetnotdir, targetptr, (Vnode *) 0, volptr);
  	    parentwhentargetnotdir = (Vnode *) 0;
  	    targetptr = (Vnode *) 0;
  	    volptr = (Volume *) 0;
  	    continue;
  	}
  
--- 2778,2789 ----
  			      &rights, &anyrights))) {
  	    tstatus = &OutStats->AFSBulkStats_val[i];
  	    tstatus->errorCode = errorCode;
! 	    PutVolumePackage(parentwhentargetnotdir, targetptr, (Vnode *) 0, 
! 			     volptr, &client);
  	    parentwhentargetnotdir = (Vnode *) 0;
  	    targetptr = (Vnode *) 0;
  	    volptr = (Volume *) 0;
+ 	    client = (struct client *)0;
  	    continue;
  	}
  
***************
*** 2766,2775 ****
  		tstatus = &OutStats->AFSBulkStats_val[i];
  		tstatus->errorCode = errorCode;
  		(void)PutVolumePackage(parentwhentargetnotdir, targetptr,
! 				       (Vnode *) 0, volptr);
  		parentwhentargetnotdir = (Vnode *) 0;
  		targetptr = (Vnode *) 0;
  		volptr = (Volume *) 0;
  		continue;
  	    }
  	}
--- 2799,2809 ----
  		tstatus = &OutStats->AFSBulkStats_val[i];
  		tstatus->errorCode = errorCode;
  		(void)PutVolumePackage(parentwhentargetnotdir, targetptr,
! 				       (Vnode *) 0, volptr, &client);
  		parentwhentargetnotdir = (Vnode *) 0;
  		targetptr = (Vnode *) 0;
  		volptr = (Volume *) 0;
+ 		client = (struct client *)0;
  		continue;
  	    }
  	}
***************
*** 2793,2808 ****
  
  	/* put back the file ID and volume */
  	(void)PutVolumePackage(parentwhentargetnotdir, targetptr, (Vnode *) 0,
! 			       volptr);
  	parentwhentargetnotdir = (Vnode *) 0;
  	targetptr = (Vnode *) 0;
  	volptr = (Volume *) 0;
      }
  
    Bad_InlineBulkStatus:
      /* Update and store volume/vnode and parent vnodes back */
      (void)PutVolumePackage(parentwhentargetnotdir, targetptr, (Vnode *) 0,
! 			   volptr);
      errorCode = CallPostamble(tcon, errorCode);
  
      t_client = (struct client *)rx_GetSpecific(tcon, rxcon_client_key);
--- 2827,2843 ----
  
  	/* put back the file ID and volume */
  	(void)PutVolumePackage(parentwhentargetnotdir, targetptr, (Vnode *) 0,
! 			       volptr, &client);
  	parentwhentargetnotdir = (Vnode *) 0;
  	targetptr = (Vnode *) 0;
  	volptr = (Volume *) 0;
+ 	client = (struct client *)0;
      }
  
    Bad_InlineBulkStatus:
      /* Update and store volume/vnode and parent vnodes back */
      (void)PutVolumePackage(parentwhentargetnotdir, targetptr, (Vnode *) 0,
! 			   volptr, &client);
      errorCode = CallPostamble(tcon, errorCode);
  
      t_client = (struct client *)rx_GetSpecific(tcon, rxcon_client_key);
***************
*** 2907,2913 ****
      int errorCode = 0;		/* return code for caller */
      int fileCode = 0;		/* return code from vol package */
      Volume *volptr = 0;		/* pointer to the volume header */
!     struct client *client;	/* pointer to client structure */
      afs_int32 rights, anyrights;	/* rights for this and any user */
      struct client *t_client = NULL;	/* tmp ptr to client data */
      struct in_addr logHostAddr;	/* host ip holder for inet_ntoa */
--- 2942,2948 ----
      int errorCode = 0;		/* return code for caller */
      int fileCode = 0;		/* return code from vol package */
      Volume *volptr = 0;		/* pointer to the volume header */
!     struct client *client = 0;	/* pointer to client structure */
      afs_int32 rights, anyrights;	/* rights for this and any user */
      struct client *t_client = NULL;	/* tmp ptr to client data */
      struct in_addr logHostAddr;	/* host ip holder for inet_ntoa */
***************
*** 2945,2955 ****
  
      /* Get ptr to client data for user Id for logging */
      t_client = (struct client *)rx_GetSpecific(tcon, rxcon_client_key);
!     logHostAddr.s_addr = rx_HostOf(rx_PeerOf(tcon));
      ViceLog(5,
! 	    ("StoreData: Fid = %u.%u.%u, Host %s, Id %d\n", Fid->Volume,
  	     Fid->Vnode, Fid->Unique, inet_ntoa(logHostAddr),
! 	     t_client->ViceId));
  
      /*
       * Get associated volume/vnode for the stored file; caller's rights
--- 2980,2990 ----
  
      /* Get ptr to client data for user Id for logging */
      t_client = (struct client *)rx_GetSpecific(tcon, rxcon_client_key);
!     logHostAddr.s_addr = rxr_HostOf(tcon);
      ViceLog(5,
! 	    ("StoreData: Fid = %u.%u.%u, Host %s:%d, Id %d\n", Fid->Volume,
  	     Fid->Vnode, Fid->Unique, inet_ntoa(logHostAddr),
! 	     ntohs(rxr_PortOf(tcon)), t_client->ViceId));
  
      /*
       * Get associated volume/vnode for the stored file; caller's rights
***************
*** 3086,3092 ****
    Bad_StoreData:
      /* Update and store volume/vnode and parent vnodes back */
      (void)PutVolumePackage(parentwhentargetnotdir, targetptr, (Vnode *) 0,
! 			   volptr);
      ViceLog(2, ("SAFS_StoreData	returns	%d\n", errorCode));
  
      errorCode = CallPostamble(tcon, errorCode);
--- 3121,3127 ----
    Bad_StoreData:
      /* Update and store volume/vnode and parent vnodes back */
      (void)PutVolumePackage(parentwhentargetnotdir, targetptr, (Vnode *) 0,
! 			   volptr, &client);
      ViceLog(2, ("SAFS_StoreData	returns	%d\n", errorCode));
  
      errorCode = CallPostamble(tcon, errorCode);
***************
*** 3168,3174 ****
      int errorCode = 0;		/* return code for caller */
      struct AFSStoreStatus InStatus;	/* Input status for fid */
      Volume *volptr = 0;		/* pointer to the volume header */
!     struct client *client;	/* pointer to client structure */
      afs_int32 rights, anyrights;	/* rights for this and any user */
      struct rx_connection *tcon;
      struct client *t_client = NULL;	/* tmp ptr to client data */
--- 3203,3209 ----
      int errorCode = 0;		/* return code for caller */
      struct AFSStoreStatus InStatus;	/* Input status for fid */
      Volume *volptr = 0;		/* pointer to the volume header */
!     struct client *client = 0;	/* pointer to client structure */
      afs_int32 rights, anyrights;	/* rights for this and any user */
      struct rx_connection *tcon;
      struct client *t_client = NULL;	/* tmp ptr to client data */
***************
*** 3193,3203 ****
  
      /* Get ptr to client data for user Id for logging */
      t_client = (struct client *)rx_GetSpecific(tcon, rxcon_client_key);
!     logHostAddr.s_addr = rx_HostOf(rx_PeerOf(tcon));
      ViceLog(1,
! 	    ("SAFS_StoreACL, Fid = %u.%u.%u, ACL=%s, Host %s, Id %d\n",
  	     Fid->Volume, Fid->Vnode, Fid->Unique, AccessList->AFSOpaque_val,
! 	     inet_ntoa(logHostAddr), t_client->ViceId));
      FS_LOCK;
      AFSCallStats.StoreACL++, AFSCallStats.TotalCalls++;
      FS_UNLOCK;
--- 3228,3238 ----
  
      /* Get ptr to client data for user Id for logging */
      t_client = (struct client *)rx_GetSpecific(tcon, rxcon_client_key);
!     logHostAddr.s_addr = rxr_HostOf(tcon);
      ViceLog(1,
! 	    ("SAFS_StoreACL, Fid = %u.%u.%u, ACL=%s, Host %s:%d, Id %d\n",
  	     Fid->Volume, Fid->Vnode, Fid->Unique, AccessList->AFSOpaque_val,
! 	     inet_ntoa(logHostAddr), ntohs(rxr_PortOf(tcon)), t_client->ViceId));
      FS_LOCK;
      AFSCallStats.StoreACL++, AFSCallStats.TotalCalls++;
      FS_UNLOCK;
***************
*** 3243,3249 ****
  
    Bad_StoreACL:
      /* Update and store volume/vnode and parent vnodes back */
!     PutVolumePackage(parentwhentargetnotdir, targetptr, (Vnode *) 0, volptr);
      ViceLog(2, ("SAFS_StoreACL returns %d\n", errorCode));
      errorCode = CallPostamble(tcon, errorCode);
  
--- 3278,3285 ----
  
    Bad_StoreACL:
      /* Update and store volume/vnode and parent vnodes back */
!     PutVolumePackage(parentwhentargetnotdir, targetptr, (Vnode *) 0, 
! 		     volptr, &client);
      ViceLog(2, ("SAFS_StoreACL returns %d\n", errorCode));
      errorCode = CallPostamble(tcon, errorCode);
  
***************
*** 3286,3292 ****
      Vnode *parentwhentargetnotdir = 0;	/* parent of Fid to get ACL */
      int errorCode = 0;		/* return code for caller */
      Volume *volptr = 0;		/* pointer to the volume header */
!     struct client *client;	/* pointer to client structure */
      afs_int32 rights, anyrights;	/* rights for this and any user */
      struct client *t_client = NULL;	/* tmp ptr to client data */
      struct in_addr logHostAddr;	/* host ip holder for inet_ntoa */
--- 3322,3328 ----
      Vnode *parentwhentargetnotdir = 0;	/* parent of Fid to get ACL */
      int errorCode = 0;		/* return code for caller */
      Volume *volptr = 0;		/* pointer to the volume header */
!     struct client *client = 0;	/* pointer to client structure */
      afs_int32 rights, anyrights;	/* rights for this and any user */
      struct client *t_client = NULL;	/* tmp ptr to client data */
      struct in_addr logHostAddr;	/* host ip holder for inet_ntoa */
***************
*** 3294,3304 ****
  
      /* Get ptr to client data for user Id for logging */
      t_client = (struct client *)rx_GetSpecific(tcon, rxcon_client_key);
!     logHostAddr.s_addr = rx_HostOf(rx_PeerOf(tcon));
      ViceLog(1,
! 	    ("SAFS_StoreStatus,  Fid	= %u.%u.%u, Host %s, Id %d\n",
  	     Fid->Volume, Fid->Vnode, Fid->Unique, inet_ntoa(logHostAddr),
! 	     t_client->ViceId));
      FS_LOCK;
      AFSCallStats.StoreStatus++, AFSCallStats.TotalCalls++;
      FS_UNLOCK;
--- 3330,3340 ----
  
      /* Get ptr to client data for user Id for logging */
      t_client = (struct client *)rx_GetSpecific(tcon, rxcon_client_key);
!     logHostAddr.s_addr = rxr_HostOf(tcon);
      ViceLog(1,
! 	    ("SAFS_StoreStatus,  Fid	= %u.%u.%u, Host %s:%d, Id %d\n",
  	     Fid->Volume, Fid->Vnode, Fid->Unique, inet_ntoa(logHostAddr),
! 	     ntohs(rxr_PortOf(tcon)), t_client->ViceId));
      FS_LOCK;
      AFSCallStats.StoreStatus++, AFSCallStats.TotalCalls++;
      FS_UNLOCK;
***************
*** 3349,3355 ****
  
    Bad_StoreStatus:
      /* Update and store volume/vnode and parent vnodes back */
!     PutVolumePackage(parentwhentargetnotdir, targetptr, (Vnode *) 0, volptr);
      ViceLog(2, ("SAFS_StoreStatus returns %d\n", errorCode));
      return errorCode;
  
--- 3385,3392 ----
  
    Bad_StoreStatus:
      /* Update and store volume/vnode and parent vnodes back */
!     PutVolumePackage(parentwhentargetnotdir, targetptr, (Vnode *) 0, 
! 		     volptr, &client);
      ViceLog(2, ("SAFS_StoreStatus returns %d\n", errorCode));
      return errorCode;
  
***************
*** 3432,3438 ****
      AFSFid fileFid;		/* area for Fid from the directory */
      int errorCode = 0;		/* error code */
      DirHandle dir;		/* Handle for dir package I/O */
!     struct client *client;	/* pointer to client structure */
      afs_int32 rights, anyrights;	/* rights for this and any user */
      struct client *t_client;	/* tmp ptr to client data */
      struct in_addr logHostAddr;	/* host ip holder for inet_ntoa */
--- 3469,3475 ----
      AFSFid fileFid;		/* area for Fid from the directory */
      int errorCode = 0;		/* error code */
      DirHandle dir;		/* Handle for dir package I/O */
!     struct client *client = 0;	/* pointer to client structure */
      afs_int32 rights, anyrights;	/* rights for this and any user */
      struct client *t_client;	/* tmp ptr to client data */
      struct in_addr logHostAddr;	/* host ip holder for inet_ntoa */
***************
*** 3441,3451 ****
      FidZero(&dir);
      /* Get ptr to client data for user Id for logging */
      t_client = (struct client *)rx_GetSpecific(tcon, rxcon_client_key);
!     logHostAddr.s_addr = rx_HostOf(rx_PeerOf(tcon));
      ViceLog(1,
! 	    ("SAFS_RemoveFile %s,  Did = %u.%u.%u, Host %s, Id %d\n", Name,
  	     DirFid->Volume, DirFid->Vnode, DirFid->Unique,
! 	     inet_ntoa(logHostAddr), t_client->ViceId));
      FS_LOCK;
      AFSCallStats.RemoveFile++, AFSCallStats.TotalCalls++;
      FS_UNLOCK;
--- 3478,3488 ----
      FidZero(&dir);
      /* Get ptr to client data for user Id for logging */
      t_client = (struct client *)rx_GetSpecific(tcon, rxcon_client_key);
!     logHostAddr.s_addr = rxr_HostOf(tcon);
      ViceLog(1,
! 	    ("SAFS_RemoveFile %s,  Did = %u.%u.%u, Host %s:%d, Id %d\n", Name,
  	     DirFid->Volume, DirFid->Vnode, DirFid->Unique,
! 	     inet_ntoa(logHostAddr), ntohs(rxr_PortOf(tcon)), t_client->ViceId));
      FS_LOCK;
      AFSCallStats.RemoveFile++, AFSCallStats.TotalCalls++;
      FS_UNLOCK;
***************
*** 3510,3516 ****
  
    Bad_RemoveFile:
      /* Update and store volume/vnode and parent vnodes back */
!     PutVolumePackage(parentwhentargetnotdir, targetptr, parentptr, volptr);
      FidZap(&dir);
      ViceLog(2, ("SAFS_RemoveFile returns %d\n", errorCode));
      return errorCode;
--- 3547,3554 ----
  
    Bad_RemoveFile:
      /* Update and store volume/vnode and parent vnodes back */
!     PutVolumePackage(parentwhentargetnotdir, targetptr, parentptr, 
! 		     volptr, &client);
      FidZap(&dir);
      ViceLog(2, ("SAFS_RemoveFile returns %d\n", errorCode));
      return errorCode;
***************
*** 3595,3601 ****
      Volume *volptr = 0;		/* pointer to the volume header */
      int errorCode = 0;		/* error code */
      DirHandle dir;		/* Handle for dir package I/O */
!     struct client *client;	/* pointer to client structure */
      afs_int32 rights, anyrights;	/* rights for this and any user */
      struct client *t_client;	/* tmp ptr to client data */
      struct in_addr logHostAddr;	/* host ip holder for inet_ntoa */
--- 3633,3639 ----
      Volume *volptr = 0;		/* pointer to the volume header */
      int errorCode = 0;		/* error code */
      DirHandle dir;		/* Handle for dir package I/O */
!     struct client *client = 0;	/* pointer to client structure */
      afs_int32 rights, anyrights;	/* rights for this and any user */
      struct client *t_client;	/* tmp ptr to client data */
      struct in_addr logHostAddr;	/* host ip holder for inet_ntoa */
***************
*** 3605,3615 ****
  
      /* Get ptr to client data for user Id for logging */
      t_client = (struct client *)rx_GetSpecific(tcon, rxcon_client_key);
!     logHostAddr.s_addr = rx_HostOf(rx_PeerOf(tcon));
      ViceLog(1,
! 	    ("SAFS_CreateFile %s,  Did = %u.%u.%u, Host %s, Id %d\n", Name,
  	     DirFid->Volume, DirFid->Vnode, DirFid->Unique,
! 	     inet_ntoa(logHostAddr), t_client->ViceId));
      FS_LOCK;
      AFSCallStats.CreateFile++, AFSCallStats.TotalCalls++;
      FS_UNLOCK;
--- 3643,3653 ----
  
      /* Get ptr to client data for user Id for logging */
      t_client = (struct client *)rx_GetSpecific(tcon, rxcon_client_key);
!     logHostAddr.s_addr = rxr_HostOf(tcon);
      ViceLog(1,
! 	    ("SAFS_CreateFile %s,  Did = %u.%u.%u, Host %s:%d, Id %d\n", Name,
  	     DirFid->Volume, DirFid->Vnode, DirFid->Unique,
! 	     inet_ntoa(logHostAddr), ntohs(rxr_PortOf(tcon)), t_client->ViceId));
      FS_LOCK;
      AFSCallStats.CreateFile++, AFSCallStats.TotalCalls++;
      FS_UNLOCK;
***************
*** 3674,3680 ****
    Bad_CreateFile:
      /* Update and store volume/vnode and parent vnodes back */
      (void)PutVolumePackage(parentwhentargetnotdir, targetptr, parentptr,
! 			   volptr);
      FidZap(&dir);
      ViceLog(2, ("SAFS_CreateFile returns %d\n", errorCode));
      return errorCode;
--- 3712,3718 ----
    Bad_CreateFile:
      /* Update and store volume/vnode and parent vnodes back */
      (void)PutVolumePackage(parentwhentargetnotdir, targetptr, parentptr,
! 			   volptr, &client);
      FidZap(&dir);
      ViceLog(2, ("SAFS_CreateFile returns %d\n", errorCode));
      return errorCode;
***************
*** 3774,3780 ****
      DirHandle filedir;		/* Handle for dir package I/O */
      DirHandle newfiledir;	/* Handle for dir package I/O */
      Volume *volptr = 0;		/* pointer to the volume header */
!     struct client *client;	/* pointer to client structure */
      afs_int32 rights, anyrights;	/* rights for this and any user */
      afs_int32 newrights;	/* rights for this user */
      afs_int32 newanyrights;	/* rights for any user */
--- 3812,3818 ----
      DirHandle filedir;		/* Handle for dir package I/O */
      DirHandle newfiledir;	/* Handle for dir package I/O */
      Volume *volptr = 0;		/* pointer to the volume header */
!     struct client *client = 0;	/* pointer to client structure */
      afs_int32 rights, anyrights;	/* rights for this and any user */
      afs_int32 newrights;	/* rights for this user */
      afs_int32 newanyrights;	/* rights for any user */
***************
*** 3791,3802 ****
  
      /* Get ptr to client data for user Id for logging */
      t_client = (struct client *)rx_GetSpecific(tcon, rxcon_client_key);
!     logHostAddr.s_addr = rx_HostOf(rx_PeerOf(tcon));
      ViceLog(1,
! 	    ("SAFS_Rename %s	to %s,	Fid = %u.%u.%u to %u.%u.%u, Host %s, Id %d\n",
  	     OldName, NewName, OldDirFid->Volume, OldDirFid->Vnode,
  	     OldDirFid->Unique, NewDirFid->Volume, NewDirFid->Vnode,
! 	     NewDirFid->Unique, inet_ntoa(logHostAddr), t_client->ViceId));
      FS_LOCK;
      AFSCallStats.Rename++, AFSCallStats.TotalCalls++;
      FS_UNLOCK;
--- 3829,3840 ----
  
      /* Get ptr to client data for user Id for logging */
      t_client = (struct client *)rx_GetSpecific(tcon, rxcon_client_key);
!     logHostAddr.s_addr = rxr_HostOf(tcon);
      ViceLog(1,
! 	    ("SAFS_Rename %s	to %s,	Fid = %u.%u.%u to %u.%u.%u, Host %s:%d, Id %d\n",
  	     OldName, NewName, OldDirFid->Volume, OldDirFid->Vnode,
  	     OldDirFid->Unique, NewDirFid->Volume, NewDirFid->Vnode,
! 	     NewDirFid->Unique, inet_ntoa(logHostAddr), ntohs(rxr_PortOf(tcon)), t_client->ViceId));
      FS_LOCK;
      AFSCallStats.Rename++, AFSCallStats.TotalCalls++;
      FS_UNLOCK;
***************
*** 4159,4168 ****
  	VPutVnode(&fileCode, newfileptr);
  	assert(fileCode == 0);
      }
!     (void)PutVolumePackage(fileptr,
! 			   (newvptr
! 			    && newvptr != oldvptr ? newvptr : 0), oldvptr,
! 			   volptr);
      FidZap(&olddir);
      FidZap(&newdir);
      FidZap(&filedir);
--- 4197,4204 ----
  	VPutVnode(&fileCode, newfileptr);
  	assert(fileCode == 0);
      }
!     (void)PutVolumePackage(fileptr, (newvptr && newvptr != oldvptr ? 
! 				     newvptr : 0), oldvptr, volptr, &client);
      FidZap(&olddir);
      FidZap(&newdir);
      FidZap(&filedir);
***************
*** 4255,4261 ****
      int len, code = 0;
      DirHandle dir;		/* Handle for dir package I/O */
      Volume *volptr = 0;		/* pointer to the volume header */
!     struct client *client;	/* pointer to client structure */
      afs_int32 rights, anyrights;	/* rights for this and any user */
      struct client *t_client;	/* tmp ptr to client data */
      struct in_addr logHostAddr;	/* host ip holder for inet_ntoa */
--- 4291,4297 ----
      int len, code = 0;
      DirHandle dir;		/* Handle for dir package I/O */
      Volume *volptr = 0;		/* pointer to the volume header */
!     struct client *client = 0;	/* pointer to client structure */
      afs_int32 rights, anyrights;	/* rights for this and any user */
      struct client *t_client;	/* tmp ptr to client data */
      struct in_addr logHostAddr;	/* host ip holder for inet_ntoa */
***************
*** 4266,4276 ****
  
      /* Get ptr to client data for user Id for logging */
      t_client = (struct client *)rx_GetSpecific(tcon, rxcon_client_key);
!     logHostAddr.s_addr = rx_HostOf(rx_PeerOf(tcon));
      ViceLog(1,
! 	    ("SAFS_Symlink %s to %s,  Did = %u.%u.%u, Host %s, Id %d\n", Name,
  	     LinkContents, DirFid->Volume, DirFid->Vnode, DirFid->Unique,
! 	     inet_ntoa(logHostAddr), t_client->ViceId));
      FS_LOCK;
      AFSCallStats.Symlink++, AFSCallStats.TotalCalls++;
      FS_UNLOCK;
--- 4302,4312 ----
  
      /* Get ptr to client data for user Id for logging */
      t_client = (struct client *)rx_GetSpecific(tcon, rxcon_client_key);
!     logHostAddr.s_addr = rxr_HostOf(tcon);
      ViceLog(1,
! 	    ("SAFS_Symlink %s to %s,  Did = %u.%u.%u, Host %s:%d, Id %d\n", Name,
  	     LinkContents, DirFid->Volume, DirFid->Vnode, DirFid->Unique,
! 	     inet_ntoa(logHostAddr), ntohs(rxr_PortOf(tcon)), t_client->ViceId));
      FS_LOCK;
      AFSCallStats.Symlink++, AFSCallStats.TotalCalls++;
      FS_UNLOCK;
***************
*** 4364,4370 ****
    Bad_SymLink:
      /* Write the all modified vnodes (parent, new files) and volume back */
      (void)PutVolumePackage(parentwhentargetnotdir, targetptr, parentptr,
! 			   volptr);
      FidZap(&dir);
      ViceLog(2, ("SAFS_Symlink returns %d\n", errorCode));
      return ( errorCode ? errorCode : code );
--- 4400,4406 ----
    Bad_SymLink:
      /* Write the all modified vnodes (parent, new files) and volume back */
      (void)PutVolumePackage(parentwhentargetnotdir, targetptr, parentptr,
! 			   volptr, &client);
      FidZap(&dir);
      ViceLog(2, ("SAFS_Symlink returns %d\n", errorCode));
      return ( errorCode ? errorCode : code );
***************
*** 4459,4465 ****
      Volume *volptr = 0;		/* pointer to the volume header */
      int errorCode = 0;		/* error code */
      DirHandle dir;		/* Handle for dir package I/O */
!     struct client *client;	/* pointer to client structure */
      afs_int32 rights, anyrights;	/* rights for this and any user */
      struct client *t_client;	/* tmp ptr to client data */
      struct in_addr logHostAddr;	/* host ip holder for inet_ntoa */
--- 4495,4501 ----
      Volume *volptr = 0;		/* pointer to the volume header */
      int errorCode = 0;		/* error code */
      DirHandle dir;		/* Handle for dir package I/O */
!     struct client *client = 0;	/* pointer to client structure */
      afs_int32 rights, anyrights;	/* rights for this and any user */
      struct client *t_client;	/* tmp ptr to client data */
      struct in_addr logHostAddr;	/* host ip holder for inet_ntoa */
***************
*** 4469,4480 ****
  
      /* Get ptr to client data for user Id for logging */
      t_client = (struct client *)rx_GetSpecific(tcon, rxcon_client_key);
!     logHostAddr.s_addr = rx_HostOf(rx_PeerOf(tcon));
      ViceLog(1,
! 	    ("SAFS_Link %s,	Did = %u.%u.%u,	Fid = %u.%u.%u, Host %s, Id %d\n",
  	     Name, DirFid->Volume, DirFid->Vnode, DirFid->Unique,
  	     ExistingFid->Volume, ExistingFid->Vnode, ExistingFid->Unique,
! 	     inet_ntoa(logHostAddr), t_client->ViceId));
      FS_LOCK;
      AFSCallStats.Link++, AFSCallStats.TotalCalls++;
      FS_UNLOCK;
--- 4505,4516 ----
  
      /* Get ptr to client data for user Id for logging */
      t_client = (struct client *)rx_GetSpecific(tcon, rxcon_client_key);
!     logHostAddr.s_addr = rxr_HostOf(tcon);
      ViceLog(1,
! 	    ("SAFS_Link %s,	Did = %u.%u.%u,	Fid = %u.%u.%u, Host %s:%d, Id %d\n",
  	     Name, DirFid->Volume, DirFid->Vnode, DirFid->Unique,
  	     ExistingFid->Volume, ExistingFid->Vnode, ExistingFid->Unique,
! 	     inet_ntoa(logHostAddr), ntohs(rxr_PortOf(tcon)), t_client->ViceId));
      FS_LOCK;
      AFSCallStats.Link++, AFSCallStats.TotalCalls++;
      FS_UNLOCK;
***************
*** 4573,4579 ****
    Bad_Link:
      /* Write the all modified vnodes (parent, new files) and volume back */
      (void)PutVolumePackage(parentwhentargetnotdir, targetptr, parentptr,
! 			   volptr);
      FidZap(&dir);
      ViceLog(2, ("SAFS_Link returns %d\n", errorCode));
      return errorCode;
--- 4609,4615 ----
    Bad_Link:
      /* Write the all modified vnodes (parent, new files) and volume back */
      (void)PutVolumePackage(parentwhentargetnotdir, targetptr, parentptr,
! 			   volptr, &client);
      FidZap(&dir);
      ViceLog(2, ("SAFS_Link returns %d\n", errorCode));
      return errorCode;
***************
*** 4664,4670 ****
      int newACLSize;		/* Size of access list */
      DirHandle dir;		/* Handle for dir package I/O */
      DirHandle parentdir;	/* Handle for dir package I/O */
!     struct client *client;	/* pointer to client structure */
      afs_int32 rights, anyrights;	/* rights for this and any user */
      struct client *t_client;	/* tmp ptr to client data */
      struct in_addr logHostAddr;	/* host ip holder for inet_ntoa */
--- 4700,4706 ----
      int newACLSize;		/* Size of access list */
      DirHandle dir;		/* Handle for dir package I/O */
      DirHandle parentdir;	/* Handle for dir package I/O */
!     struct client *client = 0;	/* pointer to client structure */
      afs_int32 rights, anyrights;	/* rights for this and any user */
      struct client *t_client;	/* tmp ptr to client data */
      struct in_addr logHostAddr;	/* host ip holder for inet_ntoa */
***************
*** 4675,4685 ****
  
      /* Get ptr to client data for user Id for logging */
      t_client = (struct client *)rx_GetSpecific(tcon, rxcon_client_key);
!     logHostAddr.s_addr = rx_HostOf(rx_PeerOf(tcon));
      ViceLog(1,
! 	    ("SAFS_MakeDir %s,  Did = %u.%u.%u, Host %s, Id %d\n", Name,
  	     DirFid->Volume, DirFid->Vnode, DirFid->Unique,
! 	     inet_ntoa(logHostAddr), t_client->ViceId));
      FS_LOCK;
      AFSCallStats.MakeDir++, AFSCallStats.TotalCalls++;
      FS_UNLOCK;
--- 4711,4721 ----
  
      /* Get ptr to client data for user Id for logging */
      t_client = (struct client *)rx_GetSpecific(tcon, rxcon_client_key);
!     logHostAddr.s_addr = rxr_HostOf(tcon);
      ViceLog(1,
! 	    ("SAFS_MakeDir %s,  Did = %u.%u.%u, Host %s:%d, Id %d\n", Name,
  	     DirFid->Volume, DirFid->Vnode, DirFid->Unique,
! 	     inet_ntoa(logHostAddr), ntohs(rxr_PortOf(tcon)), t_client->ViceId));
      FS_LOCK;
      AFSCallStats.MakeDir++, AFSCallStats.TotalCalls++;
      FS_UNLOCK;
***************
*** 4770,4776 ****
    Bad_MakeDir:
      /* Write the all modified vnodes (parent, new files) and volume back */
      (void)PutVolumePackage(parentwhentargetnotdir, targetptr, parentptr,
! 			   volptr);
      FidZap(&dir);
      FidZap(&parentdir);
      ViceLog(2, ("SAFS_MakeDir returns %d\n", errorCode));
--- 4806,4812 ----
    Bad_MakeDir:
      /* Write the all modified vnodes (parent, new files) and volume back */
      (void)PutVolumePackage(parentwhentargetnotdir, targetptr, parentptr,
! 			   volptr, &client);
      FidZap(&dir);
      FidZap(&parentdir);
      ViceLog(2, ("SAFS_MakeDir returns %d\n", errorCode));
***************
*** 4858,4864 ****
      int errorCode = 0;		/* error code */
      DirHandle dir;		/* Handle for dir package I/O */
      Volume *volptr = 0;		/* pointer to the volume header */
!     struct client *client;	/* pointer to client structure */
      afs_int32 rights, anyrights;	/* rights for this and any user */
      Vnode debugvnode1, debugvnode2;
      struct client *t_client;	/* tmp ptr to client data */
--- 4894,4900 ----
      int errorCode = 0;		/* error code */
      DirHandle dir;		/* Handle for dir package I/O */
      Volume *volptr = 0;		/* pointer to the volume header */
!     struct client *client = 0;	/* pointer to client structure */
      afs_int32 rights, anyrights;	/* rights for this and any user */
      Vnode debugvnode1, debugvnode2;
      struct client *t_client;	/* tmp ptr to client data */
***************
*** 4869,4879 ****
  
      /* Get ptr to client data for user Id for logging */
      t_client = (struct client *)rx_GetSpecific(tcon, rxcon_client_key);
!     logHostAddr.s_addr = rx_HostOf(rx_PeerOf(tcon));
      ViceLog(1,
! 	    ("SAFS_RemoveDir	%s,  Did = %u.%u.%u, Host %s, Id %d\n", Name,
  	     DirFid->Volume, DirFid->Vnode, DirFid->Unique,
! 	     inet_ntoa(logHostAddr), t_client->ViceId));
      FS_LOCK;
      AFSCallStats.RemoveDir++, AFSCallStats.TotalCalls++;
      FS_UNLOCK;
--- 4905,4915 ----
  
      /* Get ptr to client data for user Id for logging */
      t_client = (struct client *)rx_GetSpecific(tcon, rxcon_client_key);
!     logHostAddr.s_addr = rxr_HostOf(tcon);
      ViceLog(1,
! 	    ("SAFS_RemoveDir	%s,  Did = %u.%u.%u, Host %s:%d, Id %d\n", Name,
  	     DirFid->Volume, DirFid->Vnode, DirFid->Unique,
! 	     inet_ntoa(logHostAddr), ntohs(rxr_PortOf(tcon)), t_client->ViceId));
      FS_LOCK;
      AFSCallStats.RemoveDir++, AFSCallStats.TotalCalls++;
      FS_UNLOCK;
***************
*** 4935,4941 ****
    Bad_RemoveDir:
      /* Write the all modified vnodes (parent, new files) and volume back */
      (void)PutVolumePackage(parentwhentargetnotdir, targetptr, parentptr,
! 			   volptr);
      FidZap(&dir);
      ViceLog(2, ("SAFS_RemoveDir	returns	%d\n", errorCode));
      return errorCode;
--- 4971,4977 ----
    Bad_RemoveDir:
      /* Write the all modified vnodes (parent, new files) and volume back */
      (void)PutVolumePackage(parentwhentargetnotdir, targetptr, parentptr,
! 			   volptr, &client);
      FidZap(&dir);
      ViceLog(2, ("SAFS_RemoveDir	returns	%d\n", errorCode));
      return errorCode;
***************
*** 5015,5021 ****
      Vnode *parentwhentargetnotdir = 0;	/* parent for use in SetAccessList */
      int errorCode = 0;		/* error code */
      Volume *volptr = 0;		/* pointer to the volume header */
!     struct client *client;	/* pointer to client structure */
      afs_int32 rights, anyrights;	/* rights for this and any user */
      struct client *t_client;	/* tmp ptr to client data */
      struct in_addr logHostAddr;	/* host ip holder for inet_ntoa */
--- 5051,5057 ----
      Vnode *parentwhentargetnotdir = 0;	/* parent for use in SetAccessList */
      int errorCode = 0;		/* error code */
      Volume *volptr = 0;		/* pointer to the volume header */
!     struct client *client = 0;	/* pointer to client structure */
      afs_int32 rights, anyrights;	/* rights for this and any user */
      struct client *t_client;	/* tmp ptr to client data */
      struct in_addr logHostAddr;	/* host ip holder for inet_ntoa */
***************
*** 5028,5038 ****
      }
      /* Get ptr to client data for user Id for logging */
      t_client = (struct client *)rx_GetSpecific(tcon, rxcon_client_key);
!     logHostAddr.s_addr = rx_HostOf(rx_PeerOf(tcon));
      ViceLog(1,
! 	    ("SAFS_SetLock type = %s Fid = %u.%u.%u, Host %s, Id %d\n",
  	     locktype[(int)type], Fid->Volume, Fid->Vnode, Fid->Unique,
! 	     inet_ntoa(logHostAddr), t_client->ViceId));
      FS_LOCK;
      AFSCallStats.SetLock++, AFSCallStats.TotalCalls++;
      FS_UNLOCK;
--- 5064,5074 ----
      }
      /* Get ptr to client data for user Id for logging */
      t_client = (struct client *)rx_GetSpecific(tcon, rxcon_client_key);
!     logHostAddr.s_addr = rxr_HostOf(tcon);
      ViceLog(1,
! 	    ("SAFS_SetLock type = %s Fid = %u.%u.%u, Host %s:%d, Id %d\n",
  	     locktype[(int)type], Fid->Volume, Fid->Vnode, Fid->Unique,
! 	     inet_ntoa(logHostAddr), ntohs(rxr_PortOf(tcon)), t_client->ViceId));
      FS_LOCK;
      AFSCallStats.SetLock++, AFSCallStats.TotalCalls++;
      FS_UNLOCK;
***************
*** 5056,5062 ****
    Bad_SetLock:
      /* Write the all modified vnodes (parent, new files) and volume back */
      (void)PutVolumePackage(parentwhentargetnotdir, targetptr, (Vnode *) 0,
! 			   volptr);
  
      if ((errorCode == VREADONLY) && (type == LockRead))
  	errorCode = 0;		/* allow read locks on RO volumes without saving state */
--- 5092,5098 ----
    Bad_SetLock:
      /* Write the all modified vnodes (parent, new files) and volume back */
      (void)PutVolumePackage(parentwhentargetnotdir, targetptr, (Vnode *) 0,
! 			   volptr, &client);
  
      if ((errorCode == VREADONLY) && (type == LockRead))
  	errorCode = 0;		/* allow read locks on RO volumes without saving state */
***************
*** 5145,5151 ****
      Vnode *parentwhentargetnotdir = 0;	/* parent for use in SetAccessList */
      int errorCode = 0;		/* error code */
      Volume *volptr = 0;		/* pointer to the volume header */
!     struct client *client;	/* pointer to client structure */
      afs_int32 rights, anyrights;	/* rights for this and any user */
      struct client *t_client;	/* tmp ptr to client data */
      struct in_addr logHostAddr;	/* host ip holder for inet_ntoa */
--- 5181,5187 ----
      Vnode *parentwhentargetnotdir = 0;	/* parent for use in SetAccessList */
      int errorCode = 0;		/* error code */
      Volume *volptr = 0;		/* pointer to the volume header */
!     struct client *client = 0;	/* pointer to client structure */
      afs_int32 rights, anyrights;	/* rights for this and any user */
      struct client *t_client;	/* tmp ptr to client data */
      struct in_addr logHostAddr;	/* host ip holder for inet_ntoa */
***************
*** 5153,5163 ****
  
      /* Get ptr to client data for user Id for logging */
      t_client = (struct client *)rx_GetSpecific(tcon, rxcon_client_key);
!     logHostAddr.s_addr = rx_HostOf(rx_PeerOf(tcon));
      ViceLog(1,
! 	    ("SAFS_ExtendLock Fid = %u.%u.%u, Host %s, Id %d\n", Fid->Volume,
  	     Fid->Vnode, Fid->Unique, inet_ntoa(logHostAddr),
! 	     t_client->ViceId));
      FS_LOCK;
      AFSCallStats.ExtendLock++, AFSCallStats.TotalCalls++;
      FS_UNLOCK;
--- 5189,5199 ----
  
      /* Get ptr to client data for user Id for logging */
      t_client = (struct client *)rx_GetSpecific(tcon, rxcon_client_key);
!     logHostAddr.s_addr = rxr_HostOf(tcon);
      ViceLog(1,
! 	    ("SAFS_ExtendLock Fid = %u.%u.%u, Host %s:%d, Id %d\n", Fid->Volume,
  	     Fid->Vnode, Fid->Unique, inet_ntoa(logHostAddr),
! 	     ntohs(rxr_PortOf(tcon)), t_client->ViceId));
      FS_LOCK;
      AFSCallStats.ExtendLock++, AFSCallStats.TotalCalls++;
      FS_UNLOCK;
***************
*** 5181,5187 ****
    Bad_ExtendLock:
      /* Put back file's vnode and volume */
      (void)PutVolumePackage(parentwhentargetnotdir, targetptr, (Vnode *) 0,
! 			   volptr);
  
      if ((errorCode == VREADONLY))	/* presumably, we already granted this lock */
  	errorCode = 0;		/* under our generous policy re RO vols */
--- 5217,5223 ----
    Bad_ExtendLock:
      /* Put back file's vnode and volume */
      (void)PutVolumePackage(parentwhentargetnotdir, targetptr, (Vnode *) 0,
! 			   volptr, &client);
  
      if ((errorCode == VREADONLY))	/* presumably, we already granted this lock */
  	errorCode = 0;		/* under our generous policy re RO vols */
***************
*** 5271,5277 ****
      Vnode *parentwhentargetnotdir = 0;	/* parent for use in SetAccessList */
      int errorCode = 0;		/* error code */
      Volume *volptr = 0;		/* pointer to the volume header */
!     struct client *client;	/* pointer to client structure */
      afs_int32 rights, anyrights;	/* rights for this and any user */
      struct client *t_client;	/* tmp ptr to client data */
      struct in_addr logHostAddr;	/* host ip holder for inet_ntoa */
--- 5307,5313 ----
      Vnode *parentwhentargetnotdir = 0;	/* parent for use in SetAccessList */
      int errorCode = 0;		/* error code */
      Volume *volptr = 0;		/* pointer to the volume header */
!     struct client *client = 0;	/* pointer to client structure */
      afs_int32 rights, anyrights;	/* rights for this and any user */
      struct client *t_client;	/* tmp ptr to client data */
      struct in_addr logHostAddr;	/* host ip holder for inet_ntoa */
***************
*** 5279,5289 ****
  
      /* Get ptr to client data for user Id for logging */
      t_client = (struct client *)rx_GetSpecific(tcon, rxcon_client_key);
!     logHostAddr.s_addr = rx_HostOf(rx_PeerOf(tcon));
      ViceLog(1,
! 	    ("SAFS_ReleaseLock Fid = %u.%u.%u, Host %s, Id %d\n", Fid->Volume,
  	     Fid->Vnode, Fid->Unique, inet_ntoa(logHostAddr),
! 	     t_client->ViceId));
      FS_LOCK;
      AFSCallStats.ReleaseLock++, AFSCallStats.TotalCalls++;
      FS_UNLOCK;
--- 5315,5325 ----
  
      /* Get ptr to client data for user Id for logging */
      t_client = (struct client *)rx_GetSpecific(tcon, rxcon_client_key);
!     logHostAddr.s_addr = rxr_HostOf(tcon);
      ViceLog(1,
! 	    ("SAFS_ReleaseLock Fid = %u.%u.%u, Host %s:%d, Id %d\n", Fid->Volume,
  	     Fid->Vnode, Fid->Unique, inet_ntoa(logHostAddr),
! 	     ntohs(rxr_PortOf(tcon)), t_client->ViceId));
      FS_LOCK;
      AFSCallStats.ReleaseLock++, AFSCallStats.TotalCalls++;
      FS_UNLOCK;
***************
*** 5316,5322 ****
    Bad_ReleaseLock:
      /* Put back file's vnode and volume */
      (void)PutVolumePackage(parentwhentargetnotdir, targetptr, (Vnode *) 0,
! 			   volptr);
  
      if ((errorCode == VREADONLY))	/* presumably, we already granted this lock */
  	errorCode = 0;		/* under our generous policy re RO vols */
--- 5352,5358 ----
    Bad_ReleaseLock:
      /* Put back file's vnode and volume */
      (void)PutVolumePackage(parentwhentargetnotdir, targetptr, (Vnode *) 0,
! 			   volptr, &client);
  
      if ((errorCode == VREADONLY))	/* presumably, we already granted this lock */
  	errorCode = 0;		/* under our generous policy re RO vols */
***************
*** 5915,5921 ****
  {
      afs_int32 errorCode = 0;
      register int i;
!     struct client *client;
      struct rx_connection *tcon;
  #if FS_STATS_DETAILED
      struct fs_stats_opTimingData *opP;	/* Ptr to this op's timing struct */
--- 5951,5957 ----
  {
      afs_int32 errorCode = 0;
      register int i;
!     struct client *client = 0;
      struct rx_connection *tcon;
  #if FS_STATS_DETAILED
      struct fs_stats_opTimingData *opP;	/* Ptr to this op's timing struct */
***************
*** 5950,5957 ****
  		("SAFS_GiveUpAllCallBacks: host=%x\n",
  		 (tcon->peer ? tcon->peer->host : 0)));
  	errorCode = GetClient(tcon, &client);
! 	if (!errorCode)
  	    DeleteAllCallBacks_r(client->host, 1);
      } else {
  	if (FidArray->AFSCBFids_len < CallBackArray->AFSCBs_len) {
  	    ViceLog(0,
--- 5986,5995 ----
  		("SAFS_GiveUpAllCallBacks: host=%x\n",
  		 (tcon->peer ? tcon->peer->host : 0)));
  	errorCode = GetClient(tcon, &client);
! 	if (!errorCode) {
  	    DeleteAllCallBacks_r(client->host, 1);
+ 	    PutClient(&client);
+ 	}
      } else {
  	if (FidArray->AFSCBFids_len < CallBackArray->AFSCBs_len) {
  	    ViceLog(0,
***************
*** 5968,5973 ****
--- 6006,6012 ----
  		register struct AFSFid *fid = &(FidArray->AFSCBFids_val[i]);
  		DeleteCallBack(client->host, fid);
  	    }
+ 	    PutClient(&client);
  	}
      }
  
***************
*** 6105,6111 ****
      afs_int32 nids, naddrs;
      afs_int32 *vd, *addr;
      int errorCode = 0;		/* return code to caller */
!     struct client *client;
      struct rx_connection *tcon = rx_ConnectionOf(acall);
  
      ViceLog(1, ("SRXAFS_FlushCPS\n"));
--- 6144,6150 ----
      afs_int32 nids, naddrs;
      afs_int32 *vd, *addr;
      int errorCode = 0;		/* return code to caller */
!     struct client *client = 0;
      struct rx_connection *tcon = rx_ConnectionOf(acall);
  
      ViceLog(1, ("SRXAFS_FlushCPS\n"));
***************
*** 6344,6350 ****
      Vnode *parentwhentargetnotdir = 0;	/* vnode of parent */
      int errorCode = 0;		/* error code */
      Volume *volptr = 0;		/* pointer to the volume header */
!     struct client *client;	/* pointer to client entry */
      afs_int32 rights, anyrights;	/* rights for this and any user */
      AFSFid dummyFid;
      struct rx_connection *tcon;
--- 6383,6389 ----
      Vnode *parentwhentargetnotdir = 0;	/* vnode of parent */
      int errorCode = 0;		/* error code */
      Volume *volptr = 0;		/* pointer to the volume header */
!     struct client *client = 0;	/* pointer to client entry */
      afs_int32 rights, anyrights;	/* rights for this and any user */
      AFSFid dummyFid;
      struct rx_connection *tcon;
***************
*** 6394,6400 ****
  
    Bad_GetVolumeStatus:
      (void)PutVolumePackage(parentwhentargetnotdir, targetptr, (Vnode *) 0,
! 			   volptr);
      ViceLog(2, ("SAFS_GetVolumeStatus returns %d\n", errorCode));
      /* next is to guarantee out strings exist for stub */
      if (*Name == 0) {
--- 6433,6439 ----
  
    Bad_GetVolumeStatus:
      (void)PutVolumePackage(parentwhentargetnotdir, targetptr, (Vnode *) 0,
! 			   volptr, &client);
      ViceLog(2, ("SAFS_GetVolumeStatus returns %d\n", errorCode));
      /* next is to guarantee out strings exist for stub */
      if (*Name == 0) {
***************
*** 6448,6454 ****
      Vnode *parentwhentargetnotdir = 0;	/* vnode of parent */
      int errorCode = 0;		/* error code */
      Volume *volptr = 0;		/* pointer to the volume header */
!     struct client *client;	/* pointer to client entry */
      afs_int32 rights, anyrights;	/* rights for this and any user */
      AFSFid dummyFid;
      struct rx_connection *tcon = rx_ConnectionOf(acall);
--- 6487,6493 ----
      Vnode *parentwhentargetnotdir = 0;	/* vnode of parent */
      int errorCode = 0;		/* error code */
      Volume *volptr = 0;		/* pointer to the volume header */
!     struct client *client = 0;	/* pointer to client entry */
      afs_int32 rights, anyrights;	/* rights for this and any user */
      AFSFid dummyFid;
      struct rx_connection *tcon = rx_ConnectionOf(acall);
***************
*** 6503,6509 ****
  	RXUpdate_VolumeStatus(volptr, StoreVolStatus, Name, OfflineMsg, Motd);
  
    Bad_SetVolumeStatus:
!     PutVolumePackage(parentwhentargetnotdir, targetptr, (Vnode *) 0, volptr);
      ViceLog(2, ("SAFS_SetVolumeStatus returns %d\n", errorCode));
      errorCode = CallPostamble(tcon, errorCode);
  
--- 6542,6549 ----
  	RXUpdate_VolumeStatus(volptr, StoreVolStatus, Name, OfflineMsg, Motd);
  
    Bad_SetVolumeStatus:
!     PutVolumePackage(parentwhentargetnotdir, targetptr, (Vnode *) 0, 
! 		     volptr, &client);
      ViceLog(2, ("SAFS_SetVolumeStatus returns %d\n", errorCode));
      errorCode = CallPostamble(tcon, errorCode);
  
***************
*** 7020,7031 ****
  
      if (Pos == -1 || VN_GET_INO(targetptr) == 0) {
  	/* the inode should have been created in Alloc_NewVnode */
! 	logHostAddr.s_addr = rx_HostOf(rx_PeerOf(rx_ConnectionOf(Call)));
  	ViceLog(0,
! 		("StoreData_RXStyle : Inode non-existent Fid = %u.%u.%u, inode = %llu, Pos %llu Host %s\n",
  		 Fid->Volume, Fid->Vnode, Fid->Unique,
  		 (afs_uintmax_t) VN_GET_INO(targetptr), (afs_uintmax_t) Pos,
! 		 inet_ntoa(logHostAddr)));
  	return ENOENT;		/* is this proper error code? */
      } else {
  	/*
--- 7060,7071 ----
  
      if (Pos == -1 || VN_GET_INO(targetptr) == 0) {
  	/* the inode should have been created in Alloc_NewVnode */
! 	logHostAddr.s_addr = rxr_HostOf(rx_ConnectionOf(Call));
  	ViceLog(0,
! 		("StoreData_RXStyle : Inode non-existent Fid = %u.%u.%u, inode = %llu, Pos %llu Host %s:%d\n",
  		 Fid->Volume, Fid->Vnode, Fid->Unique,
  		 (afs_uintmax_t) VN_GET_INO(targetptr), (afs_uintmax_t) Pos,
! 		 inet_ntoa(logHostAddr), ntohs(rxr_PortOf(rx_ConnectionOf(Call)))));
  	return ENOENT;		/* is this proper error code? */
      } else {
  	/*
***************
*** 7450,7455 ****
--- 7490,7497 ----
  	return 0;
      if (in < 0 || in > 511)
  	return in;
+     if (in >= VICE_SPECIAL_ERRORS && in <= VIO || in == VRESTRICTED)
+ 	return in;
      if (sys2et[in] != 0)
  	return sys2et[in];
      return in;
Index: openafs/src/viced/callback.c
diff -c openafs/src/viced/callback.c:1.55.2.13 openafs/src/viced/callback.c:1.55.2.14
*** openafs/src/viced/callback.c:1.55.2.13	Wed Feb  1 10:59:43 2006
--- openafs/src/viced/callback.c	Thu Feb  2 16:48:39 2006
***************
*** 83,89 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/viced/callback.c,v 1.55.2.13 2006/02/01 15:59:43 shadow Exp $");
  
  #include <stdio.h>
  #include <stdlib.h>		/* for malloc() */
--- 83,89 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/viced/callback.c,v 1.55.2.14 2006/02/02 21:48:39 jaltman Exp $");
  
  #include <stdio.h>
  #include <stdlib.h>		/* for malloc() */
***************
*** 823,829 ****
  		    if (MultiBreakCallBackAlternateAddress(hp, afidp)) {
  			if (ShowProblems) {
  			    ViceLog(7,
! 				    ("BCB: Failed on file %u.%u.%u, host %s:%d is down\n",
  				     afidp->AFSCBFids_val->Volume,
  				     afidp->AFSCBFids_val->Vnode,
  				     afidp->AFSCBFids_val->Unique,
--- 823,829 ----
  		    if (MultiBreakCallBackAlternateAddress(hp, afidp)) {
  			if (ShowProblems) {
  			    ViceLog(7,
! 				    ("BCB: Failed on file %u.%u.%u, Host %s:%d is down\n",
  				     afidp->AFSCBFids_val->Volume,
  				     afidp->AFSCBFids_val->Vnode,
  				     afidp->AFSCBFids_val->Unique,
***************
*** 1088,1094 ****
  
      cbstuff.nbreakers++;
      if (!(host->hostFlags & RESETDONE) && !(host->hostFlags & HOSTDELETED)) {
! 	host->hostFlags &= ~ALTADDR;	/* alterrnate addresses are invalid */
  	cb_conn = host->callback_rxcon;
  	rx_GetConnection(cb_conn);
  	if (host->interface) {
--- 1088,1094 ----
  
      cbstuff.nbreakers++;
      if (!(host->hostFlags & RESETDONE) && !(host->hostFlags & HOSTDELETED)) {
! 	host->hostFlags &= ~ALTADDR;	/* alternate addresses are invalid */
  	cb_conn = host->callback_rxcon;
  	rx_GetConnection(cb_conn);
  	if (host->interface) {
***************
*** 1106,1112 ****
  	if (code) {
  	    if (ShowProblems) {
  		ViceLog(0,
! 			("CB: Call back connect back failed (in break delayed) for %s:%d\n",
  			 afs_inet_ntoa_r(host->host, hoststr),
  			 ntohs(host->port)));
  	    }
--- 1106,1112 ----
  	if (code) {
  	    if (ShowProblems) {
  		ViceLog(0,
! 			("CB: Call back connect back failed (in break delayed) for Host %s:%d\n",
  			 afs_inet_ntoa_r(host->host, hoststr),
  			 ntohs(host->port)));
  	    }
***************
*** 1153,1159 ****
  		int i;
  		if (ShowProblems) {
  		    ViceLog(0,
! 			    ("CB: XCallBackBulk failed, host=%s:%d; callback list follows:\n",
  			     afs_inet_ntoa_r(host->host, hoststr),
  			     ntohs(host->port)));
  		}
--- 1153,1159 ----
  		int i;
  		if (ShowProblems) {
  		    ViceLog(0,
! 			    ("CB: XCallBackBulk failed, Host %s:%d; callback list follows:\n",
  			     afs_inet_ntoa_r(host->host, hoststr),
  			     ntohs(host->port)));
  		}
***************
*** 1208,1218 ****
  	    return 0;		/* Release hold */
  	}
  	ViceLog(8,
! 		("BVCB: volume call back for host %s:%d failed\n",
  		 afs_inet_ntoa_r(host->host, hoststr), ntohs(host->port)));
  	if (ShowProblems) {
  	    ViceLog(0,
! 		    ("CB: volume callback for host %s:%d failed\n",
  		     afs_inet_ntoa_r(host->host, hoststr),
  		     ntohs(host->port)));
  	}
--- 1208,1218 ----
  	    return 0;		/* Release hold */
  	}
  	ViceLog(8,
! 		("BVCB: volume call back for Host %s:%d failed\n",
  		 afs_inet_ntoa_r(host->host, hoststr), ntohs(host->port)));
  	if (ShowProblems) {
  	    ViceLog(0,
! 		    ("CB: volume callback for Host %s:%d failed\n",
  		     afs_inet_ntoa_r(host->host, hoststr),
  		     ntohs(host->port)));
  	}
Index: openafs/src/viced/host.c
diff -c openafs/src/viced/host.c:1.57.2.10 openafs/src/viced/host.c:1.57.2.17
*** openafs/src/viced/host.c:1.57.2.10	Mon Jan 23 16:28:43 2006
--- openafs/src/viced/host.c	Mon Feb 13 12:10:15 2006
***************
*** 11,17 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/viced/host.c,v 1.57.2.10 2006/01/23 21:28:43 jaltman Exp $");
  
  #include <stdio.h>
  #include <errno.h>
--- 11,17 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/viced/host.c,v 1.57.2.17 2006/02/13 17:10:15 jaltman Exp $");
  
  #include <stdio.h>
  #include <errno.h>
***************
*** 88,93 ****
--- 88,94 ----
  };
  
  static void h_TossStuff_r(register struct host *host);
+ static int hashDelete_r(afs_uint32 addr, afs_uint16 port, struct host *host);
  
  /*
   * Make sure the subnet macros have been defined.
***************
*** 108,123 ****
  #define	IN_CLASSB_SUBNET	0xffffff00
  #endif
  
- #define rxr_GetEpoch(aconn) (((struct rx_connection *)(aconn))->epoch)
- 
- #define rxr_CidOf(aconn) (((struct rx_connection *)(aconn))->cid)
- 
- #define rxr_PortOf(aconn) \
-     rx_PortOf(rx_PeerOf(((struct rx_connection *)(aconn))))
- 
- #define rxr_HostOf(aconn) \
-     rx_HostOf(rx_PeerOf((struct rx_connection *)(aconn)))
- 
  
  /* get a new block of CEs and chain it on CEFree */
  static void
--- 109,114 ----
***************
*** 720,734 ****
  	    if (client->refCount) {
  		char hoststr[16];
  		ViceLog(0,
! 			("Warning: Host %s:%d client %x refcount %d while deleting.\n",
  			 afs_inet_ntoa_r(host->host, hoststr),
  			 ntohs(host->port), client, client->refCount));
  	    }
  	    if ((client->ViceId != ANONYMOUSID) && client->CPS.prlist_val) {
  		free(client->CPS.prlist_val);
  		client->CPS.prlist_val = NULL;
  	    }
- 	    client->CPS.prlist_len = 0;
  	    if (client->tcon) {
  		rx_SetSpecific(client->tcon, rxcon_client_key, (void *)0);
  	    }
--- 711,728 ----
  	    if (client->refCount) {
  		char hoststr[16];
  		ViceLog(0,
! 			("Warning: Host %s:%d client %x refcount %d while deleting, failing.\n",
  			 afs_inet_ntoa_r(host->host, hoststr),
  			 ntohs(host->port), client, client->refCount));
+ 		/* This is the same thing we do if the host is locked */
+ 		return;
  	    }
+ 	    /* We can't protect this without dropping the H_LOCK */
+ 	    client->CPS.prlist_len = 0;
  	    if ((client->ViceId != ANONYMOUSID) && client->CPS.prlist_val) {
  		free(client->CPS.prlist_val);
  		client->CPS.prlist_val = NULL;
  	    }
  	    if (client->tcon) {
  		rx_SetSpecific(client->tcon, rxcon_client_key, (void *)0);
  	    }
***************
*** 976,986 ****
      int number;
      int found;
      struct Interface *interface;
  
      assert(host);
      assert(host->interface);
  
!     ViceLog(125, ("addInterfaceAddr : host %x addr %x:%d\n", host->host, addr, ntohs(port)));
  
      /*
       * Make sure this address is on the list of known addresses
--- 970,983 ----
      int number;
      int found;
      struct Interface *interface;
+     char hoststr[16], hoststr2[16];
  
      assert(host);
      assert(host->interface);
  
!     ViceLog(125, ("addInterfaceAddr : host %s:d addr %s:%d\n", 
! 		   afs_inet_ntoa_r(host->host, hoststr), ntohs(host->port), 
! 		   afs_inet_ntoa_r(addr, hoststr2), ntohs(port)));
  
      /*
       * Make sure this address is on the list of known addresses
***************
*** 1018,1023 ****
--- 1015,1075 ----
  }
  
  
+ /*
+  * This is called with host locked and held. At this point, the
+  * hostHashTable should not be having entries for the alternate
+  * interfaces. This function has to insert these entries in the
+  * hostHashTable.
+  *
+  * All addresses are in network byte order.
+  */
+ int
+ removeInterfaceAddr_r(struct host *host, afs_uint32 addr, afs_uint16 port)
+ {
+     int i;
+     int number;
+     int found;
+     struct Interface *interface;
+     char hoststr[16], hoststr2[16];
+ 
+     assert(host);
+     assert(host->interface);
+ 
+     ViceLog(125, ("removeInterfaceAddr : host %s:%d addr %s:%d\n", 
+ 		   afs_inet_ntoa_r(host->host, hoststr), ntohs(host->port), 
+ 		   afs_inet_ntoa_r(addr, hoststr2), ntohs(port)));
+ 
+     /*
+      * Make sure this address is on the list of known addresses
+      * for this host.
+      */
+     interface = host->interface;
+     number = host->interface->numberOfInterfaces;
+     for (i = 0, found = 0; i < number; i++) {
+ 	if (interface->interface[i].addr == addr &&
+ 	    interface->interface[i].port == port) {
+ 	    found = 1;
+ 	    break;
+ 	}
+     }
+     if (found) {
+ 	number--;
+ 	for (; i < number; i++) {
+ 	    interface->interface[i].addr = interface->interface[i+1].addr;
+ 	    interface->interface[i].port = interface->interface[i+1].port;
+ 	}
+ 	interface->numberOfInterfaces = number;
+     }
+ 
+     /*
+      * Remove the hash table entry for this address
+      */
+     hashDelete_r(addr, port, host);
+ 
+     return 0;
+ }
+ 
+ 
  /* Host is returned held */
  struct host *
  h_GetHost_r(struct rx_connection *tcon)
***************
*** 1258,1270 ****
  
                      if (oldHost->interface) {
  			afsUUID uuid = oldHost->interface->uuid;
!                         cb_conn = host->callback_rxcon;
                          rx_GetConnection(cb_conn);
  			H_UNLOCK;
  			code = RXAFSCB_ProbeUuid(cb_conn, &uuid);
                          rx_PutConnection(cb_conn);
                          cb_conn=NULL;
- 			H_LOCK;
  			if (code && MultiProbeAlternateAddress_r(oldHost)) {
                              probefail = 1;
                          }
--- 1310,1326 ----
  
                      if (oldHost->interface) {
  			afsUUID uuid = oldHost->interface->uuid;
!                         cb_conn = oldHost->callback_rxcon;
                          rx_GetConnection(cb_conn);
+ 			rx_SetConnDeadTime(cb_conn, 2);
+ 			rx_SetConnHardDeadTime(cb_conn, AFS_HARDDEADTIME);
  			H_UNLOCK;
  			code = RXAFSCB_ProbeUuid(cb_conn, &uuid);
+ 			H_LOCK;
+ 			rx_SetConnDeadTime(cb_conn, 50);
+ 			rx_SetConnHardDeadTime(cb_conn, AFS_HARDDEADTIME);
                          rx_PutConnection(cb_conn);
                          cb_conn=NULL;
  			if (code && MultiProbeAlternateAddress_r(oldHost)) {
                              probefail = 1;
                          }
***************
*** 1290,1302 ****
  		    /* This is a new address for an existing host. Update
  		     * the list of interfaces for the existing host and
  		     * delete the host structure we just allocated. */
! 		    ViceLog(25,
! 			    ("CB: new addr %s:%d for old host %s:%d\n",
! 			     afs_inet_ntoa_r(host->host, hoststr),
! 			     ntohs(host->port), afs_inet_ntoa_r(oldHost->host,
! 								hoststr2),
! 			     ntohs(oldHost->port)));
! 		    addInterfaceAddr_r(oldHost, haddr, hport);
  		    host->hostFlags |= HOSTDELETED;
  		    h_Unlock_r(host);
  		    if (!held)
--- 1346,1383 ----
  		    /* This is a new address for an existing host. Update
  		     * the list of interfaces for the existing host and
  		     * delete the host structure we just allocated. */
! 		    if (oldHost->host != haddr || oldHost->port != hport) {
! 			ViceLog(25,
! 				("CB: new addr %s:%d for old host %s:%d\n",
! 				  afs_inet_ntoa_r(haddr, hoststr),
! 				  ntohs(hport), 
! 				  afs_inet_ntoa_r(oldHost->host, hoststr2),
! 				  ntohs(oldHost->port)));
! 			if (oldHost->host == haddr) {
! 			    /* We have just been contacted by a client behind a NAT */
! 			    removeInterfaceAddr_r(oldHost, oldHost->host, oldHost->port);
! 			} else {
! 			    int i, found;
! 			    struct Interface *interface = oldHost->interface;
! 			    int number = oldHost->interface->numberOfInterfaces;
! 			    for (i = 0, found = 0; i < number; i++) {
! 				if (interface->interface[i].addr == haddr &&
! 				    interface->interface[i].port != hport) {
! 				    found = 1;
! 				    break;
! 				}
! 			    }
! 			    if (found) {
! 				/* We have just been contacted by a client that has been
! 				 * seen from behind a NAT and at least one other address.
! 				 */
! 				removeInterfaceAddr_r(oldHost, haddr, interface->interface[i].port);
! 			    }
! 			}
! 			addInterfaceAddr_r(oldHost, haddr, hport);
! 			oldHost->host = haddr;
! 			oldHost->port = hport;
! 		    }
  		    host->hostFlags |= HOSTDELETED;
  		    h_Unlock_r(host);
  		    if (!held)
***************
*** 1330,1338 ****
  			("CB: RCallBackConnectBack failed for %s:%d\n",
  			 hoststr, ntohs(host->port)));
  		host->hostFlags |= VENUSDOWN;
! 	    } else
  		host->hostFlags |= RESETDONE;
! 
  	}
  	if (caps.Capabilities_val
  	    && (caps.Capabilities_val[0] & CAPABILITY_ERRORTRANS))
--- 1411,1422 ----
  			("CB: RCallBackConnectBack failed for %s:%d\n",
  			 hoststr, ntohs(host->port)));
  		host->hostFlags |= VENUSDOWN;
! 	    } else {
! 		ViceLog(125,
! 			("CB: RCallBackConnectBack succeeded for %s:%d\n",
! 			 hoststr, ntohs(host->port)));
  		host->hostFlags |= RESETDONE;
! 	    }
  	}
  	if (caps.Capabilities_val
  	    && (caps.Capabilities_val[0] & CAPABILITY_ERRORTRANS))
***************
*** 1502,1513 ****
      char uname[PR_MAXNAMELEN];
      char tcell[MAXKTCREALMLEN];
      int fail = 0;
  
      client = (struct client *)rx_GetSpecific(tcon, rxcon_client_key);
!     if (client && !client->deleted) {
  	client->refCount++;
  	h_Hold_r(client->host);
! 	if (client->prfail != 2) {	/* Could add shared lock on client here */
  	    /* note that we don't have to lock entry in this path to
  	     * ensure CPS is initialized, since we don't call rx_SetSpecific
  	     * until initialization is done, and we only get here if
--- 1586,1599 ----
      char uname[PR_MAXNAMELEN];
      char tcell[MAXKTCREALMLEN];
      int fail = 0;
+     int created = 0;
  
      client = (struct client *)rx_GetSpecific(tcon, rxcon_client_key);
!     if (client) {
  	client->refCount++;
  	h_Hold_r(client->host);
! 	if (!client->deleted && client->prfail != 2) {	
! 	    /* Could add shared lock on client here */
  	    /* note that we don't have to lock entry in this path to
  	     * ensure CPS is initialized, since we don't call rx_SetSpecific
  	     * until initialization is done, and we only get here if
***************
*** 1518,1525 ****
  	H_UNLOCK;
  	ObtainWriteLock(&client->lock);	/* released at end */
  	H_LOCK;
-     } else if (client) {
- 	client->refCount++;
      }
  
      authClass = rx_SecurityClassOf((struct rx_connection *)tcon);
--- 1604,1609 ----
***************
*** 1570,1576 ****
  	expTime = 0x7fffffff;
      }
  
!     if (!client) {
  	host = h_GetHost_r(tcon);	/* Returns it h_Held */
  
      retryfirstclient:
--- 1654,1660 ----
  	expTime = 0x7fffffff;
      }
  
!     if (!client) { /* loop */
  	host = h_GetHost_r(tcon);	/* Returns it h_Held */
  
      retryfirstclient:
***************
*** 1616,1627 ****
  		    goto retryfirstclient;
  		}
  	    }
  	    client = GetCE();
  	    ObtainWriteLock(&client->lock);
  	    client->refCount = 1;
  	    client->host = host;
- 	    client->next = host->FirstClient;
- 	    host->FirstClient = client;
  #if FS_STATS_DETAILED
  	    client->InSameNetwork = host->InSameNetwork;
  #endif /* FS_STATS_DETAILED */
--- 1700,1710 ----
  		    goto retryfirstclient;
  		}
  	    }
+ 	    created = 1;
  	    client = GetCE();
  	    ObtainWriteLock(&client->lock);
  	    client->refCount = 1;
  	    client->host = host;
  #if FS_STATS_DETAILED
  	    client->InSameNetwork = host->InSameNetwork;
  #endif /* FS_STATS_DETAILED */
***************
*** 1633,1639 ****
  	    client->CPS.prlist_val = 0;
  	    client->CPS.prlist_len = 0;
  	    h_Unlock_r(host);
- 	    CurrentConnections++;	/* increment number of connections */
  	}
      }
      client->prfail = fail;
--- 1716,1721 ----
***************
*** 1693,1703 ****
       */
      oldClient = (struct client *)rx_GetSpecific(tcon, rxcon_client_key);
      if (oldClient && oldClient->tcon == tcon) {
! 	oldClient->tcon = (struct rx_connection *)0;
! 	ViceLog(0, ("FindClient: client %x(%x) already had conn %x (host %x), stolen by client %x(%x)\n", 
! 		    oldClient, oldClient->sid, tcon, 
! 		    rx_HostOf(rx_PeerOf(tcon)), client, client->sid));
! 	/* rx_SetSpecific will be done immediately below */
      }
      client->tcon = tcon;
      rx_SetSpecific(tcon, rxcon_client_key, client);
--- 1775,1825 ----
       */
      oldClient = (struct client *)rx_GetSpecific(tcon, rxcon_client_key);
      if (oldClient && oldClient->tcon == tcon) {
! 	char hoststr[16];
! 	if (!oldClient->deleted) {
! 	    /* if we didn't create it, it's not ours to put back */
! 	    if (created) {
! 		ViceLog(0, ("FindClient: stillborn client %x(%x); conn %x (host %s:%d) had client %x(%x)\n", 
! 			    client, client->sid, tcon, 
! 			    afs_inet_ntoa_r(rxr_HostOf(tcon), hoststr),
! 			    ntohs(rxr_PortOf(tcon)),
! 			    oldClient, oldClient->sid));
! 		if ((client->ViceId != ANONYMOUSID) && client->CPS.prlist_val) {
! 		    free(client->CPS.prlist_val);
! 		    client->CPS.prlist_val = NULL;
! 		}
! 		client->CPS.prlist_len = 0;
! 		if (client->tcon) {
! 		    rx_SetSpecific(client->tcon, rxcon_client_key, (void *)0);
! 		}
! 	    }
! 	    /* We should perhaps check for 0 here */
! 	    client->refCount--;
! 	    ReleaseWriteLock(&client->lock);
! 	    if (created) {
! 		FreeCE(client);
! 		created = 0;
! 	    } 
! 	    ObtainWriteLock(&oldClient->lock);
! 	    oldClient->refCount++;
! 	    client = oldClient;
! 	} else {
! 	    oldClient->tcon = (struct rx_connection *)0;
! 	    ViceLog(0, ("FindClient: deleted client %x(%x) already had conn %x (host %s:%d), stolen by client %x(%x)\n", 
! 			oldClient, oldClient->sid, tcon, 
! 			afs_inet_ntoa_r(rxr_HostOf(tcon), hoststr),
! 			ntohs(rxr_PortOf(tcon)),
! 			client, client->sid));
! 	    /* rx_SetSpecific will be done immediately below */
! 	}
!     }
!     /* Avoid chaining in more than once. */
!     if (created) {
! 	h_Lock_r(host);
! 	client->next = host->FirstClient;
! 	host->FirstClient = client;
! 	h_Unlock_r(host);
! 	CurrentConnections++;	/* increment number of connections */
      }
      client->tcon = tcon;
      rx_SetSpecific(tcon, rxcon_client_key, client);
***************
*** 1729,1739 ****
      register struct client *client;
  
      H_LOCK;
!     *cp = client = (struct client *)rx_GetSpecific(tcon, rxcon_client_key);
      if (client == NULL || client->tcon == NULL) {
  	ViceLog(0,
! 		("GetClient: no client in conn %x (host %x), VBUSYING\n",
! 		 tcon, rx_HostOf(rx_PeerOf(tcon))));
  	H_UNLOCK;
  	return VBUSY;
      }
--- 1851,1862 ----
      register struct client *client;
  
      H_LOCK;
!     *cp = NULL;
!     client = (struct client *)rx_GetSpecific(tcon, rxcon_client_key);
      if (client == NULL || client->tcon == NULL) {
  	ViceLog(0,
! 		("GetClient: no client in conn %x (host %x:%d), VBUSYING\n",
! 		 tcon, rxr_HostOf(tcon),ntohs(rxr_PortOf(tcon))));
  	H_UNLOCK;
  	return VBUSY;
      }
***************
*** 1764,1774 ****
  	return VICETOKENDEAD;
      }
  
      H_UNLOCK;
      return 0;
- 
  }				/*GetClient */
  
  
  /* Client user name for short term use.  Note that this is NOT inexpensive */
  char *
--- 1887,1911 ----
  	return VICETOKENDEAD;
      }
  
+     client->refCount++;
+     *cp = client;
      H_UNLOCK;
      return 0;
  }				/*GetClient */
  
+ int
+ PutClient(struct client **cp)
+ {
+     if (*cp == NULL) 
+ 	return -1;
+ 
+     H_LOCK;
+     h_ReleaseClient_r(*cp);
+     *cp = NULL;
+     H_UNLOCK;
+     return 0;
+ }				/*PutClient */
+ 
  
  /* Client user name for short term use.  Note that this is NOT inexpensive */
  char *
***************
*** 1909,1919 ****
  {
      int i;
      char tmpStr[256];
  
      H_LOCK;
      (void)afs_snprintf(tmpStr, sizeof tmpStr,
! 		       "ip:%x port:%d hidx:%d cbid:%d lock:%x last:%u active:%u down:%d del:%d cons:%d cldel:%d\n\t hpfailed:%d hcpsCall:%u hcps [",
! 		       host->host, ntohs(host->port), host->index,
  		       host->cblist, CheckLock(&host->lock), host->LastCall,
  		       host->ActiveCall, (host->hostFlags & VENUSDOWN),
  		       host->hostFlags & HOSTDELETED, host->Console,
--- 2046,2057 ----
  {
      int i;
      char tmpStr[256];
+     char hoststr[16];
  
      H_LOCK;
      (void)afs_snprintf(tmpStr, sizeof tmpStr,
! 		       "ip:%s port:%d hidx:%d cbid:%d lock:%x last:%u active:%u down:%d del:%d cons:%d cldel:%d\n\t hpfailed:%d hcpsCall:%u hcps [",
! 		       afs_inet_ntoa_r(host->host, hoststr), ntohs(host->port), host->index,
  		       host->cblist, CheckLock(&host->lock), host->LastCall,
  		       host->ActiveCall, (host->hostFlags & VENUSDOWN),
  		       host->hostFlags & HOSTDELETED, host->Console,
***************
*** 1930,1936 ****
      (void)STREAM_WRITE(tmpStr, strlen(tmpStr), 1, file);
      if (host->interface)
  	for (i = 0; i < host->interface->numberOfInterfaces; i++) {
! 	    sprintf(tmpStr, " %x:%d", host->interface->interface[i].addr,
  		     ntohs(host->interface->interface[i].port));
  	    (void)STREAM_WRITE(tmpStr, strlen(tmpStr), 1, file);
  	}
--- 2068,2076 ----
      (void)STREAM_WRITE(tmpStr, strlen(tmpStr), 1, file);
      if (host->interface)
  	for (i = 0; i < host->interface->numberOfInterfaces; i++) {
! 	    char hoststr[16];
! 	    sprintf(tmpStr, " %s:%d", 
! 		     afs_inet_ntoa_r(host->interface->interface[i].addr, hoststr),
  		     ntohs(host->interface->interface[i].port));
  	    (void)STREAM_WRITE(tmpStr, strlen(tmpStr), 1, file);
  	}
***************
*** 2398,2404 ****
      host->interface = interface;
  
      for (i = 0; i < host->interface->numberOfInterfaces; i++) {
! 	ViceLog(125, ("--- alt address %x:%d\n", host->interface->interface[i].addr,
  		       ntohs(host->interface->interface[i].port)));
      }
  
--- 2538,2546 ----
      host->interface = interface;
  
      for (i = 0; i < host->interface->numberOfInterfaces; i++) {
! 	char hoststr[16];
! 	ViceLog(125, ("--- alt address %s:%d\n", 
! 		       afs_inet_ntoa_r(host->interface->interface[i].addr, hoststr),
  		       ntohs(host->interface->interface[i].port)));
      }
  
***************
*** 2407,2413 ****
  
  /* deleted a HashChain structure for this address and host */
  /* returns 1 on success */
! int
  hashDelete_r(afs_uint32 addr, afs_uint16 port, struct host *host)
  {
      int flag;
--- 2549,2555 ----
  
  /* deleted a HashChain structure for this address and host */
  /* returns 1 on success */
! static int
  hashDelete_r(afs_uint32 addr, afs_uint16 port, struct host *host)
  {
      int flag;
***************
*** 2436,2447 ****
  printInterfaceAddr(struct host *host, int level)
  {
      int i, number;
      if (host->interface) {
  	/* check alternate addresses */
  	number = host->interface->numberOfInterfaces;
  	assert(number > 0);
  	for (i = 0; i < number; i++)
! 	    ViceLog(level, ("%x:%d ", host->interface->interface[i].addr,
  			     ntohs(host->interface->interface[i].port)));
      }
      ViceLog(level, ("\n"));
--- 2578,2591 ----
  printInterfaceAddr(struct host *host, int level)
  {
      int i, number;
+     char hoststr[16];
+ 
      if (host->interface) {
  	/* check alternate addresses */
  	number = host->interface->numberOfInterfaces;
  	assert(number > 0);
  	for (i = 0; i < number; i++)
! 	    ViceLog(level, ("%s:%d ", afs_inet_ntoa_r(host->interface->interface[i].addr, hoststr),
  			     ntohs(host->interface->interface[i].port)));
      }
      ViceLog(level, ("\n"));
Index: openafs/src/viced/host.h
diff -c openafs/src/viced/host.h:1.9.2.4 openafs/src/viced/host.h:1.9.2.6
*** openafs/src/viced/host.h:1.9.2.4	Wed Feb  1 10:59:43 2006
--- openafs/src/viced/host.h	Mon Feb 13 12:10:15 2006
***************
*** 197,202 ****
--- 197,203 ----
  				(h)->prev ? ((h)->prev->next = (h)->next):0;\
  				( h == hostList )? (hostList = h->next):0;
  
+ extern int DeleteAllCallBacks_r(struct host *host, int deletefe);
  extern struct host *h_Alloc(register struct rx_connection *r_con);
  extern struct host *h_Alloc_r(register struct rx_connection *r_con);
  extern struct host *h_Lookup_r(afs_uint32 hostaddr, afs_uint32 hport,
***************
*** 209,214 ****
--- 210,216 ----
  extern int h_ReleaseClient_r(struct client *client);
  extern struct client *h_ID2Client(afs_int32 vid);
  extern int GetClient(struct rx_connection *tcon, struct client **cp);
+ extern int PutClient(struct client **cp);
  extern void h_PrintStats();
  extern void h_PrintClients();
  extern void h_GetWorkStats();
***************
*** 220,225 ****
--- 222,237 ----
  #define h_htoi(host) ((host)->index)	/* index isn't zeroed, no need to lock */
  #define h_itoh(hostindex) (hosttableptrs[(hostindex)>>h_HTSHIFT]+((hostindex)&(h_HTSPERBLOCK-1)))
  
+ #define rxr_GetEpoch(aconn) (((struct rx_connection *)(aconn))->epoch)
+ 
+ #define rxr_CidOf(aconn) (((struct rx_connection *)(aconn))->cid)
+ 
+ #define rxr_PortOf(aconn) \
+     rx_PortOf(rx_PeerOf(((struct rx_connection *)(aconn))))
+ 
+ #define rxr_HostOf(aconn) \
+     rx_HostOf(rx_PeerOf((struct rx_connection *)(aconn)))
+ 
  #define HCPS_INPROGRESS			0x01	/*set when CPS is being updated */
  #define HCPS_WAITING			0x02	/*waiting for CPS to get updated */
  #define ALTADDR				0x04	/*InitCallBack is being done */
***************
*** 229,231 ****
--- 241,245 ----
  #define RESETDONE			0x40	/* callback reset done */
  #define HFE_LATER                       0x80	/* host has FE_LATER callbacks */
  #define HERRORTRANS                    0x100	/* do error translation */
+ 
+ 
Index: openafs/src/viced/viced.c
diff -c openafs/src/viced/viced.c:1.58.2.8 openafs/src/viced/viced.c:1.58.2.9
*** openafs/src/viced/viced.c:1.58.2.8	Fri Oct 14 23:46:09 2005
--- openafs/src/viced/viced.c	Mon Feb 13 12:57:29 2006
***************
*** 20,26 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/viced/viced.c,v 1.58.2.8 2005/10/15 03:46:09 shadow Exp $");
  
  #include <stdio.h>
  #include <stdlib.h>
--- 20,26 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/viced/viced.c,v 1.58.2.9 2006/02/13 17:57:29 jaltman Exp $");
  
  #include <stdio.h>
  #include <stdlib.h>
***************
*** 1628,1633 ****
--- 1628,1634 ----
      sigaction(SIGABRT, &nsa, NULL);
      sigaction(SIGSEGV, &nsa, NULL);
  #endif
+     osi_audit_init();
  
      /* Initialize dirpaths */
      if (!(initAFSDirPath() & AFSDIR_SERVER_PATHS_OK)) {
Index: openafs/src/vlserver/vlserver.c
diff -c openafs/src/vlserver/vlserver.c:1.18.2.1 openafs/src/vlserver/vlserver.c:1.18.2.2
*** openafs/src/vlserver/vlserver.c:1.18.2.1	Mon Jul 11 15:08:50 2005
--- openafs/src/vlserver/vlserver.c	Mon Feb 13 12:57:30 2006
***************
*** 11,17 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/vlserver/vlserver.c,v 1.18.2.1 2005/07/11 19:08:50 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.18.2.2 2006/02/13 17:57:30 jaltman Exp $");
  
  #include <afs/stds.h>
  #include <sys/types.h>
***************
*** 160,165 ****
--- 160,167 ----
      sigaction(SIGABRT, &nsa, NULL);
      sigaction(SIGSEGV, &nsa, NULL);
  #endif
+     osi_audit_init();
+ 
      /* Parse command line */
      for (index = 1; index < argc; index++) {
  	if (strcmp(argv[index], "-noauth") == 0) {
Index: openafs/src/volser/volmain.c
diff -c openafs/src/volser/volmain.c:1.18.2.2 openafs/src/volser/volmain.c:1.18.2.3
*** openafs/src/volser/volmain.c:1.18.2.2	Mon Jul 11 15:08:51 2005
--- openafs/src/volser/volmain.c	Mon Feb 13 12:57:32 2006
***************
*** 11,17 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/volser/volmain.c,v 1.18.2.2 2005/07/11 19:08:51 shadow Exp $");
  
  #include <sys/types.h>
  #ifdef AFS_NT40_ENV
--- 11,17 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/volser/volmain.c,v 1.18.2.3 2006/02/13 17:57:32 jaltman Exp $");
  
  #include <sys/types.h>
  #ifdef AFS_NT40_ENV
***************
*** 259,264 ****
--- 259,265 ----
      sigaction(SIGABRT, &nsa, NULL);
      sigaction(SIGSEGV, &nsa, NULL);
  #endif
+     osi_audit_init();
      osi_audit(VS_StartEvent, 0, AUD_END);
  
      /* Initialize dirpaths */
