Index: openafs/src/WINNT/afs_setup_utils/lang/zh_CN/afs_setup_utils.rc
diff -c openafs/src/WINNT/afs_setup_utils/lang/zh_CN/afs_setup_utils.rc:1.2 openafs/src/WINNT/afs_setup_utils/lang/zh_CN/afs_setup_utils.rc:1.2.14.1
*** openafs/src/WINNT/afs_setup_utils/lang/zh_CN/afs_setup_utils.rc:1.2	Thu Apr  1 14:09:30 2004
--- openafs/src/WINNT/afs_setup_utils/lang/zh_CN/afs_setup_utils.rc	Tue Oct 28 13:58:59 2008
***************
*** 16,23 ****
  //
  #include <windows.h>
  #define  AFS_VERINFO_FILE_DESCRIPTION "AFS °²×°ÊµÓÃ³ÌÐò DLL"
! #define AFS_VERINFO_NAME "afs_setup_utmls"
! #define AFS_VERINFO_FILENAME "afs_setup_utmls.exe"
  #define AFS_VERINFO_LANG_CODE 0x804
  #define AFS_VERINFO_CHARSET 936
  #include "AFS_component_version_number.h"
--- 16,23 ----
  //
  #include <windows.h>
  #define  AFS_VERINFO_FILE_DESCRIPTION "AFS °²×°ÊµÓÃ³ÌÐò DLL"
! #define AFS_VERINFO_NAME "afs_setup_utils"
! #define AFS_VERINFO_FILENAME "afs_setup_utils.exe"
  #define AFS_VERINFO_LANG_CODE 0x804
  #define AFS_VERINFO_CHARSET 936
  #include "AFS_component_version_number.h"
Index: openafs/src/WINNT/afsd/NTMakefile
diff -c openafs/src/WINNT/afsd/NTMakefile:1.46.2.14 openafs/src/WINNT/afsd/NTMakefile:1.46.2.15
*** openafs/src/WINNT/afsd/NTMakefile:1.46.2.14	Wed Jul  2 08:48:12 2008
--- openafs/src/WINNT/afsd/NTMakefile	Sat Oct 18 13:01:19 2008
***************
*** 405,411 ****
          secur32.lib \
          ole32.lib \
          oleaut32.lib \
!         iphlpapi.lib shell32.lib
  
  AFSD_EXELIBS =\
  	$(DESTDIR)\lib\libosi.lib \
--- 405,411 ----
          secur32.lib \
          ole32.lib \
          oleaut32.lib \
!         iphlpapi.lib shell32.lib shlwapi.lib
  
  AFSD_EXELIBS =\
  	$(DESTDIR)\lib\libosi.lib \
Index: openafs/src/WINNT/afsd/afsd_init.c
diff -c openafs/src/WINNT/afsd/afsd_init.c:1.79.2.52 openafs/src/WINNT/afsd/afsd_init.c:1.79.2.53
*** openafs/src/WINNT/afsd/afsd_init.c:1.79.2.52	Fri Sep 12 10:41:30 2008
--- openafs/src/WINNT/afsd/afsd_init.c	Fri Oct 31 23:38:12 2008
***************
*** 543,548 ****
--- 543,580 ----
      }
  }
  
+ 
+ #ifndef _WIN64
+ typedef BOOL (WINAPI *LPFN_ISWOW64PROCESS) (HANDLE, PBOOL);
+ 
+ static BOOL
+ is_wow64(void)
+ {
+     static BOOL bChecked = FALSE;
+     static BOOL bIsWow64 = FALSE;
+ 
+     if (!bChecked)
+     {
+         HANDLE h1 = NULL;
+         LPFN_ISWOW64PROCESS fnIsWow64Process = NULL;
+ 
+         h1 = GetModuleHandle("kernel32.dll");
+         fnIsWow64Process =
+             (LPFN_ISWOW64PROCESS)GetProcAddress(h1, "IsWow64Process");
+ 
+         /* If we don't find the fnIsWow64Process function then we
+          * are not running in a broken Wow64
+          */
+         if (fnIsWow64Process)
+             fnIsWow64Process(GetCurrentProcess(), &bIsWow64);
+ 
+         bChecked = TRUE;
+     }
+ 
+     return bIsWow64;
+ }
+ #endif /* _WIN64 */
+ 
  /*
   * AFSD Initialization
   */
***************
*** 595,600 ****
--- 627,640 ----
      code = osi_InitDebug(&debugID);
      afsi_log("osi_InitDebug code %d", code);
  
+ #ifndef _WIN64
+     if (is_wow64())
+     {
+         *reasonP = "32-bit OpenAFS Service is incompatible with the WOW64 environment";
+         return -1;
+     }
+ #endif
+ 
      //	osi_LockTypeSetDefault("stat");	/* comment this out for speed */
      if (code != 0) {
          if (code == RPC_S_NO_PROTSEQS)
Index: openafs/src/WINNT/afsd/afsd_service.c
diff -c openafs/src/WINNT/afsd/afsd_service.c:1.52.4.30 openafs/src/WINNT/afsd/afsd_service.c:1.52.4.31
*** openafs/src/WINNT/afsd/afsd_service.c:1.52.4.30	Fri Aug 29 22:06:28 2008
--- openafs/src/WINNT/afsd/afsd_service.c	Thu Nov  6 14:18:51 2008
***************
*** 1215,1221 ****
      }
  
      /* allow an exit to be called prior to any initialization */
!     hHookDll = LoadLibrary(AFSD_HOOK_DLL);
      if (hHookDll)
      {
          BOOL hookRc = TRUE;
--- 1215,1221 ----
      }
  
      /* allow an exit to be called prior to any initialization */
!     hHookDll = cm_LoadAfsdHookLib();
      if (hHookDll)
      {
          BOOL hookRc = TRUE;
***************
*** 1287,1293 ****
          }
  
          /* allow an exit to be called post rx initialization */
!         hHookDll = LoadLibrary(AFSD_HOOK_DLL);
          if (hHookDll)
          {
              BOOL hookRc = TRUE;
--- 1287,1293 ----
          }
  
          /* allow an exit to be called post rx initialization */
!         hHookDll = cm_LoadAfsdHookLib();
          if (hHookDll)
          {
              BOOL hookRc = TRUE;
***************
*** 1335,1341 ****
          }
  
          /* allow an exit to be called post smb initialization */
!         hHookDll = LoadLibrary(AFSD_HOOK_DLL);
          if (hHookDll)
          {
              BOOL hookRc = TRUE;
--- 1335,1341 ----
          }
  
          /* allow an exit to be called post smb initialization */
!         hHookDll = cm_LoadAfsdHookLib();
          if (hHookDll)
          {
              BOOL hookRc = TRUE;
***************
*** 1381,1387 ****
      }
  
      /* allow an exit to be called when started */
!     hHookDll = LoadLibrary(AFSD_HOOK_DLL);
      if (hHookDll)
      {
          BOOL hookRc = TRUE;
--- 1381,1387 ----
      }
  
      /* allow an exit to be called when started */
!     hHookDll = cm_LoadAfsdHookLib();
      if (hHookDll)
      {
          BOOL hookRc = TRUE;
***************
*** 1426,1432 ****
  	LogEvent(EVENTLOG_INFORMATION_TYPE, MSG_SERVICE_STOPPING);
  
      /* allow an exit to be called prior to stopping the service */
!     hHookDll = LoadLibrary(AFSD_HOOK_DLL);
      if (hHookDll)
      {
          BOOL hookRc = TRUE;
--- 1426,1432 ----
  	LogEvent(EVENTLOG_INFORMATION_TYPE, MSG_SERVICE_STOPPING);
  
      /* allow an exit to be called prior to stopping the service */
!     hHookDll = cm_LoadAfsdHookLib();
      if (hHookDll)
      {
          BOOL hookRc = TRUE;
***************
*** 1486,1492 ****
      cm_VolStatus_Finalize();
  
      /* allow an exit to be called after stopping the service */
!     hHookDll = LoadLibrary(AFSD_HOOK_DLL);
      if (hHookDll)
      {
          BOOL hookRc = TRUE;
--- 1486,1492 ----
      cm_VolStatus_Finalize();
  
      /* allow an exit to be called after stopping the service */
!     hHookDll = cm_LoadAfsdHookLib();
      if (hHookDll)
      {
          BOOL hookRc = TRUE;
Index: openafs/src/WINNT/afsd/afskfw.c
diff -c openafs/src/WINNT/afsd/afskfw.c:1.28.4.20 openafs/src/WINNT/afsd/afskfw.c:1.28.4.21
*** openafs/src/WINNT/afsd/afskfw.c:1.28.4.20	Wed Aug  6 01:11:30 2008
--- openafs/src/WINNT/afsd/afskfw.c	Mon Nov  3 14:56:03 2008
***************
*** 1341,1346 ****
--- 1341,1348 ----
          OutputDebugString("\n");
      }
  
+     memset(&cellconfig, 0, sizeof(cellconfig));
+ 
      code = pkrb5_init_context(&ctx);
      if ( code ) goto cleanup;
  
***************
*** 1446,1451 ****
--- 1448,1458 ----
                      sprintf(message,"found another cell for the same principal: %s\n",cell);
                      OutputDebugString(message);
                  }
+ 
+                 if (cellconfig.linkedCell) {
+                     free(cellconfig.linkedCell);
+                     cellconfig.linkedCell = NULL;
+                 }
                  code = KFW_AFS_get_cellconfig( cells[cell_count], (void*)&cellconfig, local_cell);
                  if ( code ) continue;
      
***************
*** 1476,1481 ****
--- 1483,1490 ----
          free(pname);
      if ( cc )
          pkrb5_cc_close(ctx, cc);
+     if ( cellconfig.linkedCell )
+         free(cellconfig.linkedCell);
  
      if ( code && reasonP ) {
          *reasonP = (char *)perror_message(code);
***************
*** 1627,1632 ****
--- 1636,1643 ----
          OutputDebugString("KFW_AFS_renew_expiring_tokens\n");
      }
  
+     memset(&cellconfig, 0, sizeof(cellconfig));
+ 
      code = pkrb5_init_context(&ctx);
      if (code) goto cleanup;
  
***************
*** 1668,1673 ****
--- 1679,1688 ----
                          OutputDebugString(cells[cell_count]);
                          OutputDebugString("\n");
                      }
+                     if (cellconfig.linkedCell) {
+                         free(cellconfig.linkedCell);
+                         cellconfig.linkedCell = NULL;
+                     }
                      code = KFW_AFS_get_cellconfig( cells[cell_count], (void*)&cellconfig, local_cell);
                      if ( code ) continue;
                      realm = afs_realm_of_cell(ctx, &cellconfig);  // do not free
***************
*** 1700,1705 ****
--- 1715,1722 ----
          pkrb5_cc_close(ctx,cc);
      if ( ctx )
          pkrb5_free_context(ctx);
+     if (cellconfig.linkedCell)
+         free(cellconfig.linkedCell);
  
      return 0;
  }
***************
*** 1744,1749 ****
--- 1761,1768 ----
          struct afsconf_cell cellconfig;
          char local_cell[CELL_MAXNAMELEN+1];
  
+         memset(&cellconfig, 0, sizeof(cellconfig));
+ 
          while ( count-- ) {
              code = pkrb5_parse_name(ctx, principals[count], &princ);
              if (code) goto loop_cleanup;
***************
*** 1751,1756 ****
--- 1770,1779 ----
              code = KFW_get_ccache(ctx, princ, &cc);
              if (code) goto loop_cleanup;
  
+             if (cellconfig.linkedCell) {
+                 free(cellconfig.linkedCell);
+                 cellconfig.linkedCell = NULL;
+             }
              code = KFW_AFS_get_cellconfig( cell, (void*)&cellconfig, local_cell);
              if ( code ) goto loop_cleanup;
  
***************
*** 1814,1819 ****
--- 1837,1846 ----
                  pkrb5_free_principal(ctx, service);
                  princ = 0;
              }
+             if (cellconfig.linkedCell) {
+                 free(cellconfig.linkedCell);
+                 cellconfig.linkedCell = NULL;
+             }
  
              KFW_AFS_update_cell_princ_map(ctx, cell, principals[count], code ? FALSE : TRUE);
              free(principals[count]);
***************
*** 1824,1830 ****
  
    cleanup:
      if (ctx) 
! 		pkrb5_free_context(ctx);
      return (code ? FALSE : TRUE);
  
  }
--- 1851,1857 ----
  
    cleanup:
      if (ctx) 
!         pkrb5_free_context(ctx);
      return (code ? FALSE : TRUE);
  
  }
***************
*** 2810,2815 ****
--- 2837,2843 ----
      if (!pkrb5_init_context)
          return 0;
  
+     memset(&ak_cellconfig, 0, sizeof(ak_cellconfig));
      memset(RealmName, '\0', sizeof(RealmName));
      memset(CellName, '\0', sizeof(CellName));
      memset(ServiceName, '\0', sizeof(ServiceName));
***************
*** 3318,3323 ****
--- 3346,3353 ----
          pkrb5_cc_close(ctx, cc);
      if (ctx && (ctx != alt_ctx))
          pkrb5_free_context(ctx);
+     if (ak_cellconfig.linkedCell)
+         free(ak_cellconfig.linkedCell);
  
      return(rc? rc : code);
  }
***************
*** 3365,3370 ****
--- 3395,3401 ----
  {
      int	rc;
      char newcell[CELL_MAXNAMELEN+1];
+     char linkedcell[CELL_MAXNAMELEN+1]="";
  
      local_cell[0] = (char)0;
      memset(cellconfig, 0, sizeof(*cellconfig));
***************
*** 3379,3393 ****
          strcpy(cell, local_cell);
  
      /* WIN32: cm_SearchCellFile(cell, pcallback, pdata) */
!     strcpy(cellconfig->name, cell);
! 
!     rc = cm_SearchCellFile(cell, newcell, get_cellconfig_callback, (void*)cellconfig);
  #ifdef AFS_AFSDB_ENV
      if (rc != 0) {
          int ttl;
          rc = cm_SearchCellByDNS(cell, newcell, &ttl, get_cellconfig_callback, (void*)cellconfig);
      }
  #endif
      return rc;
  }
  
--- 3410,3428 ----
          strcpy(cell, local_cell);
  
      /* WIN32: cm_SearchCellFile(cell, pcallback, pdata) */
!     rc = cm_SearchCellFileEx(cell, newcell, linkedcell, get_cellconfig_callback, (void*)cellconfig);
  #ifdef AFS_AFSDB_ENV
      if (rc != 0) {
          int ttl;
          rc = cm_SearchCellByDNS(cell, newcell, &ttl, get_cellconfig_callback, (void*)cellconfig);
      }
  #endif
+ 
+     if (rc == 0) {
+         strcpy(cellconfig->name, newcell);
+         if (linkedcell[0])
+             cellconfig->linkedCell = strdup(linkedcell);
+     }
      return rc;
  }
  
Index: openafs/src/WINNT/afsd/cm_aclent.c
diff -c openafs/src/WINNT/afsd/cm_aclent.c:1.14.2.7 openafs/src/WINNT/afsd/cm_aclent.c:1.14.2.8
*** openafs/src/WINNT/afsd/cm_aclent.c:1.14.2.7	Fri Aug 22 14:10:00 2008
--- openafs/src/WINNT/afsd/cm_aclent.c	Sat Oct 18 00:45:05 2008
***************
*** 337,339 ****
--- 337,365 ----
      }
      lock_ReleaseWrite(&cm_aclLock);
  }
+ 
+ /*
+  * Invalidate ACL info for a user that has just	obtained or lost tokens.
+  */
+ void 
+ cm_ResetACLCache(cm_user_t *userp)
+ {
+     cm_scache_t *scp;
+     int hash;
+ 
+     lock_ObtainWrite(&cm_scacheLock);
+     for (hash=0; hash < cm_data.scacheHashTableSize; hash++) {
+         for (scp=cm_data.scacheHashTablep[hash]; scp; scp=scp->nextp) {
+             cm_HoldSCacheNoLock(scp);
+             lock_ReleaseWrite(&cm_scacheLock);
+             lock_ObtainWrite(&scp->rw);
+             cm_InvalidateACLUser(scp, userp);
+             lock_ReleaseWrite(&scp->rw);
+             lock_ObtainWrite(&cm_scacheLock);
+             cm_ReleaseSCacheNoLock(scp);
+         }
+     }
+     lock_ReleaseWrite(&cm_scacheLock);
+ }       
+ 
+ 
Index: openafs/src/WINNT/afsd/cm_aclent.h
diff -c openafs/src/WINNT/afsd/cm_aclent.h:1.6.2.1 openafs/src/WINNT/afsd/cm_aclent.h:1.6.2.2
*** openafs/src/WINNT/afsd/cm_aclent.h:1.6.2.1	Tue Feb  5 12:11:45 2008
--- openafs/src/WINNT/afsd/cm_aclent.h	Sat Oct 18 00:45:05 2008
***************
*** 47,50 ****
--- 47,52 ----
  
  extern long cm_ShutdownACLCache(void);
  
+ extern void cm_ResetACLCache(cm_user_t *userp);
+ 
  #endif  /* _CM_ACLENT_H_ */
Index: openafs/src/WINNT/afsd/cm_btree.c
diff -c openafs/src/WINNT/afsd/cm_btree.c:1.1.2.21 openafs/src/WINNT/afsd/cm_btree.c:1.1.2.22
*** openafs/src/WINNT/afsd/cm_btree.c:1.1.2.21	Wed Jul 23 17:20:45 2008
--- openafs/src/WINNT/afsd/cm_btree.c	Sun Oct 19 19:19:33 2008
***************
*** 1588,1593 ****
--- 1588,1597 ----
      }
  
      entry = cm_ClientStringToNormStringAlloc(centry, -1, NULL);
+     if (!entry) {
+         rc = EINVAL;
+         goto done;
+     }
      key.name = entry;
  
      lock_AssertAny(&op->scp->dirlock);
***************
*** 1680,1685 ****
--- 1684,1693 ----
      }
  
      entry = cm_ClientStringToNormStringAlloc(centry, -1, NULL);
+     if (!entry) {
+         rc = EINVAL;
+         goto done;
+     }
      key.name = entry;
  
      lock_AssertAny(&op->scp->dirlock);
***************
*** 1767,1772 ****
--- 1775,1784 ----
      }
  
      normalizedName = cm_ClientStringToNormStringAlloc(entry, -1, NULL);
+     if (!normalizedName) {
+         rc = EINVAL;
+         goto done;
+     }
      key.name = normalizedName;
  
      lock_AssertWrite(&op->scp->dirlock);
***************
*** 1833,1838 ****
--- 1845,1854 ----
      }
  
      normalizedEntry = cm_ClientStringToNormStringAlloc(centry, -1, NULL);
+     if (!normalizedEntry) {
+         rc = EINVAL;
+         goto done;
+     }
      key.name = normalizedEntry;
  
      lock_AssertWrite(&op->scp->dirlock);
***************
*** 2000,2005 ****
--- 2016,2027 ----
      }
    
      data.cname = cm_FsStringToClientStringAlloc(dep->name, -1, NULL);
+     if (data.cname == NULL) {
+ #ifdef DEBUG
+         DebugBreak();
+ #endif
+         return 0;
+     }
      data.fsname = cm_FsStrDup(dep->name);
      data.shortform = FALSE;
       
***************
*** 2017,2027 ****
--- 2039,2051 ----
  
          key.name = wshortName;
          data.cname = cm_FsStringToClientStringAlloc(dep->name, -1, NULL);
+         if (data.cname) {
          data.fsname = cm_FsStrDup(dep->name);
          data.shortform = TRUE;
    
          insert(scp->dirBplus, key, data);
      }
+     }
  
      if (normalized_name)
          free(normalized_name);
Index: openafs/src/WINNT/afsd/cm_cell.c
diff -c openafs/src/WINNT/afsd/cm_cell.c:1.23.2.25 openafs/src/WINNT/afsd/cm_cell.c:1.23.2.27
*** openafs/src/WINNT/afsd/cm_cell.c:1.23.2.25	Thu Sep 11 13:05:32 2008
--- openafs/src/WINNT/afsd/cm_cell.c	Mon Nov  3 14:56:04 2008
***************
*** 99,105 ****
  
          rock.cellp = cp;
          rock.flags = flags;
!         code = cm_SearchCellFile(cp->name, NULL, cm_AddCellProc, &rock);
          if (code == 0) {
              lock_ObtainMutex(&cp->mx);
  	    cp->timeout = time(0) + 7200;
--- 99,105 ----
  
          rock.cellp = cp;
          rock.flags = flags;
!         code = cm_SearchCellFileEx(cp->name, NULL, cp->linkedName, cm_AddCellProc, &rock);
          if (code == 0) {
              lock_ObtainMutex(&cp->mx);
  	    cp->timeout = time(0) + 7200;
***************
*** 158,171 ****
      cm_cell_t *cp, *cp2;
      long code;
      char fullname[CELL_MAXNAMELEN]="";
      int  hasWriteLock = 0;
      int  hasMutex = 0;
      afs_uint32 hash;
      cm_cell_rock_t rock;
  
!     if (!strcmp(namep,SMB_IOCTL_FILENAME_NOSLASH))
          return NULL;
  
      hash = CM_CELL_NAME_HASH(namep);
  
      lock_ObtainRead(&cm_cellLock);
--- 158,188 ----
      cm_cell_t *cp, *cp2;
      long code;
      char fullname[CELL_MAXNAMELEN]="";
+     char linkedName[CELL_MAXNAMELEN]="";
+     char name[CELL_MAXNAMELEN]="";
      int  hasWriteLock = 0;
      int  hasMutex = 0;
      afs_uint32 hash;
      cm_cell_rock_t rock;
+     size_t len;
  
!     if (namep == NULL || !namep[0] || !strcmp(namep,SMB_IOCTL_FILENAME_NOSLASH))
          return NULL;
  
+     /* 
+      * Strip off any trailing dots at the end of the cell name.
+      * Failure to do so results in an undesireable alias as the
+      * result of DNS AFSDB record lookups where a trailing dot
+      * has special meaning.
+      */
+     strncpy(name, namep, CELL_MAXNAMELEN);
+     for (len = strlen(namep); len > 0 && namep[len-1] == '.'; len--) {
+         name[len-1] = '\0';
+     }
+     if (len == 0)
+         return NULL;
+     namep = name;
+ 
      hash = CM_CELL_NAME_HASH(namep);
  
      lock_ObtainRead(&cm_cellLock);
***************
*** 254,263 ****
  
          rock.cellp = cp;
          rock.flags = flags;
!         code = cm_SearchCellFile(namep, fullname, cm_AddCellProc, &rock);
          if (code) {
!             osi_Log3(afsd_logp,"in cm_GetCell_gen cm_SearchCellFile(%s) returns code= %d fullname= %s", 
!                       osi_LogSaveString(afsd_logp,namep), code, osi_LogSaveString(afsd_logp,fullname));
  
  #ifdef AFS_AFSDB_ENV
              if (cm_dnsEnabled) {
--- 271,281 ----
  
          rock.cellp = cp;
          rock.flags = flags;
!         code = cm_SearchCellFileEx(namep, fullname, linkedName, cm_AddCellProc, &rock);
          if (code) {
!             osi_Log4(afsd_logp,"in cm_GetCell_gen cm_SearchCellFileEx(%s) returns code= %d fullname= %s linkedName= %s", 
!                       osi_LogSaveString(afsd_logp,namep), code, osi_LogSaveString(afsd_logp,fullname),
!                       osi_LogSaveString(afsd_logp,linkedName));
  
  #ifdef AFS_AFSDB_ENV
              if (cm_dnsEnabled) {
***************
*** 322,327 ****
--- 340,348 ----
          strncpy(cp->name, fullname, CELL_MAXNAMELEN);
          cp->name[CELL_MAXNAMELEN-1] = '\0';
  
+         strncpy(cp->linkedName, linkedName, CELL_MAXNAMELEN);
+         cp->linkedName[CELL_MAXNAMELEN-1] = '\0';
+ 
          cm_AddCellToNameHashTable(cp);
          cm_AddCellToIDHashTable(cp);           
          lock_ReleaseMutex(&cp->mx);
***************
*** 355,360 ****
--- 376,401 ----
              newnamep[0] = '\0';
          }
      }
+ 
+     if (cp && cp->linkedName[0]) {
+         cm_cell_t * linkedCellp = NULL;
+         
+         if (!strcmp(cp->name, cp->linkedName)) {
+             cp->linkedName[0] = '\0'; 
+         } else if (!(flags & CM_FLAG_NOMOUNTCHASE)) {
+             linkedCellp = cm_GetCell(cp->linkedName, CM_FLAG_CREATE|CM_FLAG_NOPROBE|CM_FLAG_NOMOUNTCHASE);
+ 
+             lock_ObtainWrite(&cm_cellLock);
+             if (!linkedCellp || 
+                 (linkedCellp->linkedName[0] && strcmp(cp->name, linkedCellp->linkedName))) {
+                 cp->linkedName[0] = '\0';
+             } else {
+                 strncpy(linkedCellp->linkedName, cp->name, CELL_MAXNAMELEN);
+                 linkedCellp->linkedName[CELL_MAXNAMELEN-1]='\0';
+             }
+             lock_ReleaseWrite(&cm_cellLock);
+         }
+     }
      return cp;
  }
  
Index: openafs/src/WINNT/afsd/cm_cell.h
diff -c openafs/src/WINNT/afsd/cm_cell.h:1.7.6.10 openafs/src/WINNT/afsd/cm_cell.h:1.7.6.11
*** openafs/src/WINNT/afsd/cm_cell.h:1.7.6.10	Tue Sep  2 16:18:33 2008
--- openafs/src/WINNT/afsd/cm_cell.h	Mon Nov  3 14:56:06 2008
***************
*** 27,32 ****
--- 27,33 ----
      osi_mutex_t mx;			/* mutex locking fields (flags) */
      long flags;			        /* locked by mx */
      time_t timeout;                     /* if dns, time at which the server addrs expire (mx) */
+     char linkedName[CELL_MAXNAMELEN];   /* linked cell name; cm_cellLock */
  } cm_cell_t;
  
  /* These are bit flag values */
Index: openafs/src/WINNT/afsd/cm_config.c
diff -c openafs/src/WINNT/afsd/cm_config.c:1.26.4.9 openafs/src/WINNT/afsd/cm_config.c:1.26.4.11
*** openafs/src/WINNT/afsd/cm_config.c:1.26.4.9	Wed Aug 13 22:34:32 2008
--- openafs/src/WINNT/afsd/cm_config.c	Thu Nov  6 17:09:18 2008
***************
*** 112,125 ****
   * newCellNamep.  Anomaly:  if cellNamep is ambiguous, we may modify
   * newCellNamep but return an error code.
   *
!  * newCellNamep is required to be CELL_MAXNAMELEN in size.
   */
  long cm_SearchCellFile(char *cellNamep, char *newCellNamep,
                         cm_configProc_t *procp, void *rockp)
  {
      char wdir[MAX_PATH]="";
      FILE *tfilep = NULL, *bestp, *tempp;
!     char *tp;
      char lineBuffer[257];
      struct hostent *thp;
      char *valuep;
--- 112,135 ----
   * newCellNamep.  Anomaly:  if cellNamep is ambiguous, we may modify
   * newCellNamep but return an error code.
   *
!  * Linked Cells: the CellServDB format permits linked cells
!  *   >cell [linked-cell] #Description
!  *
!  * newCellNamep and linkedNamep are required to be CELL_MAXNAMELEN in size.
   */
  long cm_SearchCellFile(char *cellNamep, char *newCellNamep,
                         cm_configProc_t *procp, void *rockp)
  {
+     return cm_SearchCellFileEx(cellNamep, newCellNamep, NULL, procp, rockp);
+ }
+ 
+ long cm_SearchCellFileEx(char *cellNamep, char *newCellNamep,
+                          char *linkedNamep,
+                          cm_configProc_t *procp, void *rockp)
+ {
      char wdir[MAX_PATH]="";
      FILE *tfilep = NULL, *bestp, *tempp;
!     char *tp, *linkp;
      char lineBuffer[257];
      struct hostent *thp;
      char *valuep;
***************
*** 147,152 ****
--- 157,163 ----
  #endif
      /* have we seen the cell line for the guy we're looking for? */
      while (1) {
+         linkp = NULL;
          tp = fgets(lineBuffer, sizeof(lineBuffer), tfilep);
          if (tracking)
  	    (void) fgets(lineBuffer, sizeof(lineBuffer), bestp);
***************
*** 182,187 ****
--- 193,203 ----
  	/* skip blank lines */
          if (lineBuffer[0] == 0) continue;
  
+         /*
+          * The format is:
+          *   >[cell] [linked-cell] #[Description]
+          * where linked-cell and Description are optional
+          */
          if (lineBuffer[0] == '>') {
              if (inRightCell) {
                  fclose(tfilep);
***************
*** 189,201 ****
                  return(foundCell ? 0 : -6);
              }
  
! 	    /* trim off at white space or '#' chars */
!             tp = strchr(lineBuffer, ' ');
!             if (tp) *tp = 0;
!             tp = strchr(lineBuffer, '\t');
!             if (tp) *tp = 0;
!             tp = strchr(lineBuffer, '#');
!             if (tp) *tp = 0;
  
  	    /* now see if this is the right cell */
              if (stricmp(lineBuffer+1, cellNamep) == 0) {
--- 205,225 ----
                  return(foundCell ? 0 : -6);
              }
  
!             /* 
!              * terminate the cellname at the first white space
!              * leaving 'tp' pointing to the next string if any
!              */
!             for (tp = &lineBuffer[1]; tp && !isspace(*tp); tp++);
!             if (tp) {
!                 *tp = '\0';
!                 for (tp++ ;tp && isspace(*tp); tp++);
!                 if (*tp != '#') {
!                     linkp = tp;
!                     for (; tp && !isspace(*tp); tp++);
!                     if (tp) 
!                         *tp = '\0';
!                 }
!             }
  
  	    /* now see if this is the right cell */
              if (stricmp(lineBuffer+1, cellNamep) == 0) {
***************
*** 205,210 ****
--- 229,239 ----
                      newCellNamep[CELL_MAXNAMELEN-1] = '\0';
                      strlwr(newCellNamep);
                  }
+                 if (linkedNamep) {
+                     strncpy(linkedNamep, linkp ? linkp : "", CELL_MAXNAMELEN);
+                     linkedNamep[CELL_MAXNAMELEN-1] = '\0';
+                     strlwr(linkedNamep);
+                 }
                  inRightCell = 1;
  		tracking = 0;
  #ifdef CELLSERV_DEBUG                
***************
*** 224,229 ****
--- 253,263 ----
                      newCellNamep[CELL_MAXNAMELEN-1] = '\0';
                      strlwr(newCellNamep);
                  }
+                 if (linkedNamep) {
+                     strncpy(linkedNamep, linkp ? linkp : "", CELL_MAXNAMELEN);
+                     linkedNamep[CELL_MAXNAMELEN-1] = '\0';
+                     strlwr(linkedNamep);
+                 }
  		inRightCell = 0;
  		tracking = 0;
  		partial = 1;
***************
*** 265,280 ****
  		}
                  if (!thp) {
                      afs_uint32 ip_addr;
! 		    int c1, c2, c3, c4;
                      
                      /* Since there is no gethostbyname() data 
  		     * available we will read the IP address
  		     * stored in the CellServDB file
                       */
!                     code = sscanf(lineBuffer, " %d.%d.%d.%d",
                                     &c1, &c2, &c3, &c4);
!                     if (code == 4) {
!                         tp = (char *) &ip_addr;
                          *tp++ = c1;
                          *tp++ = c2;
                          *tp++ = c3;
--- 299,314 ----
  		}
                  if (!thp) {
                      afs_uint32 ip_addr;
! 		    unsigned int c1, c2, c3, c4;
                      
                      /* Since there is no gethostbyname() data 
  		     * available we will read the IP address
  		     * stored in the CellServDB file
                       */
!                     code = sscanf(lineBuffer, " %u.%u.%u.%u",
                                     &c1, &c2, &c3, &c4);
!                     if (code == 4 && c1<256 && c2<256 && c3<256 && c4<256) {
!                         tp = (unsigned char *) &ip_addr;
                          *tp++ = c1;
                          *tp++ = c2;
                          *tp++ = c3;
Index: openafs/src/WINNT/afsd/cm_config.h
diff -c openafs/src/WINNT/afsd/cm_config.h:1.8.6.8 openafs/src/WINNT/afsd/cm_config.h:1.8.6.9
*** openafs/src/WINNT/afsd/cm_config.h:1.8.6.8	Wed Mar 19 20:01:59 2008
--- openafs/src/WINNT/afsd/cm_config.h	Mon Nov  3 14:56:06 2008
***************
*** 31,40 ****
  extern long cm_GetRootCellName(char *namep);
  
  extern long cm_SearchCellFile(char *cellNamep, char *newCellNamep,
! 	cm_configProc_t *procp, void *rockp);
  
  extern long cm_SearchCellByDNS(char *cellNamep, char *newCellNamep, int *ttl,
!                cm_configProc_t *procp, void *rockp);
  
  extern long cm_WriteConfigString(char *labelp, char *valuep);
  
--- 31,44 ----
  extern long cm_GetRootCellName(char *namep);
  
  extern long cm_SearchCellFile(char *cellNamep, char *newCellNamep,
!                               cm_configProc_t *procp, void *rockp);
! 
! extern long cm_SearchCellFileEx(char *cellNamep, char *newCellNamep,
!                                 char *linkedNamep,
!                                 cm_configProc_t *procp, void *rockp);
  
  extern long cm_SearchCellByDNS(char *cellNamep, char *newCellNamep, int *ttl,
!                                cm_configProc_t *procp, void *rockp);
  
  extern long cm_WriteConfigString(char *labelp, char *valuep);
  
Index: openafs/src/WINNT/afsd/cm_daemon.c
diff -c openafs/src/WINNT/afsd/cm_daemon.c:1.16.4.31 openafs/src/WINNT/afsd/cm_daemon.c:1.16.4.32
*** openafs/src/WINNT/afsd/cm_daemon.c:1.16.4.31	Fri Aug 22 14:10:01 2008
--- openafs/src/WINNT/afsd/cm_daemon.c	Thu Nov  6 14:18:51 2008
***************
*** 533,539 ****
          }
  
          /* allow an exit to be called prior to stopping the service */
!         hHookDll = LoadLibrary(AFSD_HOOK_DLL);
          if (hHookDll)
          {
              BOOL hookRc = TRUE;
--- 533,539 ----
          }
  
          /* allow an exit to be called prior to stopping the service */
!         hHookDll = cm_LoadAfsdHookLib();
          if (hHookDll)
          {
              BOOL hookRc = TRUE;
Index: openafs/src/WINNT/afsd/cm_dir.c
diff -c openafs/src/WINNT/afsd/cm_dir.c:1.4.4.20 openafs/src/WINNT/afsd/cm_dir.c:1.4.4.21
*** openafs/src/WINNT/afsd/cm_dir.c:1.4.4.20	Tue Sep 16 07:47:47 2008
--- openafs/src/WINNT/afsd/cm_dir.c	Sun Oct 19 19:19:33 2008
***************
*** 1293,1299 ****
                                CM_SCACHESYNC_NEEDCALLBACK |
                                (op->lockType == CM_DIRLOCK_WRITE ? CM_SCACHESYNC_WRITE : CM_SCACHESYNC_READ) |
                                CM_SCACHESYNC_BUFLOCKED);
- 
              code = CM_ERROR_NOTINCACHE;
          }
  
--- 1293,1298 ----
Index: openafs/src/WINNT/afsd/cm_dnlc.c
diff -c openafs/src/WINNT/afsd/cm_dnlc.c:1.10.4.10 openafs/src/WINNT/afsd/cm_dnlc.c:1.10.4.11
*** openafs/src/WINNT/afsd/cm_dnlc.c:1.10.4.10	Fri Aug 22 14:10:01 2008
--- openafs/src/WINNT/afsd/cm_dnlc.c	Wed Oct 15 21:26:24 2008
***************
*** 114,120 ****
      int safety;
      int writeLocked = 0;
  
!     if (!cm_useDnlc)
  	return ;
  
      if (!cm_NormStrCmp(nname,_C(".")) || !cm_NormStrCmp(nname,_C("..")))
--- 114,120 ----
      int safety;
      int writeLocked = 0;
  
!     if (!cm_useDnlc || nname == NULL)
  	return ;
  
      if (!cm_NormStrCmp(nname,_C(".")) || !cm_NormStrCmp(nname,_C("..")))
***************
*** 197,203 ****
      cm_nc_t * tnc, * tnc_begin;
      int safety, match;
    
!     if (!cm_useDnlc)
  	return NULL;
  
      if ( cm_debugDnlc ) 
--- 197,203 ----
      cm_nc_t * tnc, * tnc_begin;
      int safety, match;
    
!     if (!cm_useDnlc || nname == NULL)
  	return NULL;
  
      if ( cm_debugDnlc ) 
***************
*** 344,350 ****
      normchar_t *ts = nname;
      cm_nc_t *tnc, *tmp;
    
!     if (!cm_useDnlc)
  	return ;
  
      if ( cm_debugDnlc )
--- 344,350 ----
      normchar_t *ts = nname;
      cm_nc_t *tnc, *tmp;
    
!     if (!cm_useDnlc || nname == NULL)
  	return ;
  
      if ( cm_debugDnlc )
Index: openafs/src/WINNT/afsd/cm_ioctl.c
diff -c openafs/src/WINNT/afsd/cm_ioctl.c:1.73.2.62 openafs/src/WINNT/afsd/cm_ioctl.c:1.73.2.66
*** openafs/src/WINNT/afsd/cm_ioctl.c:1.73.2.62	Wed Sep 24 18:58:32 2008
--- openafs/src/WINNT/afsd/cm_ioctl.c	Mon Nov  3 14:56:07 2008
***************
*** 169,199 ****
  }
  
  /*
-  * Utility function.  Used within this file.
-  * Invalidate ACL info for a user that has just	obtained or lost tokens.
-  */
- void 
- cm_ResetACLCache(cm_user_t *userp)
- {
-     cm_scache_t *scp;
-     int hash;
- 
-     lock_ObtainWrite(&cm_scacheLock);
-     for (hash=0; hash < cm_data.scacheHashTableSize; hash++) {
-         for (scp=cm_data.scacheHashTablep[hash]; scp; scp=scp->nextp) {
-             cm_HoldSCacheNoLock(scp);
-             lock_ReleaseWrite(&cm_scacheLock);
-             lock_ObtainWrite(&scp->rw);
-             cm_InvalidateACLUser(scp, userp);
-             lock_ReleaseWrite(&scp->rw);
-             lock_ObtainWrite(&cm_scacheLock);
-             cm_ReleaseSCacheNoLock(scp);
-         }
-     }
-     lock_ReleaseWrite(&cm_scacheLock);
- }       
- 
- /*
   *  TranslateExtendedChars - This is a fix for TR 54482.
   *
   *  If an extended character (80 - FF) is entered into a file
--- 169,174 ----
***************
*** 482,490 ****
              clientchar_t * cellname;
  
              cellname = cm_FsStringToClientStringAlloc(cellp->name, -1, NULL); 
!             cm_UnparseIoctlString(ioctlp, NULL, cellname, -1);
!             free(cellname);
!             code = 0;
          } else
              code = CM_ERROR_NOSUCHCELL;
      }
--- 457,469 ----
              clientchar_t * cellname;
  
              cellname = cm_FsStringToClientStringAlloc(cellp->name, -1, NULL); 
!             if (cellname == NULL) {
!                 code = CM_ERROR_NOSUCHCELL;
!             } else {
!                 cm_UnparseIoctlString(ioctlp, NULL, cellname, -1);
!                 free(cellname);
!                 code = 0;
!             }
          } else
              code = CM_ERROR_NOSUCHCELL;
      }
***************
*** 1379,1386 ****
          ioctlp->outDatap = basep + max * sizeof(afs_int32);
  
          cellnamep = cm_FsStringToClientStringAlloc(tcellp->name, -1, NULL);
!         cm_UnparseIoctlString(ioctlp, NULL, cellnamep, -1);
!         free(cellnamep);
      }
  
      if (tcellp) 
--- 1358,1369 ----
          ioctlp->outDatap = basep + max * sizeof(afs_int32);
  
          cellnamep = cm_FsStringToClientStringAlloc(tcellp->name, -1, NULL);
!         if (cellnamep) {
!             cm_UnparseIoctlString(ioctlp, NULL, cellnamep, -1);
!             free(cellnamep);
!         } else {
!             tcellp = NULL;
!         }
      }
  
      if (tcellp) 
***************
*** 1421,1427 ****
  
          rock.cellp = cp;
          rock.flags = 0;
!         code = cm_SearchCellFile(cp->name, cp->name, cm_AddCellProc, &rock);
  #ifdef AFS_AFSDB_ENV
          if (code) {
              if (cm_dnsEnabled) {
--- 1404,1410 ----
  
          rock.cellp = cp;
          rock.flags = 0;
!         code = cm_SearchCellFileEx(cp->name, cp->name, cp->linkedName, cm_AddCellProc, &rock);
  #ifdef AFS_AFSDB_ENV
          if (code) {
              if (cm_dnsEnabled) {
***************
*** 1477,1484 ****
      } else if (cm_data.rootCellp) {
          clientchar_t * cellnamep = cm_FsStringToClientStringAlloc(cm_data.rootCellp->name, -1, NULL);
          /* return the default cellname to the caller */
!         cm_UnparseIoctlString(ioctlp, NULL, cellnamep, -1);
!         free(cellnamep);
      } else {
          /* if we don't know our default cell, return failure */
          code = CM_ERROR_NOSUCHCELL;
--- 1460,1471 ----
      } else if (cm_data.rootCellp) {
          clientchar_t * cellnamep = cm_FsStringToClientStringAlloc(cm_data.rootCellp->name, -1, NULL);
          /* return the default cellname to the caller */
!         if (cellnamep) {
!             cm_UnparseIoctlString(ioctlp, NULL, cellnamep, -1);
!             free(cellnamep);
!         } else {
!             code = CM_ERROR_NOSUCHCELL;
!         }
      } else {
          /* if we don't know our default cell, return failure */
          code = CM_ERROR_NOSUCHCELL;
***************
*** 2170,2175 ****
--- 2157,2163 ----
      int i;
      char * p, * r;
  
+     memset(&info, 0, sizeof(info));
      tdir = afsconf_Open(AFSDIR_CLIENT_ETC_DIRPATH);
      code = afsconf_GetCellInfo(tdir, ucellp->cellp->name, "afsprot", &info);
      afsconf_Close(tdir);
***************
*** 2195,2200 ****
--- 2183,2190 ----
  
      code = ubik_ClientInit(serverconns, &pruclient);
      if (code) {
+         if (info.linkedCell)
+             free(info.linkedCell);
  	return code;
      }
  
***************
*** 2228,2233 ****
--- 2218,2225 ----
  	pruclient = NULL;
      }
  
+     if (info.linkedCell)
+         free(info.linkedCell);
      return 0;
  }
  #endif /* QUERY_AFSID */
Index: openafs/src/WINNT/afsd/cm_ioctl.h
diff -c openafs/src/WINNT/afsd/cm_ioctl.h:1.14.2.9 openafs/src/WINNT/afsd/cm_ioctl.h:1.14.2.10
*** openafs/src/WINNT/afsd/cm_ioctl.h:1.14.2.9	Fri Jul 11 18:27:01 2008
--- openafs/src/WINNT/afsd/cm_ioctl.h	Sat Oct 18 00:45:05 2008
***************
*** 141,148 ****
  
  extern void cm_InitIoctl(void);
  
- extern void cm_ResetACLCache(cm_user_t *userp);
- 
  extern cm_ioctlQueryOptions_t *
  cm_IoctlGetQueryOptions(struct cm_ioctl *ioctlp, struct cm_user *userp);
  
--- 141,146 ----
Index: openafs/src/WINNT/afsd/cm_nls.c
diff -c openafs/src/WINNT/afsd/cm_nls.c:1.3.2.6 openafs/src/WINNT/afsd/cm_nls.c:1.3.2.8
*** openafs/src/WINNT/afsd/cm_nls.c:1.3.2.6	Sat Aug  9 20:01:43 2008
--- openafs/src/WINNT/afsd/cm_nls.c	Tue Oct 21 21:25:38 2008
***************
*** 157,163 ****
  #endif
  
      if (cch_src == -1)
!         cch_src = wcslen(src) + 1;
  
      if ((pIsNormalizedString && (*pIsNormalizedString)(AFS_NORM_FORM, src, cch_src)) ||
          (!pNormalizeString)) {
--- 157,163 ----
  #endif
  
      if (cch_src == -1)
!         cch_src = (int)wcslen(src) + 1;
  
      if ((pIsNormalizedString && (*pIsNormalizedString)(AFS_NORM_FORM, src, cch_src)) ||
          (!pNormalizeString)) {
***************
*** 381,387 ****
  
      if (cch_src == -1) {
          StringCchCopyW(dest, cch_dest, src);
!         return wcslen(dest) + 1;
      } else {
          int cch_conv = min(cch_src, cch_dest);
          memcpy(dest, src, cch_conv * sizeof(cm_unichar_t));
--- 381,387 ----
  
      if (cch_src == -1) {
          StringCchCopyW(dest, cch_dest, src);
!         return (int)wcslen(dest) + 1;
      } else {
          int cch_conv = min(cch_src, cch_dest);
          memcpy(dest, src, cch_conv * sizeof(cm_unichar_t));
***************
*** 418,424 ****
          if (FAILED(StringCchLengthW(src, NLSMAXCCH, &cch)))
              return E2BIG;
  
!         cch_src = cch+1;
      }
  
      {
--- 418,424 ----
          if (FAILED(StringCchLengthW(src, NLSMAXCCH, &cch)))
              return E2BIG;
  
!         cch_src = (int)cch+1;
      }
  
      {
***************
*** 550,555 ****
--- 550,625 ----
      return (int)(dest - odest);
  }
  
+ static int sanitize_utf16char(wchar_t c, wchar_t ** pdest, size_t * pcch)
+ {
+     if (*pcch >= 6) {
+         StringCchPrintfExW(*pdest, *pcch, pdest, pcch, 0, L"%%%04x", (int) c);
+         return 1;
+     } else {
+         return 0;
+     }
+ }
+ 
+ static int sanitize_utf16string(const wchar_t * src, size_t cch_src,
+                                 wchar_t * dest, size_t cch_dest)
+ {
+     int cch_dest_o = cch_dest;
+ 
+     if (dest == NULL) {
+         /* only estimating */
+         for (cch_dest = 0; cch_src > 0;) {
+             if (*src >= 0xd800 && *src < 0xdc00) {
+                 if (cch_src <= 1 || src[1] < 0xdc00 || src[1] > 0xdfff) {
+                     /* dangling surrogate */
+                     src++;
+                     cch_src --;
+                     cch_dest += 5;
+                 } else {
+                     /* surrogate pair */
+                     src += 2;
+                     cch_src -= 2;
+                     cch_dest += 2;
+                 }
+             } else if (*src >= 0xdc00 && *src <= 0xdfff) {
+                 /* dangling surrogate */
+                 src++;
+                 cch_src --;
+                 cch_dest += 5;
+             } else {
+                 /* normal char */
+                 src++; cch_src --;
+                 cch_dest++;
+             }
+         }
+ 
+         return cch_dest;
+     }
+ 
+     while (cch_src > 0 && cch_dest > 0) {
+         if (*src >= 0xd800 && *src < 0xdc00) {
+             if (cch_src <= 1 || src[1] < 0xdc00 || src[1] > 0xdfff) {
+                 if (!sanitize_utf16char(*src++, &dest, &cch_dest))
+                     return 0;
+                 cch_src--;
+             } else {
+                 /* found a surrogate pair */
+                 *dest++ = *src++;
+                 *dest++ = *src++;
+                 cch_dest -= 2; cch_src -= 2;
+             }
+         } else if (*src >= 0xdc00 && *src <= 0xdfff) {
+             if (!sanitize_utf16char(*src++, &dest, &cch_dest))
+                 return 0;
+             cch_src--;
+         } else {
+             *dest++ = *src++;
+             cch_dest--; cch_src--;
+         }
+     }
+ 
+     return (cch_src == 0) ? cch_dest_o - cch_dest : 0;
+ }
+ 
  #undef Esc
  #undef IS_ESCAPED
  #undef ESCVAL
***************
*** 575,587 ****
          return 1;
      }
  
      if (cch_src == -1) {
!         cch_src = strlen(src) + 1;
      }
  
      cch = MultiByteToWideChar(CP_UTF8, MB_ERR_INVALID_CHARS, src,
                                cch_src * sizeof(char), wsrcbuf, NLSMAXCCH);
  
      if (cch == 0) {
          if (GetLastError() == ERROR_NO_UNICODE_TRANSLATION) {
              char sanitized[NLSMAXCCH];
--- 645,673 ----
          return 1;
      }
  
+     if (dest && cch_dest > 0) {
+         dest[0] = L'\0';
+     }
+ 
      if (cch_src == -1) {
!         cch_src = (int)strlen(src) + 1;
      }
  
      cch = MultiByteToWideChar(CP_UTF8, MB_ERR_INVALID_CHARS, src,
                                cch_src * sizeof(char), wsrcbuf, NLSMAXCCH);
  
+     if (cch != 0 && !cm_is_valid_utf16(wsrcbuf, cch)) {
+         wchar_t wsanitized[NLSMAXCCH];
+ 
+         /* We successfully converted, but the resulting UTF-16 string
+            has dangling surrogates.  We should try and escape those
+            next.  */
+         cch = sanitize_utf16string(wsrcbuf, cch, wsanitized, NLSMAXCCH);
+         if (cch != 0) {
+             memcpy(wsrcbuf, wsanitized, cch * sizeof(wchar_t));
+         }
+     }
+ 
      if (cch == 0) {
          if (GetLastError() == ERROR_NO_UNICODE_TRANSLATION) {
              char sanitized[NLSMAXCCH];
***************
*** 659,670 ****
      }
  
      if (cch_src == -1) {
!         cch_src = strlen(src) + 1;
      }
  
      cch = MultiByteToWideChar(CP_UTF8, MB_ERR_INVALID_CHARS, src,
                                cch_src * sizeof(char), wsrcbuf, NLSMAXCCH);
  
      if (cch == 0) {
          if (GetLastError() == ERROR_NO_UNICODE_TRANSLATION) {
              char sanitized[NLSMAXCCH];
--- 745,768 ----
      }
  
      if (cch_src == -1) {
!         cch_src = (int)strlen(src) + 1;
      }
  
      cch = MultiByteToWideChar(CP_UTF8, MB_ERR_INVALID_CHARS, src,
                                cch_src * sizeof(char), wsrcbuf, NLSMAXCCH);
  
+     if (cch != 0 && !cm_is_valid_utf16(wsrcbuf, cch)) {
+         wchar_t wsanitized[NLSMAXCCH];
+ 
+         /* We successfully converted, but the resulting UTF-16 string
+            has dangling surrogates.  We should try and escape those
+            next.  */
+         cch = sanitize_utf16string(wsrcbuf, cch, wsanitized, NLSMAXCCH);
+         if (cch != 0) {
+             memcpy(wsrcbuf, wsanitized, cch * sizeof(wchar_t));
+         }
+     }
+ 
      if (cch == 0) {
          if (GetLastError() == ERROR_NO_UNICODE_TRANSLATION) {
              char sanitized[NLSMAXCCH];
***************
*** 720,735 ****
  {
      int cch;
  
      if (!nls_init)
          cm_InitNormalization();
  
      if (cch_src == -1) {
!         cch_src = strlen(src) + 1;
      }
  
      cch = MultiByteToWideChar(CP_UTF8, MB_ERR_INVALID_CHARS, src,
                                cch_src * sizeof(char), dest, cch_dest);
  
      if (cch == 0) {
          if (GetLastError() == ERROR_NO_UNICODE_TRANSLATION) {
              char sanitized[NLSMAXCCH];
--- 818,846 ----
  {
      int cch;
  
+     if (cch_dest >= 1 && dest != NULL) {
+         dest[0] = L'\0';
+     }
+ 
      if (!nls_init)
          cm_InitNormalization();
  
      if (cch_src == -1) {
!         cch_src = (int)strlen(src) + 1;
      }
  
      cch = MultiByteToWideChar(CP_UTF8, MB_ERR_INVALID_CHARS, src,
                                cch_src * sizeof(char), dest, cch_dest);
  
+     if (cch != 0 && !cm_is_valid_utf16(dest, cch)) {
+         wchar_t wsanitized[NLSMAXCCH];
+ 
+         cch = sanitize_utf16string(dest, cch, wsanitized, NLSMAXCCH);
+         if (cch != 0) {
+             memcpy(dest, wsanitized, cch * sizeof(wchar_t));
+         }
+     }
+ 
      if (cch == 0) {
          if (GetLastError() == ERROR_NO_UNICODE_TRANSLATION) {
              char sanitized[NLSMAXCCH];
***************
*** 786,792 ****
      }
  
      if (cch_src == -1) {
!         cch_src = strlen(src) + 1;
      }
  
      cch = MultiByteToWideChar(CP_UTF8, MB_ERR_INVALID_CHARS, src,
--- 897,903 ----
      }
  
      if (cch_src == -1) {
!         cch_src = (int)strlen(src) + 1;
      }
  
      cch = MultiByteToWideChar(CP_UTF8, MB_ERR_INVALID_CHARS, src,
***************
*** 838,843 ****
--- 949,976 ----
          cch = MultiByteToWideChar(CP_UTF8, MB_ERR_INVALID_CHARS, src,
                                    cch_src * sizeof(char), ustr, cch);
          ustr[cch] = 0;
+ 
+         if (!cm_is_valid_utf16(ustr, cch)) {
+             cm_unichar_t * us = NULL;
+             int cch_s;
+ 
+             cch_s = sanitize_utf16string(ustr, cch, NULL, 0);
+             if (cch_s != 0) {
+                 us = malloc(cch_s * sizeof(wchar_t));
+                 cch_s = sanitize_utf16string(ustr, cch, us, cch_s);
+             }
+ 
+             if (cch_s != 0) {
+                 free(ustr);
+                 ustr = us;
+                 us = NULL;
+             } else {
+                 if (us)
+                     free(us);
+                 free(ustr);
+                 ustr = NULL;
+             }
+         }
      }
  
      if (pcch_dest)
***************
*** 891,902 ****
      }
  
      if (cch_src == -1) {
!         cch_src = strlen(src) + 1;
      }
  
      cch = MultiByteToWideChar(CP_UTF8, MB_ERR_INVALID_CHARS, src,
                                cch_src * sizeof(char), wsrcbuf, NLSMAXCCH);
  
      if (cch == 0) {
          if (GetLastError() == ERROR_NO_UNICODE_TRANSLATION) {
              char sanitized[NLSMAXCCH];
--- 1024,1044 ----
      }
  
      if (cch_src == -1) {
!         cch_src = (int)strlen(src) + 1;
      }
  
      cch = MultiByteToWideChar(CP_UTF8, MB_ERR_INVALID_CHARS, src,
                                cch_src * sizeof(char), wsrcbuf, NLSMAXCCH);
  
+     if (cch != 0 && !cm_is_valid_utf16(wsrcbuf, cch)) {
+         wchar_t wsanitized[NLSMAXCCH];
+ 
+         cch = sanitize_utf16string(wsrcbuf, cch, wsanitized, NLSMAXCCH);
+         if (cch != 0) {
+             memcpy(wsrcbuf, wsanitized, cch * sizeof(wchar_t));
+         }
+     }
+ 
      if (cch == 0) {
          if (GetLastError() == ERROR_NO_UNICODE_TRANSLATION) {
              char sanitized[NLSMAXCCH];
***************
*** 1033,1039 ****
      if (FAILED(StringCchLengthW(str2, len, &cch2)))
          cch2 = len;
  
!     rv = CompareStringW(nls_lcid, NORM_IGNORECASE, str1, cch1, str2, cch2);
      if (rv > 0)
          return (rv - 2);
      else {
--- 1175,1181 ----
      if (FAILED(StringCchLengthW(str2, len, &cch2)))
          cch2 = len;
  
!     rv = CompareStringW(nls_lcid, NORM_IGNORECASE, str1, (int)cch1, str2, (int)cch2);
      if (rv > 0)
          return (rv - 2);
      else {
***************
*** 1080,1086 ****
      if (!nls_init)
          cm_InitNormalization();
  
!     len = wcslen(str) + 1;
      rv = LCMapStringW(nls_lcid, LCMAP_LOWERCASE, str, len, str, len);
  #ifdef DEBUG
      if (rv == 0) {
--- 1222,1228 ----
      if (!nls_init)
          cm_InitNormalization();
  
!     len = (int)wcslen(str) + 1;
      rv = LCMapStringW(nls_lcid, LCMAP_LOWERCASE, str, len, str, len);
  #ifdef DEBUG
      if (rv == 0) {
***************
*** 1099,1105 ****
      if (!nls_init)
          cm_InitNormalization();
  
!     len = wcslen(str) + 1;
      rv = LCMapStringW(nls_lcid, LCMAP_UPPERCASE, str, len, str, len);
  #ifdef DEBUG
      if (rv == 0) {
--- 1241,1247 ----
      if (!nls_init)
          cm_InitNormalization();
  
!     len = (int)wcslen(str) + 1;
      rv = LCMapStringW(nls_lcid, LCMAP_UPPERCASE, str, len, str, len);
  #ifdef DEBUG
      if (rv == 0) {
***************
*** 1191,1197 ****
  
      len = LCMapStringW(nls_lcid, LCMAP_UPPERCASE, wstr, len, wstrd, NLSMAXCCH);
  
!     len = WideCharToMultiByte(CP_UTF8, 0, wstrd, -1, str, cbstr, NULL, FALSE);
  
      return str;
  }
--- 1333,1339 ----
  
      len = LCMapStringW(nls_lcid, LCMAP_UPPERCASE, wstr, len, wstrd, NLSMAXCCH);
  
!     len = WideCharToMultiByte(CP_UTF8, 0, wstrd, -1, str, (int)cbstr, NULL, FALSE);
  
      return str;
  }
***************
*** 1265,1267 ****
--- 1407,1455 ----
      return (wchar_t *) c;
  }
  
+ int cm_is_valid_utf16(const wchar_t * c, int cch)
+ {
+     if (cch < 0)
+         cch = wcslen(c) + 1;
+ 
+     for (; cch > 0; c++, cch--) {
+         if (*c >= 0xd800 && *c < 0xdc00) {
+             c++; cch--;
+             if (cch == 0 || *c < 0xdc00 || *c > 0xdfff)
+                 return 0;
+         } else if (*c >= 0xdc00 && *c <= 0xdfff) {
+             return 0;
+         }
+     }
+ 
+     return 1;
+ }
+ 
+ #ifdef DEBUG
+ wchar_t * cm_GetRawCharsAlloc(const wchar_t * c, int len)
+ {
+     wchar_t * ret;
+     wchar_t * current;
+     size_t cb;
+ 
+     if (len == -1)
+         len = wcslen(c);
+ 
+     if (len == 0)
+         return wcsdup(L"(empty)");
+ 
+     cb = len * 5 * sizeof(wchar_t);
+     current = ret = malloc(cb);
+     if (ret == NULL)
+         return NULL;
+ 
+     for (; len > 0; ++c, --len) {
+         StringCbPrintfExW(current, cb, &current, &cb, 0,
+                          L"%04x", (int) *c);
+         if (len > 1)
+             StringCbCatExW(current, cb, L",", &current, &cb, 0);
+     }
+ 
+     return ret;
+ }
+ #endif
Index: openafs/src/WINNT/afsd/cm_nls.h
diff -c openafs/src/WINNT/afsd/cm_nls.h:1.3.2.3 openafs/src/WINNT/afsd/cm_nls.h:1.3.2.4
*** openafs/src/WINNT/afsd/cm_nls.h:1.3.2.3	Thu Jun 26 12:38:30 2008
--- openafs/src/WINNT/afsd/cm_nls.h	Sun Oct 19 19:19:33 2008
***************
*** 132,143 ****
--- 132,156 ----
  #define cm_NormStrCmp wcscmp
  #define cm_NormCharUpr towupper
  
+ #define cm_IsValidClientString(s) cm_is_valid_utf16((s), -1)
+ #define cm_IsValidNormString(s) cm_is_valid_utf16((s), -1)
+ 
  #define cm_Utf16ToClientString cm_Utf16ToUtf16
  
  extern long cm_InitNormalization(void);
  
  /* Functions annotated in accordance with sal.h */
  
+ #ifndef __in_z
+ 
+ #define __out_ecount_full_z(x)
+ #define __out_ecount_full_z_opt(x)
+ #define __in_z
+ #define __out_z
+ #define __inout_z
+ 
+ #endif
+ 
  extern __out_ecount_full_z(*pcch_dest) __checkReturn __success(return != NULL) cm_normchar_t *
      cm_NormalizeStringAlloc
      (__in_ecount(cch_src) const cm_unichar_t * s,
***************
*** 254,259 ****
--- 267,279 ----
  extern __out_z cm_unichar_t *
  cm_strupr_utf16(__inout_z cm_unichar_t * str);
  
+ extern int
+ cm_is_valid_utf16(__in_z const wchar_t * c, int cch);
+ 
+ #ifdef DEBUG
+ wchar_t * cm_GetRawCharsAlloc(const wchar_t * c, int len);
+ #endif
+ 
  #if 0
  
  extern long cm_NormalizeUtf16StringToUtf8(const wchar_t * src, int cch_src,
Index: openafs/src/WINNT/afsd/cm_utils.c
diff -c openafs/src/WINNT/afsd/cm_utils.c:1.11.4.16 openafs/src/WINNT/afsd/cm_utils.c:1.11.4.19
*** openafs/src/WINNT/afsd/cm_utils.c:1.11.4.16	Tue Sep 16 07:34:31 2008
--- openafs/src/WINNT/afsd/cm_utils.c	Thu Nov  6 14:18:51 2008
***************
*** 12,17 ****
--- 12,18 ----
  
  #include <errno.h>
  #include <windows.h>
+ #include <shlwapi.h>
  #include <winsock2.h>
  #ifndef EWOULDBLOCK
  #define EWOULDBLOCK             WSAEWOULDBLOCK
***************
*** 398,404 ****
      int sawDot = 0;
      clientchar_t tc;
      int charCount = 0;
!         
      /*
       * can't have a leading dot;
       * special case for . and ..
--- 399,408 ----
      int sawDot = 0;
      clientchar_t tc;
      int charCount = 0;
!     
!     if (namep == NULL || !namep[0])
!         return 0;
! 
      /*
       * can't have a leading dot;
       * special case for . and ..
***************
*** 747,749 ****
--- 751,786 ----
      return retval;
  }
  
+ BOOL
+ cm_TargetPerceivedAsDirectory(const fschar_t *target)
+ {
+     char        * ext;
+ 
+     ext = PathFindExtension(target);
+     if (!ext[0])
+         return TRUE;
+ 
+     return FALSE;
+ }
+ 
+ HANDLE 
+ cm_LoadAfsdHookLib(void)
+ {
+     char dllname[260];
+     char *p;
+     HANDLE hLib;
+ 
+     if (!GetModuleFileName(NULL, dllname, sizeof(dllname)))
+         return NULL;
+ 
+     p = strrchr(dllname, '\\');
+     if (p) {
+         p++;
+         strcpy(p, AFSD_HOOK_DLL);
+         hLib = LoadLibrary(dllname);
+     } else {
+         hLib = LoadLibrary(AFSD_HOOK_DLL);
+     }
+ 
+     return hLib;
+ }
Index: openafs/src/WINNT/afsd/cm_utils.h
diff -c openafs/src/WINNT/afsd/cm_utils.h:1.3.20.4 openafs/src/WINNT/afsd/cm_utils.h:1.3.20.6
*** openafs/src/WINNT/afsd/cm_utils.h:1.3.20.4	Thu Jul 31 08:39:24 2008
--- openafs/src/WINNT/afsd/cm_utils.h	Thu Nov  6 14:18:51 2008
***************
*** 81,84 ****
--- 81,88 ----
  
  extern int cm_MatchMask(clientchar_t *namep, clientchar_t *maskp, int flags);
  
+ extern BOOL cm_TargetPerceivedAsDirectory(const fschar_t *target);
+ 
+ extern HANDLE cm_LoadAfsdHookLib(void);
+ 
  #endif /*  __CM_UTILS_H_ENV__ */
Index: openafs/src/WINNT/afsd/cm_vnodeops.c
diff -c openafs/src/WINNT/afsd/cm_vnodeops.c:1.69.2.91 openafs/src/WINNT/afsd/cm_vnodeops.c:1.69.2.93
*** openafs/src/WINNT/afsd/cm_vnodeops.c:1.69.2.91	Sat Sep 13 09:51:50 2008
--- openafs/src/WINNT/afsd/cm_vnodeops.c	Tue Oct 21 21:25:38 2008
***************
*** 727,733 ****
  
      sp = (cm_lookupSearch_t *) rockp;
  
!     cm_FsStringToNormString(dep->name, -1, matchName, lengthof(matchName));
      if (sp->caseFold)
          match = cm_NormStrCmpI(matchName, sp->nsearchNamep);
      else
--- 727,737 ----
  
      sp = (cm_lookupSearch_t *) rockp;
  
!     if (cm_FsStringToNormString(dep->name, -1, matchName, lengthof(matchName)) == 0) {
!         /* Can't normalize FS string. */
!         return 0;
!     }
! 
      if (sp->caseFold)
          match = cm_NormStrCmpI(matchName, sp->nsearchNamep);
      else
***************
*** 1040,1046 ****
--- 1044,1058 ----
      }
  
      nnamep = cm_ClientStringToNormStringAlloc(cnamep, -1, NULL);
+     if (!nnamep) {
+         code = CM_ERROR_NOSUCHFILE;
+         goto done;
+     }
      fnamep = cm_ClientStringToFsStringAlloc(cnamep, -1, NULL);
+     if (!fnamep) {
+         code = CM_ERROR_NOSUCHFILE;
+         goto done;
+     }
  
      if (flags & CM_FLAG_NOMOUNTCHASE) {
          /* In this case, we should go and call cm_Dir* functions
***************
*** 1235,1241 ****
              if (nnamep) 
                  free(nnamep);
              nnamep = cm_ClientStringToNormStringAlloc(cnamep, -1, NULL);
!             cm_dnlcEnter(dscp, nnamep, tscp);
          }
          lock_ReleaseRead(&dscp->rw);
      }
--- 1247,1254 ----
              if (nnamep) 
                  free(nnamep);
              nnamep = cm_ClientStringToNormStringAlloc(cnamep, -1, NULL);
!             if (nnamep)
!                 cm_dnlcEnter(dscp, nnamep, tscp);
          }
          lock_ReleaseRead(&dscp->rw);
      }
***************
*** 1755,1766 ****
--- 1768,1786 ----
          StringCchCatA(tsp->data,lengthof(tsp->data), "\\");
          StringCchCatA(tsp->data,lengthof(tsp->data), pathSuffixp);
      }
+ 
      if (code == 0) {
          clientchar_t * cpath = cm_FsStringToClientStringAlloc(tsp->data, -1, NULL);
+         if (cpath != NULL) {
          cm_ClientStrCpy(tsp->wdata, lengthof(tsp->wdata), cpath);
          free(cpath);
          *newSpaceBufferp = tsp;
      } else {
+             code = CM_ERROR_NOSUCHPATH;
+         }
+     } 
+ 
+     if (code != 0) {
          cm_FreeSpace(tsp);
  
          if (code == CM_ERROR_PATH_NOT_COVERED && reqp->tidPathp && reqp->relPathp) {
Index: openafs/src/WINNT/afsd/cm_volstat.c
diff -c openafs/src/WINNT/afsd/cm_volstat.c:1.1.2.7 openafs/src/WINNT/afsd/cm_volstat.c:1.1.2.8
*** openafs/src/WINNT/afsd/cm_volstat.c:1.1.2.7	Thu Jun 26 12:38:30 2008
--- openafs/src/WINNT/afsd/cm_volstat.c	Sun Oct 19 19:19:33 2008
***************
*** 325,330 ****
--- 325,337 ----
      cpath = cm_FsStringToClientStringAlloc(path, -1, NULL);
      cshare = cm_FsStringToClientStringAlloc(share, -1, NULL);
  
+     if (cpath == NULL || cshare == NULL) {
+         osi_Log1(afsd_logp, "Can't convert %s string. Aborting",
+                  (cpath == NULL)? "path" : "share");
+         code = CM_ERROR_NOSUCHPATH;
+         goto done;
+     }
+ 
      code = cm_NameI(cm_data.rootSCachep, cpath,
                      CM_FLAG_CASEFOLD | CM_FLAG_FOLLOW,
                      cm_rootUserp, cshare, &req, &scp);
***************
*** 385,390 ****
--- 392,404 ----
      cpath = cm_FsStringToClientStringAlloc(path, -1, NULL);
      cshare = cm_FsStringToClientStringAlloc(share, -1, NULL);
  
+     if (cpath == NULL || cshare == NULL) {
+         osi_Log1(afsd_logp, "Can't convert %s string. Aborting",
+                  (cpath == NULL)? "path" : "share");
+         code = CM_ERROR_NOSUCHPATH;
+         goto done;
+     }
+ 
      code = cm_NameI(cm_data.rootSCachep, cpath, CM_FLAG_CASEFOLD | CM_FLAG_FOLLOW, 
                      cm_rootUserp, cshare, &req, &scp);
      if (code)
Index: openafs/src/WINNT/afsd/cm_volume.c
diff -c openafs/src/WINNT/afsd/cm_volume.c:1.14.4.55 openafs/src/WINNT/afsd/cm_volume.c:1.14.4.57
*** openafs/src/WINNT/afsd/cm_volume.c:1.14.4.55	Wed Sep 24 18:42:55 2008
--- openafs/src/WINNT/afsd/cm_volume.c	Fri Nov  7 16:00:54 2008
***************
*** 750,756 ****
      /* otherwise, we didn't find it so consult the VLDB */
      sprintf(volNameString, "%u", volumeID);
      code = cm_FindVolumeByName(cellp, volNameString, userp, reqp,
! 			      flags, outVolpp);
      return code;
  }
  
--- 750,766 ----
      /* otherwise, we didn't find it so consult the VLDB */
      sprintf(volNameString, "%u", volumeID);
      code = cm_FindVolumeByName(cellp, volNameString, userp, reqp,
! 			      flags | CM_GETVOL_FLAG_IGNORE_LINKED_CELL, outVolpp);
! 
!     if (code == CM_ERROR_NOSUCHVOLUME && cellp->linkedName[0] && 
!         !(flags & CM_GETVOL_FLAG_IGNORE_LINKED_CELL)) {
!         cm_cell_t *linkedCellp = cm_GetCell(cellp->linkedName, flags);
! 
!         if (linkedCellp)
!             code = cm_FindVolumeByID(linkedCellp, volumeID, userp, reqp, 
!                                      flags | CM_GETVOL_FLAG_IGNORE_LINKED_CELL, 
!                                      outVolpp);
!     }
      return code;
  }
  
***************
*** 920,925 ****
--- 930,945 ----
          cm_PutVolume(volp);
          lock_ReleaseRead(&cm_volumeLock);
      }
+ 
+     if (code == CM_ERROR_NOSUCHVOLUME && cellp->linkedName[0] && 
+         !(flags & CM_GETVOL_FLAG_IGNORE_LINKED_CELL)) {
+         cm_cell_t *linkedCellp = cm_GetCell(cellp->linkedName, flags);
+ 
+         if (linkedCellp)
+             code = cm_FindVolumeByName(linkedCellp, volumeNamep, userp, reqp, 
+                                        flags | CM_GETVOL_FLAG_IGNORE_LINKED_CELL, 
+                                        outVolpp);
+     }
      return code;
  }	
  
Index: openafs/src/WINNT/afsd/cm_volume.h
diff -c openafs/src/WINNT/afsd/cm_volume.h:1.5.6.16 openafs/src/WINNT/afsd/cm_volume.h:1.5.6.17
*** openafs/src/WINNT/afsd/cm_volume.h:1.5.6.16	Wed Sep 24 18:42:55 2008
--- openafs/src/WINNT/afsd/cm_volume.h	Mon Nov  3 14:56:07 2008
***************
*** 69,74 ****
--- 69,75 ----
  #define CM_GETVOL_FLAG_CREATE               1
  #define CM_GETVOL_FLAG_NO_LRU_UPDATE        2
  #define CM_GETVOL_FLAG_NO_RESET		    4
+ #define CM_GETVOL_FLAG_IGNORE_LINKED_CELL   8
  
  /* hash define.  Must not include the cell, since the callback revocation code
   * doesn't necessarily know the cell in the case of a multihomed server
Index: openafs/src/WINNT/afsd/fs.c
diff -c openafs/src/WINNT/afsd/fs.c:1.32.4.25 openafs/src/WINNT/afsd/fs.c:1.32.4.26
*** openafs/src/WINNT/afsd/fs.c:1.32.4.25	Tue Sep  2 17:25:55 2008
--- openafs/src/WINNT/afsd/fs.c	Mon Nov  3 14:56:07 2008
***************
*** 2027,2032 ****
--- 2027,2034 ----
      struct ViceIoctl blob;
      char * parent;
  
+     memset(&info, 0, sizeof(info));
+ 
      if (as->parms[2].items)	/* cell name specified */
  	cellName = as->parms[2].items->data;
      else
***************
*** 2145,2150 ****
--- 2147,2156 ----
  #else /* not WIN32 */
      code = symlink(space, path);
  #endif /* not WIN32 */
+ 
+     if (info.linkedCell)
+         free(info.linkedCell);
+ 
      if (code) {
  	Die(errno, path);
  	return 1;
***************
*** 2245,2250 ****
--- 2251,2257 ----
      struct afsconf_cell info;
      struct chservinfo checkserv;
  
+     memset(&info, 0, sizeof(info));
      memset(&checkserv, 0, sizeof(struct chservinfo));
      blob.in_size=sizeof(struct chservinfo);
      blob.in=(caddr_t)&checkserv;
***************
*** 2271,2276 ****
--- 2278,2285 ----
  	}
  	strcpy(checkserv.tbuffer,info.name);
  	checkserv.tsize=(int)strlen(info.name)+1;
+         if (info.linkedCell)
+             free(info.linkedCell);
      } else {
          strcpy(checkserv.tbuffer,"\0");
          checkserv.tsize=0;
***************
*** 3077,3082 ****
--- 3086,3092 ----
      } args;
      int error = 0;
  
+     memset(&info, 0, sizeof(info));
      memset(&args, 0, sizeof(args));      /* avoid Purify UMR error */
      for(ti=as->parms[0].items; ti; ti=ti->next) {
  	/* once per cell */
***************
*** 3087,3092 ****
--- 3097,3104 ----
              error = 1;
  	    continue;
  	}
+         if (info.linkedCell)
+             free(info.linkedCell);
  	blob.in_size = 1+(long)strlen(info.name);
  	blob.in = info.name;
  	code = pioctl_utf8(0, VIOC_GETCELLSTATUS, &blob, 1);
***************
*** 3127,3132 ****
--- 3139,3146 ----
      } args;
      int error = 0;
  
+     memset(&info, 0, sizeof(info));
+ 
      /* Check arguments. */
      if (as->parms[1].items && as->parms[2].items) {
          fprintf(stderr, "Cannot specify both -suid and -nosuid.\n");
***************
*** 3160,3165 ****
--- 3174,3181 ----
              error = 1;
  	    continue;
  	}
+         if (info.linkedCell)
+             free(info.linkedCell);
  	strcpy(args.cname, info.name);
  	blob.in_size = sizeof(args);
  	blob.in = (caddr_t) &args;
Index: openafs/src/WINNT/afsd/libafsconf.def
diff -c openafs/src/WINNT/afsd/libafsconf.def:1.4.6.1 openafs/src/WINNT/afsd/libafsconf.def:1.4.6.2
*** openafs/src/WINNT/afsd/libafsconf.def:1.4.6.1	Fri Feb  1 16:39:41 2008
--- openafs/src/WINNT/afsd/libafsconf.def	Mon Nov  3 14:56:07 2008
***************
*** 24,26 ****
--- 24,27 ----
          afs_uuid_create                 @17
          afs_uuid_equal                  @18
          cm_GetCellServDB                @19
+ 	cm_SearchCellFileEx		@20
Index: openafs/src/WINNT/afsd/smb.c
diff -c openafs/src/WINNT/afsd/smb.c:1.118.2.98 openafs/src/WINNT/afsd/smb.c:1.118.2.105
*** openafs/src/WINNT/afsd/smb.c:1.118.2.98	Wed Sep  3 16:41:04 2008
--- openafs/src/WINNT/afsd/smb.c	Tue Oct 21 21:25:38 2008
***************
*** 236,278 ****
  {
      const char * s;
      switch ( code ) {
!     case 0x01: s = "llegal buffer length"; 			break; 
!     case 0x03: s = "illegal command"; 				break; 
!     case 0x05: s = "command timed out"; 			break; 
!     case 0x06: s = "message incomplete, issue another command"; break; 
!     case 0x07: s = "illegal buffer address"; 			break; 
!     case 0x08: s = "session number out of range"; 		break; 
!     case 0x09: s = "no resource available"; 			break; 
!     case 0x0a: s = "session closed"; 				break; 
!     case 0x0b: s = "command cancelled"; 			break; 
!     case 0x0d: s = "duplicate name"; 				break; 
!     case 0x0e: s = "name table full"; 				break; 
!     case 0x0f: s = "no deletions, name has active sessions"; 	break; 
!     case 0x11: s = "local session table full"; 			break; 
!     case 0x12: s = "remote session table full"; 		break; 
!     case 0x13: s = "illegal name number"; 			break; 
!     case 0x14: s = "no callname"; 				break; 
!     case 0x15: s = "cannot put * in NCB_NAME"; 			break; 
!     case 0x16: s = "name in use on remote adapter"; 		break; 
!     case 0x17: s = "name deleted"; 				break; 
!     case 0x18: s = "session ended abnormally"; 			break; 
!     case 0x19: s = "name conflict detected";	 		break; 
!     case 0x21: s = "interface busy, IRET before retrying"; 	break; 
!     case 0x22: s = "too many commands outstanding, retry later";break;
!     case 0x23: s = "ncb_lana_num field invalid"; 		break; 
!     case 0x24: s = "command completed while cancel occurring "; break; 
!     case 0x26: s = "command not valid to cancel"; 		break; 
!     case 0x30: s = "name defined by anther local process"; 	break; 
!     case 0x34: s = "environment undefined. RESET required"; 	break; 
!     case 0x35: s = "required OS resources exhausted"; 		break; 
!     case 0x36: s = "max number of applications exceeded"; 	break; 
!     case 0x37: s = "no saps available for netbios"; 		break; 
!     case 0x38: s = "requested resources are not available"; 	break; 
!     case 0x39: s = "invalid ncb address or length > segment"; 	break; 
!     case 0x3B: s = "invalid NCB DDID"; 				break; 
!     case 0x3C: s = "lock of user area failed"; 			break; 
!     case 0x3f: s = "NETBIOS not loaded"; 			break; 
!     case 0x40: s = "system error"; 				break;                 
      default:   s = "unknown error";
      }
      return s;
--- 236,278 ----
  {
      const char * s;
      switch ( code ) {
!     case 0x01: s = "NRC_BUFLEN llegal buffer length"; 			break; 
!     case 0x03: s = "NRC_ILLCMD illegal command"; 			break; 
!     case 0x05: s = "NRC_CMDTMO command timed out"; 			break; 
!     case 0x06: s = "NRC_INCOMP message incomplete, issue another command"; break; 
!     case 0x07: s = "NRC_BADDR  illegal buffer address"; 		break; 
!     case 0x08: s = "NRC_SNUMOUT session number out of range"; 		break; 
!     case 0x09: s = "NRC_NORES no resource available"; 			break; 
!     case 0x0a: s = "NRC_SCLOSED asession closed"; 			break; 
!     case 0x0b: s = "NRC_CMDCAN command cancelled"; 			break; 
!     case 0x0d: s = "NRC_DUPNAME duplicate name"; 			break; 
!     case 0x0e: s = "NRC_NAMTFUL name table full"; 			break; 
!     case 0x0f: s = "NRC_ACTSES no deletions, name has active sessions"; break; 
!     case 0x11: s = "NRC_LOCTFUL local session table full"; 		break; 
!     case 0x12: s = "NRC_REMTFUL remote session table full"; 		break; 
!     case 0x13: s = "NRC_ILLNN illegal name number"; 			break; 
!     case 0x14: s = "NRC_NOCALL no callname"; 				break; 
!     case 0x15: s = "NRC_NOWILD cannot put * in NCB_NAME"; 		break; 
!     case 0x16: s = "NRC_INUSE name in use on remote adapter"; 		break; 
!     case 0x17: s = "NRC_NAMERR name deleted"; 				break; 
!     case 0x18: s = "NRC_SABORT session ended abnormally"; 		break; 
!     case 0x19: s = "NRC_NAMCONF name conflict detected";	 	break; 
!     case 0x21: s = "NRC_IFBUSY interface busy, IRET before retrying"; 	break; 
!     case 0x22: s = "NRC_TOOMANY too many commands outstanding, retry later";break;
!     case 0x23: s = "NRC_BRIDGE ncb_lana_num field invalid"; 		break; 
!     case 0x24: s = "NRC_CANOCCR command completed while cancel occurring "; break; 
!     case 0x26: s = "NRC_CANCEL command not valid to cancel"; 		break; 
!     case 0x30: s = "NRC_DUPENV name defined by anther local process"; 	break; 
!     case 0x34: s = "NRC_ENVNOTDEF xenvironment undefined. RESET required"; 	break; 
!     case 0x35: s = "NRC_OSRESNOTAV required OS resources exhausted"; 	break; 
!     case 0x36: s = "NRC_MAXAPPS max number of applications exceeded"; 	break; 
!     case 0x37: s = "NRC_NOSAPS no saps available for netbios"; 		break; 
!     case 0x38: s = "NRC_NORESOURCES requested resources are not available"; 	break; 
!     case 0x39: s = "NRC_INVADDRESS invalid ncb address or length > segment"; 	break; 
!     case 0x3B: s = "NRC_INVDDID invalid NCB DDID"; 			break; 
!     case 0x3C: s = "NRC_LOCKFAILlock of user area failed"; 		break; 
!     case 0x3f: s = "NRC_OPENERR NETBIOS not loaded"; 			break; 
!     case 0x40: s = "NRC_SYSTEM system error"; 				break;                 
      default:   s = "unknown error";
      }
      return s;
***************
*** 1763,1776 ****
      smb_findShare_rock_t * vrock = (smb_findShare_rock_t *) rockp;
      normchar_t normName[MAX_PATH];
  
!     cm_FsStringToNormString(dep->name, -1, normName, sizeof(normName)/sizeof(normName[0]));
  
      if (!cm_ClientStrCmpNI(normName, vrock->shareName, 12)) {
          if(!cm_ClientStrCmpI(normName, vrock->shareName))
              matchType = SMB_FINDSHARE_EXACT_MATCH;
          else
              matchType = SMB_FINDSHARE_PARTIAL_MATCH;
!         if(vrock->match) free(vrock->match);
          vrock->match = cm_FsStringToClientStringAlloc(dep->name, -1, NULL);
          vrock->matchType = matchType;
  
--- 1763,1781 ----
      smb_findShare_rock_t * vrock = (smb_findShare_rock_t *) rockp;
      normchar_t normName[MAX_PATH];
  
!     if (cm_FsStringToNormString(dep->name, -1, normName, sizeof(normName)/sizeof(normName[0])) == 0) {
!         osi_Log1(smb_logp, "Skipping entry [%s]. Can't normalize FS string",
!                  osi_LogSaveString(smb_logp, dep->name));
!         return 0;
!     }
  
      if (!cm_ClientStrCmpNI(normName, vrock->shareName, 12)) {
          if(!cm_ClientStrCmpI(normName, vrock->shareName))
              matchType = SMB_FINDSHARE_EXACT_MATCH;
          else
              matchType = SMB_FINDSHARE_PARTIAL_MATCH;
!         if(vrock->match) 
!             free(vrock->match);
          vrock->match = cm_FsStringToClientStringAlloc(dep->name, -1, NULL);
          vrock->matchType = matchType;
  
***************
*** 1956,1961 ****
--- 1961,1968 ----
          thyper.LowPart = 0;
  
          vrock.shareName = cm_ClientStringToNormStringAlloc(shareName, -1, NULL);
+         if (vrock.shareName == NULL) 
+             return 0;
          vrock.match = NULL;
          vrock.matchType = 0;
  
***************
*** 1996,2008 ****
          if (code == 0) {
              clientchar_t temp[1024];
  
!             cm_FsStringToClientString(ftemp, -1, temp, 1024);
              cm_ClientStrPrintfN(pathName, (int)lengthof(pathName),
                                  rw ? _C("/.%S/") : _C("/%S/"), temp);
              *pathNamep = cm_ClientStrDup(cm_ClientStrLwr(pathName));
              return 1;
          }
      }
      /* failure */
      *pathNamep = NULL;
      return 0;
--- 2003,2016 ----
          if (code == 0) {
              clientchar_t temp[1024];
  
!             if (cm_FsStringToClientString(ftemp, -1, temp, 1024) != 0) {
              cm_ClientStrPrintfN(pathName, (int)lengthof(pathName),
                                  rw ? _C("/.%S/") : _C("/%S/"), temp);
              *pathNamep = cm_ClientStrDup(cm_ClientStrLwr(pathName));
              return 1;
          }
      }
+     }
      /* failure */
      *pathNamep = NULL;
      return 0;
***************
*** 3752,3765 ****
  	    osi_panic("afsd: invalid smb_vc_t detected in smb_allVCsp", 
  		       __FILE__, __LINE__);
  
  	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 */;
--- 3760,3783 ----
  	    osi_panic("afsd: invalid smb_vc_t detected in smb_allVCsp", 
  		       __FILE__, __LINE__);
  
+         /* on the first pass hold 'vcp' which was not held as 'nextp' */
+         if (vcp != nextp)
+             smb_HoldVCNoLock(vcp);
+ 
+         /* 
+          * obtain a reference to 'nextp' now because we drop the
+          * smb_rctLock later and the list contents could change 
+          * or 'vcp' could be destroyed when released.
+          */
  	nextp = vcp->nextp;
+ 	if (nextp)
+ 	    smb_HoldVCNoLock(nextp);
  
! 	if (vcp->flags & SMB_VCFLAG_ALREADYDEAD) {
!             smb_ReleaseVCNoLock(vcp);
  	    continue;
+         }
  
  	smb_FormatResponsePacket(vcp, NULL, outp);
          smbp = (smb_t *)outp;
  	outp->inCom = smbp->com = 0x2b /* Echo */;
***************
*** 3778,3785 ****
  
  	lock_ObtainWrite(&smb_rctLock);
  	smb_ReleaseVCNoLock(vcp);
- 	if (nextp)
- 	    smb_ReleaseVCNoLock(nextp);
      }
      lock_ReleaseWrite(&smb_rctLock);
      smb_FreePacket(outp);
--- 3796,3801 ----
***************
*** 4372,4388 ****
              switch (scp->fileType) {
              case CM_SCACHETYPE_DIRECTORY:
              case CM_SCACHETYPE_MOUNTPOINT:
-             case CM_SCACHETYPE_SYMLINK:
              case CM_SCACHETYPE_INVALID:
                  attr = SMB_ATTR_DIRECTORY;
                  break;
              default:
                  /* if we get here we either have a normal file
                  * or we have a file for which we have never 
                  * received status info.  In this case, we can
                  * check the even/odd value of the entry's vnode.
!                 * even means it is to be treated as a directory
!                 * and odd means it is to be treated as a file.
                  */
                  if (mustFake && (scp->fid.vnode & 0x1))
                      attr = SMB_ATTR_DIRECTORY;
--- 4388,4409 ----
              switch (scp->fileType) {
              case CM_SCACHETYPE_DIRECTORY:
              case CM_SCACHETYPE_MOUNTPOINT:
              case CM_SCACHETYPE_INVALID:
                  attr = SMB_ATTR_DIRECTORY;
                  break;
+             case CM_SCACHETYPE_SYMLINK:
+                 if (cm_TargetPerceivedAsDirectory(scp->mountPointStringp))
+                     attr = SMB_ATTR_DIRECTORY;
+                 else
+                     attr = SMB_ATTR_NORMAL;
+                 break;
              default:
                  /* if we get here we either have a normal file
                  * or we have a file for which we have never 
                  * received status info.  In this case, we can
                  * check the even/odd value of the entry's vnode.
!                 * odd means it is to be treated as a directory
!                 * and even means it is to be treated as a file.
                  */
                  if (mustFake && (scp->fid.vnode & 0x1))
                      attr = SMB_ATTR_DIRECTORY;
***************
*** 4673,4679 ****
      code = 0;
      returnedNames = 0;
      while (1) {
!         clientchar_t *actualName;
          clientchar_t shortName[13];
          clientchar_t *shortNameEnd;
  
--- 4694,4701 ----
      code = 0;
      returnedNames = 0;
      while (1) {
!         clientchar_t *actualName = NULL;
!         int           free_actualName = 0;
          clientchar_t shortName[13];
          clientchar_t *shortNameEnd;
  
***************
*** 4818,4826 ****
          /* Compute 8.3 name if necessary */
          actualName = cm_FsStringToClientStringAlloc(dep->name, -1, NULL);
          if (dep->fid.vnode != 0 && !cm_Is8Dot3(actualName)) {
!             free(actualName);
              cm_Gen8Dot3NameInt(dep->name, &dep->fid, shortName, &shortNameEnd);
              actualName = shortName;
          }
  
          osi_Log3(smb_logp, "SMB search dir vn %d name %s (%S)",
--- 4840,4859 ----
          /* Compute 8.3 name if necessary */
          actualName = cm_FsStringToClientStringAlloc(dep->name, -1, NULL);
          if (dep->fid.vnode != 0 && !cm_Is8Dot3(actualName)) {
!             if (actualName)
!                 free(actualName);
              cm_Gen8Dot3NameInt(dep->name, &dep->fid, shortName, &shortNameEnd);
              actualName = shortName;
+             free_actualName = 0;
+         } else {
+             free_actualName = 1;
+         }
+ 
+         if (actualName == NULL) {
+             /* Couldn't convert the name for some reason */
+             osi_Log1(smb_logp, "SMB search dir skipping entry :[%s]",
+                      osi_LogSaveString(smb_logp, dep->name));
+             goto nextEntry;
          }
  
          osi_Log3(smb_logp, "SMB search dir vn %d name %s (%S)",
***************
*** 4921,4926 ****
--- 4954,4964 ----
          }	/* if we're including this name */
  
        nextEntry:
+         if (free_actualName && actualName) {
+             free(actualName);
+             actualName = NULL;
+         }
+ 
          /* and adjust curOffset to be where the new cookie is */
          thyper.HighPart = 0;
          thyper.LowPart = CM_DIR_CHUNKSIZE * numDirChunks;
***************
*** 5307,5327 ****
  
      cm_SyncOpDone(newScp, NULL, CM_SCACHESYNC_NEEDCALLBACK | CM_SCACHESYNC_GETSTATUS);
  
- #ifdef undef
-     /* use smb_Attributes instead.   Also the fact that a file is 
-      * in a readonly volume doesn't mean it shojuld be marked as RO 
-      */
-     if (newScp->fileType == CM_SCACHETYPE_DIRECTORY ||
-         newScp->fileType == CM_SCACHETYPE_MOUNTPOINT ||
- 	newScp->fileType == CM_SCACHETYPE_INVALID)
-         attrs = SMB_ATTR_DIRECTORY;
-     else
-         attrs = 0;
-     if ((newScp->unixModeBits & 0222) == 0 || (newScp->flags & CM_SCACHEFLAG_RO))
-         attrs |= SMB_ATTR_READONLY;	/* turn on read-only flag */
- #else
      attrs = smb_Attributes(newScp);
- #endif
  
      smb_SetSMBParm(outp, 0, attrs);
          
--- 5345,5351 ----
***************
*** 5398,5403 ****
--- 5422,5442 ----
      }
  #endif
  
+     if (!cm_IsValidClientString(pathp)) {
+ #ifdef DEBUG
+         clientchar_t * hexp;
+ 
+         hexp = cm_GetRawCharsAlloc(pathp, -1);
+         osi_Log1(smb_logp, "CoreOpen rejecting invalid name. [%S]",
+                  osi_LogSaveClientString(smb_logp, hexp));
+         if (hexp)
+             free(hexp);
+ #else
+         osi_Log0(smb_logp, "CoreOpen rejecting invalid name");
+ #endif
+         return CM_ERROR_BADNTFILENAME;
+     }
+ 
      share = smb_GetSMBParm(inp, 0);
      attribute = smb_GetSMBParm(inp, 1);
  
***************
*** 5539,5545 ****
      if (!(rockp->vcp->flags & SMB_VCFLAG_USEV3))
          caseFold |= CM_FLAG_8DOT3;
  
!     cm_FsStringToNormString(dep->name, -1, matchName, lengthof(matchName));
      match = cm_MatchMask(matchName, rockp->maskp, caseFold);
      if (!match &&
          (rockp->flags & SMB_MASKFLAG_TILDE) &&
--- 5578,5590 ----
      if (!(rockp->vcp->flags & SMB_VCFLAG_USEV3))
          caseFold |= CM_FLAG_8DOT3;
  
!     if (cm_FsStringToNormString(dep->name, -1, matchName, lengthof(matchName)) == 0) {
!         /* Can't convert name */
!         osi_Log1(smb_logp, "Skipping entry [%s]. Can't normalize FS string.",
!                  osi_LogSaveString(smb_logp, dep->name));
!         return 0;
!     }
! 
      match = cm_MatchMask(matchName, rockp->maskp, caseFold);
      if (!match &&
          (rockp->flags & SMB_MASKFLAG_TILDE) &&
***************
*** 5585,5590 ****
--- 5630,5636 ----
      cm_req_t req;
  
      smb_InitReq(&req);
+     memset(&rock, 0, sizeof(rock));
  
      attribute = smb_GetSMBParm(inp, 0);
          
***************
*** 5633,5638 ****
--- 5679,5688 ----
  
      rock.any = 0;
      rock.maskp = cm_ClientStringToNormStringAlloc(smb_FindMask(pathp), -1, NULL);
+     if (!rock.maskp) {
+         code = CM_ERROR_NOSUCHFILE;
+         goto done;
+     }
      rock.flags = ((cm_ClientStrChr(rock.maskp, '~') != NULL) ? SMB_MASKFLAG_TILDE : 0);
  
      thyper.LowPart = 0;
***************
*** 5673,5678 ****
--- 5723,5730 ----
              osi_Log1(smb_logp, "Unlinking %s",
                       osi_LogSaveString(smb_logp, entry->name));
  
+             /* We assume this works because entry->name was
+                successfully converted in smb_UnlinkProc() once. */
              cm_FsStringToNormString(entry->name, -1,
                                      normalizedName, lengthof(normalizedName));
  
***************
*** 5687,5696 ****
--- 5739,5752 ----
  
      cm_DirEntryListFree(&rock.matches);
  
+   done:
+     if (userp)
      cm_ReleaseUser(userp);
          
+     if (dscp)
      cm_ReleaseSCache(dscp);
  
+     if (rock.maskp)
      free(rock.maskp);
  
      if (code == 0 && !rock.any)
***************
*** 5722,5728 ****
  
      rockp = (smb_renameRock_t *) vrockp;
  
!     cm_FsStringToNormString(dep->name, -1, matchName, lengthof(matchName));
      caseFold = ((rockp->flags & SMB_MASKFLAG_CASEFOLD)? CM_FLAG_CASEFOLD : 0);
      if (!(rockp->vcp->flags & SMB_VCFLAG_USEV3))
          caseFold |= CM_FLAG_8DOT3;
--- 5778,5790 ----
  
      rockp = (smb_renameRock_t *) vrockp;
  
!     if (cm_FsStringToNormString(dep->name, -1, matchName, lengthof(matchName)) == 0) {
!         /* Can't convert string */
!         osi_Log1(smb_logp, "Skpping entry [%s]. Can't normalize FS string",
!                  osi_LogSaveString(smb_logp, dep->name));
!         return 0;
!     }
! 
      caseFold = ((rockp->flags & SMB_MASKFLAG_CASEFOLD)? CM_FLAG_CASEFOLD : 0);
      if (!(rockp->vcp->flags & SMB_VCFLAG_USEV3))
          caseFold |= CM_FLAG_8DOT3;
***************
*** 5776,5781 ****
--- 5838,5845 ----
      }
  
      smb_InitReq(&req);
+     memset(&rock, 0, sizeof(rock));
+ 
      spacep = inp->spacep;
      smb_StripLastComponent(spacep->wdata, &oldLastNamep, oldPathp);
  
***************
*** 5841,5859 ****
  
      /* TODO: The old name could be a wildcard.  The new name must not be */
  
-     /* do the vnode call */
-     rock.odscp = oldDscp;
-     rock.ndscp = newDscp;
-     rock.userp = userp;
-     rock.reqp = &req;
-     rock.vcp = vcp;
-     rock.maskp = cm_ClientStringToNormStringAlloc(oldLastNamep, -1, NULL);
-     rock.flags = ((cm_ClientStrChr(oldLastNamep, '~') != NULL) ? SMB_MASKFLAG_TILDE : 0);
-     rock.newNamep = newLastNamep;
-     rock.fsOldName[0] = '\0';
-     rock.clOldName[0] = '\0';
-     rock.any = 0;
- 
      /* Check if the file already exists; if so return error */
      code = cm_Lookup(newDscp,newLastNamep,CM_FLAG_CHECKPATH,userp,&req,&tmpscp);
      if ((code != CM_ERROR_NOSUCHFILE) && (code != CM_ERROR_BPLUS_NOMATCH) && 
--- 5905,5910 ----
***************
*** 5887,5901 ****
  
          if (tmpscp != NULL)
              cm_ReleaseSCache(tmpscp);
-         cm_ReleaseSCache(newDscp);
-         cm_ReleaseSCache(oldDscp);
-         cm_ReleaseUser(userp);
  
!         free(rock.maskp);
!         rock.maskp = NULL;
!         return code; 
      }
  
      /* Now search the directory for the pattern, and do the appropriate rename when found */
      thyper.LowPart = 0;		/* search dir from here */
      thyper.HighPart = 0;
--- 5938,5964 ----
  
          if (tmpscp != NULL)
              cm_ReleaseSCache(tmpscp);
  
!         goto done;
      }
  
+     /* do the vnode call */
+     rock.odscp = oldDscp;
+     rock.ndscp = newDscp;
+     rock.userp = userp;
+     rock.reqp = &req;
+     rock.vcp = vcp;
+     rock.maskp = cm_ClientStringToNormStringAlloc(oldLastNamep, -1, NULL);
+     if (!rock.maskp) {
+         code = CM_ERROR_NOSUCHFILE;
+         goto done;
+     }
+     rock.flags = ((cm_ClientStrChr(oldLastNamep, '~') != NULL) ? SMB_MASKFLAG_TILDE : 0);
+     rock.newNamep = newLastNamep;
+     rock.fsOldName[0] = '\0';
+     rock.clOldName[0] = '\0';
+     rock.any = 0;
+ 
      /* Now search the directory for the pattern, and do the appropriate rename when found */
      thyper.LowPart = 0;		/* search dir from here */
      thyper.HighPart = 0;
***************
*** 5947,5960 ****
          }
      }
  
      if (tmpscp != NULL) 
          cm_ReleaseSCache(tmpscp);
      cm_ReleaseUser(userp);
      cm_ReleaseSCache(oldDscp);
      cm_ReleaseSCache(newDscp);
! 
      free(rock.maskp);
-     rock.maskp = NULL;
  
      return code;
  }       
--- 6010,6026 ----
          }
      }
  
+   done:
      if (tmpscp != NULL) 
          cm_ReleaseSCache(tmpscp);
+     if (userp)
      cm_ReleaseUser(userp);
+     if (oldDscp)
      cm_ReleaseSCache(oldDscp);
+     if (newDscp)
      cm_ReleaseSCache(newDscp);
!     if (rock.maskp)
      free(rock.maskp);
  
      return code;
  }       
***************
*** 6132,6137 ****
--- 6198,6218 ----
               osi_LogSaveClientString(smb_logp, oldPathp),
               osi_LogSaveClientString(smb_logp, newPathp));
  
+     if (!cm_IsValidClientString(newPathp)) {
+ #ifdef DEBUG
+         clientchar_t * hexp;
+ 
+         hexp = cm_GetRawCharsAlloc(newPathp, -1);
+         osi_Log1(smb_logp, "CoreRename rejecting invalid name. [%S]",
+                  osi_LogSaveClientString(smb_logp, hexp));
+         if (hexp)
+             free(hexp);
+ #else
+         osi_Log0(smb_logp, "CoreRename rejecting invalid name");
+ #endif
+         return CM_ERROR_BADNTFILENAME;
+     }
+ 
      code = smb_Rename(vcp,inp,oldPathp,newPathp,0);
  
      osi_Log1(smb_logp, "smb rename returns 0x%x", code);
***************
*** 6159,6165 ****
          
      rockp = (smb_rmdirRock_t *) vrockp;
  
!     cm_FsStringToNormString(dep->name, -1, matchName, lengthof(matchName));
      if (rockp->flags & SMB_MASKFLAG_CASEFOLD)
          match = (cm_ClientStrCmpI(matchName, rockp->maskp) == 0);
      else
--- 6240,6251 ----
          
      rockp = (smb_rmdirRock_t *) vrockp;
  
!     if (cm_FsStringToNormString(dep->name, -1, matchName, lengthof(matchName)) == 0) {
!         osi_Log1(smb_logp, "Skipping entry [%s]. Can't normalize FS string",
!                  osi_LogSaveString(smb_logp, dep->name));
!         return 0;
!     }
! 
      if (rockp->flags & SMB_MASKFLAG_CASEFOLD)
          match = (cm_ClientStrCmpI(matchName, rockp->maskp) == 0);
      else
***************
*** 6196,6201 ****
--- 6282,6288 ----
      cm_req_t req;
  
      smb_InitReq(&req);
+     memset(&rock, 0, sizeof(rock));
  
      tp = smb_GetSMBData(inp, NULL);
      pathp = smb_ParseASCIIBlock(inp, tp, &tp, SMB_STRF_ANSIPATH);
***************
*** 6240,6245 ****
--- 6327,6336 ----
  	
      rock.any = 0;
      rock.maskp = cm_ClientStringToNormStringAlloc(lastNamep, -1, NULL);
+     if (!rock.maskp) {
+         code = CM_ERROR_NOSUCHFILE;
+         goto done;
+     }
      rock.flags = ((cm_ClientStrChr(rock.maskp, '~') != NULL) ? SMB_MASKFLAG_TILDE : 0);
  
      thyper.LowPart = 0;
***************
*** 6264,6269 ****
--- 6355,6362 ----
          for (entry = rock.matches; code == 0 && entry; entry = entry->nextp) {
              clientchar_t clientName[MAX_PATH];
  
+             /* We assume this will succeed because smb_RmdirProc()
+                successfully converted entry->name once above. */
              cm_FsStringToClientString(entry->name, -1, clientName, lengthof(clientName));
  
              osi_Log1(smb_logp, "Removing directory %s",
***************
*** 6278,6294 ****
          }
      }
  
      cm_DirEntryListFree(&rock.matches);
  
      cm_ReleaseUser(userp);
          
      cm_ReleaseSCache(dscp);
  
      if (code == 0 && !rock.any)
          code = CM_ERROR_NOSUCHFILE;        
  
      free(rock.maskp);
-     rock.maskp = NULL;
  
      return code;
  }
--- 6371,6391 ----
          }
      }
  
+   done:
+     if (rock.matches)
      cm_DirEntryListFree(&rock.matches);
  
+     if (userp)
      cm_ReleaseUser(userp);
          
+     if (dscp)
      cm_ReleaseSCache(dscp);
  
      if (code == 0 && !rock.any)
          code = CM_ERROR_NOSUCHFILE;        
  
+     if (rock.maskp)
      free(rock.maskp);
  
      return code;
  }
***************
*** 6363,6369 ****
  
      vrockp = (struct smb_FullNameRock *)rockp;
  
!     cm_FsStringToNormString(dep->name, -1, matchName, lengthof(matchName));
  
      if (!cm_Is8Dot3(matchName)) {
          clientchar_t shortName[13];
--- 6460,6470 ----
  
      vrockp = (struct smb_FullNameRock *)rockp;
  
!     if (cm_FsStringToNormString(dep->name, -1, matchName, lengthof(matchName)) == 0) {
!         osi_Log1(smb_logp, "Skipping entry [%s]. Can't normalize FS string",
!                  osi_LogSaveString(smb_logp, dep->name));
!         return 0;
!     }
  
      if (!cm_Is8Dot3(matchName)) {
          clientchar_t shortName[13];
***************
*** 7707,7712 ****
--- 7808,7828 ----
      tp = smb_GetSMBData(inp, NULL);
      pathp = smb_ParseASCIIBlock(inp, tp, &tp, SMB_STRF_ANSIPATH);
  
+     if (!cm_IsValidClientString(pathp)) {
+ #ifdef DEBUG
+         clientchar_t * hexp;
+ 
+         hexp = cm_GetRawCharsAlloc(pathp, -1);
+         osi_Log1(smb_logp, "CoreCreate rejecting invalid name. [%S]",
+                  osi_LogSaveClientString(smb_logp, hexp));
+         if (hexp)
+             free(hexp);
+ #else
+         osi_Log0(smb_logp, "CoreCreate rejecting invalid name");
+ #endif
+         return CM_ERROR_BADNTFILENAME;
+     }
+ 
      spacep = inp->spacep;
      smb_StripLastComponent(spacep->wdata, &lastNamep, pathp);
  
***************
*** 8057,8062 ****
--- 8173,8211 ----
              newTime = GetTickCount();
              osi_Log2(smb_logp, "Dispatch %s duration %d ms", opName, newTime - oldTime);
  
+             /* ReceiveV3Tran2A handles its own logging */
+             if (inp->inCom != 0x32 && newTime - oldTime > 45000) {
+                 smb_user_t *uidp;
+                 smb_fid_t *fidp;
+                 clientchar_t *treepath = NULL;  /* do not free */
+                 clientchar_t *pathname = NULL;
+                 cm_fid_t afid = {0,0,0,0,0};
+ 
+                 uidp = smb_FindUID(vcp, smbp->uid, 0);
+                 smb_LookupTIDPath(vcp,((smb_t *)inp)->tid, &treepath);
+                 fidp = smb_FindFID(vcp, inp->fid, 0);
+ 
+                 if (fidp && fidp->NTopen_pathp)
+                     pathname = fidp->NTopen_pathp;
+                 else if (inp->stringsp->wdata)
+                     pathname = inp->stringsp->wdata;
+ 
+                 if (fidp && fidp->scp)
+                     afid = fidp->scp->fid;
+ 
+                 afsi_log("Request %s duration %d ms user %S tid \"%S\" path? \"%S\" afid (%d.%d.%d.%d)", 
+                           opName, newTime - oldTime,
+                           uidp ? uidp->unp->name : NULL,
+                           treepath,
+                           pathname, 
+                           afid.cell, afid.volume, afid.vnode, afid.unique);
+ 
+                 if (uidp)
+                     smb_ReleaseUID(uidp);
+                 if (fidp)
+                     smb_ReleaseFID(fidp);
+             }
+ 
              if (oldGen != sessionGen) {
  		LogEvent(EVENTLOG_WARNING_TYPE, MSG_BAD_SMB_WRONG_SESSION, 
  			 newTime - oldTime, ncbp->ncb_length);
***************
*** 8721,8726 ****
--- 8870,8877 ----
      int cnamelen = MAX_COMPUTERNAME_LENGTH+1;
      INT_PTR lana = (INT_PTR) parmp;
      char eventName[MAX_PATH];
+     int bridgeCount = 0;
+     int nowildCount = 0;
  
      sprintf(eventName,"smb_Listener_lana_%d", (unsigned char)lana);
      ListenerShutdown[lana] = thrd_CreateEvent(NULL, FALSE, FALSE, eventName);
***************
*** 8754,8762 ****
          code = Netbios(ncbp);
          if (code == NRC_NAMERR) {
              /* An smb shutdown or Vista resume must have taken place */
! 	    osi_Log2(smb_logp,
                       "NCBLISTEN lana=%d failed with NRC_NAMERR.",
!                      ncbp->ncb_lana_num, code);
  
              if (lock_TryMutex(&smb_StartedLock)) {
                  lana_list.lana[i] = LANA_INVALID;
--- 8905,8914 ----
          code = Netbios(ncbp);
          if (code == NRC_NAMERR) {
              /* An smb shutdown or Vista resume must have taken place */
! 	    osi_Log1(smb_logp,
                       "NCBLISTEN lana=%d failed with NRC_NAMERR.",
!                       ncbp->ncb_lana_num);
!             afsi_log("NCBLISTEN lana=%d failed with NRC_NAMERR.", ncbp->ncb_lana_num);
  
              if (lock_TryMutex(&smb_StartedLock)) {
                  lana_list.lana[i] = LANA_INVALID;
***************
*** 8766,8771 ****
--- 8918,8946 ----
          } else if (code == NRC_BRIDGE || code != 0) {
  	    int lanaRemaining = 0;
  
+             if (code == NRC_BRIDGE) {
+                 if (++bridgeCount <= 5) {
+                     afsi_log("NCBLISTEN lana=%d failed with NRC_BRIDGE, retrying ...", ncbp->ncb_lana_num);
+                     continue;
+                 }
+             } else if (code == NRC_NOWILD) {
+                 if (++nowildCount <= 5) {
+                     afsi_log("NCBLISTEN lana=%d failed with NRC_NOWILD, retrying ...", ncbp->ncb_lana_num);
+ 
+                     if (bridgeCount > 0) {
+                         memset(ncbp, 0, sizeof(*ncbp));
+                         ncbp->ncb_command = NCBADDNAME;
+                         ncbp->ncb_lana_num = (UCHAR)lana;
+                         /* pad out with spaces instead of null termination */
+                         len = (long)strlen(smb_localNamep);
+                         strncpy(ncbp->ncb_name, smb_localNamep, NCBNAMSZ);
+                         for (i=len; i<NCBNAMSZ; i++) ncbp->ncb_name[i] = ' ';
+                         code = Netbios(ncbp);
+                     }
+                     continue;
+                 }
+             }
+ 
              while (!lock_TryMutex(&smb_StartedLock)) {
                  if (smb_ListenerState == SMB_LISTENER_STOPPED || smbShutdownFlag == 1)
                      goto exit_thread;
***************
*** 8775,8780 ****
--- 8950,8957 ----
              osi_Log2(smb_logp,
                       "NCBLISTEN lana=%d failed with %s.  Listener thread exiting.",
                       ncbp->ncb_lana_num, ncb_error_string(code));
+             afsi_log("NCBLISTEN lana=%d failed with %s.  Listener thread exiting.",
+                      ncbp->ncb_lana_num, ncb_error_string(code));
  
  	    for (i = 0; i < lana_list.length; i++) {
  		if (lana_list.lana[i] == lana) {
***************
*** 8829,8834 ****
--- 9006,9015 ----
          }
  #endif /* 0 */
  
+         /* a successful packet received.  clear bridge error count */
+         bridgeCount = 0;
+         nowildCount = 0;
+ 
          /* check for remote conns */
          /* first get remote name and insert null terminator */
          memcpy(rname, ncbp->ncb_callname, NCBNAMSZ);
***************
*** 9064,9071 ****
          SUCCEEDED(lana_GetUncServerNameEx(NetbiosName, &lanaNum, &bGateway, 
                                            LANA_NETBIOS_NAME_FULL)) &&
          lanaNum != LANA_INVALID && smb_LANadapter != lanaNum) {
!         if ( isGateway != bGateway ||
!              strcmp(cm_NetbiosName, NetbiosName) ) {
              change = 1;
          } else {
              NCB *ncbp = smb_GetNCB();
--- 9245,9257 ----
          SUCCEEDED(lana_GetUncServerNameEx(NetbiosName, &lanaNum, &bGateway, 
                                            LANA_NETBIOS_NAME_FULL)) &&
          lanaNum != LANA_INVALID && smb_LANadapter != lanaNum) {
!         if ( isGateway != bGateway ) {
!             afsi_log("Lan Adapter Change detected (%d != %d): gateway %d != %d",
!                       smb_LANadapter, lanaNum, isGateway, bGateway);
!             change = 1;
!         } else if (strcmp(cm_NetbiosName, NetbiosName) ) {
!             afsi_log("Lan Adapter Change detected (%d != %d): name %s != %s",
!                       smb_LANadapter, lanaNum, cm_NetbiosName, NetbiosName);
              change = 1;
          } else {
              NCB *ncbp = smb_GetNCB();
***************
*** 9074,9084 ****
              ncbp->ncb_length = sizeof(temp_list);
              code = Netbios(ncbp);
              if (code == 0) {
!                 if (temp_list.length != lana_list.length)
                      change = 1;
!                 else {
                      for (i=0; i<lana_list.length; i++) {
                          if ( temp_list.lana[i] != lana_list.lana[i] ) {
                              change = 1;
                              break;
                          }
--- 9260,9274 ----
              ncbp->ncb_length = sizeof(temp_list);
              code = Netbios(ncbp);
              if (code == 0) {
!                 if (temp_list.length != lana_list.length) {
!                     afsi_log("Lan Adapter Change detected (%d != %d): lan list length changed %d != %d",
!                               smb_LANadapter, lanaNum, temp_list.length, lana_list.length);
                      change = 1;
!                 } else {
                      for (i=0; i<lana_list.length; i++) {
                          if ( temp_list.lana[i] != lana_list.lana[i] ) {
+                             afsi_log("Lan Adapter Change detected (%d != %d): lana[%d] %d != %d",
+                                       smb_LANadapter, lanaNum, i, temp_list.lana[i], lana_list.lana[i]);
                              change = 1;
                              break;
                          }
***************
*** 9090,9096 ****
      } 
  
      if (change) {
-         afsi_log("Lan Adapter Change detected");
          smb_StopListeners(1);
          smb_RestartListeners(1);
      }
--- 9280,9285 ----
***************
*** 9349,9355 ****
      memcpy(ncbp->ncb_name,smb_sharename,NCBNAMSZ);
      code = Netbios(ncbp);
            
!     afsi_log("Netbios NCBDELNAME lana=%d code=%d retcode=%d complete=%d",
  	      lana, code, ncbp->ncb_retcode, ncbp->ncb_cmd_cplt);
  
      /* and then reset the LANA; this will cause the listener threads to exit */
--- 9538,9544 ----
      memcpy(ncbp->ncb_name,smb_sharename,NCBNAMSZ);
      code = Netbios(ncbp);
            
!     afsi_log("StopListener: Netbios NCBDELNAME lana=%d code=%d retcode=%d complete=%d",
  	      lana, code, ncbp->ncb_retcode, ncbp->ncb_cmd_cplt);
  
      /* and then reset the LANA; this will cause the listener threads to exit */
***************
*** 9361,9369 ****
      if (code == 0) 
  	code = ncbp->ncb_retcode;
      if (code != 0) {
! 	afsi_log("Netbios NCBRESET lana %d error code %d", lana, code);
      } else {
! 	afsi_log("Netbios NCBRESET lana %d succeeded", lana);
      }
  
      if (wait)
--- 9550,9558 ----
      if (code == 0) 
  	code = ncbp->ncb_retcode;
      if (code != 0) {
! 	afsi_log("StopListener: Netbios NCBRESET lana %d error code %d", lana, code);
      } else {
! 	afsi_log("StopListener: Netbios NCBRESET lana %d succeeded", lana);
      }
  
      if (wait)
***************
*** 9841,9847 ****
          if (code == 0) 
              code = ncbp->ncb_retcode;
          if (code != 0) {
!             fprintf(stderr, "Netbios NCBDELNAME lana %d error code %d",
                       ncbp->ncb_lana_num, code);
          }       
          fflush(stderr);
--- 10030,10036 ----
          if (code == 0) 
              code = ncbp->ncb_retcode;
          if (code != 0) {
!             fprintf(stderr, "Shutdown: Netbios NCBDELNAME lana %d error code %d",
                       ncbp->ncb_lana_num, code);
          }       
          fflush(stderr);
Index: openafs/src/WINNT/afsd/smb3.c
diff -c openafs/src/WINNT/afsd/smb3.c:1.95.2.80 openafs/src/WINNT/afsd/smb3.c:1.95.2.83
*** openafs/src/WINNT/afsd/smb3.c:1.95.2.80	Thu Oct  2 08:14:04 2008
--- openafs/src/WINNT/afsd/smb3.c	Sun Oct 19 19:19:33 2008
***************
*** 2116,2121 ****
--- 2116,2122 ----
      int dataCount;
      int firstPacket;
      long code = 0;
+     DWORD oldTime, newTime;
  
      /* We sometimes see 0 word count.  What to do? */
      if (*inp->wctp == 0) {
***************
*** 2188,2193 ****
--- 2189,2196 ----
          osi_QRemove((osi_queue_t **) &smb_tran2AssemblyQueuep, &asp->q);
          lock_ReleaseWrite(&smb_globalLock);
  
+         oldTime = GetTickCount();
+ 
          /* now dispatch it */
          if ( asp->opcode >= 0 && asp->opcode < 20 && smb_tran2DispatchTable[asp->opcode].procp) {
              osi_Log4(smb_logp,"AFS Server - Dispatch-2 %s vcp[%p] lana[%d] lsn[%d]",myCrt_2Dispatch(asp->opcode),vcp,vcp->lana,vcp->lsn);
***************
*** 2207,2212 ****
--- 2210,2248 ----
              smb_SendTran2Error(vcp, asp, outp, code);
          }
  
+         newTime = GetTickCount();
+         if (newTime - oldTime > 45000) {
+             smb_user_t *uidp;
+             smb_fid_t *fidp;
+             clientchar_t *treepath = NULL;  /* do not free */
+             clientchar_t *pathname = NULL;
+             cm_fid_t afid = {0,0,0,0,0};
+ 
+             uidp = smb_FindUID(vcp, asp->uid, 0);
+             smb_LookupTIDPath(vcp, asp->tid, &treepath);
+             fidp = smb_FindFID(vcp, inp->fid, 0);
+ 
+             if (fidp && fidp->NTopen_pathp)
+                 pathname = fidp->NTopen_pathp;
+             else if (inp->stringsp->wdata)
+                 pathname = inp->stringsp->wdata;
+ 
+             if (fidp && fidp->scp)
+                 afid = fidp->scp->fid;
+ 
+             afsi_log("Request %s duration %d ms user %S tid \"%S\" path? \"%S\" afid (%d.%d.%d.%d)", 
+                       myCrt_2Dispatch(asp->opcode), newTime - oldTime,
+                       uidp ? uidp->unp->name : NULL,
+                       treepath,
+                       pathname, 
+                       afid.cell, afid.volume, afid.vnode, afid.unique);
+ 
+             if (uidp)
+                 smb_ReleaseUID(uidp);
+             if (fidp)
+                 smb_ReleaseFID(fidp);
+         }
+ 
          /* free the input tran 2 packet */
          smb_FreeTran2Packet(asp);
      }
***************
*** 2325,2330 ****
--- 2361,2382 ----
          return 0;
      }
  
+     if (!cm_IsValidClientString(pathp)) {
+ #ifdef DEBUG
+         clientchar_t * hexp;
+ 
+         hexp = cm_GetRawCharsAlloc(pathp, -1);
+         osi_Log1(smb_logp, "Tran2Open rejecting invalid name. [%S]",
+                  osi_LogSaveClientString(smb_logp, hexp));
+         if (hexp)
+             free(hexp);
+ #else
+         osi_Log0(smb_logp, "Tran2Open rejecting invalid name");
+ #endif
+         smb_FreeTran2Packet(outp);
+         return CM_ERROR_BADNTFILENAME;
+     }
+ 
  #ifdef DEBUG_VERBOSE
      {
          char *hexp, *asciip;
***************
*** 2764,2770 ****
  
      rockp = vrockp;
  
!     cm_FsStringToNormString(dep->name, -1, normName, sizeof(normName)/sizeof(clientchar_t));
  
      /* compare both names and vnodes, though probably just comparing vnodes
       * would be safe enough.
--- 2816,2826 ----
  
      rockp = vrockp;
  
!     if (cm_FsStringToNormString(dep->name, -1, normName, sizeof(normName)/sizeof(clientchar_t)) == 0) {
!         osi_Log1(smb_logp, "Skipping entry [%s]. Can't normalize FS string",
!                  osi_LogSaveString(smb_logp, dep->name));
!         return 0;
!     }
  
      /* compare both names and vnodes, though probably just comparing vnodes
       * would be safe enough.
***************
*** 4128,4144 ****
                  switch (scp->fileType) {
                  case CM_SCACHETYPE_DIRECTORY:
                  case CM_SCACHETYPE_MOUNTPOINT:
-                 case CM_SCACHETYPE_SYMLINK:
                  case CM_SCACHETYPE_INVALID:
                      fa->extFileAttributes = SMB_ATTR_DIRECTORY;
                      break;
                  default:
                      /* if we get here we either have a normal file
                       * or we have a file for which we have never 
                       * received status info.  In this case, we can
                       * check the even/odd value of the entry's vnode.
!                      * even means it is to be treated as a directory
!                      * and odd means it is to be treated as a file.
                       */
                      if (mustFake && (scp->fid.vnode & 0x1))
                          fa->extFileAttributes = SMB_ATTR_DIRECTORY;
--- 4184,4205 ----
                  switch (scp->fileType) {
                  case CM_SCACHETYPE_DIRECTORY:
                  case CM_SCACHETYPE_MOUNTPOINT:
                  case CM_SCACHETYPE_INVALID:
                      fa->extFileAttributes = SMB_ATTR_DIRECTORY;
                      break;
+                 case CM_SCACHETYPE_SYMLINK:
+                     if (cm_TargetPerceivedAsDirectory(scp->mountPointStringp))
+                         fa->extFileAttributes = SMB_ATTR_DIRECTORY;
+                     else
+                         fa->extFileAttributes = SMB_ATTR_NORMAL;
+                     break;
                  default:
                      /* if we get here we either have a normal file
                       * or we have a file for which we have never 
                       * received status info.  In this case, we can
                       * check the even/odd value of the entry's vnode.
!                      * odd means it is to be treated as a directory
!                      * and even means it is to be treated as a file.
                       */
                      if (mustFake && (scp->fid.vnode & 0x1))
                          fa->extFileAttributes = SMB_ATTR_DIRECTORY;
***************
*** 4163,4172 ****
                  switch (scp->fileType) {
                  case CM_SCACHETYPE_DIRECTORY:
                  case CM_SCACHETYPE_MOUNTPOINT:
-                 case CM_SCACHETYPE_SYMLINK:
                  case CM_SCACHETYPE_INVALID:
                      fa->attributes = SMB_ATTR_DIRECTORY;
                      break;
                  default:
                      /* if we get here we either have a normal file
                       * or we have a file for which we have never 
--- 4224,4238 ----
                  switch (scp->fileType) {
                  case CM_SCACHETYPE_DIRECTORY:
                  case CM_SCACHETYPE_MOUNTPOINT:
                  case CM_SCACHETYPE_INVALID:
                      fa->attributes = SMB_ATTR_DIRECTORY;
                      break;
+                 case CM_SCACHETYPE_SYMLINK:
+                     if (cm_TargetPerceivedAsDirectory(scp->mountPointStringp))
+                         fa->attributes = SMB_ATTR_DIRECTORY;
+                     else
+                         fa->attributes = SMB_ATTR_NORMAL;
+                     break;
                  default:
                      /* if we get here we either have a normal file
                       * or we have a file for which we have never 
***************
*** 4233,4239 ****
  
              /* Copy attributes */
              lattr = smb_ExtAttributes(scp);
!             if (code == CM_ERROR_NOSUCHPATH && scp->fileType == CM_SCACHETYPE_SYMLINK ||
                  code == CM_ERROR_PATH_NOT_COVERED && scp->fileType == CM_SCACHETYPE_DFSLINK) {
                  if (lattr == SMB_ATTR_NORMAL)
                      lattr = SMB_ATTR_DIRECTORY;
--- 4299,4307 ----
  
              /* Copy attributes */
              lattr = smb_ExtAttributes(scp);
!             if ((code == CM_ERROR_NOSUCHPATH && 
!                 (scp->fileType == CM_SCACHETYPE_SYMLINK && 
!                 cm_TargetPerceivedAsDirectory(scp->mountPointStringp))) ||
                  code == CM_ERROR_PATH_NOT_COVERED && scp->fileType == CM_SCACHETYPE_DFSLINK) {
                  if (lattr == SMB_ATTR_NORMAL)
                      lattr = SMB_ATTR_DIRECTORY;
***************
*** 5239,5246 ****
          if (dep->fid.vnode == 0) 
              goto nextEntry;             /* This entry is not in use */
  
!         cm_FsStringToClientString(dep->name, -1, cfileName, lengthof(cfileName));
!         cm_ClientStringToNormString(cfileName, -1, normName, lengthof(normName));
  
          /* Need 8.3 name? */
          NeedShortName = 0;
--- 5307,5319 ----
          if (dep->fid.vnode == 0) 
              goto nextEntry;             /* This entry is not in use */
  
!         if (cm_FsStringToClientString(dep->name, -1, cfileName, lengthof(cfileName)) == 0 ||
!             cm_ClientStringToNormString(cfileName, -1, normName, lengthof(normName)) == 0) {
! 
!             osi_Log1(smb_logp, "Skipping entry [%s].  Can't convert or normalize FS String",
!                      osi_LogSaveString(smb_logp, dep->name));
!             goto nextEntry;
!         }
  
          /* Need 8.3 name? */
          NeedShortName = 0;
***************
*** 5652,5657 ****
--- 5725,5745 ----
          return 0;
      }
  
+     if (!cm_IsValidClientString(pathp)) {
+ #ifdef DEBUG
+         clientchar_t * hexp;
+ 
+         hexp = cm_GetRawCharsAlloc(pathp, -1);
+         osi_Log1(smb_logp, "NTOpenX rejecting invalid name. [%S]",
+                  osi_LogSaveClientString(smb_logp, hexp));
+         if (hexp)
+             free(hexp);
+ #else
+         osi_Log0(smb_logp, "NTOpenX rejecting invalid name");
+ #endif
+         return CM_ERROR_BADNTFILENAME;
+     }
+ 
  #ifdef DEBUG_VERBOSE
      {
      	char *hexp, *asciip;
***************
*** 6810,6824 ****
          return 0;
      }
  
! #ifdef DEBUG_VERBOSE
!     {
!     	char *hexp, *asciip;
!     	asciip = (lastNamep? lastNamep : realPathp);
!     	hexp = osi_HexifyString( asciip );
!     	DEBUG_EVENT2("AFS", "NTCreateX H[%s] A[%s]", hexp, asciip);
      	free(hexp);
!     }
  #endif
  
      userp = smb_GetUserFromVCP(vcp, inp);
      if (!userp) {
--- 6898,6918 ----
          return 0;
      }
  
!     if (!cm_IsValidClientString(realPathp)) {
! #ifdef DEBUG
!         clientchar_t * hexp;
! 
!         hexp = cm_GetRawCharsAlloc(realPathp, -1);
!         osi_Log1(smb_logp, "NTCreateX rejecting invalid name. [%S]",
!                  osi_LogSaveClientString(smb_logp, hexp));
!         if (hexp)
      	free(hexp);
! #else
!         osi_Log0(smb_logp, "NTCreateX rejecting invalid name");
  #endif
+         free(realPathp);
+         return CM_ERROR_BADNTFILENAME;
+     }
  
      userp = smb_GetUserFromVCP(vcp, inp);
      if (!userp) {
***************
*** 7631,7645 ****
       * Will add it if necessary.
       */
  
! #ifdef DEBUG_VERBOSE
!     {
!         char *hexp, *asciip;
!         asciip = (lastNamep? lastNamep : realPathp);
!         hexp = osi_HexifyString( asciip );
!         DEBUG_EVENT2("AFS", "NTTranCreate H[%s] A[%s]", hexp, asciip);
          free(hexp);
!     }
  #endif
  
      userp = smb_GetUserFromVCP(vcp, inp);
      if (!userp) {
--- 7725,7745 ----
       * Will add it if necessary.
       */
  
!     if (!cm_IsValidClientString(realPathp)) {
! #ifdef DEBUG
!         clientchar_t * hexp;
! 
!         hexp = cm_GetRawCharsAlloc(realPathp, -1);
!         osi_Log1(smb_logp, "NTTranCreate rejecting invalid name. [%S]",
!                  osi_LogSaveClientString(smb_logp, hexp));
!         if (hexp)
          free(hexp);
! #else
!         osi_Log0(smb_logp, "NTTranCreate rejecting invalid name.");
  #endif
+         free(realPathp);
+         return CM_ERROR_BADNTFILENAME;
+     }
  
      userp = smb_GetUserFromVCP(vcp, inp);
      if (!userp) {
Index: openafs/src/WINNT/afsreg/afsreg.h
diff -c openafs/src/WINNT/afsreg/afsreg.h:1.6.4.2 openafs/src/WINNT/afsreg/afsreg.h:1.6.4.3
*** openafs/src/WINNT/afsreg/afsreg.h:1.6.4.2	Fri Feb  8 21:32:22 2008
--- openafs/src/WINNT/afsreg/afsreg.h	Sat Oct 18 00:09:56 2008
***************
*** 19,30 ****
  /* Do not change AFSREG_{CLT,SVR}_SW_NAME unless the installation
   * name in the installers is also changed to match
   */
! #define AFSREG_SVR_SVC_NAME  "TransarcAFSServer"
! #define AFSREG_SVR_SW_NAME   "AFS Server"
  
! #define AFSREG_CLT_SVC_NAME  "TransarcAFSDaemon"
! #define AFSREG_CLT_SW_NAME   	  "AFS Client"
! #define AFSREG_CLT_TOOLS_SW_NAME  "AFS Client 32-Bit Binaries"
  
  /* ---- NT system configuration information ---- */
  
--- 19,30 ----
  /* Do not change AFSREG_{CLT,SVR}_SW_NAME unless the installation
   * name in the installers is also changed to match
   */
! #define AFSREG_SVR_SVC_NAME  TEXT("TransarcAFSServer")
! #define AFSREG_SVR_SW_NAME   TEXT("AFS Server")
  
! #define AFSREG_CLT_SVC_NAME  TEXT("TransarcAFSDaemon")
! #define AFSREG_CLT_SW_NAME   	  TEXT("AFS Client")
! #define AFSREG_CLT_TOOLS_SW_NAME  TEXT("AFS Client 32-Bit Binaries")
  
  /* ---- NT system configuration information ---- */
  
***************
*** 43,60 ****
   */
  
  #define AFSREG_IPSRV_KEY \
! "HKEY_LOCAL_MACHINE\\System\\CurrentControlSet\\Services"
  
  /* Adapter list subkey  and subkey values */
! #define AFSREG_IPSRV_IFACELIST_SUBKEY         "Tcpip\\Linkage"
! #define AFSREG_IPSRV_IFACELIST_BIND_VALUE     "Bind"
  
  /* Per-adapter subkey and subkey values */
! #define AFSREG_IPSRV_ADAPTER_PARAM_SUBKEY          "Parameters\\Tcpip"
! #define AFSREG_IPSRV_ADAPTER_PARAM_ADDR_VALUE      "IPAddress"
! #define AFSREG_IPSRV_ADAPTER_PARAM_MASK_VALUE      "SubnetMask"
! #define AFSREG_IPSRV_ADAPTER_PARAM_DHCPADDR_VALUE  "DhcpIPAddress"
! #define AFSREG_IPSRV_ADAPTER_PARAM_DHCPMASK_VALUE  "DhcpSubnetMask"
  
  /*
   * Event logging registry keys and values of interest:
--- 43,60 ----
   */
  
  #define AFSREG_IPSRV_KEY \
! TEXT("HKEY_LOCAL_MACHINE\\System\\CurrentControlSet\\Services")
  
  /* Adapter list subkey  and subkey values */
! #define AFSREG_IPSRV_IFACELIST_SUBKEY         TEXT("Tcpip\\Linkage")
! #define AFSREG_IPSRV_IFACELIST_BIND_VALUE     TEXT("Bind")
  
  /* Per-adapter subkey and subkey values */
! #define AFSREG_IPSRV_ADAPTER_PARAM_SUBKEY          TEXT("Parameters\\Tcpip")
! #define AFSREG_IPSRV_ADAPTER_PARAM_ADDR_VALUE      TEXT("IPAddress")
! #define AFSREG_IPSRV_ADAPTER_PARAM_MASK_VALUE      TEXT("SubnetMask")
! #define AFSREG_IPSRV_ADAPTER_PARAM_DHCPADDR_VALUE  TEXT("DhcpIPAddress")
! #define AFSREG_IPSRV_ADAPTER_PARAM_DHCPMASK_VALUE  TEXT("DhcpSubnetMask")
  
  /*
   * Event logging registry keys and values of interest:
***************
*** 69,82 ****
   */
  
  #define AFSREG_APPLOG_SUBKEY \
!        "System\\CurrentControlSet\\Services\\EventLog\\Application"
! #define AFSREG_APPLOG_KEY "HKEY_LOCAL_MACHINE\\" AFSREG_APPLOG_SUBKEY
  
  /* AFS event source subkey and subkey values -- client and server services */
  #define AFSREG_SVR_APPLOG_SUBKEY         AFSREG_SVR_SW_NAME
  #define AFSREG_CLT_APPLOG_SUBKEY         AFSREG_CLT_SW_NAME
! #define AFSREG_APPLOG_MSGFILE_VALUE  "EventMessageFile"
! #define AFSREG_APPLOG_MSGTYPE_VALUE  "TypesSupported"
  
  
  
--- 69,82 ----
   */
  
  #define AFSREG_APPLOG_SUBKEY \
!     TEXT("System\\CurrentControlSet\\Services\\EventLog\\Application")
! #define AFSREG_APPLOG_KEY TEXT("HKEY_LOCAL_MACHINE\\") AFSREG_APPLOG_SUBKEY
  
  /* AFS event source subkey and subkey values -- client and server services */
  #define AFSREG_SVR_APPLOG_SUBKEY         AFSREG_SVR_SW_NAME
  #define AFSREG_CLT_APPLOG_SUBKEY         AFSREG_CLT_SW_NAME
! #define AFSREG_APPLOG_MSGFILE_VALUE  TEXT("EventMessageFile")
! #define AFSREG_APPLOG_MSGTYPE_VALUE  TEXT("TypesSupported")
  
  
  
***************
*** 93,109 ****
   */
  
  #define AFSREG_SVR_SW_SUBKEY \
!      "Software\\TransarcCorporation\\" AFSREG_SVR_SW_NAME
! #define AFSREG_SVR_SW_KEY "HKEY_LOCAL_MACHINE\\" AFSREG_SVR_SW_SUBKEY
  
! #define AFSREG_SVR_SW_VERSION_KEY  AFSREG_SVR_SW_KEY "\\CurrentVersion"
! #define AFSREG_SVR_SW_VERSION_SUBKEY  AFSREG_SVR_SW_SUBKEY "\\CurrentVersion"
  
  /* AFSREG_SVR_SW_VERSION_KEY values */
! #define AFSREG_SVR_SW_VERSION_DIR_VALUE   "PathName"
! #define AFSREG_SVR_SW_VERSION_MAJOR_VALUE    "MajorVersion"
! #define AFSREG_SVR_SW_VERSION_MINOR_VALUE    "MinorVersion"
! #define AFSREG_SVR_SW_VERSION_PATCH_VALUE    "PatchLevel"
  
  
  /* HKEY_LOCAL_MACHINE\SOFTWARE\TransarcCorporation\AFSREG_CLT_SW_NAME
--- 93,109 ----
   */
  
  #define AFSREG_SVR_SW_SUBKEY \
!     TEXT("Software\\TransarcCorporation\\") AFSREG_SVR_SW_NAME
! #define AFSREG_SVR_SW_KEY TEXT("HKEY_LOCAL_MACHINE\\") AFSREG_SVR_SW_SUBKEY
  
! #define AFSREG_SVR_SW_VERSION_KEY  AFSREG_SVR_SW_KEY TEXT("\\CurrentVersion")
! #define AFSREG_SVR_SW_VERSION_SUBKEY  AFSREG_SVR_SW_SUBKEY TEXT("\\CurrentVersion")
  
  /* AFSREG_SVR_SW_VERSION_KEY values */
! #define AFSREG_SVR_SW_VERSION_DIR_VALUE      TEXT("PathName")
! #define AFSREG_SVR_SW_VERSION_MAJOR_VALUE    TEXT("MajorVersion")
! #define AFSREG_SVR_SW_VERSION_MINOR_VALUE    TEXT("MinorVersion")
! #define AFSREG_SVR_SW_VERSION_PATCH_VALUE    TEXT("PatchLevel")
  
  
  /* HKEY_LOCAL_MACHINE\SOFTWARE\TransarcCorporation\AFSREG_CLT_SW_NAME
***************
*** 116,139 ****
   */
  
  #define AFSREG_CLT_SW_SUBKEY \
!     "Software\\TransarcCorporation\\" AFSREG_CLT_SW_NAME
! #define AFSREG_CLT_SW_KEY "HKEY_LOCAL_MACHINE\\" AFSREG_CLT_SW_SUBKEY
  
! #define AFSREG_CLT_SW_VERSION_KEY  AFSREG_CLT_SW_KEY "\\CurrentVersion"
! #define AFSREG_CLT_SW_VERSION_SUBKEY  AFSREG_CLT_SW_SUBKEY "\\CurrentVersion"
  
  #define AFSREG_CLT_TOOLS_SW_SUBKEY \
!     "Software\\TransarcCorporation\\" AFSREG_CLT_TOOLS_SW_NAME
! #define AFSREG_CLT_TOOLS_SW_KEY "HKEY_LOCAL_MACHINE\\" AFSREG_CLT_TOOLS_SW_SUBKEY
  
! #define AFSREG_CLT_TOOLS_SW_VERSION_KEY  AFSREG_CLT_TOOLS_SW_KEY "\\CurrentVersion"
! #define AFSREG_CLT_TOOLS_SW_VERSION_SUBKEY  AFSREG_CLT_TOOLS_SW_SUBKEY "\\CurrentVersion"
  
  /* AFSREG_CLT_SW_VERSION_KEY values */
! #define AFSREG_CLT_SW_VERSION_DIR_VALUE   "PathName"
! #define AFSREG_CLT_SW_VERSION_MAJOR_VALUE    "MajorVersion"
! #define AFSREG_CLT_SW_VERSION_MINOR_VALUE    "MinorVersion"
! #define AFSREG_CLT_SW_VERSION_PATCH_VALUE    "PatchLevel"
  
  
  
--- 116,139 ----
   */
  
  #define AFSREG_CLT_SW_SUBKEY \
!     TEXT("Software\\TransarcCorporation\\") AFSREG_CLT_SW_NAME
! #define AFSREG_CLT_SW_KEY TEXT("HKEY_LOCAL_MACHINE\\") AFSREG_CLT_SW_SUBKEY
  
! #define AFSREG_CLT_SW_VERSION_KEY  AFSREG_CLT_SW_KEY TEXT("\\CurrentVersion")
! #define AFSREG_CLT_SW_VERSION_SUBKEY  AFSREG_CLT_SW_SUBKEY TEXT("\\CurrentVersion")
  
  #define AFSREG_CLT_TOOLS_SW_SUBKEY \
!     TEXT("Software\\TransarcCorporation\\") AFSREG_CLT_TOOLS_SW_NAME
! #define AFSREG_CLT_TOOLS_SW_KEY TEXT("HKEY_LOCAL_MACHINE\\") AFSREG_CLT_TOOLS_SW_SUBKEY
  
! #define AFSREG_CLT_TOOLS_SW_VERSION_KEY  AFSREG_CLT_TOOLS_SW_KEY TEXT("\\CurrentVersion")
! #define AFSREG_CLT_TOOLS_SW_VERSION_SUBKEY  AFSREG_CLT_TOOLS_SW_SUBKEY TEXT("\\CurrentVersion")
  
  /* AFSREG_CLT_SW_VERSION_KEY values */
! #define AFSREG_CLT_SW_VERSION_DIR_VALUE      TEXT("PathName")
! #define AFSREG_CLT_SW_VERSION_MAJOR_VALUE    TEXT("MajorVersion")
! #define AFSREG_CLT_SW_VERSION_MINOR_VALUE    TEXT("MinorVersion")
! #define AFSREG_CLT_SW_VERSION_PATCH_VALUE    TEXT("PatchLevel")
  
  
  
***************
*** 149,164 ****
   *             DeviceName:REG_SZ:<device hosting device partition>
   */
  
! #define AFSREG_SVR_SVC_DISPLAYNAME_DATA  "OpenAFS Server"
! #define AFSREG_SVR_SVC_IMAGENAME_DATA "bosctlsvc.exe"
  
! #define AFSREG_SVR_SVC_SUBKEY "System\\CurrentControlSet\\Services\\" AFSREG_SVR_SVC_NAME
! #define AFSREG_SVR_SVC_KEY "HKEY_LOCAL_MACHINE\\" AFSREG_SVR_SVC_SUBKEY
  
! #define AFSREG_SVR_SVC_AFSTAB_KEY   AFSREG_SVR_SVC_KEY "\\Afstab"
  
  /* AFSREG_SVR_SVC_AFSTAB_KEY partition subkey values */
! #define AFSREG_SVR_SVC_AFSTAB_DEVNAME_VALUE      "DeviceName"
  
  
  /* HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\AFSREG_CLT_SVC_NAME
--- 149,164 ----
   *             DeviceName:REG_SZ:<device hosting device partition>
   */
  
! #define AFSREG_SVR_SVC_DISPLAYNAME_DATA  TEXT("OpenAFS Server")
! #define AFSREG_SVR_SVC_IMAGENAME_DATA TEXT("bosctlsvc.exe")
  
! #define AFSREG_SVR_SVC_SUBKEY TEXT("System\\CurrentControlSet\\Services\\") AFSREG_SVR_SVC_NAME
! #define AFSREG_SVR_SVC_KEY TEXT("HKEY_LOCAL_MACHINE\\") AFSREG_SVR_SVC_SUBKEY
  
! #define AFSREG_SVR_SVC_AFSTAB_KEY   AFSREG_SVR_SVC_KEY TEXT("\\Afstab")
  
  /* AFSREG_SVR_SVC_AFSTAB_KEY partition subkey values */
! #define AFSREG_SVR_SVC_AFSTAB_DEVNAME_VALUE      TEXT("DeviceName")
  
  
  /* HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\AFSREG_CLT_SVC_NAME
***************
*** 170,195 ****
   *         Cell:REG_SZ:<client cell>
   */
  
! #define AFSREG_CLT_SVC_DISPLAYNAME_DATA  "OpenAFS Client"
! #define AFSREG_CLT_SVC_IMAGENAME_DATA "afsd_service.exe"
  
! #define AFSREG_CLT_SVC_SUBKEY "System\\CurrentControlSet\\Services\\" AFSREG_CLT_SVC_NAME
! #define AFSREG_CLT_SVC_KEY "HKEY_LOCAL_MACHINE\\" AFSREG_CLT_SVC_SUBKEY
  
! #define AFSREG_CLT_SVC_PARAM_KEY   AFSREG_CLT_SVC_KEY "\\Parameters"
! #define AFSREG_CLT_SVC_PARAM_SUBKEY   AFSREG_CLT_SVC_SUBKEY "\\Parameters"
! #define AFSREG_CLT_SVC_PROVIDER_KEY AFSREG_CLT_SVC_KEY "\\NetworkProvider"
! #define AFSREG_CLT_SVC_PROVIDER_SUBKEY AFSREG_CLT_SVC_SUBKEY "\\NetworkProvider"
  
  /* AFSREG_CLT_SVC_PARAM_KEY values */
! #define AFSREG_CLT_SVC_PARAM_CELL_VALUE      "Cell"
  
! #define AFSREG_CLT_OPENAFS_SUBKEY "Software\\OpenAFS\\Client"
! #define AFSREG_CLT_OPENAFS_KEY "HKEY_LOCAL_MACHINE\\" AFSREG_CLT_OPENAFS_SUBKEY
! #define AFSREG_CLT_OPENAFS_CELLSERVDB_DIR_VALUE  "CellServDBDir"
  
! #define AFSREG_USER_OPENAFS_SUBKEY "Software\\OpenAFS\\Client"
! #define AFSREG_USER_OPENAFS_KEY "HKEY_CURRENT_USER" AFSREG_USER_OPENAFS_SUBKEY
  
  
  /* Extended (alternative) versions of registry access functions */
--- 170,195 ----
   *         Cell:REG_SZ:<client cell>
   */
  
! #define AFSREG_CLT_SVC_DISPLAYNAME_DATA  TEXT("OpenAFS Client")
! #define AFSREG_CLT_SVC_IMAGENAME_DATA TEXT("afsd_service.exe")
  
! #define AFSREG_CLT_SVC_SUBKEY TEXT("System\\CurrentControlSet\\Services\\") AFSREG_CLT_SVC_NAME
! #define AFSREG_CLT_SVC_KEY TEXT("HKEY_LOCAL_MACHINE\\") AFSREG_CLT_SVC_SUBKEY
  
! #define AFSREG_CLT_SVC_PARAM_KEY   AFSREG_CLT_SVC_KEY TEXT("\\Parameters")
! #define AFSREG_CLT_SVC_PARAM_SUBKEY   AFSREG_CLT_SVC_SUBKEY TEXT("\\Parameters")
! #define AFSREG_CLT_SVC_PROVIDER_KEY AFSREG_CLT_SVC_KEY TEXT("\\NetworkProvider")
! #define AFSREG_CLT_SVC_PROVIDER_SUBKEY AFSREG_CLT_SVC_SUBKEY TEXT("\\NetworkProvider")
  
  /* AFSREG_CLT_SVC_PARAM_KEY values */
! #define AFSREG_CLT_SVC_PARAM_CELL_VALUE      TEXT("Cell")
  
! #define AFSREG_CLT_OPENAFS_SUBKEY TEXT("Software\\OpenAFS\\Client")
! #define AFSREG_CLT_OPENAFS_KEY TEXT("HKEY_LOCAL_MACHINE\\") AFSREG_CLT_OPENAFS_SUBKEY
! #define AFSREG_CLT_OPENAFS_CELLSERVDB_DIR_VALUE  TEXT("CellServDBDir")
  
! #define AFSREG_USER_OPENAFS_SUBKEY TEXT("Software\\OpenAFS\\Client")
! #define AFSREG_USER_OPENAFS_KEY TEXT("HKEY_CURRENT_USER") AFSREG_USER_OPENAFS_SUBKEY
  
  
  /* Extended (alternative) versions of registry access functions */
Index: openafs/src/WINNT/aklog/aklog.c
diff -c openafs/src/WINNT/aklog/aklog.c:1.14.4.13 openafs/src/WINNT/aklog/aklog.c:1.14.4.14
*** openafs/src/WINNT/aklog/aklog.c:1.14.4.13	Sun Mar 30 12:21:07 2008
--- openafs/src/WINNT/aklog/aklog.c	Fri Nov  7 00:41:11 2008
***************
*** 184,191 ****
  } cellinfo_t;
  
  
- struct afsconf_cell ak_cellconfig; /* General information about the cell */
- 
  static char *progname = NULL;	/* Name of this program */
  static int dflag = FALSE;	/* Give debugging information */
  static int noprdb = FALSE;	/* Skip resolving name to id? */
--- 184,189 ----
***************
*** 562,578 ****
  }
  
  
- static char *copy_string(char *string)
- {
-     char *new_string;
- 
-     if (new_string = (char *)calloc(strlen(string) + 1, sizeof(char)))
- 	(void) strcpy(new_string, string);
- 
-     return (new_string);
- }	
- 
- 
  static int get_cellconfig(char *cell, struct afsconf_cell *cellconfig,
  						  char *local_cell)
  {
--- 560,565 ----
***************
*** 598,603 ****
--- 585,592 ----
          status = AKLOG_AFS;
      }
  
+     if (cellconfig->linkedCell)
+         cellconfig->linkedCell = strdup(cellconfig->linkedCell);
  
      CloseConf(&configdir);
  
***************
*** 669,675 ****
--- 658,666 ----
      struct ktc_principal aserver;
      struct ktc_principal aclient;
      struct ktc_token atoken, btoken;
+     struct afsconf_cell ak_cellconfig; /* General information about the cell */
      int i;
+     int getLinkedCell = 0;
  
      /* try to avoid an expensive call to get_cellconfig */
      if (cell && ll_string_check(&authedcells, cell))
***************
*** 683,701 ****
      memset(instance, 0, sizeof(instance));
      memset(realm_of_user, 0, sizeof(realm_of_user));
      memset(realm_of_cell, 0, sizeof(realm_of_cell));
  
      /* NULL or empty cell returns information on local cell */
      if (status = get_cellconfig(cell, &ak_cellconfig, local_cell))
          return(status);
  
!     strncpy(cell_to_use, ak_cellconfig.name, MAXCELLCHARS);
      cell_to_use[MAXCELLCHARS] = 0;
  
      if (ll_string_check(&authedcells, cell_to_use))
      {
          if (dflag)
              printf("Already authenticated to %s (or tried to)\n", cell_to_use);
!         return(AKLOG_SUCCESS);
      }
  
      /*
--- 674,698 ----
      memset(instance, 0, sizeof(instance));
      memset(realm_of_user, 0, sizeof(realm_of_user));
      memset(realm_of_cell, 0, sizeof(realm_of_cell));
+     memset(&ak_cellconfig, 0, sizeof(ak_cellconfig));
  
      /* NULL or empty cell returns information on local cell */
      if (status = get_cellconfig(cell, &ak_cellconfig, local_cell))
          return(status);
  
!   linkedCell:
!     if (getLinkedCell)
!         strncpy(cell_to_use, ak_cellconfig.linkedCell, MAXCELLCHARS);
!     else
!         strncpy(cell_to_use, ak_cellconfig.name, MAXCELLCHARS);
      cell_to_use[MAXCELLCHARS] = 0;
  
      if (ll_string_check(&authedcells, cell_to_use))
      {
          if (dflag)
              printf("Already authenticated to %s (or tried to)\n", cell_to_use);
!         status = AKLOG_SUCCESS;
!         goto done2;
      }
  
      /*
***************
*** 726,738 ****
          if ((status = get_v5_user_realm(context, realm_of_user)) != KSUCCESS) {
              fprintf(stderr, "%s: Couldn't determine realm of user: %d\n",
                       progname, status);
!             return(AKLOG_KERBEROS);
          }
  
          if ( strchr(name,'.') != NULL ) {
              fprintf(stderr, "%s: Can't support principal names including a dot.\n",
                      progname);
!             return(AKLOG_MISC);
          }
  
        try_v5:
--- 723,737 ----
          if ((status = get_v5_user_realm(context, realm_of_user)) != KSUCCESS) {
              fprintf(stderr, "%s: Couldn't determine realm of user: %d\n",
                       progname, status);
!             status = AKLOG_KERBEROS;
!             goto done;
          }
  
          if ( strchr(name,'.') != NULL ) {
              fprintf(stderr, "%s: Can't support principal names including a dot.\n",
                      progname);
!             status = AKLOG_MISC;
!             goto done;
          }
  
        try_v5:
***************
*** 838,844 ****
              status = get_cred(name, "", realm_of_cell, &c);
          }
  #else
!         return(AKLOG_MISC);
  #endif
      } 
  
--- 837,844 ----
              status = get_cred(name, "", realm_of_cell, &c);
          }
  #else
!         status = AKLOG_MISC;
!         goto done;
  #endif
      } 
  
***************
*** 855,861 ****
                   ""
  #endif
                   );
!         return(AKLOG_KERBEROS);
      }
  
      strncpy(aserver.name, AFSKEY, MAXKTCNAMELEN - 1);
--- 855,862 ----
                   ""
  #endif
                   );
!         status = AKLOG_KERBEROS;
!         goto done;
      }
  
      strncpy(aserver.name, AFSKEY, MAXKTCNAMELEN - 1);
***************
*** 907,913 ****
          atoken.ticketLen = c.ticket_st.length;
          memcpy(atoken.ticket, c.ticket_st.dat, atoken.ticketLen);
  #else
!         return(AKLOG_MISC);
  #endif
      }
  
--- 908,915 ----
          atoken.ticketLen = c.ticket_st.length;
          memcpy(atoken.ticket, c.ticket_st.dat, atoken.ticketLen);
  #else
!         status = AKLOG_MISC;
!         goto done;
  #endif
      }
  
***************
*** 920,926 ****
      {       
          if (dflag)
              printf("Identical tokens already exist; skipping.\n");
!         return 0;
      }
  
      if (noprdb)
--- 922,929 ----
      {       
          if (dflag)
              printf("Identical tokens already exist; skipping.\n");
!         status = AKLOG_SUCCESS;
!         goto done2;
      }
  
      if (noprdb)
***************
*** 936,945 ****
              {
                  fprintf(stderr, "%s: Couldn't determine realm of user: %s)",
                           progname, krb_err_text(status));
!                 return(AKLOG_KERBEROS);
              }
  #else
!             return(AKLOG_MISC);
  #endif
          }
  
--- 939,950 ----
              {
                  fprintf(stderr, "%s: Couldn't determine realm of user: %s)",
                           progname, krb_err_text(status));
!                 status = AKLOG_KERBEROS;
!                 goto done;
              }
  #else
!             status = AKLOG_MISC;
!             goto done;
  #endif
          }
  
***************
*** 991,996 ****
--- 996,1016 ----
          status = AKLOG_TOKEN;
      }
  
+   done2:
+     if (ak_cellconfig.linkedCell && !getLinkedCell) {
+         getLinkedCell = 1;
+         goto linkedCell;
+     }
+ 
+   done:
+ #if 0
+     /* 
+      * intentionally leak the linkedCell field because it was allocated
+      * using a different C RTL version.
+      */
+     if (ak_cellconfig.linkedCell)
+         free(ak_cellconfig.linkedCell);
+ #endif
      return(status);
  }
  
***************
*** 1448,1454 ****
              if (cur_node = ll_add_node(&paths, ll_tail))
              {
                  char *new_path;
!                 if (new_path = copy_string(path))
                      ll_add_data(cur_node, new_path);
                  else
                  {
--- 1468,1474 ----
              if (cur_node = ll_add_node(&paths, ll_tail))
              {
                  char *new_path;
!                 if (new_path = strdup(path))
                      ll_add_data(cur_node, new_path);
                  else
                  {
Index: openafs/src/WINNT/client_creds/ipaddrchg.c
diff -c openafs/src/WINNT/client_creds/ipaddrchg.c:1.4.4.2 openafs/src/WINNT/client_creds/ipaddrchg.c:1.4.4.3
*** openafs/src/WINNT/client_creds/ipaddrchg.c:1.4.4.2	Sun Sep  2 12:37:44 2007
--- openafs/src/WINNT/client_creds/ipaddrchg.c	Mon Nov  3 14:56:08 2008
***************
*** 177,183 ****
      pp.host.retry = 0;
      pp.verbose = 1;
  
!     /* WIN32: cm_SearchCellFile(cell, pcallback, pdata) */
      rc = pcm_SearchCellFile(cell, newcell, pingFS, (void *)&pp);
  }
  #endif /* USE_FSPROBE */
--- 177,183 ----
      pp.host.retry = 0;
      pp.verbose = 1;
  
!     /* WIN32: cm_SearchCellFile(cell, newcell, linkedCell, pcallback, pdata) */
      rc = pcm_SearchCellFile(cell, newcell, pingFS, (void *)&pp);
  }
  #endif /* USE_FSPROBE */
Index: openafs/src/WINNT/client_exp/gui2fs.cpp
diff -c openafs/src/WINNT/client_exp/gui2fs.cpp:1.19.4.7 openafs/src/WINNT/client_exp/gui2fs.cpp:1.19.4.8
*** openafs/src/WINNT/client_exp/gui2fs.cpp:1.19.4.7	Fri May  9 11:10:13 2008
--- openafs/src/WINNT/client_exp/gui2fs.cpp	Sat Oct 18 00:12:35 2008
***************
*** 1200,1206 ****
      DWORD dummyLen;
      DWORD enabled = 0;
  
!     code = RegOpenKeyExA(HKEY_LOCAL_MACHINE, AFSREG_CLT_SVC_PARAM_SUBKEY,
                           0, (IsWow64()?KEY_WOW64_64KEY:0)|KEY_QUERY_VALUE, &parmKey);
      if (code == ERROR_SUCCESS) {
          dummyLen = sizeof(buffer);
--- 1200,1206 ----
      DWORD dummyLen;
      DWORD enabled = 0;
  
!     code = RegOpenKeyEx(HKEY_LOCAL_MACHINE, AFSREG_CLT_SVC_PARAM_SUBKEY,
                           0, (IsWow64()?KEY_WOW64_64KEY:0)|KEY_QUERY_VALUE, &parmKey);
      if (code == ERROR_SUCCESS) {
          dummyLen = sizeof(buffer);
Index: openafs/src/WINNT/client_exp/shell_ext.cpp
diff -c openafs/src/WINNT/client_exp/shell_ext.cpp:1.12.4.5 openafs/src/WINNT/client_exp/shell_ext.cpp:1.12.4.6
*** openafs/src/WINNT/client_exp/shell_ext.cpp:1.12.4.5	Fri May  9 11:10:13 2008
--- openafs/src/WINNT/client_exp/shell_ext.cpp	Sat Oct 18 00:12:35 2008
***************
*** 76,82 ****
      m_bIsOverlayEnabled=FALSE;
      if (FAILED(hr))
  	m_pAlloc = NULL;
!     RegOpenKeyExA(HKEY_LOCAL_MACHINE, AFSREG_CLT_SVC_PARAM_SUBKEY,0, (IsWow64()?KEY_WOW64_64KEY:0)|KEY_QUERY_VALUE, &NPKey);
      LSPsize=sizeof(ShellOption);
      code=RegQueryValueEx(NPKey, _T("ShellOption"), NULL,
  			  &LSPtype, (LPBYTE)&ShellOption, &LSPsize);
--- 76,82 ----
      m_bIsOverlayEnabled=FALSE;
      if (FAILED(hr))
  	m_pAlloc = NULL;
!     RegOpenKeyEx(HKEY_LOCAL_MACHINE, AFSREG_CLT_SVC_PARAM_SUBKEY,0, (IsWow64()?KEY_WOW64_64KEY:0)|KEY_QUERY_VALUE, &NPKey);
      LSPsize=sizeof(ShellOption);
      code=RegQueryValueEx(NPKey, _T("ShellOption"), NULL,
  			  &LSPtype, (LPBYTE)&ShellOption, &LSPsize);
Index: openafs/src/WINNT/client_exp/submounts_dlg.cpp
diff -c openafs/src/WINNT/client_exp/submounts_dlg.cpp:1.5.6.2 openafs/src/WINNT/client_exp/submounts_dlg.cpp:1.5.6.3
*** openafs/src/WINNT/client_exp/submounts_dlg.cpp:1.5.6.2	Fri May  9 11:10:13 2008
--- openafs/src/WINNT/client_exp/submounts_dlg.cpp	Sat Oct 18 00:12:35 2008
***************
*** 45,54 ****
  	TCHAR pathName[1024];
  
      HKEY hkSubmounts;
!     RegCreateKeyExA( HKEY_LOCAL_MACHINE, 
!                     AFSREG_CLT_OPENAFS_SUBKEY "\\Submounts",
                      0, 
!                     "AFS", 
                      REG_OPTION_NON_VOLATILE,
                      (IsWow64()?KEY_WOW64_64KEY:0)|KEY_READ,
                      NULL, 
--- 45,54 ----
  	TCHAR pathName[1024];
  
      HKEY hkSubmounts;
!     RegCreateKeyEx( HKEY_LOCAL_MACHINE, 
!                     AFSREG_CLT_OPENAFS_SUBKEY TEXT("\\Submounts"),
                      0, 
!                     TEXT("AFS"), 
                      REG_OPTION_NON_VOLATILE,
                      (IsWow64()?KEY_WOW64_64KEY:0)|KEY_READ,
                      NULL, 
***************
*** 166,175 ****
      DWORD dwIndex;
      DWORD dwSubmounts;
  
!     RegCreateKeyExA( HKEY_LOCAL_MACHINE, 
!                     AFSREG_CLT_OPENAFS_SUBKEY "\\Submounts",
                      0, 
!                     "AFS", 
                      REG_OPTION_NON_VOLATILE,
                      (IsWow64()?KEY_WOW64_64KEY:0)|KEY_READ|KEY_WRITE|KEY_QUERY_VALUE,
                      NULL, 
--- 166,175 ----
      DWORD dwIndex;
      DWORD dwSubmounts;
  
!     RegCreateKeyEx( HKEY_LOCAL_MACHINE, 
!                     AFSREG_CLT_OPENAFS_SUBKEY TEXT("\\Submounts"),
                      0, 
!                     TEXT("AFS"), 
                      REG_OPTION_NON_VOLATILE,
                      (IsWow64()?KEY_WOW64_64KEY:0)|KEY_READ|KEY_WRITE|KEY_QUERY_VALUE,
                      NULL, 
***************
*** 248,257 ****
  	HOURGLASS hourglass;
  
      HKEY hkSubmounts;
!     RegCreateKeyExA( HKEY_LOCAL_MACHINE, 
!                     AFSREG_CLT_OPENAFS_SUBKEY "\\Submounts",
                      0, 
!                     "AFS", 
                      REG_OPTION_NON_VOLATILE,
                      (IsWow64()?KEY_WOW64_64KEY:0)|KEY_WRITE,
                      NULL, 
--- 248,257 ----
  	HOURGLASS hourglass;
  
      HKEY hkSubmounts;
!     RegCreateKeyEx( HKEY_LOCAL_MACHINE, 
!                     AFSREG_CLT_OPENAFS_SUBKEY TEXT("\\Submounts"),
                      0, 
!                     TEXT("AFS"), 
                      REG_OPTION_NON_VOLATILE,
                      (IsWow64()?KEY_WOW64_64KEY:0)|KEY_WRITE,
                      NULL, 
***************
*** 271,280 ****
  	HOURGLASS hourglass;
  
      HKEY hkSubmounts;
!     RegCreateKeyExA( HKEY_LOCAL_MACHINE, 
!                     AFSREG_CLT_OPENAFS_SUBKEY "\\Submounts",
                      0, 
!                     "AFS", 
                      REG_OPTION_NON_VOLATILE,
                      (IsWow64()?KEY_WOW64_64KEY:0)|KEY_WRITE,
                      NULL, 
--- 271,280 ----
  	HOURGLASS hourglass;
  
      HKEY hkSubmounts;
!     RegCreateKeyEx( HKEY_LOCAL_MACHINE, 
!                     AFSREG_CLT_OPENAFS_SUBKEY TEXT("\\Submounts"),
                      0, 
!                     TEXT("AFS"), 
                      REG_OPTION_NON_VOLATILE,
                      (IsWow64()?KEY_WOW64_64KEY:0)|KEY_WRITE,
                      NULL, 
Index: openafs/src/WINNT/doc/install/Documentation/en_US/html/index.htm
diff -c openafs/src/WINNT/doc/install/Documentation/en_US/html/index.htm:1.5.4.39 openafs/src/WINNT/doc/install/Documentation/en_US/html/index.htm:1.5.4.40
*** openafs/src/WINNT/doc/install/Documentation/en_US/html/index.htm:1.5.4.39	Tue Oct  7 18:09:54 2008
--- openafs/src/WINNT/doc/install/Documentation/en_US/html/index.htm	Fri Nov  7 19:06:39 2008
***************
*** 57,63 ****
  
  <h1>OpenAFS for Windows</h1>
  
! <h2>Version 1.5.54</h2>
  
  <p class=MsoNormal>&nbsp; </p>
  
--- 57,63 ----
  
  <h1>OpenAFS for Windows</h1>
  
! <h2>Version 1.5.55</h2>
  
  <p class=MsoNormal>&nbsp; </p>
  
***************
*** 78,84 ****
  <span
  style='font-family:Symbol'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  </span></span><a
! href="ReleaseNotes/relnotes-frames.htm">OpenAFS for Windows 1.5.54
  Release Notes</a></p>
  
  <p style='margin-left:36.0pt;text-indent:-18.0pt;'>
--- 78,84 ----
  <span
  style='font-family:Symbol'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  </span></span><a
! href="ReleaseNotes/relnotes-frames.htm">OpenAFS for Windows 1.5.55
  Release Notes</a></p>
  
  <p style='margin-left:36.0pt;text-indent:-18.0pt;'>
Index: openafs/src/WINNT/doc/install/Documentation/en_US/html/ReleaseNotes/logo.htm
diff -c openafs/src/WINNT/doc/install/Documentation/en_US/html/ReleaseNotes/logo.htm:1.1.6.37 openafs/src/WINNT/doc/install/Documentation/en_US/html/ReleaseNotes/logo.htm:1.1.6.38
*** openafs/src/WINNT/doc/install/Documentation/en_US/html/ReleaseNotes/logo.htm:1.1.6.37	Tue Oct  7 18:10:00 2008
--- openafs/src/WINNT/doc/install/Documentation/en_US/html/ReleaseNotes/logo.htm	Fri Nov  7 19:06:51 2008
***************
*** 18,24 ****
  .shape {behavior:url(#default#VML);}
  </style>
  <![endif]-->
! <title>OpenAFS for Windows 1.5.54 Release Notes</title>
  <!--[if gte mso 9]><xml>
   <o:DocumentProperties>
    <o:Revision>1</o:Revision>
--- 18,24 ----
  .shape {behavior:url(#default#VML);}
  </style>
  <![endif]-->
! <title>OpenAFS for Windows 1.5.55 Release Notes</title>
  <!--[if gte mso 9]><xml>
   <o:DocumentProperties>
    <o:Revision>1</o:Revision>
Index: openafs/src/WINNT/doc/install/Documentation/en_US/html/ReleaseNotes/relnotes-frames.htm
diff -c openafs/src/WINNT/doc/install/Documentation/en_US/html/ReleaseNotes/relnotes-frames.htm:1.1.4.39 openafs/src/WINNT/doc/install/Documentation/en_US/html/ReleaseNotes/relnotes-frames.htm:1.1.4.40
*** openafs/src/WINNT/doc/install/Documentation/en_US/html/ReleaseNotes/relnotes-frames.htm:1.1.4.39	Tue Oct  7 18:10:00 2008
--- openafs/src/WINNT/doc/install/Documentation/en_US/html/ReleaseNotes/relnotes-frames.htm	Fri Nov  7 19:06:51 2008
***************
*** 10,23 ****
  <meta name=Originator content="Microsoft Word 12">
  <link rel=File-List href="relnotes-frames_files/filelist.xml">
  <link rel=Preview href="relnotes-frames_files/preview.wmf">
! <title>OpenAFS for Windows 1.5.54 Release Notes</title>
  <!--[if gte mso 9]><xml>
   <o:DocumentProperties>
    <o:LastAuthor>Jeffrey Eric Altman</o:LastAuthor>
!   <o:Revision>2</o:Revision>
    <o:TotalTime>0</o:TotalTime>
    <o:Created>2008-08-14T02:59:00Z</o:Created>
!   <o:LastSaved>2008-08-14T03:12:00Z</o:LastSaved>
    <o:Pages>1</o:Pages>
    <o:Words>9</o:Words>
    <o:Characters>53</o:Characters>
--- 10,23 ----
  <meta name=Originator content="Microsoft Word 12">
  <link rel=File-List href="relnotes-frames_files/filelist.xml">
  <link rel=Preview href="relnotes-frames_files/preview.wmf">
! <title>OpenAFS for Windows 1.5.55 Release Notes</title>
  <!--[if gte mso 9]><xml>
   <o:DocumentProperties>
    <o:LastAuthor>Jeffrey Eric Altman</o:LastAuthor>
!   <o:Revision>3</o:Revision>
    <o:TotalTime>0</o:TotalTime>
    <o:Created>2008-08-14T02:59:00Z</o:Created>
!   <o:LastSaved>2008-11-08T00:04: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/relnotes.htm
diff -c openafs/src/WINNT/doc/install/Documentation/en_US/html/ReleaseNotes/relnotes.htm:1.6.4.45 openafs/src/WINNT/doc/install/Documentation/en_US/html/ReleaseNotes/relnotes.htm:1.6.4.46
*** openafs/src/WINNT/doc/install/Documentation/en_US/html/ReleaseNotes/relnotes.htm:1.6.4.45	Tue Oct  7 18:10:00 2008
--- openafs/src/WINNT/doc/install/Documentation/en_US/html/ReleaseNotes/relnotes.htm	Fri Nov  7 19:06:51 2008
***************
*** 22,28 ****
  .shape {behavior:url(#default#VML);}
  </style>
  <![endif]-->
! <title>OpenAFS for Windows 1.5.54 Release Notes</title>
  <o:SmartTagType namespaceuri="urn:schemas-microsoft-com:office:smarttags"
   name="PostalCode"/>
  <o:SmartTagType namespaceuri="urn:schemas-microsoft-com:office:smarttags"
--- 22,28 ----
  .shape {behavior:url(#default#VML);}
  </style>
  <![endif]-->
! <title>OpenAFS for Windows 1.5.55 Release Notes</title>
  <o:SmartTagType namespaceuri="urn:schemas-microsoft-com:office:smarttags"
   name="PostalCode"/>
  <o:SmartTagType namespaceuri="urn:schemas-microsoft-com:office:smarttags"
***************
*** 43,70 ****
   name="place"/>
  <!--[if gte mso 9]><xml>
   <o:DocumentProperties>
!   <o:LastAuthor>Jeffrey Altman</o:LastAuthor>
!   <o:Revision>4</o:Revision>
!   <o:TotalTime>1738</o:TotalTime>
    <o:Created>2006-11-29T17:26:00Z</o:Created>
!   <o:LastSaved>2008-01-08T16:12:00Z</o:LastSaved>
!   <o:Pages>36</o:Pages>
!   <o:Words>19913</o:Words>
!   <o:Characters>113510</o:Characters>
    <o:Company>Secure Endpoints Inc.</o:Company>
!   <o:Lines>945</o:Lines>
!   <o:Paragraphs>266</o:Paragraphs>
!   <o:CharactersWithSpaces>133157</o:CharactersWithSpaces>
    <o:Version>12.00</o:Version>
   </o:DocumentProperties>
  </xml><![endif]-->
! <link rel=dataStoreItem href="relnotes_files/item0008.xml"
! target="relnotes_files/props0009.xml">
  <link rel=themeData href="relnotes_files/themedata.thmx">
  <link rel=colorSchemeMapping href="relnotes_files/colorschememapping.xml">
  <!--[if gte mso 9]><xml>
   <w:WordDocument>
-   <w:Zoom>0</w:Zoom>
    <w:TrackMoves>false</w:TrackMoves>
    <w:TrackFormatting/>
    <w:ValidateAgainstSchemas/>
--- 43,69 ----
   name="place"/>
  <!--[if gte mso 9]><xml>
   <o:DocumentProperties>
!   <o:LastAuthor>Jeffrey Eric Altman</o:LastAuthor>
!   <o:Revision>5</o:Revision>
!   <o:TotalTime>1783</o:TotalTime>
    <o:Created>2006-11-29T17:26:00Z</o:Created>
!   <o:LastSaved>2008-11-07T23:50:00Z</o:LastSaved>
!   <o:Pages>20</o:Pages>
!   <o:Words>20165</o:Words>
!   <o:Characters>114945</o:Characters>
    <o:Company>Secure Endpoints Inc.</o:Company>
!   <o:Lines>957</o:Lines>
!   <o:Paragraphs>269</o:Paragraphs>
!   <o:CharactersWithSpaces>134841</o:CharactersWithSpaces>
    <o:Version>12.00</o:Version>
   </o:DocumentProperties>
  </xml><![endif]-->
! <link rel=dataStoreItem href="relnotes_files/item0013.xml"
! target="relnotes_files/props0014.xml">
  <link rel=themeData href="relnotes_files/themedata.thmx">
  <link rel=colorSchemeMapping href="relnotes_files/colorschememapping.xml">
  <!--[if gte mso 9]><xml>
   <w:WordDocument>
    <w:TrackMoves>false</w:TrackMoves>
    <w:TrackFormatting/>
    <w:ValidateAgainstSchemas/>
***************
*** 261,266 ****
--- 260,272 ----
  <!--
   /* Font Definitions */
   @font-face
+ 	{font-family:Wingdings;
+ 	panose-1:5 0 0 0 0 0 0 0 0 0;
+ 	mso-font-charset:2;
+ 	mso-generic-font-family:auto;
+ 	mso-font-pitch:variable;
+ 	mso-font-signature:0 268435456 0 0 -2147483648 0;}
+ @font-face
  	{font-family:"MS Mincho";
  	panose-1:2 2 6 9 4 2 5 8 3 4;
  	mso-font-alt:"\FF2D\FF33 \660E\671D";
***************
*** 833,890 ****
  	mso-ascii-font-family:Consolas;
  	mso-fareast-font-family:"MS Mincho";
  	mso-hansi-font-family:Consolas;}
- span.TitleChar
- 	{mso-style-name:"Title Char";
- 	mso-style-unhide:no;
- 	mso-style-locked:yes;
- 	mso-style-link:Title;
- 	mso-ansi-font-size:26.0pt;
- 	mso-bidi-font-size:26.0pt;
- 	font-family:"Cambria","serif";
- 	mso-ascii-font-family:Cambria;
- 	mso-fareast-font-family:"Times New Roman";
- 	mso-hansi-font-family:Cambria;
- 	mso-bidi-font-family:"Times New Roman";
- 	color:#17365D;
- 	letter-spacing:.25pt;
- 	mso-font-kerning:14.0pt;}
- span.SubtitleChar
- 	{mso-style-name:"Subtitle Char";
- 	mso-style-unhide:no;
- 	mso-style-locked:yes;
- 	mso-style-link:Subtitle;
- 	mso-ansi-font-size:12.0pt;
- 	mso-bidi-font-size:12.0pt;
- 	font-family:"Cambria","serif";
- 	mso-ascii-font-family:Cambria;
- 	mso-fareast-font-family:"Times New Roman";
- 	mso-hansi-font-family:Cambria;
- 	mso-bidi-font-family:"Times New Roman";
- 	color:#4F81BD;
- 	letter-spacing:.75pt;
- 	font-style:italic;}
- p.msotocheading0, li.msotocheading0, div.msotocheading0
- 	{mso-style-name:msotocheading;
- 	mso-style-noshow:yes;
- 	mso-style-priority:39;
- 	mso-style-unhide:no;
- 	mso-style-qformat:yes;
- 	mso-style-parent:"Heading 1";
- 	mso-style-next:Normal;
- 	margin-top:24.0pt;
- 	margin-right:0in;
- 	margin-bottom:0in;
- 	margin-left:0in;
- 	margin-bottom:.0001pt;
- 	line-height:115%;
- 	mso-pagination:widow-orphan lines-together;
- 	page-break-after:avoid;
- 	font-size:14.0pt;
- 	font-family:"Cambria","serif";
- 	mso-fareast-font-family:"Times New Roman";
- 	mso-bidi-font-family:"Times New Roman";
- 	color:#365F91;
- 	font-weight:bold;}
  span.FootnoteTextChar
  	{mso-style-name:"Footnote Text Char";
  	mso-style-unhide:no;
--- 839,844 ----
***************
*** 916,921 ****
--- 870,890 ----
  	mso-ascii-font-family:Thorndale;
  	mso-fareast-font-family:"MS Mincho";
  	mso-hansi-font-family:Thorndale;}
+ span.TitleChar
+ 	{mso-style-name:"Title Char";
+ 	mso-style-unhide:no;
+ 	mso-style-locked:yes;
+ 	mso-style-link:Title;
+ 	mso-ansi-font-size:26.0pt;
+ 	mso-bidi-font-size:26.0pt;
+ 	font-family:"Cambria","serif";
+ 	mso-ascii-font-family:Cambria;
+ 	mso-fareast-font-family:"Times New Roman";
+ 	mso-hansi-font-family:Cambria;
+ 	mso-bidi-font-family:"Times New Roman";
+ 	color:#17365D;
+ 	letter-spacing:.25pt;
+ 	mso-font-kerning:14.0pt;}
  span.BodyTextChar
  	{mso-style-name:"Body Text Char";
  	mso-style-unhide:no;
***************
*** 938,943 ****
--- 907,927 ----
  	mso-ascii-font-family:Thorndale;
  	mso-fareast-font-family:"MS Mincho";
  	mso-hansi-font-family:Thorndale;}
+ span.SubtitleChar
+ 	{mso-style-name:"Subtitle Char";
+ 	mso-style-unhide:no;
+ 	mso-style-locked:yes;
+ 	mso-style-link:Subtitle;
+ 	mso-ansi-font-size:12.0pt;
+ 	mso-bidi-font-size:12.0pt;
+ 	font-family:"Cambria","serif";
+ 	mso-ascii-font-family:Cambria;
+ 	mso-fareast-font-family:"Times New Roman";
+ 	mso-hansi-font-family:Cambria;
+ 	mso-bidi-font-family:"Times New Roman";
+ 	color:#4F81BD;
+ 	letter-spacing:.75pt;
+ 	font-style:italic;}
  span.BalloonTextChar
  	{mso-style-name:"Balloon Text Char";
  	mso-style-unhide:no;
***************
*** 950,955 ****
--- 934,961 ----
  	mso-fareast-font-family:"MS Mincho";
  	mso-hansi-font-family:Tahoma;
  	mso-bidi-font-family:Tahoma;}
+ p.msotocheading0, li.msotocheading0, div.msotocheading0
+ 	{mso-style-name:msotocheading;
+ 	mso-style-noshow:yes;
+ 	mso-style-priority:39;
+ 	mso-style-unhide:no;
+ 	mso-style-qformat:yes;
+ 	mso-style-parent:"Heading 1";
+ 	mso-style-next:Normal;
+ 	margin-top:24.0pt;
+ 	margin-right:0in;
+ 	margin-bottom:0in;
+ 	margin-left:0in;
+ 	margin-bottom:.0001pt;
+ 	line-height:115%;
+ 	mso-pagination:widow-orphan lines-together;
+ 	page-break-after:avoid;
+ 	font-size:14.0pt;
+ 	font-family:"Cambria","serif";
+ 	mso-fareast-font-family:"Times New Roman";
+ 	mso-bidi-font-family:"Times New Roman";
+ 	color:#365F91;
+ 	font-weight:bold;}
  p.heading, li.heading, div.heading
  	{mso-style-name:heading;
  	mso-style-unhide:no;
***************
*** 1119,1133 ****
  	{page:Section1;}
   /* List Definitions */
   @list l0
! 	{mso-list-id:567226519;
! 	mso-list-template-ids:-1112653748;}
  @list l0:level1
  	{mso-level-number-format:bullet;
  	mso-level-text:\F0B7;
! 	mso-level-tab-stop:.5in;
  	mso-level-number-position:left;
  	text-indent:-.25in;
- 	mso-ansi-font-size:10.0pt;
  	font-family:Symbol;}
  @list l1
  	{mso-list-id:1266575792;
--- 1125,1139 ----
  	{page:Section1;}
   /* List Definitions */
   @list l0
! 	{mso-list-id:618990541;
! 	mso-list-type:hybrid;
! 	mso-list-template-ids:-1037652558 67698689 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;}
  @list l0:level1
  	{mso-level-number-format:bullet;
  	mso-level-text:\F0B7;
! 	mso-level-tab-stop:none;
  	mso-level-number-position:left;
  	text-indent:-.25in;
  	font-family:Symbol;}
  @list l1
  	{mso-list-id:1266575792;
***************
*** 1172,1177 ****
--- 1178,1194 ----
  	{mso-level-tab-stop:4.5in;
  	mso-level-number-position:left;
  	text-indent:-.25in;}
+ @list l2
+ 	{mso-list-id:1307977118;
+ 	mso-list-template-ids:-1286570934;}
+ @list l2:level1
+ 	{mso-level-number-format:bullet;
+ 	mso-level-text:\F0B7;
+ 	mso-level-tab-stop:.5in;
+ 	mso-level-number-position:left;
+ 	text-indent:-.25in;
+ 	mso-ansi-font-size:10.0pt;
+ 	font-family:Symbol;}
  ol
  	{margin-bottom:0in;}
  ul
***************
*** 1197,1203 ****
  	font-family:"Times New Roman","serif";}
  </style>
  <![endif]--><!--[if gte mso 9]><xml>
!  <o:shapedefaults v:ext="edit" spidmax="6146"/>
  </xml><![endif]--><!--[if gte mso 9]><xml>
   <o:shapelayout v:ext="edit">
    <o:idmap v:ext="edit" data="1"/>
--- 1214,1220 ----
  	font-family:"Times New Roman","serif";}
  </style>
  <![endif]--><!--[if gte mso 9]><xml>
!  <o:shapedefaults v:ext="edit" spidmax="7170"/>
  </xml><![endif]--><!--[if gte mso 9]><xml>
   <o:shapelayout v:ext="edit">
    <o:idmap v:ext="edit" data="1"/>
***************
*** 1209,1228 ****
  
  <div class=Section1>
  
! <p class=MsoTitle>OpenAFS for Windows 1.5.54 (with Unicode Support)<br>
  Release Notes</p>
  
  <p class=MsoBodyText>The Andrew File System (AFS) is a location-independent
! file system that uses a local cache to increase its performance.&nbsp; An AFS client
! accesses files anonymously or via a Kerberos authentication.&nbsp; The global
! AFS is partitioned into cells.&nbsp; The AFS cell is a collection of AFS
  volumes that are administered by a common entity.&nbsp;&nbsp; AFS cells can be
  administered by a department even when the Kerberos realm used for local
  authentication is managed by a much larger organization.&nbsp; AFS clients and
  servers take advantage of Kerberos cross realm authentication to enable
! authenticated access by entities located outside the local realm.&nbsp;
! Authorization is enforced by the use of directory level access control lists
! which can consist of individual or group identities.&nbsp; </p>
  
  <p class=MsoBodyText>The AFS volume is a tree of files and
  sub-directories.&nbsp; AFS volumes are created by administrators and are joined
--- 1226,1245 ----
  
  <div class=Section1>
  
! <p class=MsoTitle>OpenAFS for Windows 1.5.55 (with Unicode Support)<br>
  Release Notes</p>
  
  <p class=MsoBodyText>The Andrew File System (AFS) is a location-independent
! file system that uses a local cache to increase its performance.&nbsp; An AFS
! client accesses files anonymously or via a Kerberos authentication.&nbsp; The
! global AFS is partitioned into cells.&nbsp; The AFS cell is a collection of AFS
  volumes that are administered by a common entity.&nbsp;&nbsp; AFS cells can be
  administered by a department even when the Kerberos realm used for local
  authentication is managed by a much larger organization.&nbsp; AFS clients and
  servers take advantage of Kerberos cross realm authentication to enable
! authenticated access by entities located outside the local realm.&nbsp; Authorization
! is enforced by the use of directory level access control lists which can
! consist of individual or group identities.&nbsp; </p>
  
  <p class=MsoBodyText>The AFS volume is a tree of files and
  sub-directories.&nbsp; AFS volumes are created by administrators and are joined
***************
*** 1242,1249 ****
  time by <i>releasing</i> the current contents of the source volume.</p>
  
  <p class=MsoBodyText>OpenAFS for Windows (OAFW) provides AFS client access
! Microsoft Windows operating systems.&nbsp; It strives to maintain transparency such
! that the user is unaware of the distinction between the use of AFS and
  Microsoft Windows file shares.&nbsp;&nbsp; OAFW can be part of a single sign-on
  solution by allowing credentials for a Kerberos principal to be obtained at
  logon and for that principal to be used to obtain AFS tokens for one or more
--- 1259,1266 ----
  time by <i>releasing</i> the current contents of the source volume.</p>
  
  <p class=MsoBodyText>OpenAFS for Windows (OAFW) provides AFS client access
! Microsoft Windows operating systems.&nbsp; It strives to maintain transparency
! such that the user is unaware of the distinction between the use of AFS and
  Microsoft Windows file shares.&nbsp;&nbsp; OAFW can be part of a single sign-on
  solution by allowing credentials for a Kerberos principal to be obtained at
  logon and for that principal to be used to obtain AFS tokens for one or more
***************
*** 1256,1263 ****
  <p class=MsoBodyText>OpenAFS is the product of an open source development
  effort begun on October 31 2000.&nbsp; OpenAFS is maintained and developed by a
  group of volunteers with the support of the user community.&nbsp;&nbsp; If you
! use OpenAFS as part of your computing infrastructure please contribute to its
! continued growth.</p>
  
  <p class=MsoToc1><span class=Heading1Char><span style='font-size:14.0pt;
  mso-fareast-font-family:"MS Mincho"'><a href="#_1._Installer_Options"><span
--- 1273,1280 ----
  <p class=MsoBodyText>OpenAFS is the product of an open source development
  effort begun on October 31 2000.&nbsp; OpenAFS is maintained and developed by a
  group of volunteers with the support of the user community.&nbsp;&nbsp; If you
! use OpenAFS as part of your computing infrastructure please contribute to its continued
! growth.</p>
  
  <p class=MsoToc1><span class=Heading1Char><span style='font-size:14.0pt;
  mso-fareast-font-family:"MS Mincho"'><a href="#_1._Installer_Options"><span
***************
*** 1355,1372 ****
  mso-hide:all;text-decoration:none;text-underline:none'>. 26</span></a><![if !supportNestedAnchors]><a
  name="_Toc193871624"></a><a name="_Toc193871379"></a><![endif]></span></span></p>
  
! <h1><a name="_Toc206421234"></a><a name="_Toc193871625"></a><a
! name="_Toc193871380"></a><a name="_Toc191662062"></a><a name="_Toc152605032"></a><a
! name="_Toc115416098"></a><a name="_Toc139993082"></a><a name="_Toc126872163"></a><a
! name="_Toc115417109"></a><a name="_Toc115417037"></a><a
! name="_1._Installer_Options"></a><span style='mso-bookmark:_Toc206421234'><span
! style='mso-bookmark:_Toc193871625'><span style='mso-bookmark:_Toc193871380'><span
! style='mso-bookmark:_Toc191662062'><span style='mso-bookmark:_Toc152605032'><span
! style='mso-bookmark:_Toc115416098'>1. Installer Options</span></span></span></span></span></span></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 Windows.&nbsp;
! Installers are provided in two forms:</p>
  
  <p class=MsoNormal style='margin-left:.25in;text-indent:-.25in'><span
  style='font-size:9.0pt'>1.</span><span style='font-size:7.0pt;font-family:"Times New Roman","serif"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
--- 1372,1391 ----
  mso-hide:all;text-decoration:none;text-underline:none'>. 26</span></a><![if !supportNestedAnchors]><a
  name="_Toc193871624"></a><a name="_Toc193871379"></a><![endif]></span></span></p>
  
! <h1><a name="_Toc213847145"></a><a name="_Toc213844379"></a><a
! name="_Toc206421234"></a><a name="_Toc193871625"></a><a name="_Toc193871380"></a><a
! name="_Toc191662062"></a><a name="_Toc152605032"></a><a name="_Toc115416098"></a><a
! name="_Toc139993082"></a><a name="_Toc126872163"></a><a name="_Toc115417109"></a><a
! name="_Toc115417037"></a><a name="_1._Installer_Options"></a><span
! style='mso-bookmark:_Toc213847145'><span style='mso-bookmark:_Toc213844379'><span
! style='mso-bookmark:_Toc206421234'><span style='mso-bookmark:_Toc193871625'><span
! style='mso-bookmark:_Toc193871380'><span style='mso-bookmark:_Toc191662062'><span
! style='mso-bookmark:_Toc152605032'><span style='mso-bookmark:_Toc115416098'>1.
! Installer Options</span></span></span></span></span></span></span></span></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
! Windows.&nbsp; Installers are provided in two forms:</p>
  
  <p class=MsoNormal style='margin-left:.25in;text-indent:-.25in'><span
  style='font-size:9.0pt'>1.</span><span style='font-size:7.0pt;font-family:"Times New Roman","serif"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
***************
*** 1381,1402 ****
  14.0pt;mso-fareast-font-family:"MS Mincho";text-decoration:none;text-underline:
  none'>MSI Deployment Guide</span></span></a>)</p>
  
! <h1><a name="_Toc206421235"></a><a name="_Toc193871626"></a><a
! name="_Toc193871381"></a><a name="_Toc191662063"></a><a name="_Toc152605033"></a><a
! name="_Toc115416099"></a><a name="_Toc139993083"></a><a name="_Toc126872164"></a><a
! name="_Toc115417110"></a><a name="_Toc115417038"></a><a
! name="_2._System_Requirements"></a><span style='mso-bookmark:_Toc206421235'><span
! style='mso-bookmark:_Toc193871626'><span style='mso-bookmark:_Toc193871381'><span
! style='mso-bookmark:_Toc191662063'><span style='mso-bookmark:_Toc152605033'><span
! style='mso-bookmark:_Toc115416099'>2. System Requirements</span></span></span></span></span></span></h1>
! 
! <h2><a name="_Toc206421236"></a><a name="_Toc193871627"></a><a
! name="_Toc193871382"></a><a name="_Toc191662064"></a><a name="_Toc152605034"></a><a
! name="_Toc115416100"></a><a name="_Toc139993084"></a><a name="_Toc126872165"></a><a
! name="_Toc115417039"></a><span style='mso-bookmark:_Toc206421236'><span
! style='mso-bookmark:_Toc193871627'><span style='mso-bookmark:_Toc193871382'><span
! style='mso-bookmark:_Toc191662064'><span style='mso-bookmark:_Toc152605034'><span
! style='mso-bookmark:_Toc115416100'>2.1 Supported Operating Systems</span></span></span></span></span></span></h2>
  
  <p class=MsoNormal style='margin-left:14.15pt;text-indent:-14.15pt'><span
  style='font-size:9.0pt;font-family:Symbol'>·</span><span style='font-size:7.0pt;
--- 1400,1425 ----
  14.0pt;mso-fareast-font-family:"MS Mincho";text-decoration:none;text-underline:
  none'>MSI Deployment Guide</span></span></a>)</p>
  
! <h1><a name="_Toc213847146"></a><a name="_Toc213844380"></a><a
! name="_Toc206421235"></a><a name="_Toc193871626"></a><a name="_Toc193871381"></a><a
! name="_Toc191662063"></a><a name="_Toc152605033"></a><a name="_Toc115416099"></a><a
! name="_Toc139993083"></a><a name="_Toc126872164"></a><a name="_Toc115417110"></a><a
! name="_Toc115417038"></a><a name="_2._System_Requirements"></a><span
! style='mso-bookmark:_Toc213847146'><span style='mso-bookmark:_Toc213844380'><span
! style='mso-bookmark:_Toc206421235'><span style='mso-bookmark:_Toc193871626'><span
! style='mso-bookmark:_Toc193871381'><span style='mso-bookmark:_Toc191662063'><span
! style='mso-bookmark:_Toc152605033'><span style='mso-bookmark:_Toc115416099'>2.
! System Requirements</span></span></span></span></span></span></span></span></h1>
! 
! <h2><a name="_Toc213847147"></a><a name="_Toc213844381"></a><a
! name="_Toc206421236"></a><a name="_Toc193871627"></a><a name="_Toc193871382"></a><a
! name="_Toc191662064"></a><a name="_Toc152605034"></a><a name="_Toc115416100"></a><a
! name="_Toc139993084"></a><a name="_Toc126872165"></a><a name="_Toc115417039"></a><span
! style='mso-bookmark:_Toc213847147'><span style='mso-bookmark:_Toc213844381'><span
! style='mso-bookmark:_Toc206421236'><span style='mso-bookmark:_Toc193871627'><span
! style='mso-bookmark:_Toc193871382'><span style='mso-bookmark:_Toc191662064'><span
! style='mso-bookmark:_Toc152605034'><span style='mso-bookmark:_Toc115416100'>2.1
! Supported Operating Systems</span></span></span></span></span></span></span></span></h2>
  
  <p class=MsoNormal style='margin-left:14.15pt;text-indent:-14.15pt'><span
  style='font-size:9.0pt;font-family:Symbol'>·</span><span style='font-size:7.0pt;
***************
*** 1443,1455 ****
  font-family:"Times New Roman","serif"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>Microsoft
  Windows 2008 Server (32-bit and 64-bit Intel)</p>
  
! <h3><a name="_Toc206421237"></a><a name="_Toc193871628"></a><a
! name="_Toc193871383"></a><a name="_Toc191662065"></a><a name="_Toc152605035"></a><a
! name="_Toc115416101"></a><a name="_Toc139993085"></a><a name="_Toc126872166"></a><span
  style='mso-bookmark:_Toc206421237'><span style='mso-bookmark:_Toc193871628'><span
  style='mso-bookmark:_Toc193871383'><span style='mso-bookmark:_Toc191662065'><span
  style='mso-bookmark:_Toc152605035'><span style='mso-bookmark:_Toc115416101'>2.1.1
! Unsupported Operating Systems</span></span></span></span></span></span></h3>
  
  <p class=MsoNormal style='margin-left:14.15pt;text-indent:-14.15pt'><span
  style='font-size:9.0pt;font-family:Symbol'>·</span><span style='font-size:7.0pt;
--- 1466,1479 ----
  font-family:"Times New Roman","serif"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>Microsoft
  Windows 2008 Server (32-bit and 64-bit Intel)</p>
  
! <h3><a name="_Toc213844382"></a><a name="_Toc206421237"></a><a
! name="_Toc193871628"></a><a name="_Toc193871383"></a><a name="_Toc191662065"></a><a
! name="_Toc152605035"></a><a name="_Toc115416101"></a><a name="_Toc139993085"></a><a
! name="_Toc126872166"></a><span style='mso-bookmark:_Toc213844382'><span
  style='mso-bookmark:_Toc206421237'><span style='mso-bookmark:_Toc193871628'><span
  style='mso-bookmark:_Toc193871383'><span style='mso-bookmark:_Toc191662065'><span
  style='mso-bookmark:_Toc152605035'><span style='mso-bookmark:_Toc115416101'>2.1.1
! Unsupported Operating Systems</span></span></span></span></span></span></span></h3>
  
  <p class=MsoNormal style='margin-left:14.15pt;text-indent:-14.15pt'><span
  style='font-size:9.0pt;font-family:Symbol'>·</span><span style='font-size:7.0pt;
***************
*** 1481,1493 ****
  with support for Win9x is 1.2.2b.&nbsp; The last version with support for
  Windows NT 4.0 is 1.2.10.</p>
  
! <h2><a name="_Toc206421238"></a><a name="_Toc193871629"></a><a
! name="_Toc193871384"></a><a name="_Toc191662066"></a><a name="_Toc152605036"></a><a
! name="_Toc115416102"></a><a name="_Toc139993086"></a><a name="_Toc126872167"></a><a
! name="_Toc115417040"></a><span style='mso-bookmark:_Toc206421238'><span
! style='mso-bookmark:_Toc193871629'><span style='mso-bookmark:_Toc193871384'><span
! style='mso-bookmark:_Toc191662066'><span style='mso-bookmark:_Toc152605036'><span
! style='mso-bookmark:_Toc115416102'>2.2 Disk Space</span></span></span></span></span></span></h2>
  
  <p class=MsoNormal>Up to 60mb required for the OpenAFS binaries plus 100MB for
  the default AFSCache file.&nbsp;&nbsp; The size of the AFSCache file may be
--- 1505,1519 ----
  with support for Win9x is 1.2.2b.&nbsp; The last version with support for
  Windows NT 4.0 is 1.2.10.</p>
  
! <h2><a name="_Toc213847148"></a><a name="_Toc213844383"></a><a
! name="_Toc206421238"></a><a name="_Toc193871629"></a><a name="_Toc193871384"></a><a
! name="_Toc191662066"></a><a name="_Toc152605036"></a><a name="_Toc115416102"></a><a
! name="_Toc139993086"></a><a name="_Toc126872167"></a><a name="_Toc115417040"></a><span
! style='mso-bookmark:_Toc213847148'><span style='mso-bookmark:_Toc213844383'><span
! style='mso-bookmark:_Toc206421238'><span style='mso-bookmark:_Toc193871629'><span
! style='mso-bookmark:_Toc193871384'><span style='mso-bookmark:_Toc191662066'><span
! style='mso-bookmark:_Toc152605036'><span style='mso-bookmark:_Toc115416102'>2.2
! Disk Space</span></span></span></span></span></span></span></span></h2>
  
  <p class=MsoNormal>Up to 60mb required for the OpenAFS binaries plus 100MB for
  the default AFSCache file.&nbsp;&nbsp; The size of the AFSCache file may be
***************
*** 1496,1535 ****
  style='mso-spacerun:yes'>  </span>On 64-bit Windows there is no practical limit
  on the cache size.</p>
  
! <h2><a name="_Toc206421239"></a><a name="_Toc193871630"></a><a
! name="_Toc193871385"></a><a name="_Toc191662067"></a><a name="_Toc152605037"></a><a
! name="_Toc115416103"></a><a name="_Toc139993087"></a><a name="_Toc126872168"></a><a
! name="_Toc115417041"></a><span style='mso-bookmark:_Toc206421239'><span
! style='mso-bookmark:_Toc193871630'><span style='mso-bookmark:_Toc193871385'><span
! style='mso-bookmark:_Toc191662067'><span style='mso-bookmark:_Toc152605037'><span
! style='mso-bookmark:_Toc115416103'>2.3 Additional Software</span> Packages</span></span></span></span></span></h2>
  
  <p class=MsoNormal><a href="http://web.mit.edu/kerberos/dist/index.html"><span
  style='mso-bookmark:_Toc206421240'><span style='mso-bookmark:_Toc193871631'><span
  style='mso-bookmark:_Toc193871386'><span class=Heading1Char><span
  style='font-size:14.0pt;mso-fareast-font-family:"MS Mincho";text-decoration:
! none;text-underline:none'>MIT Kerberos for Windows</span></span></span></span></span><span
  style='mso-bookmark:_Toc193871386'></span><span style='mso-bookmark:_Toc193871631'></span><span
! style='mso-bookmark:_Toc206421240'></span></a><![if !supportNestedAnchors]><a
! name="_Toc193871386"></a><a name="_Toc193871631"></a><a name="_Toc206421240"></a><![endif]>
! 2.6.x or 3.x.x if Kerberos v5 authentication support is desired.<span
  style='mso-spacerun:yes'>  </span>The recommended release is version
  3.2.2.<span style='mso-spacerun:yes'>  </span>For 64-bit Windows installations,
  the 64-bit version of Kerberos for Windows is required.<span
  style='mso-spacerun:yes'>  </span>For 32-bit Windows installations, the 32-bit
  version of Kerberos for Windows is required.</p>
  
! <h1><a name="_Toc206421241"></a><a name="_Toc193871632"></a><a
! name="_Toc193871387"></a><a name="_Toc191662068"></a><a name="_Toc152605038"></a><a
! name="_Toc115416104"></a><a name="_Toc139993088"></a><a name="_Toc126872169"></a><a
! name="_Toc115417111"></a><a name="_Toc115417042"></a><a
! name="_3._Operational_Notes"></a><span style='mso-bookmark:_Toc206421241'><span
! style='mso-bookmark:_Toc193871632'><span style='mso-bookmark:_Toc193871387'><span
! style='mso-bookmark:_Toc191662068'><span style='mso-bookmark:_Toc152605038'><span
! style='mso-bookmark:_Toc115416104'>3. Operational Notes</span></span></span></span></span></span></h1>
! 
! <h2><a name="_Toc193871633"></a><a name="_Toc206421242"><span style='mso-bookmark:
! _Toc193871633'>3.0. Unicode Support</span></a><span style='mso-bookmark:_Toc193871633'></span></h2>
  
  <p class=MsoNormal><span style='mso-bookmark:_Toc193871633'>Starting with the
  1.5.50 release of OpenAFS for Windows, each of the AFS Client Service, the AFS
--- 1522,1571 ----
  style='mso-spacerun:yes'>  </span>On 64-bit Windows there is no practical limit
  on the cache size.</p>
  
! <h2><a name="_Toc213847149"></a><a name="_Toc213844384"></a><a
! name="_Toc206421239"></a><a name="_Toc193871630"></a><a name="_Toc193871385"></a><a
! name="_Toc191662067"></a><a name="_Toc152605037"></a><a name="_Toc115416103"></a><a
! name="_Toc139993087"></a><a name="_Toc126872168"></a><a name="_Toc115417041"></a><span
! style='mso-bookmark:_Toc213847149'><span style='mso-bookmark:_Toc213844384'><span
! style='mso-bookmark:_Toc206421239'><span style='mso-bookmark:_Toc193871630'><span
! style='mso-bookmark:_Toc193871385'><span style='mso-bookmark:_Toc191662067'><span
! style='mso-bookmark:_Toc152605037'><span style='mso-bookmark:_Toc115416103'>2.3
! Additional Software</span> Packages</span></span></span></span></span></span></span></h2>
  
  <p class=MsoNormal><a href="http://web.mit.edu/kerberos/dist/index.html"><span
+ style='mso-bookmark:_Toc213847150'><span style='mso-bookmark:_Toc213844385'><span
  style='mso-bookmark:_Toc206421240'><span style='mso-bookmark:_Toc193871631'><span
  style='mso-bookmark:_Toc193871386'><span class=Heading1Char><span
  style='font-size:14.0pt;mso-fareast-font-family:"MS Mincho";text-decoration:
! none;text-underline:none'>MIT Kerberos for Windows</span></span></span></span></span></span></span><span
  style='mso-bookmark:_Toc193871386'></span><span style='mso-bookmark:_Toc193871631'></span><span
! style='mso-bookmark:_Toc206421240'></span><span style='mso-bookmark:_Toc213844385'></span><span
! style='mso-bookmark:_Toc213847150'></span></a><![if !supportNestedAnchors]><a
! name="_Toc193871386"></a><a name="_Toc193871631"></a><a name="_Toc206421240"></a><a
! name="_Toc213844385"></a><a name="_Toc213847150"></a><![endif]> 2.6.x or 3.x.x
! if Kerberos v5 authentication support is desired.<span
  style='mso-spacerun:yes'>  </span>The recommended release is version
  3.2.2.<span style='mso-spacerun:yes'>  </span>For 64-bit Windows installations,
  the 64-bit version of Kerberos for Windows is required.<span
  style='mso-spacerun:yes'>  </span>For 32-bit Windows installations, the 32-bit
  version of Kerberos for Windows is required.</p>
  
! <h1><a name="_Toc213847151"></a><a name="_Toc213844386"></a><a
! name="_Toc206421241"></a><a name="_Toc193871632"></a><a name="_Toc193871387"></a><a
! name="_Toc191662068"></a><a name="_Toc152605038"></a><a name="_Toc115416104"></a><a
! name="_Toc139993088"></a><a name="_Toc126872169"></a><a name="_Toc115417111"></a><a
! name="_Toc115417042"></a><a name="_3._Operational_Notes"></a><span
! style='mso-bookmark:_Toc213847151'><span style='mso-bookmark:_Toc213844386'><span
! style='mso-bookmark:_Toc206421241'><span style='mso-bookmark:_Toc193871632'><span
! style='mso-bookmark:_Toc193871387'><span style='mso-bookmark:_Toc191662068'><span
! style='mso-bookmark:_Toc152605038'><span style='mso-bookmark:_Toc115416104'>3.
! Operational Notes</span></span></span></span></span></span></span></span></h1>
! 
! <h2><a name="_Toc193871633"></a><a name="_Toc213847152"></a><a
! name="_Toc213844387"></a><a name="_Toc206421242"><span style='mso-bookmark:
! _Toc213844387'><span style='mso-bookmark:_Toc213847152'><span style='mso-bookmark:
! _Toc193871633'>3.1. Unicode Support</span></span></span></a><span
! style='mso-bookmark:_Toc193871633'></span></h2>
  
  <p class=MsoNormal><span style='mso-bookmark:_Toc193871633'>Starting with the
  1.5.50 release of OpenAFS for Windows, each of the AFS Client Service, the AFS
***************
*** 1590,1602 ****
  style='mso-spacerun:yes'>  </span>GUI point and click operations should permit
  any object to be accessed.</span></p>
  
! <h2><span style='mso-bookmark:_Toc193871633'><a name="_Toc206421243"></a><a
! name="_Toc193871388"></a><a name="_Toc191662069"></a><a name="_Toc152605039"></a><a
! name="_Toc115416105"></a><a name="_Toc139993089"></a><a name="_Toc126872170"></a><a
! name="_Toc115417043"></a><span style='mso-bookmark:_Toc206421243'><span
! style='mso-bookmark:_Toc193871388'><span style='mso-bookmark:_Toc191662069'><span
! style='mso-bookmark:_Toc152605039'><span style='mso-bookmark:_Toc115416105'>3.1.
! Requirements for Kerberos v5 Authentication</span></span></span></span></span></span></h2>
  
  <p class=MsoNormal>The Kerberos v4 infrastructure on which the OpenAFS 1.2
  series is reliant is no longer secure.&nbsp; Cross-realm Kerberos is very
--- 1626,1640 ----
  style='mso-spacerun:yes'>  </span>GUI point and click operations should permit
  any object to be accessed.</span></p>
  
! <h2><span style='mso-bookmark:_Toc193871633'><a name="_Toc213847153"></a><a
! name="_Toc213844388"></a><a name="_Toc206421243"></a><a name="_Toc193871388"></a><a
! name="_Toc191662069"></a><a name="_Toc152605039"></a><a name="_Toc115416105"></a><a
! name="_Toc139993089"></a><a name="_Toc126872170"></a><a name="_Toc115417043"></a><span
! style='mso-bookmark:_Toc213847153'><span style='mso-bookmark:_Toc213844388'><span
! style='mso-bookmark:_Toc206421243'><span style='mso-bookmark:_Toc193871388'><span
! style='mso-bookmark:_Toc191662069'><span style='mso-bookmark:_Toc152605039'><span
! style='mso-bookmark:_Toc115416105'>3.2. Requirements for Kerberos v5
! Authentication</span></span></span></span></span></span></span></span></h2>
  
  <p class=MsoNormal>The Kerberos v4 infrastructure on which the OpenAFS 1.2
  series is reliant is no longer secure.&nbsp; Cross-realm Kerberos is very
***************
*** 1630,1642 ****
  style='mso-spacerun:yes'>  </span>IBM Transarc servers do not support Kerberos
  v5.</p>
  
! <h3><a name="_Toc206421244"></a><a name="_Toc193871634"></a><a
! name="_Toc193871389"></a><a name="_Toc191662070"></a><a name="_Toc152605040"></a><a
! name="_Toc115416106"></a><a name="_Toc139993090"></a><a name="_Toc126872171"></a><span
  style='mso-bookmark:_Toc206421244'><span style='mso-bookmark:_Toc193871634'><span
  style='mso-bookmark:_Toc193871389'><span style='mso-bookmark:_Toc191662070'><span
! style='mso-bookmark:_Toc152605040'><span style='mso-bookmark:_Toc115416106'>3.1.1.
! Active Directory</span></span></span></span></span></span></h3>
  
  <p class=MsoNormal>Microsoft Windows Active Directory can be used as a Kerberos
  v5 KDC in conjunction with OpenAFS.<span style='mso-spacerun:yes'> 
--- 1668,1681 ----
  style='mso-spacerun:yes'>  </span>IBM Transarc servers do not support Kerberos
  v5.</p>
  
! <h3><a name="_Toc213844389"></a><a name="_Toc206421244"></a><a
! name="_Toc193871634"></a><a name="_Toc193871389"></a><a name="_Toc191662070"></a><a
! name="_Toc152605040"></a><a name="_Toc115416106"></a><a name="_Toc139993090"></a><a
! name="_Toc126872171"></a><span style='mso-bookmark:_Toc213844389'><span
  style='mso-bookmark:_Toc206421244'><span style='mso-bookmark:_Toc193871634'><span
  style='mso-bookmark:_Toc193871389'><span style='mso-bookmark:_Toc191662070'><span
! style='mso-bookmark:_Toc152605040'><span style='mso-bookmark:_Toc115416106'>3.2.1.
! Active Directory</span></span></span></span></span></span></span></h3>
  
  <p class=MsoNormal>Microsoft Windows Active Directory can be used as a Kerberos
  v5 KDC in conjunction with OpenAFS.<span style='mso-spacerun:yes'> 
***************
*** 1672,1695 ****
  <p class=MsoNormal>Note that an Active Directory computer object cannot be used
  for the afs service principal.</p>
  
! <h3><a name="_Toc206421245"></a><a name="_Toc193871635"></a><a
! name="_Toc193871390"></a><a name="_Toc191662071"></a><a name="_Toc152605041"></a><a
! name="_Toc115416107"></a><a name="_Toc139993091"></a><a name="_Toc126872172"></a><span
  style='mso-bookmark:_Toc206421245'><span style='mso-bookmark:_Toc193871635'><span
  style='mso-bookmark:_Toc193871390'><span style='mso-bookmark:_Toc191662071'><span
! style='mso-bookmark:_Toc152605041'><span style='mso-bookmark:_Toc115416107'>3.1.2.
! Using the krb524 service</span></span></span></span></span></span></h3>
  
  <p class=MsoNormal>Some organizations have AFS cell names and Kerberos realm
! names which differ by more then just lower and upper case and rely on a modification
! to krb524d which maps a Kerberos v5 ticket from realm FOO to a Kerberos v4
! ticket in realm BAR.&nbsp; This allows user@FOO to appear to be user@bar for
! the purposes of accessing the AFS cell.&nbsp; As of OpenAFS 1.2.8, support was
! added to allow the immediate use of Kerberos v5 tickets as AFS (2b) tokens.
! This is the first building block necessary to break away from the limitations
! of Kerberos v4 with AFS.&nbsp; By using Kerberos v5 directly we avoid the
! security holes inherent in Kerberos v4 cross-realm.&nbsp; We also gain access
! to cryptographically stronger algorithms for authentication and encryption. </p>
  
  <p class=MsoNormal>Another reason for using Kerberos v5 directly is because the
  krb524 service runs on a port (4444/udp) which has increasingly been blocked by
--- 1711,1736 ----
  <p class=MsoNormal>Note that an Active Directory computer object cannot be used
  for the afs service principal.</p>
  
! <h3><a name="_Toc213844390"></a><a name="_Toc206421245"></a><a
! name="_Toc193871635"></a><a name="_Toc193871390"></a><a name="_Toc191662071"></a><a
! name="_Toc152605041"></a><a name="_Toc115416107"></a><a name="_Toc139993091"></a><a
! name="_Toc126872172"></a><span style='mso-bookmark:_Toc213844390'><span
  style='mso-bookmark:_Toc206421245'><span style='mso-bookmark:_Toc193871635'><span
  style='mso-bookmark:_Toc193871390'><span style='mso-bookmark:_Toc191662071'><span
! style='mso-bookmark:_Toc152605041'><span style='mso-bookmark:_Toc115416107'>3.2.2.
! Using the krb524 service</span></span></span></span></span></span></span></h3>
  
  <p class=MsoNormal>Some organizations have AFS cell names and Kerberos realm
! names which differ by more then just lower and upper case and rely on a
! modification to krb524d which maps a Kerberos v5 ticket from realm FOO to a
! Kerberos v4 ticket in realm BAR.&nbsp; This allows user@FOO to appear to be
! user@bar for the purposes of accessing the AFS cell.&nbsp; As of OpenAFS 1.2.8,
! support was added to allow the immediate use of Kerberos v5 tickets as AFS (2b)
! tokens. This is the first building block necessary to break away from the
! limitations of Kerberos v4 with AFS.&nbsp; By using Kerberos v5 directly we
! avoid the security holes inherent in Kerberos v4 cross-realm.&nbsp; We also
! gain access to cryptographically stronger algorithms for authentication and
! encryption. </p>
  
  <p class=MsoNormal>Another reason for using Kerberos v5 directly is because the
  krb524 service runs on a port (4444/udp) which has increasingly been blocked by
***************
*** 1708,1723 ****
  only be used by individuals until such time as their organizations can provide
  a more permanent solution.</p>
  
! <p class=MsoNormal>Note that the OpenAFS 1.4.x servers permit the use of a secondary
! realm name that can be treated as equivalent to the cell name for
  authentication. </p>
  
! <h3><a name="_Toc206421246"></a><a name="_Toc193871636"></a><a
! name="_Toc193871391"></a><a name="_Toc191662072"></a><a name="_Toc152605042"></a><a
! name="_3.1.3._Network_Identity"></a><span style='mso-bookmark:_Toc206421246'><span
  style='mso-bookmark:_Toc193871636'><span style='mso-bookmark:_Toc193871391'><span
! style='mso-bookmark:_Toc191662072'><span style='mso-bookmark:_Toc152605042'>3.1.3.
! Network Identity Manager P</span>rovider</span></span></span></span></h3>
  
  <p class=MsoNormal>As of release 1.5.9, OpenAFS for Windows includes a Network
  Identity Manager Provider for obtaining AFS tokens.<span
--- 1749,1765 ----
  only be used by individuals until such time as their organizations can provide
  a more permanent solution.</p>
  
! <p class=MsoNormal>Note that the OpenAFS 1.4.x servers permit the use of a
! secondary realm name that can be treated as equivalent to the cell name for
  authentication. </p>
  
! <h3><a name="_Toc213844391"></a><a name="_Toc206421246"></a><a
! name="_Toc193871636"></a><a name="_Toc193871391"></a><a name="_Toc191662072"></a><a
! name="_Toc152605042"></a><a name="_3.1.3._Network_Identity"></a><span
! style='mso-bookmark:_Toc213844391'><span style='mso-bookmark:_Toc206421246'><span
  style='mso-bookmark:_Toc193871636'><span style='mso-bookmark:_Toc193871391'><span
! style='mso-bookmark:_Toc191662072'><span style='mso-bookmark:_Toc152605042'>3.2.3.
! Network Identity Manager P</span>rovider</span></span></span></span></span></h3>
  
  <p class=MsoNormal>As of release 1.5.9, OpenAFS for Windows includes a Network
  Identity Manager Provider for obtaining AFS tokens.<span
***************
*** 1729,1737 ****
  identity credential management tool that ships with <a
  href="http://web.mit.edu/kerberos/"><span class=Heading1Char><span
  style='font-size:14.0pt;mso-fareast-font-family:"MS Mincho";text-decoration:
! none;text-underline:none'>MIT Kerberos for Windows</span></span></a> version
! 3.0 and above.<span style='mso-spacerun:yes'>  </span>The OpenAFS plug-in
! requires <a href="http://web.mit.edu/kerberos/"><span class=Heading1Char><span
  style='font-size:14.0pt;mso-fareast-font-family:"MS Mincho";text-decoration:
  none;text-underline:none'>MIT Kerberos for Windows</span></span></a> version
  3.1 or above.<span style='mso-spacerun:yes'>  </span>Version 3.2.2 is
--- 1771,1779 ----
  identity credential management tool that ships with <a
  href="http://web.mit.edu/kerberos/"><span class=Heading1Char><span
  style='font-size:14.0pt;mso-fareast-font-family:"MS Mincho";text-decoration:
! none;text-underline:none'>MIT Kerberos for Windows</span></span></a> version 3.0
! and above.<span style='mso-spacerun:yes'>  </span>The OpenAFS plug-in requires <a
! href="http://web.mit.edu/kerberos/"><span class=Heading1Char><span
  style='font-size:14.0pt;mso-fareast-font-family:"MS Mincho";text-decoration:
  none;text-underline:none'>MIT Kerberos for Windows</span></span></a> version
  3.1 or above.<span style='mso-spacerun:yes'>  </span>Version 3.2.2 is
***************
*** 1763,1769 ****
   mso-wrap-style:square'>
   <v:imagedata src="relnotes_files/image001.png" o:title="netidmgr_main"/>
  </v:shape><![endif]--><![if !vml]><img border=0 width=556 height=679
! src="relnotes_files/image006.jpg" alt="netidmgr_main" v:shapes="Picture_x0020_1"><![endif]></span></p>
  
  <p class=MsoNormal>The Network Identity Manager replaces the former KFW ticket
  manager, Leash”, and when combined with the OpenAFS Provider, it is intended to
--- 1805,1811 ----
   mso-wrap-style:square'>
   <v:imagedata src="relnotes_files/image001.png" o:title="netidmgr_main"/>
  </v:shape><![endif]--><![if !vml]><img border=0 width=556 height=679
! src="relnotes_files/image002.jpg" alt="netidmgr_main" v:shapes="Picture_x0020_1"><![endif]></span></p>
  
  <p class=MsoNormal>The Network Identity Manager replaces the former KFW ticket
  manager, Leash”, and when combined with the OpenAFS Provider, it is intended to
***************
*** 1778,1784 ****
   height:294.75pt;visibility:visible;mso-wrap-style:square'>
   <v:imagedata src="relnotes_files/image003.png" o:title="netidmgr_afs_opt"/>
  </v:shape><![endif]--><![if !vml]><img border=0 width=542 height=393
! src="relnotes_files/image008.jpg" alt="netidmgr_afs_opt" v:shapes="Picture_x0020_2"><![endif]></span></p>
  
  <p class=MsoNormal>The AFS configuration panel for each Kerberos v5 identity is
  used to configure which cells credentials should be obtained for and how they
--- 1820,1826 ----
   height:294.75pt;visibility:visible;mso-wrap-style:square'>
   <v:imagedata src="relnotes_files/image003.png" o:title="netidmgr_afs_opt"/>
  </v:shape><![endif]--><![if !vml]><img border=0 width=542 height=393
! src="relnotes_files/image004.jpg" alt="netidmgr_afs_opt" v:shapes="Picture_x0020_2"><![endif]></span></p>
  
  <p class=MsoNormal>The AFS configuration panel for each Kerberos v5 identity is
  used to configure which cells credentials should be obtained for and how they
***************
*** 1793,1799 ****
   height:294.75pt;visibility:visible;mso-wrap-style:square'>
   <v:imagedata src="relnotes_files/image005.png" o:title="netidmgr_afs_cfg"/>
  </v:shape><![endif]--><![if !vml]><img border=0 width=542 height=393
! src="relnotes_files/image009.jpg" alt="netidmgr_afs_cfg" v:shapes="Picture_x0020_3"><![endif]></span></p>
  
  <p class=MsoNormal>The OpenAFS Provider configuration panel can be used to
  check the status of the AFS Client Service and its version.<span
--- 1835,1841 ----
   height:294.75pt;visibility:visible;mso-wrap-style:square'>
   <v:imagedata src="relnotes_files/image005.png" o:title="netidmgr_afs_cfg"/>
  </v:shape><![endif]--><![if !vml]><img border=0 width=542 height=393
! src="relnotes_files/image006.jpg" alt="netidmgr_afs_cfg" v:shapes="Picture_x0020_3"><![endif]></span></p>
  
  <p class=MsoNormal>The OpenAFS Provider configuration panel can be used to
  check the status of the AFS Client Service and its version.<span
***************
*** 1802,1815 ****
  login.<span style='mso-spacerun:yes'>   </span>A shortcut to the OpenAFS
  Control Panel is also provided.</p>
  
! <h2><a name="_Toc206421247"></a><a name="_Toc193871637"></a><a
! name="_Toc193871392"></a><a name="_Toc191662073"></a><a name="_Toc152605043"></a><a
! name="_Toc115416108"></a><a name="_Toc139993092"></a><a name="_Toc126872173"></a><a
! name="_Toc115417044"></a><span style='mso-bookmark:_Toc206421247'><span
! style='mso-bookmark:_Toc193871637'><span style='mso-bookmark:_Toc193871392'><span
! style='mso-bookmark:_Toc191662073'><span style='mso-bookmark:_Toc152605043'><span
! style='mso-bookmark:_Toc115416108'>3.2. Use of the Microsoft Loopback Adapter</span>
! by the AFS Client Service</span></span></span></span></span></h2>
  
  <p class=MsoNormal>By itself the OpenAFS Client Service does not provide robust
  behavior in a plug-n-play network environment.&nbsp; Changes to the number of
--- 1844,1858 ----
  login.<span style='mso-spacerun:yes'>   </span>A shortcut to the OpenAFS
  Control Panel is also provided.</p>
  
! <h2><a name="_Toc213847154"></a><a name="_Toc213844392"></a><a
! name="_Toc206421247"></a><a name="_Toc193871637"></a><a name="_Toc193871392"></a><a
! name="_Toc191662073"></a><a name="_Toc152605043"></a><a name="_Toc115416108"></a><a
! name="_Toc139993092"></a><a name="_Toc126872173"></a><a name="_Toc115417044"></a><span
! style='mso-bookmark:_Toc213847154'><span style='mso-bookmark:_Toc213844392'><span
! style='mso-bookmark:_Toc206421247'><span style='mso-bookmark:_Toc193871637'><span
! style='mso-bookmark:_Toc193871392'><span style='mso-bookmark:_Toc191662073'><span
! style='mso-bookmark:_Toc152605043'><span style='mso-bookmark:_Toc115416108'>3.3.
! Use of the Microsoft Loopback Adapter</span> by the AFS Client Service</span></span></span></span></span></span></span></h2>
  
  <p class=MsoNormal>By itself the OpenAFS Client Service does not provide robust
  behavior in a plug-n-play network environment.&nbsp; Changes to the number of
***************
*** 1865,1878 ****
  the AFS Client Service is simply &quot;AFS&quot; and portable UNC paths of the
  form \\AFS\cellname\path can now be used on all machines.</p>
  
! <h2><a name="_Toc206421248"></a><a name="_Toc193871638"></a><a
! name="_Toc193871393"></a><a name="_Toc191662074"></a><a name="_Toc152605044"></a><a
! name="_Toc115416109"></a><a name="_Toc139993093"></a><a name="_Toc126872174"></a><a
! name="_Toc115417045"></a><span style='mso-bookmark:_Toc206421248'><span
! style='mso-bookmark:_Toc193871638'><span style='mso-bookmark:_Toc193871393'><span
! style='mso-bookmark:_Toc191662074'><span style='mso-bookmark:_Toc152605044'><span
! style='mso-bookmark:_Toc115416109'>3.3. Using Freelance (Dynamic Root) Mode to
! Improve Mobility</span></span></span></span></span></span></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
--- 1908,1922 ----
  the AFS Client Service is simply &quot;AFS&quot; and portable UNC paths of the
  form \\AFS\cellname\path can now be used on all machines.</p>
  
! <h2><a name="_Toc213847155"></a><a name="_Toc213844393"></a><a
! name="_Toc206421248"></a><a name="_Toc193871638"></a><a name="_Toc193871393"></a><a
! name="_Toc191662074"></a><a name="_Toc152605044"></a><a name="_Toc115416109"></a><a
! name="_Toc139993093"></a><a name="_Toc126872174"></a><a name="_Toc115417045"></a><span
! style='mso-bookmark:_Toc213847155'><span style='mso-bookmark:_Toc213844393'><span
! style='mso-bookmark:_Toc206421248'><span style='mso-bookmark:_Toc193871638'><span
! style='mso-bookmark:_Toc193871393'><span style='mso-bookmark:_Toc191662074'><span
! style='mso-bookmark:_Toc152605044'><span style='mso-bookmark:_Toc115416109'>3.4.
! Using Freelance (Dynamic Root) Mode to Improve Mobility</span></span></span></span></span></span></span></span></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
***************
*** 1902,1921 ****
  preserved in the registry at key:</p>
  
  <p class=preformattedtext style='margin-left:35.45pt'><a
! href="#_Regkey:_[HKLMSOFTWAREOpenAFSClie"><span style='mso-bookmark:_Toc206421249'><span
  style='mso-bookmark:_Toc193871639'><span style='mso-bookmark:_Toc193871394'><span
  class=Heading1Char><span style='font-size:14.0pt;mso-fareast-font-family:"MS Mincho";
! text-decoration:none;text-underline:none'>HKLM\SOFTWARE\OpenAFS\Client\Freelance</span></span></span></span></span><span
  style='mso-bookmark:_Toc193871394'></span><span style='mso-bookmark:_Toc193871639'></span><span
! style='mso-bookmark:_Toc206421249'></span></a><![if !supportNestedAnchors]><a
! name="_Toc193871394"></a><a name="_Toc193871639"></a><a name="_Toc206421249"></a><![endif]></p>
  
  <p class=MsoNormal>Additional mount points may be manually created using the
  &quot;fs mkmount&quot; command.&nbsp; Mount points may be removed using the
  &quot;fs rmmount&quot; command.</p>
  
! <p class=preformattedtext style='margin-left:35.45pt'>&gt;fs mkmount \\AFS\athena.mit.edu
! root.cell athena.mit.edu</p>
  
  <p class=preformattedtext style='margin-left:35.45pt'>&gt;fs mkmount
  \\AFS\.athena.mit.edu root.cell athena.mit.edu -rw</p>
--- 1946,1968 ----
  preserved in the registry at key:</p>
  
  <p class=preformattedtext style='margin-left:35.45pt'><a
! href="#_Regkey:_[HKLMSOFTWAREOpenAFSClie"><span style='mso-bookmark:_Toc213847156'><span
! style='mso-bookmark:_Toc213844394'><span style='mso-bookmark:_Toc206421249'><span
  style='mso-bookmark:_Toc193871639'><span style='mso-bookmark:_Toc193871394'><span
  class=Heading1Char><span style='font-size:14.0pt;mso-fareast-font-family:"MS Mincho";
! text-decoration:none;text-underline:none'>HKLM\SOFTWARE\OpenAFS\Client\Freelance</span></span></span></span></span></span></span><span
  style='mso-bookmark:_Toc193871394'></span><span style='mso-bookmark:_Toc193871639'></span><span
! style='mso-bookmark:_Toc206421249'></span><span style='mso-bookmark:_Toc213844394'></span><span
! style='mso-bookmark:_Toc213847156'></span></a><![if !supportNestedAnchors]><a
! name="_Toc193871394"></a><a name="_Toc193871639"></a><a name="_Toc206421249"></a><a
! name="_Toc213844394"></a><a name="_Toc213847156"></a><![endif]></p>
  
  <p class=MsoNormal>Additional mount points may be manually created using the
  &quot;fs mkmount&quot; command.&nbsp; Mount points may be removed using the
  &quot;fs rmmount&quot; command.</p>
  
! <p class=preformattedtext style='margin-left:35.45pt'>&gt;fs mkmount
! \\AFS\athena.mit.edu root.cell athena.mit.edu</p>
  
  <p class=preformattedtext style='margin-left:35.45pt'>&gt;fs mkmount
  \\AFS\.athena.mit.edu root.cell athena.mit.edu -rw</p>
***************
*** 1943,1978 ****
  <p class=MsoNormal>The symlinks are stored in the registry at:</p>
  
  <p class=preformattedtext style='margin-left:35.45pt'><a
! href="#_Regkey:_[HKLMSOFTWAREOpenAFSClie_1"><span style='mso-bookmark:_Toc206421250'><span
  style='mso-bookmark:_Toc193871640'><span style='mso-bookmark:_Toc193871395'><span
  class=Heading1Char><span style='font-size:14.0pt;mso-fareast-font-family:"MS Mincho";
! text-decoration:none;text-underline:none'>HKLM\SOFTWARE\OpenAFS\Client\Freelance\Symlinks</span></span></span></span></span><span
  style='mso-bookmark:_Toc193871395'></span><span style='mso-bookmark:_Toc193871640'></span><span
! style='mso-bookmark:_Toc206421250'></span></a><![if !supportNestedAnchors]><a
! name="_Toc193871395"></a><a name="_Toc193871640"></a><a name="_Toc206421250"></a><![endif]>&nbsp;</p>
! 
! <h2><a name="_Toc206421251"></a><a name="_Toc193871641"></a><a
! name="_Toc193871396"></a><a name="_Toc191662075"></a><a name="_Toc152605045"></a><a
! name="_Toc115416110"></a><a name="_Toc139993094"></a><a name="_Toc126872175"></a><a
! name="_Toc115417046"></a><span style='mso-bookmark:_Toc206421251'><span
! style='mso-bookmark:_Toc193871641'><span style='mso-bookmark:_Toc193871396'><span
! style='mso-bookmark:_Toc191662075'><span style='mso-bookmark:_Toc152605045'><span
! style='mso-bookmark:_Toc115416110'>3.4. Locating AFS Volume Database Servers</span>
! via DNS</span></span></span></span></span> </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 for the cell
  are not present in the client's CellServDB file
  (\%PROGRAMFILES%\OpenAFS\Client\CellServDB).</p>
  
! <h2><a name="_Toc206421252"></a><a name="_Toc193871642"></a><a
! name="_Toc193871397"></a><a name="_Toc191662076"></a><a name="_Toc152605046"></a><a
! name="_Toc115416111"></a><a name="_Toc139993095"></a><a name="_Toc126872176"></a><a
! name="_Toc115417047"></a><span style='mso-bookmark:_Toc206421252'><span
! style='mso-bookmark:_Toc193871642'><span style='mso-bookmark:_Toc193871397'><span
! style='mso-bookmark:_Toc191662076'><span style='mso-bookmark:_Toc152605046'><span
! style='mso-bookmark:_Toc115416111'>3.5. Obtaining AFS Tokens as a Integrated
! Part of Windows Logon</span></span></span></span></span></span></h2>
  
  <p class=MsoNormal>OpenAFS for Windows installs a WinLogon Network Provider to
  provide Single Sign-On functionality (aka Integrated Logon.)&nbsp; Integrated
--- 1990,2031 ----
  <p class=MsoNormal>The symlinks are stored in the registry at:</p>
  
  <p class=preformattedtext style='margin-left:35.45pt'><a
! href="#_Regkey:_[HKLMSOFTWAREOpenAFSClie_1"><span style='mso-bookmark:_Toc213847157'><span
! style='mso-bookmark:_Toc213844395'><span style='mso-bookmark:_Toc206421250'><span
  style='mso-bookmark:_Toc193871640'><span style='mso-bookmark:_Toc193871395'><span
  class=Heading1Char><span style='font-size:14.0pt;mso-fareast-font-family:"MS Mincho";
! text-decoration:none;text-underline:none'>HKLM\SOFTWARE\OpenAFS\Client\Freelance\Symlinks</span></span></span></span></span></span></span><span
  style='mso-bookmark:_Toc193871395'></span><span style='mso-bookmark:_Toc193871640'></span><span
! style='mso-bookmark:_Toc206421250'></span><span style='mso-bookmark:_Toc213844395'></span><span
! style='mso-bookmark:_Toc213847157'></span></a><![if !supportNestedAnchors]><a
! name="_Toc193871395"></a><a name="_Toc193871640"></a><a name="_Toc206421250"></a><a
! name="_Toc213844395"></a><a name="_Toc213847157"></a><![endif]>&nbsp;</p>
! 
! <h2><a name="_Toc213847158"></a><a name="_Toc213844396"></a><a
! name="_Toc206421251"></a><a name="_Toc193871641"></a><a name="_Toc193871396"></a><a
! name="_Toc191662075"></a><a name="_Toc152605045"></a><a name="_Toc115416110"></a><a
! name="_Toc139993094"></a><a name="_Toc126872175"></a><a name="_Toc115417046"></a><span
! style='mso-bookmark:_Toc213847158'><span style='mso-bookmark:_Toc213844396'><span
! style='mso-bookmark:_Toc206421251'><span style='mso-bookmark:_Toc193871641'><span
! style='mso-bookmark:_Toc193871396'><span style='mso-bookmark:_Toc191662075'><span
! style='mso-bookmark:_Toc152605045'><span style='mso-bookmark:_Toc115416110'>3.5.
! Locating AFS Volume Database Servers</span> via DNS</span></span></span></span></span></span></span>
! </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 for the cell
  are not present in the client's CellServDB file
  (\%PROGRAMFILES%\OpenAFS\Client\CellServDB).</p>
  
! <h2><a name="_Toc213847159"></a><a name="_Toc213844397"></a><a
! name="_Toc206421252"></a><a name="_Toc193871642"></a><a name="_Toc193871397"></a><a
! name="_Toc191662076"></a><a name="_Toc152605046"></a><a name="_Toc115416111"></a><a
! name="_Toc139993095"></a><a name="_Toc126872176"></a><a name="_Toc115417047"></a><span
! style='mso-bookmark:_Toc213847159'><span style='mso-bookmark:_Toc213844397'><span
! style='mso-bookmark:_Toc206421252'><span style='mso-bookmark:_Toc193871642'><span
! style='mso-bookmark:_Toc193871397'><span style='mso-bookmark:_Toc191662076'><span
! style='mso-bookmark:_Toc152605046'><span style='mso-bookmark:_Toc115416111'>3.6.
! Obtaining AFS Tokens as a Integrated Part of Windows Logon</span></span></span></span></span></span></span></span></h2>
  
  <p class=MsoNormal>OpenAFS for Windows installs a WinLogon Network Provider to
  provide Single Sign-On functionality (aka Integrated Logon.)&nbsp; Integrated
***************
*** 2003,2010 ****
  value.</p>
  
  <p class=MsoNormal>Integrated Logon will not transfer Kerberos v5 tickets into
! the user’s logon session credential cache. KFW 3.1 and above provides that functionality
! on its own.</p>
  
  <p class=MsoNormal>Integrated Logon does not have the ability to cache the
  user's username and password for the purpose of obtaining tokens if the
--- 2056,2063 ----
  value.</p>
  
  <p class=MsoNormal>Integrated Logon will not transfer Kerberos v5 tickets into
! the user’s logon session credential cache. KFW 3.1 and above provides that
! functionality on its own.</p>
  
  <p class=MsoNormal>Integrated Logon does not have the ability to cache the
  user's username and password for the purpose of obtaining tokens if the
***************
*** 2027,2039 ****
  color:#365F91;text-decoration:none;text-underline:none'>der</span></a>.</span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
! <h2><a name="_Toc206421253"></a><a name="_Toc193871643"></a><a
! name="_Toc193871398"></a><a name="_Toc191662077"></a><a name="_Toc152605047"></a><a
! name="_Toc115416112"></a><a name="_Toc139993096"></a><a name="_Toc126872177"></a><a
! name="_Toc115417048"></a><span style='mso-bookmark:_Toc206421253'><span
! style='mso-bookmark:_Toc193871643'><span style='mso-bookmark:_Toc193871398'><span
! style='mso-bookmark:_Toc191662077'><span style='mso-bookmark:_Toc152605047'><span
! style='mso-bookmark:_Toc115416112'>3.6. AFS System Tray Command Line Options</span></span></span></span></span></span></h2>
  
  <p class=MsoNormal><span style='color:red'>The AFS System Tray Tool
  (afscreds.exe) has been deprecated in favor of Network Identity Manager.<span
--- 2080,2094 ----
  color:#365F91;text-decoration:none;text-underline:none'>der</span></a>.</span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
! <h2><a name="_Toc213847160"></a><a name="_Toc213844398"></a><a
! name="_Toc206421253"></a><a name="_Toc193871643"></a><a name="_Toc193871398"></a><a
! name="_Toc191662077"></a><a name="_Toc152605047"></a><a name="_Toc115416112"></a><a
! name="_Toc139993096"></a><a name="_Toc126872177"></a><a name="_Toc115417048"></a><span
! style='mso-bookmark:_Toc213847160'><span style='mso-bookmark:_Toc213844398'><span
! style='mso-bookmark:_Toc206421253'><span style='mso-bookmark:_Toc193871643'><span
! style='mso-bookmark:_Toc193871398'><span style='mso-bookmark:_Toc191662077'><span
! style='mso-bookmark:_Toc152605047'><span style='mso-bookmark:_Toc115416112'>3.7.
! AFS System Tray Command Line Options</span></span></span></span></span></span></span></span></h2>
  
  <p class=MsoNormal><span style='color:red'>The AFS System Tray Tool
  (afscreds.exe) has been deprecated in favor of Network Identity Manager.<span
***************
*** 2091,2104 ****
  style='font-size:14.0pt;mso-fareast-font-family:"MS Mincho";text-decoration:
  none;text-underline:none'>Appendix A</span></span></a>.</p>
  
! <h2><a name="_Toc206421254"></a><a name="_Toc193871644"></a><a
! name="_Toc193871399"></a><a name="_Toc191662078"></a><a name="_Toc152605048"></a><a
! name="_Toc115416113"></a><a name="_Toc139993097"></a><a name="_Toc126872178"></a><a
! name="_Toc115417049"></a><span style='mso-bookmark:_Toc206421254'><span
! style='mso-bookmark:_Toc193871644'><span style='mso-bookmark:_Toc193871399'><span
! style='mso-bookmark:_Toc191662078'><span style='mso-bookmark:_Toc152605048'><span
! style='mso-bookmark:_Toc115416113'>3.7. The “AFS Client Admins” Authorization
! Group</span></span></span></span></span></span></h2>
  
  <p class=MsoNormal>The OpenAFS for Windows client supports a local Windows
  authorization group named &quot;AFS Client Admins&quot;.&nbsp; This group is
--- 2146,2160 ----
  style='font-size:14.0pt;mso-fareast-font-family:"MS Mincho";text-decoration:
  none;text-underline:none'>Appendix A</span></span></a>.</p>
  
! <h2><a name="_Toc213847161"></a><a name="_Toc213844399"></a><a
! name="_Toc206421254"></a><a name="_Toc193871644"></a><a name="_Toc193871399"></a><a
! name="_Toc191662078"></a><a name="_Toc152605048"></a><a name="_Toc115416113"></a><a
! name="_Toc139993097"></a><a name="_Toc126872178"></a><a name="_Toc115417049"></a><span
! style='mso-bookmark:_Toc213847161'><span style='mso-bookmark:_Toc213844399'><span
! style='mso-bookmark:_Toc206421254'><span style='mso-bookmark:_Toc193871644'><span
! style='mso-bookmark:_Toc193871399'><span style='mso-bookmark:_Toc191662078'><span
! style='mso-bookmark:_Toc152605048'><span style='mso-bookmark:_Toc115416113'>3.8.
! The “AFS Client Admins” Authorization Group</span></span></span></span></span></span></span></span></h2>
  
  <p class=MsoNormal>The OpenAFS for Windows client supports a local Windows
  authorization group named &quot;AFS Client Admins&quot;.&nbsp; This group is
***************
*** 2162,2169 ****
  Freelance “root.afs” volume are also restricted to members of the “AFS Client
  Admins” group.</p>
  
! <p class=MsoNormal>The initial membership of the &quot;AFS Client Admins&quot; group
! when created by the installer is equivalent to the local
  &quot;Administrators&quot; group.&nbsp; If a user is added to the
  &quot;Administrators&quot; group after the creation of the &quot;AFS Client
  Admin&quot; group, that user will not be an AFS Client Administrator.&nbsp;
--- 2218,2225 ----
  Freelance “root.afs” volume are also restricted to members of the “AFS Client
  Admins” group.</p>
  
! <p class=MsoNormal>The initial membership of the &quot;AFS Client Admins&quot;
! group when created by the installer is equivalent to the local
  &quot;Administrators&quot; group.&nbsp; If a user is added to the
  &quot;Administrators&quot; group after the creation of the &quot;AFS Client
  Admin&quot; group, that user will not be an AFS Client Administrator.&nbsp;
***************
*** 2177,2189 ****
  none;text-underline:none'>registry</span></span></a> and not via &quot;fs
  sysname&quot;.</p>
  
! <h2><a name="_Toc206421255"></a><a name="_Toc193871645"></a><a
! name="_Toc193871400"></a><a name="_Toc191662079"></a><a name="_Toc152605049"></a><a
! name="_Toc115416114"></a><a name="_Toc139993098"></a><a name="_Toc126872179"></a><a
! name="_Toc115417050"></a><span style='mso-bookmark:_Toc206421255'><span
! style='mso-bookmark:_Toc193871645'><span style='mso-bookmark:_Toc193871400'><span
! style='mso-bookmark:_Toc191662079'><span style='mso-bookmark:_Toc152605049'><span
! style='mso-bookmark:_Toc115416114'>3.8. OpenAFS support for UNC paths</span></span></span></span></span></span>
  </h2>
  
  <p class=MsoNormal>The OpenAFS client supports UNC paths everywhere.&nbsp; UNC
--- 2233,2247 ----
  none;text-underline:none'>registry</span></span></a> and not via &quot;fs
  sysname&quot;.</p>
  
! <h2><a name="_Toc213847162"></a><a name="_Toc213844400"></a><a
! name="_Toc206421255"></a><a name="_Toc193871645"></a><a name="_Toc193871400"></a><a
! name="_Toc191662079"></a><a name="_Toc152605049"></a><a name="_Toc115416114"></a><a
! name="_Toc139993098"></a><a name="_Toc126872179"></a><a name="_Toc115417050"></a><span
! style='mso-bookmark:_Toc213847162'><span style='mso-bookmark:_Toc213844400'><span
! style='mso-bookmark:_Toc206421255'><span style='mso-bookmark:_Toc193871645'><span
! style='mso-bookmark:_Toc193871400'><span style='mso-bookmark:_Toc191662079'><span
! style='mso-bookmark:_Toc152605049'><span style='mso-bookmark:_Toc115416114'>3.9.
! OpenAFS support for UNC paths</span></span></span></span></span></span></span></span>
  </h2>
  
  <p class=MsoNormal>The OpenAFS client supports UNC paths everywhere.&nbsp; UNC
***************
*** 2212,2224 ****
  text-underline:none'>http://www.jpsoft.</span><span style='mso-fareast-font-family:
  "Times New Roman";color:#365F91;text-decoration:none;text-underline:none'>com</span></a></span></span>.</p>
  
! <h2><a name="_Toc206421256"></a><a name="_Toc193871646"></a><a
! name="_Toc193871401"></a><a name="_Toc191662080"></a><a name="_Toc152605050"></a><a
! name="_Toc115416115"></a><a name="_Toc139993099"></a><a name="_Toc126872180"></a><a
! name="_Toc115417051"></a><span style='mso-bookmark:_Toc206421256'><span
! style='mso-bookmark:_Toc193871646'><span style='mso-bookmark:_Toc193871401'><span
! style='mso-bookmark:_Toc191662080'><span style='mso-bookmark:_Toc152605050'><span
! style='mso-bookmark:_Toc115416115'>3.9. aklog.exe</span></span></span></span></span></span></h2>
  
  <p class=MsoNormal>The OpenAFS Client ships with its own version of aklog.exe
  which should be used in preference to those obtained by other sources.&nbsp;
--- 2270,2284 ----
  text-underline:none'>http://www.jpsoft.</span><span style='mso-fareast-font-family:
  "Times New Roman";color:#365F91;text-decoration:none;text-underline:none'>com</span></a></span></span>.</p>
  
! <h2><a name="_Toc213847163"></a><a name="_Toc213844401"></a><a
! name="_Toc206421256"></a><a name="_Toc193871646"></a><a name="_Toc193871401"></a><a
! name="_Toc191662080"></a><a name="_Toc152605050"></a><a name="_Toc115416115"></a><a
! name="_Toc139993099"></a><a name="_Toc126872180"></a><a name="_Toc115417051"></a><span
! style='mso-bookmark:_Toc213847163'><span style='mso-bookmark:_Toc213844401'><span
! style='mso-bookmark:_Toc206421256'><span style='mso-bookmark:_Toc193871646'><span
! style='mso-bookmark:_Toc193871401'><span style='mso-bookmark:_Toc191662080'><span
! style='mso-bookmark:_Toc152605050'><span style='mso-bookmark:_Toc115416115'>3.10.
! aklog.exe</span></span></span></span></span></span></span></span></h2>
  
  <p class=MsoNormal>The OpenAFS Client ships with its own version of aklog.exe
  which should be used in preference to those obtained by other sources.&nbsp;
***************
*** 2257,2270 ****
  <p class=preformattedtext>&nbsp;&nbsp; -m = use krb524d to convert Kerberos V
  tickets to Kerberos IV</p>
  
! <h2><a name="_Toc206421257"></a><a name="_Toc193871647"></a><a
! name="_Toc193871402"></a><a name="_Toc191662081"></a><a name="_Toc152605051"></a><a
! name="_Toc115416116"></a><a name="_Toc139993100"></a><a name="_Toc126872181"></a><a
! name="_Toc115417052"></a><span style='mso-bookmark:_Toc206421257'><span
! style='mso-bookmark:_Toc193871647'><span style='mso-bookmark:_Toc193871402'><span
! style='mso-bookmark:_Toc191662081'><span style='mso-bookmark:_Toc152605051'><span
! style='mso-bookmark:_Toc115416116'>3.10. OpenAFS Servers on Windows are
! Unsupported</span></span></span></span></span></span></h2>
  
  <p class=MsoNormal>The AFS Server functionality provided as part of the OpenAFS
  install package might work but should be considered highly experimental.&nbsp;
--- 2317,2331 ----
  <p class=preformattedtext>&nbsp;&nbsp; -m = use krb524d to convert Kerberos V
  tickets to Kerberos IV</p>
  
! <h2><a name="_Toc213847164"></a><a name="_Toc213844402"></a><a
! name="_Toc206421257"></a><a name="_Toc193871647"></a><a name="_Toc193871402"></a><a
! name="_Toc191662081"></a><a name="_Toc152605051"></a><a name="_Toc115416116"></a><a
! name="_Toc139993100"></a><a name="_Toc126872181"></a><a name="_Toc115417052"></a><span
! style='mso-bookmark:_Toc213847164'><span style='mso-bookmark:_Toc213844402'><span
! style='mso-bookmark:_Toc206421257'><span style='mso-bookmark:_Toc193871647'><span
! style='mso-bookmark:_Toc193871402'><span style='mso-bookmark:_Toc191662081'><span
! style='mso-bookmark:_Toc152605051'><span style='mso-bookmark:_Toc115416116'>3.11.
! OpenAFS Servers on Windows are Unsupported</span></span></span></span></span></span></span></span></h2>
  
  <p class=MsoNormal>The AFS Server functionality provided as part of the OpenAFS
  install package might work but should be considered highly experimental.&nbsp;
***************
*** 2275,2284 ****
  and dynamic network configuration.<span style='mso-spacerun:yes'> 
  </span>Salvager is also known to crash.</p>
  
! <h3><a name="_Toc206421258"></a><a name="_Toc193871648"></a><a
! name="_Toc193871403"></a><a name="_Toc191662082"><span style='mso-bookmark:
! _Toc193871403'><span style='mso-bookmark:_Toc193871648'><span style='mso-bookmark:
! _Toc206421258'>3.10.1. OpenAFS Server Installation</span></span></span></a></h3>
  
  <p class=MsoNormal>When the OpenAFS Server is installed, the TransarcAFSServer
  service (bosctlsvc.exe) will be installed and configured.<span
--- 2336,2346 ----
  and dynamic network configuration.<span style='mso-spacerun:yes'> 
  </span>Salvager is also known to crash.</p>
  
! <h3><a name="_Toc213844403"></a><a name="_Toc191662082"></a><a
! name="_Toc193871403"></a><a name="_Toc193871648"></a><a name="_Toc206421258"><span
! style='mso-bookmark:_Toc193871648'><span style='mso-bookmark:_Toc193871403'><span
! style='mso-bookmark:_Toc191662082'><span style='mso-bookmark:_Toc213844403'>3.11.1.
! OpenAFS Server Installation</span></span></span></span></a></h3>
  
  <p class=MsoNormal>When the OpenAFS Server is installed, the TransarcAFSServer
  service (bosctlsvc.exe) will be installed and configured.<span
***************
*** 2298,2308 ****
  style='mso-spacerun:yes'>  </span>Instead, Active Directory or some other
  Kerberos v5 KDC should be used in its place.</p>
  
! <h3><a name="_Toc206421259"></a><a name="_Toc193871649"></a><a
! name="_Toc193871404"></a><a name="_Toc191662083"><span style='mso-bookmark:
! _Toc193871404'><span style='mso-bookmark:_Toc193871649'><span style='mso-bookmark:
! _Toc206421259'>3.10.2. Using the AFS Client Service when the Server is
! installed</span></span></span></a></h3>
  
  <p class=MsoNormal>A few notes on the usage of the AFS Client Service if it is
  going to be used with the OpenAFS AFS Server:</p>
--- 2360,2370 ----
  style='mso-spacerun:yes'>  </span>Instead, Active Directory or some other
  Kerberos v5 KDC should be used in its place.</p>
  
! <h3><a name="_Toc213844404"></a><a name="_Toc191662083"></a><a
! name="_Toc193871404"></a><a name="_Toc193871649"></a><a name="_Toc206421259"><span
! style='mso-bookmark:_Toc193871649'><span style='mso-bookmark:_Toc193871404'><span
! style='mso-bookmark:_Toc191662083'><span style='mso-bookmark:_Toc213844404'>3.11.2.
! Using the AFS Client Service when the Server is installed</span></span></span></span></a></h3>
  
  <p class=MsoNormal>A few notes on the usage of the AFS Client Service if it is
  going to be used with the OpenAFS AFS Server:</p>
***************
*** 2336,2348 ****
  not be shutdown or suspended unexpectedly.<span style='mso-spacerun:yes'>  
  </span>An inadvertent shutdown will corrupt volume data.</p>
  
! <h2><a name="_Toc206421260"></a><a name="_Toc193871650"></a><a
! name="_Toc193871405"></a><a name="_Toc191662084"></a><a name="_Toc152605052"></a><a
! name="_Toc115416117"></a><a name="_Toc139993101"></a><a name="_Toc126872182"></a><a
! name="_Toc115417053"></a><span style='mso-bookmark:_Toc206421260'><span
! style='mso-bookmark:_Toc193871650'><span style='mso-bookmark:_Toc193871405'><span
! style='mso-bookmark:_Toc191662084'><span style='mso-bookmark:_Toc152605052'><span
! style='mso-bookmark:_Toc115416117'>3.11. OpenAFS Debugging Symbol files</span></span></span></span></span></span></h2>
  
  <p class=MsoNormal>The OpenAFS for Windows installers include Debugging Symbol
  files which should be installed if you are experiencing problems and need to
--- 2398,2412 ----
  not be shutdown or suspended unexpectedly.<span style='mso-spacerun:yes'>  
  </span>An inadvertent shutdown will corrupt volume data.</p>
  
! <h2><a name="_Toc213847165"></a><a name="_Toc213844405"></a><a
! name="_Toc206421260"></a><a name="_Toc193871650"></a><a name="_Toc193871405"></a><a
! name="_Toc191662084"></a><a name="_Toc152605052"></a><a name="_Toc115416117"></a><a
! name="_Toc139993101"></a><a name="_Toc126872182"></a><a name="_Toc115417053"></a><span
! style='mso-bookmark:_Toc213847165'><span style='mso-bookmark:_Toc213844405'><span
! style='mso-bookmark:_Toc206421260'><span style='mso-bookmark:_Toc193871650'><span
! style='mso-bookmark:_Toc193871405'><span style='mso-bookmark:_Toc191662084'><span
! style='mso-bookmark:_Toc152605052'><span style='mso-bookmark:_Toc115416117'>3.12.
! OpenAFS Debugging Symbol files</span></span></span></span></span></span></span></span></h2>
  
  <p class=MsoNormal>The OpenAFS for Windows installers include Debugging Symbol
  files which should be installed if you are experiencing problems and need to
***************
*** 2363,2370 ****
  <p class=MsoNormal style='margin-left:14.15pt;text-indent:-14.15pt'><span
  style='font-size:9.0pt;font-family:Symbol'>·</span><span style='font-size:7.0pt;
  font-family:"Times New Roman","serif"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>whether
! or not <i style='mso-bidi-font-style:normal'>fs trace</i> logging is turned on by
! default (release: no, debug: yes)<span style='font-size:9.0pt;font-family:Symbol'><o:p></o:p></span></p>
  
  <p class=MsoNormal style='margin-left:14.15pt;text-indent:-14.15pt'><span
  style='font-size:9.0pt;font-family:Symbol'>·</span><span style='font-size:7.0pt;
--- 2427,2435 ----
  <p class=MsoNormal style='margin-left:14.15pt;text-indent:-14.15pt'><span
  style='font-size:9.0pt;font-family:Symbol'>·</span><span style='font-size:7.0pt;
  font-family:"Times New Roman","serif"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>whether
! or not <i style='mso-bidi-font-style:normal'>fs trace</i> logging is turned on
! by default (release: no, debug: yes)<span style='font-size:9.0pt;font-family:
! Symbol'><o:p></o:p></span></p>
  
  <p class=MsoNormal style='margin-left:14.15pt;text-indent:-14.15pt'><span
  style='font-size:9.0pt;font-family:Symbol'>·</span><span style='font-size:7.0pt;
***************
*** 2372,2397 ****
  or not additional debug statements were compiled into the binaries (release:
  no, debug: yes)</p>
  
! <h2><a name="_Toc206421261"></a><a name="_Toc193871651"></a><a
! name="_Toc193871406"></a><a name="_Toc191662085"></a><a name="_Toc152605053"></a><a
! name="_Toc115416118"></a><a name="_Toc139993102"></a><a name="_Toc126872183"></a><a
! name="_Toc115417054"></a><span style='mso-bookmark:_Toc206421261'><span
! style='mso-bookmark:_Toc193871651'><span style='mso-bookmark:_Toc193871406'><span
! style='mso-bookmark:_Toc191662085'><span style='mso-bookmark:_Toc152605053'><span
! style='mso-bookmark:_Toc115416118'>3.12. </span>Large File (64-bit) Support</span></span></span></span></span></h2>
  
  <p class=MsoNormal>As of release 1.5.3, OpenAFS for Windows supports files
  larger than 2GB.&nbsp; The maximum file size is now 16777216 terabytes when the
  AFS File Server supports large files.&nbsp;&nbsp; If the AFS File Server does
  not support 64-bit file sizes, then the maximum file size remains 2GB.</p>
  
! <h2><a name="_Toc206421262"></a><a name="_Toc193871652"></a><a
! name="_Toc193871407"></a><a name="_Toc191662086"></a><a name="_Toc152605054"></a><a
! name="_Toc115416119"></a><a name="_Toc139993103"></a><a name="_Toc126872184"></a><a
! name="_Toc115417055"></a><span style='mso-bookmark:_Toc206421262'><span
! style='mso-bookmark:_Toc193871652'><span style='mso-bookmark:_Toc193871407'><span
! style='mso-bookmark:_Toc191662086'><span style='mso-bookmark:_Toc152605054'><span
! style='mso-bookmark:_Toc115416119'>3.13. Encrypted AFS Network Communication</span></span></span></span></span></span></h2>
  
  <p class=MsoNormal>The OpenAFS for Windows installer by default activates a
  weak form of encrypted data transfer between the AFS client and the AFS
--- 2437,2466 ----
  or not additional debug statements were compiled into the binaries (release:
  no, debug: yes)</p>
  
! <h2><a name="_Toc213847166"></a><a name="_Toc213844406"></a><a
! name="_Toc206421261"></a><a name="_Toc193871651"></a><a name="_Toc193871406"></a><a
! name="_Toc191662085"></a><a name="_Toc152605053"></a><a name="_Toc115416118"></a><a
! name="_Toc139993102"></a><a name="_Toc126872183"></a><a name="_Toc115417054"></a><span
! style='mso-bookmark:_Toc213847166'><span style='mso-bookmark:_Toc213844406'><span
! style='mso-bookmark:_Toc206421261'><span style='mso-bookmark:_Toc193871651'><span
! style='mso-bookmark:_Toc193871406'><span style='mso-bookmark:_Toc191662085'><span
! style='mso-bookmark:_Toc152605053'><span style='mso-bookmark:_Toc115416118'>3.13.
! </span>Large File (64-bit) Support</span></span></span></span></span></span></span></h2>
  
  <p class=MsoNormal>As of release 1.5.3, OpenAFS for Windows supports files
  larger than 2GB.&nbsp; The maximum file size is now 16777216 terabytes when the
  AFS File Server supports large files.&nbsp;&nbsp; If the AFS File Server does
  not support 64-bit file sizes, then the maximum file size remains 2GB.</p>
  
! <h2><a name="_Toc213847167"></a><a name="_Toc213844407"></a><a
! name="_Toc206421262"></a><a name="_Toc193871652"></a><a name="_Toc193871407"></a><a
! name="_Toc191662086"></a><a name="_Toc152605054"></a><a name="_Toc115416119"></a><a
! name="_Toc139993103"></a><a name="_Toc126872184"></a><a name="_Toc115417055"></a><span
! style='mso-bookmark:_Toc213847167'><span style='mso-bookmark:_Toc213844407'><span
! style='mso-bookmark:_Toc206421262'><span style='mso-bookmark:_Toc193871652'><span
! style='mso-bookmark:_Toc193871407'><span style='mso-bookmark:_Toc191662086'><span
! style='mso-bookmark:_Toc152605054'><span style='mso-bookmark:_Toc115416119'>3.14.
! Encrypted AFS Network Communication</span></span></span></span></span></span></span></span></h2>
  
  <p class=MsoNormal>The OpenAFS for Windows installer by default activates a
  weak form of encrypted data transfer between the AFS client and the AFS
***************
*** 2400,2413 ****
  Transitions between “crypt” and “non-crypt” modes are logged to the Windows
  Application Event Log. </p>
  
! <h2><a name="_Toc206421263"></a><a name="_Toc193871653"></a><a
! name="_Toc193871408"></a><a name="_Toc191662087"></a><a name="_Toc152605055"></a><a
! name="_Toc115416120"></a><a name="_Toc139993104"></a><a name="_Toc126872185"></a><a
! name="_Toc115417056"></a><span style='mso-bookmark:_Toc206421263'><span
! style='mso-bookmark:_Toc193871653'><span style='mso-bookmark:_Toc193871408'><span
! style='mso-bookmark:_Toc191662087'><span style='mso-bookmark:_Toc152605055'><span
! style='mso-bookmark:_Toc115416120'>3.14. Authenticated Access to the OpenAFS
! Client Service</span></span></span></span></span></span></h2>
  
  <p class=MsoNormal>OpenAFS authenticates SMB connections using either NTLM or
  GSS SPNEGO (NTLM).&nbsp; In previous versions of OpenAFS, the SMB connections
--- 2469,2483 ----
  Transitions between “crypt” and “non-crypt” modes are logged to the Windows
  Application Event Log. </p>
  
! <h2><a name="_Toc213847168"></a><a name="_Toc213844408"></a><a
! name="_Toc206421263"></a><a name="_Toc193871653"></a><a name="_Toc193871408"></a><a
! name="_Toc191662087"></a><a name="_Toc152605055"></a><a name="_Toc115416120"></a><a
! name="_Toc139993104"></a><a name="_Toc126872185"></a><a name="_Toc115417056"></a><span
! style='mso-bookmark:_Toc213847168'><span style='mso-bookmark:_Toc213844408'><span
! style='mso-bookmark:_Toc206421263'><span style='mso-bookmark:_Toc193871653'><span
! style='mso-bookmark:_Toc193871408'><span style='mso-bookmark:_Toc191662087'><span
! style='mso-bookmark:_Toc152605055'><span style='mso-bookmark:_Toc115416120'>3.15.
! Authenticated Access to the OpenAFS Client Service</span></span></span></span></span></span></span></span></h2>
  
  <p class=MsoNormal>OpenAFS authenticates SMB connections using either NTLM or
  GSS SPNEGO (NTLM).&nbsp; In previous versions of OpenAFS, the SMB connections
***************
*** 2426,2438 ****
  Instead, Windows will internally recognize the request as coming from a local
  logon session.</p>
  
! <h2><a name="_Toc206421264"></a><a name="_Toc193871654"></a><a
! name="_Toc193871409"></a><a name="_Toc191662088"></a><a name="_Toc152605056"></a><a
! name="_Toc115416121"></a><a name="_Toc139993105"></a><a name="_Toc126872186"></a><a
! name="_Toc115417057"></a><span style='mso-bookmark:_Toc206421264'><span
! style='mso-bookmark:_Toc193871654'><span style='mso-bookmark:_Toc193871409'><span
! style='mso-bookmark:_Toc191662088'><span style='mso-bookmark:_Toc152605056'><span
! style='mso-bookmark:_Toc115416121'>3.15. No More INI Files</span></span></span></span></span></span></h2>
  
  <p class=MsoNormal>Previous AFS clients for Windows stored configuration data
  in Windows .INI files. &nbsp;&nbsp;The OpenAFS client does not use Windows .INI
--- 2496,2510 ----
  Instead, Windows will internally recognize the request as coming from a local
  logon session.</p>
  
! <h2><a name="_Toc213847169"></a><a name="_Toc213844409"></a><a
! name="_Toc206421264"></a><a name="_Toc193871654"></a><a name="_Toc193871409"></a><a
! name="_Toc191662088"></a><a name="_Toc152605056"></a><a name="_Toc115416121"></a><a
! name="_Toc139993105"></a><a name="_Toc126872186"></a><a name="_Toc115417057"></a><span
! style='mso-bookmark:_Toc213847169'><span style='mso-bookmark:_Toc213844409'><span
! style='mso-bookmark:_Toc206421264'><span style='mso-bookmark:_Toc193871654'><span
! style='mso-bookmark:_Toc193871409'><span style='mso-bookmark:_Toc191662088'><span
! style='mso-bookmark:_Toc152605056'><span style='mso-bookmark:_Toc115416121'>3.16.
! No More INI Files</span></span></span></span></span></span></span></span></h2>
  
  <p class=MsoNormal>Previous AFS clients for Windows stored configuration data
  in Windows .INI files. &nbsp;&nbsp;The OpenAFS client does not use Windows .INI
***************
*** 2454,2467 ****
  “afs_freelance.ini” file to the Windows registry.&nbsp;&nbsp; OpenAFS will not
  process the contents of the “afsddbmt.ini”.</p>
  
! <h2><a name="_Toc206421265"></a><a name="_Toc193871655"></a><a
! name="_Toc193871410"></a><a name="_Toc191662089"></a><a name="_Toc152605057"></a><a
! name="_Toc115416122"></a><a name="_Toc139993106"></a><a name="_Toc126872187"></a><a
! name="_Toc115417058"></a><span style='mso-bookmark:_Toc206421265'><span
! style='mso-bookmark:_Toc193871655'><span style='mso-bookmark:_Toc193871410'><span
! style='mso-bookmark:_Toc191662089'><span style='mso-bookmark:_Toc152605057'><span
! style='mso-bookmark:_Toc115416122'>3.16. Microsoft Windows Internet Connection
! Firewall</span></span></span></span></span></span></h2>
  
  <p class=MsoNormal>The OpenAFS Client is compatible with the Internet
  Connection Firewall that debuted with Windows XP SP2 and Windows 2003
--- 2526,2540 ----
  “afs_freelance.ini” file to the Windows registry.&nbsp;&nbsp; OpenAFS will not
  process the contents of the “afsddbmt.ini”.</p>
  
! <h2><a name="_Toc213847170"></a><a name="_Toc213844410"></a><a
! name="_Toc206421265"></a><a name="_Toc193871655"></a><a name="_Toc193871410"></a><a
! name="_Toc191662089"></a><a name="_Toc152605057"></a><a name="_Toc115416122"></a><a
! name="_Toc139993106"></a><a name="_Toc126872187"></a><a name="_Toc115417058"></a><span
! style='mso-bookmark:_Toc213847170'><span style='mso-bookmark:_Toc213844410'><span
! style='mso-bookmark:_Toc206421265'><span style='mso-bookmark:_Toc193871655'><span
! style='mso-bookmark:_Toc193871410'><span style='mso-bookmark:_Toc191662089'><span
! style='mso-bookmark:_Toc152605057'><span style='mso-bookmark:_Toc115416122'>3.17.
! Microsoft Windows Internet Connection Firewall</span></span></span></span></span></span></span></span></h2>
  
  <p class=MsoNormal>The OpenAFS Client is compatible with the Internet
  Connection Firewall that debuted with Windows XP SP2 and Windows 2003
***************
*** 2471,2499 ****
  to allow SMB authentication to be performed across the Microsoft Loopback
  Adapter.</p>
  
! <h2><a name="_Toc206421266"></a><a name="_Toc193871656"></a><a
! name="_Toc193871411"></a><a name="_Toc191662090"></a><a name="_Toc152605058"></a><a
! name="_Toc115416123"></a><a name="_Toc139993107"></a><a name="_Toc126872188"></a><a
! name="_Toc115417059"></a><span style='mso-bookmark:_Toc206421266'><span
! style='mso-bookmark:_Toc193871656'><span style='mso-bookmark:_Toc193871411'><span
! style='mso-bookmark:_Toc191662090'><span style='mso-bookmark:_Toc152605058'><span
! style='mso-bookmark:_Toc115416123'>3.17. Browsing AFS from the Explorer Shell
! and Office</span></span></span></span></span></span></h2>
  
  <p class=MsoNormal>The OpenAFS 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><a name="_Toc206421267"></a><a name="_Toc193871657"></a><a
! name="_Toc193871412"></a><a name="_Toc191662091"></a><a name="_Toc152605059"></a><a
! name="_Toc115416124"></a><a name="_Toc139993108"></a><a name="_Toc126872189"></a><a
! name="_Toc115417060"></a><span style='mso-bookmark:_Toc206421267'><span
! style='mso-bookmark:_Toc193871657'><span style='mso-bookmark:_Toc193871412'><span
! style='mso-bookmark:_Toc191662091'><span style='mso-bookmark:_Toc152605059'><span
! style='mso-bookmark:_Toc115416124'>3.18. </span><st1:place w:st="on"><st1:PlaceName
!  w:st="on">Byte</st1:PlaceName> <st1:PlaceType w:st="on">Range</st1:PlaceType></st1:place>
! Locking</span></span></span></span></span></h2>
  
  <p class=MsoNormal>Many applications on Windows (e.g. Microsoft Office) require
  the use of byte range locks applied to a file either to protect against
--- 2544,2574 ----
  to allow SMB authentication to be performed across the Microsoft Loopback
  Adapter.</p>
  
! <h2><a name="_Toc213847171"></a><a name="_Toc213844411"></a><a
! name="_Toc206421266"></a><a name="_Toc193871656"></a><a name="_Toc193871411"></a><a
! name="_Toc191662090"></a><a name="_Toc152605058"></a><a name="_Toc115416123"></a><a
! name="_Toc139993107"></a><a name="_Toc126872188"></a><a name="_Toc115417059"></a><span
! style='mso-bookmark:_Toc213847171'><span style='mso-bookmark:_Toc213844411'><span
! style='mso-bookmark:_Toc206421266'><span style='mso-bookmark:_Toc193871656'><span
! style='mso-bookmark:_Toc193871411'><span style='mso-bookmark:_Toc191662090'><span
! style='mso-bookmark:_Toc152605058'><span style='mso-bookmark:_Toc115416123'>3.18.
! Browsing AFS from the Explorer Shell and Office</span></span></span></span></span></span></span></span></h2>
  
  <p class=MsoNormal>The OpenAFS 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><a name="_Toc213847172"></a><a name="_Toc213844412"></a><a
! name="_Toc206421267"></a><a name="_Toc193871657"></a><a name="_Toc193871412"></a><a
! name="_Toc191662091"></a><a name="_Toc152605059"></a><a name="_Toc115416124"></a><a
! name="_Toc139993108"></a><a name="_Toc126872189"></a><a name="_Toc115417060"></a><span
! style='mso-bookmark:_Toc213847172'><span style='mso-bookmark:_Toc213844412'><span
! style='mso-bookmark:_Toc206421267'><span style='mso-bookmark:_Toc193871657'><span
! style='mso-bookmark:_Toc193871412'><span style='mso-bookmark:_Toc191662091'><span
! style='mso-bookmark:_Toc152605059'><span style='mso-bookmark:_Toc115416124'>3.19.
! </span><st1:place w:st="on"><st1:PlaceName w:st="on">Byte</st1:PlaceName> <st1:PlaceType
!  w:st="on">Range</st1:PlaceType></st1:place> Locking</span></span></span></span></span></span></span></h2>
  
  <p class=MsoNormal>Many applications on Windows (e.g. Microsoft Office) require
  the use of byte range locks applied to a file either to protect against
***************
*** 2543,2550 ****
       shared lock, the CIFS-AFS server will grant the lock request without
       asking the AFS file server.</li>
   <li class=MsoNormal style='mso-list:l1 level1 lfo3;tab-stops:list .5in'>If the
!      file is located on a read-only volume and the application opens the file
!      with write access and requests an exclusive lock, the CIFS-AFS server will
       refuse the lock request and return a read only error.</li>
   <li class=MsoNormal style='mso-list:l1 level1 lfo3;tab-stops:list .5in'>If the
       file is located on a read-only volume and the application opens the file
--- 2618,2625 ----
       shared lock, the CIFS-AFS server will grant the lock request without
       asking the AFS file server.</li>
   <li class=MsoNormal style='mso-list:l1 level1 lfo3;tab-stops:list .5in'>If the
!      file is located on a read-only volume and the application opens the file with
!      write access and requests an exclusive lock, the CIFS-AFS server will
       refuse the lock request and return a read only error.</li>
   <li class=MsoNormal style='mso-list:l1 level1 lfo3;tab-stops:list .5in'>If the
       file is located on a read-only volume and the application opens the file
***************
*** 2565,2572 ****
       the request.</li>
   <li class=MsoNormal style='mso-list:l1 level1 lfo3;tab-stops:list .5in'>If the
       file is located on a read-write volume and the application requests a
!      shared lock, the CIFS-AFS server will request a read lock from the AFS
!      file server.&nbsp; If granted by the file server, then the CIFS-AFS server
       grants the lock request.&nbsp; If the request is denied due to an access
       denied error and the user has the lookup and read privileges but not the
       lock privilege, then the CIFS-AFS server will grant the request even
--- 2640,2647 ----
       the request.</li>
   <li class=MsoNormal style='mso-list:l1 level1 lfo3;tab-stops:list .5in'>If the
       file is located on a read-write volume and the application requests a
!      shared lock, the CIFS-AFS server will request a read lock from the AFS file
!      server.&nbsp; If granted by the file server, then the CIFS-AFS server
       grants the lock request.&nbsp; If the request is denied due to an access
       denied error and the user has the lookup and read privileges but not the
       lock privilege, then the CIFS-AFS server will grant the request even
***************
*** 2590,2603 ****
  style='font-size:14.0pt;mso-fareast-font-family:"MS Mincho";text-decoration:
  none;text-underline:none'>EnableServerLocks</span></span></a> registry value.</p>
  
! <h2><a name="_Toc206421268"></a><a name="_Toc193871658"></a><a
! name="_Toc193871413"></a><a name="_Toc191662092"></a><a name="_Toc152605060"></a><a
! name="_Toc115416125"></a><a name="_Toc139993109"></a><a name="_Toc126872190"></a><a
! name="_Toc115417061"></a><span style='mso-bookmark:_Toc206421268'><span
! style='mso-bookmark:_Toc193871658'><span style='mso-bookmark:_Toc193871413'><span
! style='mso-bookmark:_Toc191662092'><span style='mso-bookmark:_Toc152605060'><span
! style='mso-bookmark:_Toc115416125'>3.19. Automatic Discarding of AFS Tokens at
! Logoff</span></span></span></span></span></span></h2>
  
  <p class=MsoNormal>The OpenAFS Client will automatically forget a user's tokens
  upon Logoff unless the user's profile was loaded from an AFS volume.&nbsp; In
--- 2665,2679 ----
  style='font-size:14.0pt;mso-fareast-font-family:"MS Mincho";text-decoration:
  none;text-underline:none'>EnableServerLocks</span></span></a> registry value.</p>
  
! <h2><a name="_Toc213847173"></a><a name="_Toc213844413"></a><a
! name="_Toc206421268"></a><a name="_Toc193871658"></a><a name="_Toc193871413"></a><a
! name="_Toc191662092"></a><a name="_Toc152605060"></a><a name="_Toc115416125"></a><a
! name="_Toc139993109"></a><a name="_Toc126872190"></a><a name="_Toc115417061"></a><span
! style='mso-bookmark:_Toc213847173'><span style='mso-bookmark:_Toc213844413'><span
! style='mso-bookmark:_Toc206421268'><span style='mso-bookmark:_Toc193871658'><span
! style='mso-bookmark:_Toc193871413'><span style='mso-bookmark:_Toc191662092'><span
! style='mso-bookmark:_Toc152605060'><span style='mso-bookmark:_Toc115416125'>3.20.
! Automatic Discarding of AFS Tokens at Logoff</span></span></span></span></span></span></span></span></h2>
  
  <p class=MsoNormal>The OpenAFS Client will automatically forget a user's tokens
  upon Logoff unless the user's profile was loaded from an AFS volume.&nbsp; In
***************
*** 2615,2627 ****
  class=Heading1Char><span style='font-size:14.0pt;mso-fareast-font-family:"MS Mincho";
  text-decoration:none;text-underline:none'>Appendix A</span></span></a>.)</p>
  
! <h2><a name="_Toc206421269"></a><a name="_Toc193871659"></a><a
! name="_Toc193871414"></a><a name="_Toc191662093"></a><a name="_Toc152605061"></a><a
! name="_Toc115416126"></a><a name="_Toc139993110"></a><a name="_Toc126872191"></a><a
! name="_Toc115417062"></a><span style='mso-bookmark:_Toc206421269'><span
! style='mso-bookmark:_Toc193871659'><span style='mso-bookmark:_Toc193871414'><span
! style='mso-bookmark:_Toc191662093'><span style='mso-bookmark:_Toc152605061'><span
! style='mso-bookmark:_Toc115416126'>3.20. Windows Terminal Server installations</span></span></span></span></span></span></h2>
  
  <p class=MsoNormal>When installing the NSIS (.exe) installer under Terminal
  Server, you must execute it from within the Add/Remove Programs Control
--- 2691,2705 ----
  class=Heading1Char><span style='font-size:14.0pt;mso-fareast-font-family:"MS Mincho";
  text-decoration:none;text-underline:none'>Appendix A</span></span></a>.)</p>
  
! <h2><a name="_Toc213847174"></a><a name="_Toc213844414"></a><a
! name="_Toc206421269"></a><a name="_Toc193871659"></a><a name="_Toc193871414"></a><a
! name="_Toc191662093"></a><a name="_Toc152605061"></a><a name="_Toc115416126"></a><a
! name="_Toc139993110"></a><a name="_Toc126872191"></a><a name="_Toc115417062"></a><span
! style='mso-bookmark:_Toc213847174'><span style='mso-bookmark:_Toc213844414'><span
! style='mso-bookmark:_Toc206421269'><span style='mso-bookmark:_Toc193871659'><span
! style='mso-bookmark:_Toc193871414'><span style='mso-bookmark:_Toc191662093'><span
! style='mso-bookmark:_Toc152605061'><span style='mso-bookmark:_Toc115416126'>3.21.
! Windows Terminal Server installations</span></span></span></span></span></span></span></span></h2>
  
  <p class=MsoNormal>When installing the NSIS (.exe) installer under Terminal
  Server, you must execute it from within the Add/Remove Programs Control
***************
*** 2629,2641 ****
  The AFS Server should not be installed on a machine with Terminal Server
  installed.</p>
  
! <h2><a name="_Toc206421270"></a><a name="_Toc193871660"></a><a
! name="_Toc193871415"></a><a name="_Toc191662094"></a><a name="_Toc152605062"></a><a
! name="_Toc115416127"></a><a name="_Toc139993111"></a><a name="_Toc126872192"></a><a
! name="_Toc115417063"></a><span style='mso-bookmark:_Toc206421270'><span
! style='mso-bookmark:_Toc193871660'><span style='mso-bookmark:_Toc193871415'><span
! style='mso-bookmark:_Toc191662094'><span style='mso-bookmark:_Toc152605062'><span
! style='mso-bookmark:_Toc115416127'>3.21. Hidden Dot Files</span></span></span></span></span></span></h2>
  
  <p class=MsoNormal>AFS is a UNIX native file system.&nbsp; The OpenAFS client
  attempts to treat the files stored in AFS as they would be on UNIX.&nbsp; File
--- 2707,2721 ----
  The AFS Server should not be installed on a machine with Terminal Server
  installed.</p>
  
! <h2><a name="_Toc213847175"></a><a name="_Toc213844415"></a><a
! name="_Toc206421270"></a><a name="_Toc193871660"></a><a name="_Toc193871415"></a><a
! name="_Toc191662094"></a><a name="_Toc152605062"></a><a name="_Toc115416127"></a><a
! name="_Toc139993111"></a><a name="_Toc126872192"></a><a name="_Toc115417063"></a><span
! style='mso-bookmark:_Toc213847175'><span style='mso-bookmark:_Toc213844415'><span
! style='mso-bookmark:_Toc206421270'><span style='mso-bookmark:_Toc193871660'><span
! style='mso-bookmark:_Toc193871415'><span style='mso-bookmark:_Toc191662094'><span
! style='mso-bookmark:_Toc152605062'><span style='mso-bookmark:_Toc115416127'>3.22.
! Hidden Dot Files</span></span></span></span></span></span></span></span></h2>
  
  <p class=MsoNormal>AFS is a UNIX native file system.&nbsp; The OpenAFS client
  attempts to treat the files stored in AFS as they would be on UNIX.&nbsp; File
***************
*** 2646,2668 ****
  14.0pt;mso-fareast-font-family:"MS Mincho";text-decoration:none;text-underline:
  none'>HideDotFiles</span></span></a> registry value.</p>
  
! <h2><a name="_Toc206421271"></a><a name="_Toc193871661"></a><a
! name="_Toc193871416"></a><a name="_Toc191662095"></a><a name="_Toc152605063"></a><a
! name="_Toc115416128"></a><a name="_Toc139993112"></a><a name="_Toc126872193"></a><a
! name="_Toc115417064"></a><span style='mso-bookmark:_Toc206421271'><span
! style='mso-bookmark:_Toc193871661'><span style='mso-bookmark:_Toc193871416'><span
! style='mso-bookmark:_Toc191662095'><span style='mso-bookmark:_Toc152605063'><span
! style='mso-bookmark:_Toc115416128'>3.22. Status Cache Limits</span></span></span></span></span></span></h2>
  
  <p class=MsoNormal>The Status Cache (AFS Configuration Control Panel: Advanced
  Page) is defined to have a maximum number of entries.&nbsp; Each entry
! represents a single file or directory entry accessed within the AFS file
! system.&nbsp; When the maximum number of entries are allocated, entries will
! begin to be reused according to a least recently used (LRU) algorithm.&nbsp; If
! the number of files or directories being accessed repeatedly by your
! applications is greater then the maximum number of entries, your host will
! begin to experience thrashing of the Status Cache and all requests will result
! in network operations.</p>
  
  <p class=MsoNormal>If you are experiencing poor performance try increasing the
  maximum number of Status Cache entries.&nbsp; Each entry requires approximately
--- 2726,2750 ----
  14.0pt;mso-fareast-font-family:"MS Mincho";text-decoration:none;text-underline:
  none'>HideDotFiles</span></span></a> registry value.</p>
  
! <h2><a name="_Toc213847176"></a><a name="_Toc213844416"></a><a
! name="_Toc206421271"></a><a name="_Toc193871661"></a><a name="_Toc193871416"></a><a
! name="_Toc191662095"></a><a name="_Toc152605063"></a><a name="_Toc115416128"></a><a
! name="_Toc139993112"></a><a name="_Toc126872193"></a><a name="_Toc115417064"></a><span
! style='mso-bookmark:_Toc213847176'><span style='mso-bookmark:_Toc213844416'><span
! style='mso-bookmark:_Toc206421271'><span style='mso-bookmark:_Toc193871661'><span
! style='mso-bookmark:_Toc193871416'><span style='mso-bookmark:_Toc191662095'><span
! style='mso-bookmark:_Toc152605063'><span style='mso-bookmark:_Toc115416128'>3.23.
! Status Cache Limits</span></span></span></span></span></span></span></span></h2>
  
  <p class=MsoNormal>The Status Cache (AFS Configuration Control Panel: Advanced
  Page) is defined to have a maximum number of entries.&nbsp; Each entry
! represents a single file or directory entry accessed within the AFS file system.&nbsp;
! When the maximum number of entries are allocated, entries will begin to be
! reused according to a least recently used (LRU) algorithm.&nbsp; If the number
! of files or directories being accessed repeatedly by your applications is
! greater then the maximum number of entries, your host will begin to experience
! thrashing of the Status Cache and all requests will result in network
! operations.</p>
  
  <p class=MsoNormal>If you are experiencing poor performance try increasing the
  maximum number of Status Cache entries.&nbsp; Each entry requires approximately
***************
*** 2672,2699 ****
  mso-fareast-font-family:"MS Mincho";text-decoration:none;text-underline:none'>Stats</span></span></a>
  registry value.</p>
  
! <h2><a name="_Toc206421272"></a><a name="_Toc193871662"></a><a
! name="_Toc193871417"></a><a name="_Toc191662096"></a><a name="_Toc152605064"></a><a
! name="_Toc115416129"></a><a name="_Toc139993113"></a><a name="_Toc126872194"></a><a
! name="_Toc115417065"></a><span style='mso-bookmark:_Toc206421272'><span
! style='mso-bookmark:_Toc193871662'><span style='mso-bookmark:_Toc193871417'><span
! style='mso-bookmark:_Toc191662096'><span style='mso-bookmark:_Toc152605064'><span
! style='mso-bookmark:_Toc115416129'>3.23. NETBIOS over TCP/IP must be enabled</span></span></span></span></span></span></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.&nbsp; If &quot;Netbios over TCP/IP&quot; is disabled on the machine,
! then communication with the AFS Client Service will be impossible.<span
! style='mso-spacerun:yes'>  </span>If you are using the Microsoft Loopback
! Adapter, configure the “Netbios over TCP/IP” setting for the adapter.</p>
! 
! <h2><a name="_Toc206421273"></a><a name="_Toc193871663"></a><a
! name="_Toc193871418"></a><a name="_Toc191662097"></a><a name="_Toc152605065"></a><a
! name="_Toc115416130"></a><a name="_Toc139993114"></a><a name="_Toc126872195"></a><a
! name="_Toc115417066"></a><span style='mso-bookmark:_Toc206421273'><span
! style='mso-bookmark:_Toc193871663'><span style='mso-bookmark:_Toc193871418'><span
! style='mso-bookmark:_Toc191662097'><span style='mso-bookmark:_Toc152605065'><span
! style='mso-bookmark:_Toc115416130'>3.24. OpenAFS binaries are digitally signed</span></span></span></span></span></span></h2>
  
  <p class=MsoNormal>The OpenAFS Client Service and related binaries distributed
  by OpenAFS.org are digitally signed by &quot;Secure Endpoints Inc.&quot;.&nbsp;
--- 2754,2785 ----
  mso-fareast-font-family:"MS Mincho";text-decoration:none;text-underline:none'>Stats</span></span></a>
  registry value.</p>
  
! <h2><a name="_Toc213847177"></a><a name="_Toc213844417"></a><a
! name="_Toc206421272"></a><a name="_Toc193871662"></a><a name="_Toc193871417"></a><a
! name="_Toc191662096"></a><a name="_Toc152605064"></a><a name="_Toc115416129"></a><a
! name="_Toc139993113"></a><a name="_Toc126872194"></a><a name="_Toc115417065"></a><span
! style='mso-bookmark:_Toc213847177'><span style='mso-bookmark:_Toc213844417'><span
! style='mso-bookmark:_Toc206421272'><span style='mso-bookmark:_Toc193871662'><span
! style='mso-bookmark:_Toc193871417'><span style='mso-bookmark:_Toc191662096'><span
! style='mso-bookmark:_Toc152605064'><span style='mso-bookmark:_Toc115416129'>3.24.
! NETBIOS over TCP/IP must be enabled</span></span></span></span></span></span></span></span></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.&nbsp; If
! &quot;Netbios over TCP/IP&quot; is disabled on the machine, then communication
! with the AFS Client Service will be impossible.<span style='mso-spacerun:yes'> 
! </span>If you are using the Microsoft Loopback Adapter, configure the “Netbios
! over TCP/IP” setting for the adapter.</p>
! 
! <h2><a name="_Toc213847178"></a><a name="_Toc213844418"></a><a
! name="_Toc206421273"></a><a name="_Toc193871663"></a><a name="_Toc193871418"></a><a
! name="_Toc191662097"></a><a name="_Toc152605065"></a><a name="_Toc115416130"></a><a
! name="_Toc139993114"></a><a name="_Toc126872195"></a><a name="_Toc115417066"></a><span
! style='mso-bookmark:_Toc213847178'><span style='mso-bookmark:_Toc213844418'><span
! style='mso-bookmark:_Toc206421273'><span style='mso-bookmark:_Toc193871663'><span
! style='mso-bookmark:_Toc193871418'><span style='mso-bookmark:_Toc191662097'><span
! style='mso-bookmark:_Toc152605065'><span style='mso-bookmark:_Toc115416130'>3.25.
! OpenAFS binaries are digitally signed</span></span></span></span></span></span></span></span></h2>
  
  <p class=MsoNormal>The OpenAFS Client Service and related binaries distributed
  by OpenAFS.org are digitally signed by &quot;Secure Endpoints Inc.&quot;.&nbsp;
***************
*** 2706,2758 ****
  releases.&nbsp; </p>
  
  <p class=MsoNormal><a href="#_Appendix_A:_Registry_Values"><span
  style='mso-bookmark:_Toc206421274'><span style='mso-bookmark:_Toc193871664'><span
  style='mso-bookmark:_Toc193871419'><span class=Heading1Char><span
  style='font-size:14.0pt;mso-fareast-font-family:"MS Mincho";text-decoration:
! none;text-underline:none'>Appendix A</span></span></span></span></span><span
  style='mso-bookmark:_Toc193871419'></span><span style='mso-bookmark:_Toc193871664'></span><span
! style='mso-bookmark:_Toc206421274'></span></a><![if !supportNestedAnchors]><a
! name="_Toc193871419"></a><a name="_Toc193871664"></a><a name="_Toc206421274"></a><![endif]>
! documents the &quot;<a href="#_Value___:_VerifyServiceSignature"><span
! class=Heading1Char><span style='font-size:14.0pt;mso-fareast-font-family:"MS Mincho";
! text-decoration:none;text-underline:none'>VerifyServiceSignature</span></span></a>&quot;
  registry value which can be used to disable the signature check.&nbsp; The file
  version check cannot be disabled.</p>
  
! <h2><a name="_Toc206421275"></a><a name="_Toc193871665"></a><a
! name="_Toc193871420"></a><a name="_Toc191662098"></a><a name="_Toc152605066"></a><a
! name="_Toc115416131"></a><a name="_Toc139993115"></a><a name="_Toc126872196"></a><a
! name="_Toc115417067"></a><span style='mso-bookmark:_Toc206421275'><span
! style='mso-bookmark:_Toc193871665'><span style='mso-bookmark:_Toc193871420'><span
! style='mso-bookmark:_Toc191662098'><span style='mso-bookmark:_Toc152605066'><span
! style='mso-bookmark:_Toc115416131'>3.25. Maximum Size of the AFSCache File</span></span></span></span></span></span></h2>
  
  <p class=MsoNormal>The maximum cache size on 32-bit Windows is approximately
  1.3GB.&nbsp; This is the largest contiguous block of memory in the 2GB process
  address space which can be used for constructing a memory mapped file.&nbsp;
! Due to fragmentation of the process space caused by the loading of libraries required
! by the digital signature verification code, any attempt to specify a cache size
! greater then 700MB will result in the automatic disabling of the signature
! check.<span style='mso-spacerun:yes'>  </span>Significantly larger cache sizes
! can be used on 64-bit Windows.</p>
! 
! <h2><a name="_Toc206421276"></a><a name="_Toc193871666"></a><a
! name="_Toc193871421"></a><a name="_Toc191662099"></a><a name="_Toc152605067"></a><a
! name="_Toc115416132"></a><a name="_Toc139993116"></a><a name="_Toc126872197"></a><a
! name="_Toc115417068"></a><span style='mso-bookmark:_Toc206421276'><span
! style='mso-bookmark:_Toc193871666'><span style='mso-bookmark:_Toc193871421'><span
! style='mso-bookmark:_Toc191662099'><span style='mso-bookmark:_Toc152605067'><span
! style='mso-bookmark:_Toc115416132'>3.26. Filename Character Sets</span></span></span></span></span></span></h2>
  
  <p class=MsoNormal>OpenAFS for Windows implements an SMB server which is used
  as a gateway to the AFS filesystem.&nbsp; Because of limitations of the SMB
! implementation in pre-1.5.50 releases, Windows stored all files into AFS using OEM code pages such as
! CP437 (United States) or CP850 (Western Europe).&nbsp; These code pages are
! incompatible with the ISO Latin-1 or Unicode (UTF-8) character sets typically used as the default
! on UNIX systems in both the <st1:country-region w:st="on">United States</st1:country-region>
! and <st1:place w:st="on">Western Europe</st1:place>.&nbsp; Filenames stored by
! OpenAFS for Windows were therefore unreadable on UNIX systems if they include
! any of the following characters:</p>
  
  <table class=MsoNormalTable border=0 cellspacing=0 cellpadding=0
   style='border-collapse:collapse;mso-yfti-tbllook:1184;mso-padding-alt:0in 0in 0in 0in'>
--- 2792,2857 ----
  releases.&nbsp; </p>
  
  <p class=MsoNormal><a href="#_Appendix_A:_Registry_Values"><span
+ style='mso-bookmark:_Toc213847179'><span style='mso-bookmark:_Toc213844419'><span
  style='mso-bookmark:_Toc206421274'><span style='mso-bookmark:_Toc193871664'><span
  style='mso-bookmark:_Toc193871419'><span class=Heading1Char><span
  style='font-size:14.0pt;mso-fareast-font-family:"MS Mincho";text-decoration:
! none;text-underline:none'>Appendix A</span></span></span></span></span></span></span><span
  style='mso-bookmark:_Toc193871419'></span><span style='mso-bookmark:_Toc193871664'></span><span
! style='mso-bookmark:_Toc206421274'></span><span style='mso-bookmark:_Toc213844419'></span><span
! style='mso-bookmark:_Toc213847179'></span></a><![if !supportNestedAnchors]><a
! name="_Toc193871419"></a><a name="_Toc193871664"></a><a name="_Toc206421274"></a><a
! name="_Toc213844419"></a><a name="_Toc213847179"></a><![endif]> documents the
! &quot;<a href="#_Value___:_VerifyServiceSignature"><span class=Heading1Char><span
! style='font-size:14.0pt;mso-fareast-font-family:"MS Mincho";text-decoration:
! none;text-underline:none'>VerifyServiceSignature</span></span></a>&quot;
  registry value which can be used to disable the signature check.&nbsp; The file
  version check cannot be disabled.</p>
  
! <h2><a name="_Toc213847180"></a><a name="_Toc213844420"></a><a
! name="_Toc206421275"></a><a name="_Toc193871665"></a><a name="_Toc193871420"></a><a
! name="_Toc191662098"></a><a name="_Toc152605066"></a><a name="_Toc115416131"></a><a
! name="_Toc139993115"></a><a name="_Toc126872196"></a><a name="_Toc115417067"></a><span
! style='mso-bookmark:_Toc213847180'><span style='mso-bookmark:_Toc213844420'><span
! style='mso-bookmark:_Toc206421275'><span style='mso-bookmark:_Toc193871665'><span
! style='mso-bookmark:_Toc193871420'><span style='mso-bookmark:_Toc191662098'><span
! style='mso-bookmark:_Toc152605066'><span style='mso-bookmark:_Toc115416131'>3.26.
! Maximum Size of the AFSCache File</span></span></span></span></span></span></span></span></h2>
  
  <p class=MsoNormal>The maximum cache size on 32-bit Windows is approximately
  1.3GB.&nbsp; This is the largest contiguous block of memory in the 2GB process
  address space which can be used for constructing a memory mapped file.&nbsp;
! Due to fragmentation of the process space caused by the loading of libraries
! required by the digital signature verification code, any attempt to specify a
! cache size greater then 700MB will result in the automatic disabling of the
! signature check.<span style='mso-spacerun:yes'>  </span>Significantly larger
! cache sizes can be used on 64-bit Windows.</p>
! 
! <h2><a name="_Toc213847181"></a><a name="_Toc213844421"></a><a
! name="_Toc206421276"></a><a name="_Toc193871666"></a><a name="_Toc193871421"></a><a
! name="_Toc191662099"></a><a name="_Toc152605067"></a><a name="_Toc115416132"></a><a
! name="_Toc139993116"></a><a name="_Toc126872197"></a><a name="_Toc115417068"></a><span
! style='mso-bookmark:_Toc213847181'><span style='mso-bookmark:_Toc213844421'><span
! style='mso-bookmark:_Toc206421276'><span style='mso-bookmark:_Toc193871666'><span
! style='mso-bookmark:_Toc193871421'><span style='mso-bookmark:_Toc191662099'><span
! style='mso-bookmark:_Toc152605067'><span style='mso-bookmark:_Toc115416132'>3.27.
! Filename Character Sets</span></span></span></span></span></span></span></span></h2>
! 
! <p class=MsoNormal><span style='color:red'>This section describes functionality
! and concerns related to pre-1.5.50 releases of OpenAFS for Windows.<span
! style='mso-spacerun:yes'>   </span>This release stores all file names on the
! file servers as Unicode encoded using UTF-8.<o:p></o:p></span></p>
  
  <p class=MsoNormal>OpenAFS for Windows implements an SMB server which is used
  as a gateway to the AFS filesystem.&nbsp; Because of limitations of the SMB
! implementation in pre-1.5.50 releases, Windows stored all files into AFS using
! OEM code pages such as CP437 (United States) or CP850 (Western Europe).&nbsp;
! These code pages are incompatible with the ISO Latin-1 or Unicode (UTF-8)
! character sets typically used as the default on UNIX systems in both the <st1:country-region
! w:st="on">United States</st1:country-region> and <st1:place w:st="on">Western
!  Europe</st1:place>.&nbsp; Filenames stored by OpenAFS for Windows were
! therefore unreadable on UNIX systems if they include any of the following
! characters:</p>
  
  <table class=MsoNormalTable border=0 cellspacing=0 cellpadding=0
   style='border-collapse:collapse;mso-yfti-tbllook:1184;mso-padding-alt:0in 0in 0in 0in'>
***************
*** 2806,2813 ****
    <p class=preformattedtext><span lang=IT style='mso-ansi-language:IT'>&nbsp;&nbsp;&nbsp;&nbsp;
    [ò]&nbsp; 149&nbsp; 09/05&nbsp; 225&nbsp; 95&nbsp; o grave<o:p></o:p></span></p>
    <p class=preformattedtext><span lang=IT style='mso-ansi-language:IT'>&nbsp;&nbsp;&nbsp;&nbsp;
!   </span><span lang=FR style='mso-ansi-language:FR'>[û]&nbsp; 150&nbsp;
!   09/06&nbsp; 226&nbsp; 96&nbsp; u circumflex<o:p></o:p></span></p>
    <p class=preformattedtext><span lang=FR style='mso-ansi-language:FR'>&nbsp;&nbsp;&nbsp;&nbsp;
    [ù]&nbsp; 151&nbsp; 09/07&nbsp; 227&nbsp; 97&nbsp; u grave<o:p></o:p></span></p>
    <p class=preformattedtext><span lang=FR style='mso-ansi-language:FR'>&nbsp;&nbsp;&nbsp;&nbsp;
--- 2905,2912 ----
    <p class=preformattedtext><span lang=IT style='mso-ansi-language:IT'>&nbsp;&nbsp;&nbsp;&nbsp;
    [ò]&nbsp; 149&nbsp; 09/05&nbsp; 225&nbsp; 95&nbsp; o grave<o:p></o:p></span></p>
    <p class=preformattedtext><span lang=IT style='mso-ansi-language:IT'>&nbsp;&nbsp;&nbsp;&nbsp;
!   </span><span lang=FR style='mso-ansi-language:FR'>[û]&nbsp; 150&nbsp; 09/06&nbsp;
!   226&nbsp; 96&nbsp; u circumflex<o:p></o:p></span></p>
    <p class=preformattedtext><span lang=FR style='mso-ansi-language:FR'>&nbsp;&nbsp;&nbsp;&nbsp;
    [ù]&nbsp; 151&nbsp; 09/07&nbsp; 227&nbsp; 97&nbsp; u grave<o:p></o:p></span></p>
    <p class=preformattedtext><span lang=FR style='mso-ansi-language:FR'>&nbsp;&nbsp;&nbsp;&nbsp;
***************
*** 2835,2885 ****
  
  <p class=preformattedtext>&nbsp;</p>
  
! <p class=MsoNormal>The pre-1.5.50 OpenAFS Client provided an optional registry value, <i><a
! href="#_Value___:_StoreAnsiFilenames"><span class=Heading1Char><span
  style='font-size:14.0pt;mso-fareast-font-family:"MS Mincho";text-decoration:
! none;text-underline:none'>StoreAnsiFilenames</span></span></a></i>, that could be
! set to instruct OpenAFS to store filenames using the ANSI Code Page instead of
! the OEM Code Page.&nbsp; The ANSI Code Page is a compatible superset of
  Latin-1.&nbsp; This setting is not the default setting because making this
  change would prevent OpenAFS for Windows from being able to access filenames
  containing the above characters which were created without this setting.</p>
  
! <p class=MsoNormal>
! All versions of OpenAFS for Windows 1.5.50 and above exchange file names with 
! Microsoft Windows using the Unicode character set.  All file names are read from 
! and stored to AFS file servers using the UTF-8 encoding of Unicode.  As a result 
! the <i><a href="#_Value___:_StoreAnsiFilenames"><span class=Heading1Char><span
! style='font-size:14.0pt;mso-fareast-font-family:"MS Mincho";text-decoration:
! none;text-underline:none'>StoreAnsiFilenames</span></span></a></i> option is no 
! longer supported.
! </p>
! 
! <h2><a name="_Toc206421277"></a><a name="_Toc193871667"></a><a
! name="_Toc193871422"></a><a name="_Toc191662100"></a><a name="_Toc152605068"></a><a
! name="_Toc115416133"></a><a name="_Toc139993117"></a><a name="_Toc126872198"></a><a
! name="_Toc115417069"></a><span style='mso-bookmark:_Toc206421277'><span
! style='mso-bookmark:_Toc193871667'><span style='mso-bookmark:_Toc193871422'><span
! style='mso-bookmark:_Toc191662100'><span style='mso-bookmark:_Toc152605068'><span
! style='mso-bookmark:_Toc115416133'>3.27. Known Character Set Issues with
! Roaming Profiles</span></span></span></span></span></span></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
  be represented in the local OEM character set.&nbsp; In this case, attempts to
  write the profile back to AFS will fail during the character set
! conversion.&nbsp; The OpenAFS Client’s CIFS gateway does not support
  UNICODE.&nbsp; To avoid this problem some sites run custom logoff scripts
  (assigned by group policy) which rename all files to use only the supported
  characters for the locale.</p>
  
! <h2><a name="_Toc206421278"></a><a name="_Toc193871668"></a><a
! name="_Toc193871423"></a><a name="_Toc191662101"></a><a name="_Toc152605069"></a><a
! name="_Toc115416134"></a><a name="_Toc139993118"></a><a name="_Toc126872199"></a><a
! name="_Toc115417070"></a><span style='mso-bookmark:_Toc206421278'><span
! style='mso-bookmark:_Toc193871668'><span style='mso-bookmark:_Toc193871423'><span
! style='mso-bookmark:_Toc191662101'><span style='mso-bookmark:_Toc152605069'><span
! style='mso-bookmark:_Toc115416134'>3.28. The AFSCache File</span></span></span></span></span></span></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.&nbsp; The
--- 2934,2993 ----
  
  <p class=preformattedtext>&nbsp;</p>
  
! <p class=MsoNormal>The pre-1.5.50 OpenAFS Client provided an optional registry
! value, <i><a href="#_Value___:_StoreAnsiFilenames"><span class=Heading1Char><span
  style='font-size:14.0pt;mso-fareast-font-family:"MS Mincho";text-decoration:
! none;text-underline:none'>StoreAnsiFilenames</span></span></a></i>, that could
! be set to instruct OpenAFS to store filenames using the ANSI Code Page instead
! of the OEM Code Page.&nbsp; The ANSI Code Page is a compatible superset of
  Latin-1.&nbsp; This setting is not the default setting because making this
  change would prevent OpenAFS for Windows from being able to access filenames
  containing the above characters which were created without this setting.</p>
  
! <p class=MsoNormal>All versions of OpenAFS for Windows 1.5.50 and above
! exchange file names with Microsoft Windows using the Unicode character set. All
! file names are read from and stored to AFS file servers using the UTF-8
! encoding of Unicode. As a result the <i><a href="#_Value___:_StoreAnsiFilenames"><span
! class=Heading1Char><span style='font-size:14.0pt;mso-fareast-font-family:"MS Mincho";
! text-decoration:none;text-underline:none'>StoreAnsiFilenames</span></span></a></i>
! option is no longer supported. </p>
! 
! <h2><a name="_Toc213847182"></a><a name="_Toc213844422"></a><a
! name="_Toc206421277"></a><a name="_Toc193871667"></a><a name="_Toc193871422"></a><a
! name="_Toc191662100"></a><a name="_Toc152605068"></a><a name="_Toc115416133"></a><a
! name="_Toc139993117"></a><a name="_Toc126872198"></a><a name="_Toc115417069"></a><span
! style='mso-bookmark:_Toc213847182'><span style='mso-bookmark:_Toc213844422'><span
! style='mso-bookmark:_Toc206421277'><span style='mso-bookmark:_Toc193871667'><span
! style='mso-bookmark:_Toc193871422'><span style='mso-bookmark:_Toc191662100'><span
! style='mso-bookmark:_Toc152605068'><span style='mso-bookmark:_Toc115416133'>3.28.
! Character Set Issues with Roaming Profiles</span></span></span></span></span></span></span></span></h2>
! 
! <p class=MsoNormal><span style='color:red'>This section describes functionality
! and concerns related to pre-1.5.50 releases of OpenAFS for Windows.<span
! style='mso-spacerun:yes'>   </span>This release stores all file names on the
! file servers as Unicode encoded using UTF-8.<o:p></o:p></span></p>
  
  <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
  be represented in the local OEM character set.&nbsp; In this case, attempts to
  write the profile back to AFS will fail during the character set
! conversion.&nbsp; The pre-1.5.50 OpenAFS Client’s CIFS gateway did not support
  UNICODE.&nbsp; To avoid this problem some sites run custom logoff scripts
  (assigned by group policy) which rename all files to use only the supported
  characters for the locale.</p>
  
! <p class=MsoNormal>Versions of OpenAFS for Windows 1.5.50 and above do not
! suffer from these issues.</p>
! 
! <h2><a name="_Toc213847183"></a><a name="_Toc213844423"></a><a
! name="_Toc206421278"></a><a name="_Toc193871668"></a><a name="_Toc193871423"></a><a
! name="_Toc191662101"></a><a name="_Toc152605069"></a><a name="_Toc115416134"></a><a
! name="_Toc139993118"></a><a name="_Toc126872199"></a><a name="_Toc115417070"></a><span
! style='mso-bookmark:_Toc213847183'><span style='mso-bookmark:_Toc213844423'><span
! style='mso-bookmark:_Toc206421278'><span style='mso-bookmark:_Toc193871668'><span
! style='mso-bookmark:_Toc193871423'><span style='mso-bookmark:_Toc191662101'><span
! style='mso-bookmark:_Toc152605069'><span style='mso-bookmark:_Toc115416134'>3.29.
! The AFSCache File</span></span></span></span></span></span></span></span></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.&nbsp; The
***************
*** 2888,2908 ****
  servers.&nbsp; </p>
  
  <p class=MsoNormal>The performance of the AFS Client Service is significantly
! affected by the access times associated with the AFSCache paging
! file.&nbsp;&nbsp; When given the choice, the AFSCache file should be placed on
! a fast disk, preferably NTFS, the file should not be compressed and should
! consist of as few fragments as possible.&nbsp;&nbsp; Significant performance
! gains can be achieved by defragmenting the AFSCache file with Sysinternal's
! Contig utility while the AFS Client Service is stopped.</p>
! 
! <h2><a name="_Toc206421279"></a><a name="_Toc193871669"></a><a
! name="_Toc193871424"></a><a name="_Toc191662102"></a><a name="_Toc152605070"></a><a
! name="_Toc115416135"></a><a name="_Toc139993119"></a><a name="_Toc126872200"></a><a
! name="_Toc115417071"></a><span style='mso-bookmark:_Toc206421279'><span
! style='mso-bookmark:_Toc193871669'><span style='mso-bookmark:_Toc193871424'><span
! style='mso-bookmark:_Toc191662102'><span style='mso-bookmark:_Toc152605070'><span
! style='mso-bookmark:_Toc115416135'>3.29. Restricting OpenAFS Client Service
! Start and Stop</span></span></span></span></span></span></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>
--- 2996,3017 ----
  servers.&nbsp; </p>
  
  <p class=MsoNormal>The performance of the AFS Client Service is significantly
! affected by the access times associated with the AFSCache paging file.&nbsp;&nbsp;
! When given the choice, the AFSCache file should be placed on a fast disk,
! preferably NTFS, the file should not be compressed and should consist of as few
! fragments as possible.&nbsp;&nbsp; Significant performance gains can be
! achieved by defragmenting the AFSCache file with SysInternal's Contig utility
! while the AFS Client Service is stopped.</p>
! 
! <h2><a name="_Toc213847184"></a><a name="_Toc213844424"></a><a
! name="_Toc206421279"></a><a name="_Toc193871669"></a><a name="_Toc193871424"></a><a
! name="_Toc191662102"></a><a name="_Toc152605070"></a><a name="_Toc115416135"></a><a
! name="_Toc139993119"></a><a name="_Toc126872200"></a><a name="_Toc115417071"></a><span
! style='mso-bookmark:_Toc213847184'><span style='mso-bookmark:_Toc213844424'><span
! style='mso-bookmark:_Toc206421279'><span style='mso-bookmark:_Toc193871669'><span
! style='mso-bookmark:_Toc193871424'><span style='mso-bookmark:_Toc191662102'><span
! style='mso-bookmark:_Toc152605070'><span style='mso-bookmark:_Toc115416135'>3.30.
! Restricting OpenAFS Client Service Start and Stop</span></span></span></span></span></span></span></span></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>
***************
*** 2927,2963 ****
  <p class=preformattedtext>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  &nbsp;&nbsp;-show&nbsp; : Show current DACL (SDSF)</p>
  
! <h2><a name="_Toc206421280"></a><a name="_Toc193871670"></a><a
! name="_Toc193871425"></a><a name="_Toc191662103"></a><a name="_Toc152605071"></a><a
! name="_Toc115416136"></a><a name="_Toc139993120"></a><a name="_Toc126872201"></a><a
! name="_Toc115417072"></a><span style='mso-bookmark:_Toc206421280'><span
! style='mso-bookmark:_Toc193871670'><span style='mso-bookmark:_Toc193871425'><span
! style='mso-bookmark:_Toc191662103'><span style='mso-bookmark:_Toc152605071'><span
! style='mso-bookmark:_Toc115416136'>3.30. The @sys Name List</span></span></span></span></span></span></h2>
  
  <p class=MsoNormal>The default @sys name list in the OpenAFS Client is set to
  &quot;x86_win32 i386_w2k i386_nt40&quot; for 32-bit x86 systems.&nbsp; The
  default is &quot;amd64_win64&quot; for amd 64-bit versions of Windows.</p>
  
! <h2><a name="_Toc206421281"></a><a name="_Toc193871671"></a><a
! name="_Toc193871426"></a><a name="_Toc191662104"></a><a name="_Toc152605072"></a><a
! name="_Toc115416137"></a><a name="_Toc139993121"></a><a name="_Toc126872202"></a><a
! name="_Toc115417073"></a><span style='mso-bookmark:_Toc206421281'><span
! style='mso-bookmark:_Toc193871671'><span style='mso-bookmark:_Toc193871426'><span
! style='mso-bookmark:_Toc191662104'><span style='mso-bookmark:_Toc152605072'><span
! style='mso-bookmark:_Toc115416137'>3.31. Symlinks to AFS UNC paths</span></span></span></span></span></span></h2>
  
  <p class=MsoNormal>In OpenAFS, symlinks to AFS UNC paths, \\AFS[\all]\..., are
! treated the same as symlinks to /afs/...&nbsp; However, please use /afs/... as the
! Windows UNC form will not work on UNIX client.</p>
  
! <h2><a name="_Toc206421282"></a><a name="_Toc193871672"></a><a
! name="_Toc193871427"></a><a name="_Toc191662105"></a><a name="_Toc152605073"></a><a
! name="_Toc115416138"></a><a name="_Toc139993122"></a><a name="_Toc126872203"></a><a
! name="_Toc115417074"></a><span style='mso-bookmark:_Toc206421282'><span
! style='mso-bookmark:_Toc193871672'><span style='mso-bookmark:_Toc193871427'><span
! style='mso-bookmark:_Toc191662105'><span style='mso-bookmark:_Toc152605073'><span
! style='mso-bookmark:_Toc115416138'>3.32. Cache Manager Debugging</span></span></span></span></span></span></h2>
  
  <p class=MsoNormal>The OpenAFS Client implements the Cache Manager Debugging
  RPC Interface.&nbsp; The CM debugger can be queried with cmdebug.exe.<span
--- 3036,3078 ----
  <p class=preformattedtext>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  &nbsp;&nbsp;-show&nbsp; : Show current DACL (SDSF)</p>
  
! <h2><a name="_Toc213847185"></a><a name="_Toc213844425"></a><a
! name="_Toc206421280"></a><a name="_Toc193871670"></a><a name="_Toc193871425"></a><a
! name="_Toc191662103"></a><a name="_Toc152605071"></a><a name="_Toc115416136"></a><a
! name="_Toc139993120"></a><a name="_Toc126872201"></a><a name="_Toc115417072"></a><span
! style='mso-bookmark:_Toc213847185'><span style='mso-bookmark:_Toc213844425'><span
! style='mso-bookmark:_Toc206421280'><span style='mso-bookmark:_Toc193871670'><span
! style='mso-bookmark:_Toc193871425'><span style='mso-bookmark:_Toc191662103'><span
! style='mso-bookmark:_Toc152605071'><span style='mso-bookmark:_Toc115416136'>3.31.
! The @sys Name List</span></span></span></span></span></span></span></span></h2>
  
  <p class=MsoNormal>The default @sys name list in the OpenAFS Client is set to
  &quot;x86_win32 i386_w2k i386_nt40&quot; for 32-bit x86 systems.&nbsp; The
  default is &quot;amd64_win64&quot; for amd 64-bit versions of Windows.</p>
  
! <h2><a name="_Toc213847186"></a><a name="_Toc213844426"></a><a
! name="_Toc206421281"></a><a name="_Toc193871671"></a><a name="_Toc193871426"></a><a
! name="_Toc191662104"></a><a name="_Toc152605072"></a><a name="_Toc115416137"></a><a
! name="_Toc139993121"></a><a name="_Toc126872202"></a><a name="_Toc115417073"></a><span
! style='mso-bookmark:_Toc213847186'><span style='mso-bookmark:_Toc213844426'><span
! style='mso-bookmark:_Toc206421281'><span style='mso-bookmark:_Toc193871671'><span
! style='mso-bookmark:_Toc193871426'><span style='mso-bookmark:_Toc191662104'><span
! style='mso-bookmark:_Toc152605072'><span style='mso-bookmark:_Toc115416137'>3.32.
! Symlinks to AFS UNC paths</span></span></span></span></span></span></span></span></h2>
  
  <p class=MsoNormal>In OpenAFS, symlinks to AFS UNC paths, \\AFS[\all]\..., are
! treated the same as symlinks to /afs/...&nbsp; However, please use /afs/... as
! the Windows UNC form will not work on UNIX client.</p>
  
! <h2><a name="_Toc213847187"></a><a name="_Toc213844427"></a><a
! name="_Toc206421282"></a><a name="_Toc193871672"></a><a name="_Toc193871427"></a><a
! name="_Toc191662105"></a><a name="_Toc152605073"></a><a name="_Toc115416138"></a><a
! name="_Toc139993122"></a><a name="_Toc126872203"></a><a name="_Toc115417074"></a><span
! style='mso-bookmark:_Toc213847187'><span style='mso-bookmark:_Toc213844427'><span
! style='mso-bookmark:_Toc206421282'><span style='mso-bookmark:_Toc193871672'><span
! style='mso-bookmark:_Toc193871427'><span style='mso-bookmark:_Toc191662105'><span
! style='mso-bookmark:_Toc152605073'><span style='mso-bookmark:_Toc115416138'>3.33.
! Cache Manager Debugging</span></span></span></span></span></span></span></span></h2>
  
  <p class=MsoNormal>The OpenAFS Client implements the Cache Manager Debugging
  RPC Interface.&nbsp; The CM debugger can be queried with cmdebug.exe.<span
***************
*** 2977,2992 ****
  entries with positive reference counts</p>
  
  <p class=preformattedtext><span style='mso-spacerun:yes'>      
! </span>-callbacks<span style='mso-spacerun:yes'>   </span>print only cache entries
! with callbacks</p>
  
  <p class=preformattedtext><span style='mso-spacerun:yes'>      
  </span>-ctime<span style='mso-spacerun:yes'>       </span>print human readable
  expiration time</p>
  
  <p class=preformattedtext><span style='mso-spacerun:yes'>      
! </span>-addrs<span style='mso-spacerun:yes'>       </span>print only host
! interfaces</p>
  
  <p class=preformattedtext><span style='mso-spacerun:yes'>      
  </span>-cache<span style='mso-spacerun:yes'>       </span>print only cache
--- 3092,3106 ----
  entries with positive reference counts</p>
  
  <p class=preformattedtext><span style='mso-spacerun:yes'>      
! </span>-callbacks<span style='mso-spacerun:yes'>   </span>print only cache
! entries with callbacks</p>
  
  <p class=preformattedtext><span style='mso-spacerun:yes'>      
  </span>-ctime<span style='mso-spacerun:yes'>       </span>print human readable
  expiration time</p>
  
  <p class=preformattedtext><span style='mso-spacerun:yes'>      
! </span>-addrs<span style='mso-spacerun:yes'>       </span>print only host interfaces</p>
  
  <p class=preformattedtext><span style='mso-spacerun:yes'>      
  </span>-cache<span style='mso-spacerun:yes'>       </span>print only cache
***************
*** 2996,3022 ****
  </span>-cellservdb<span style='mso-spacerun:yes'>  </span>print only cellservdb
  info</p>
  
! <h2><a name="_Toc206421283"></a><a name="_Toc193871673"></a><a
! name="_Toc193871428"></a><a name="_Toc191662106"></a><a name="_Toc152605074"></a><a
! name="_Toc115416139"></a><a name="_Toc139993123"></a><a name="_Toc126872204"></a><a
! name="_Toc115417075"></a><span style='mso-bookmark:_Toc206421283'><span
! style='mso-bookmark:_Toc193871673'><span style='mso-bookmark:_Toc193871428'><span
! style='mso-bookmark:_Toc191662106'><span style='mso-bookmark:_Toc152605074'><span
! style='mso-bookmark:_Toc115416139'>3.33. Windows Logon Caching vs. Kerberos
! Logons</span></span></span></span></span></span></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.</p>
  
! <h2><a name="_Toc206421284"></a><a name="_Toc193871674"></a><a
! name="_Toc193871429"></a><a name="_Toc191662107"></a><a name="_Toc152605075"></a><a
! name="_Toc115416140"></a><a name="_Toc139993124"></a><a name="_Toc126872205"></a><a
! name="_Toc115417076"></a><span style='mso-bookmark:_Toc206421284'><span
! style='mso-bookmark:_Toc193871674'><span style='mso-bookmark:_Toc193871429'><span
! style='mso-bookmark:_Toc191662107'><span style='mso-bookmark:_Toc152605075'><span
! style='mso-bookmark:_Toc115416140'>3.34. Initial Server Preferences</span></span></span></span></span></span></h2>
  
  <p class=MsoNormal>VLDB and File Server Preferences can now be provided initial
  values using registry keys.&nbsp; This is useful for managed machines in a
--- 3110,3139 ----
  </span>-cellservdb<span style='mso-spacerun:yes'>  </span>print only cellservdb
  info</p>
  
! <h2><a name="_Toc213847188"></a><a name="_Toc213844428"></a><a
! name="_Toc206421283"></a><a name="_Toc193871673"></a><a name="_Toc193871428"></a><a
! name="_Toc191662106"></a><a name="_Toc152605074"></a><a name="_Toc115416139"></a><a
! name="_Toc139993123"></a><a name="_Toc126872204"></a><a name="_Toc115417075"></a><span
! style='mso-bookmark:_Toc213847188'><span style='mso-bookmark:_Toc213844428'><span
! style='mso-bookmark:_Toc206421283'><span style='mso-bookmark:_Toc193871673'><span
! style='mso-bookmark:_Toc193871428'><span style='mso-bookmark:_Toc191662106'><span
! style='mso-bookmark:_Toc152605074'><span style='mso-bookmark:_Toc115416139'>3.34.
! Windows Logon Caching vs. Kerberos Logons</span></span></span></span></span></span></span></span></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.</p>
  
! <h2><a name="_Toc213847189"></a><a name="_Toc213844429"></a><a
! name="_Toc206421284"></a><a name="_Toc193871674"></a><a name="_Toc193871429"></a><a
! name="_Toc191662107"></a><a name="_Toc152605075"></a><a name="_Toc115416140"></a><a
! name="_Toc139993124"></a><a name="_Toc126872205"></a><a name="_Toc115417076"></a><span
! style='mso-bookmark:_Toc213847189'><span style='mso-bookmark:_Toc213844429'><span
! style='mso-bookmark:_Toc206421284'><span style='mso-bookmark:_Toc193871674'><span
! style='mso-bookmark:_Toc193871429'><span style='mso-bookmark:_Toc191662107'><span
! style='mso-bookmark:_Toc152605075'><span style='mso-bookmark:_Toc115416140'>3.35.
! Initial Server Preferences</span></span></span></span></span></span></span></span></h2>
  
  <p class=MsoNormal>VLDB and File Server Preferences can now be provided initial
  values using registry keys.&nbsp; This is useful for managed machines in a
***************
*** 3028,3040 ****
  style='font-size:14.0pt;mso-fareast-font-family:"MS Mincho";text-decoration:
  none;text-underline:none'>Server Preferences</span></span></a>&quot; keys.</p>
  
! <h2><a name="_Toc206421285"></a><a name="_Toc193871675"></a><a
! name="_Toc193871430"></a><a name="_Toc191662108"></a><a name="_Toc152605076"></a><a
! name="_Toc115416141"></a><a name="_Toc139993125"></a><a name="_Toc126872206"></a><a
! name="_Toc115417077"></a><span style='mso-bookmark:_Toc206421285'><span
! style='mso-bookmark:_Toc193871675'><span style='mso-bookmark:_Toc193871430'><span
! style='mso-bookmark:_Toc191662108'><span style='mso-bookmark:_Toc152605076'><span
! style='mso-bookmark:_Toc115416141'>3.35. File Timestamps</span></span></span></span></span></span></h2>
  
  <p class=MsoNormal>The OpenAFS Client reports timestamps on files stored in AFS
  in UTC all year round.&nbsp; In locales with daylight savings time, previous
--- 3145,3160 ----
  style='font-size:14.0pt;mso-fareast-font-family:"MS Mincho";text-decoration:
  none;text-underline:none'>Server Preferences</span></span></a>&quot; keys.</p>
  
! <h2><a name="_Toc213847190"></a><a name="_Toc213844430"></a><a
! name="_Toc206421285"></a><a name="_Toc193871675"></a><a name="_Toc193871430"></a><a
! name="_Toc191662108"></a><a name="_Toc152605076"></a><a name="_Toc115416141"></a><a
! name="_Toc139993125"></a><a name="_Toc126872206"></a><a name="_Toc115417077"></a><span
! style='mso-bookmark:_Toc213847190'><span style='mso-bookmark:_Toc213844430'><span
! style='mso-bookmark:_Toc206421285'><span style='mso-bookmark:_Toc193871675'><span
! style='mso-bookmark:_Toc193871430'><span style='mso-bookmark:_Toc191662108'><span
! style='mso-bookmark:_Toc152605076'><span style='mso-bookmark:_Toc115416141'>3.36.
! File Timestamps</span></span></span></span></span></span></span> and Daylight
! Saving Time</span></h2>
  
  <p class=MsoNormal>The OpenAFS Client reports timestamps on files stored in AFS
  in UTC all year round.&nbsp; In locales with daylight savings time, previous
***************
*** 3054,3107 ****
  timestamp from the Windows explorer.&nbsp; During DST, these two times will no
  longer agree even though they are in fact representing the same moment in time.</p>
  
! <h2><a name="_Toc206421286"></a><a name="_Toc193871676"></a><a
! name="_Toc193871431"></a><a name="_Toc191662109"></a><a name="_Toc152605077"></a><a
! name="_Toc115416142"></a><a name="_Toc139993126"></a><a name="_Toc126872207"></a><a
! name="_Toc115417078"></a><span style='mso-bookmark:_Toc206421286'><span
! style='mso-bookmark:_Toc193871676'><span style='mso-bookmark:_Toc193871431'><span
! style='mso-bookmark:_Toc191662109'><span style='mso-bookmark:_Toc152605077'><span
! style='mso-bookmark:_Toc115416142'>3.36. Windows RPC client support must be
! installed</span></span></span></span></span></span> </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
  are present and that they refer to the dll &quot;rpcrt4.dll&quot;:</p>
  
! <p class=preformattedtext>&nbsp;&nbsp; HKLM &quot;SOFTWARE\Microsoft\RPC\ClientProtocols&quot;
! &quot;ncacn_np&quot;</p>
  
  <p class=preformattedtext>&nbsp;&nbsp; HKLM
  &quot;SOFTWARE\Microsoft\RPC\ClientProtocols&quot; &quot;ncacn_ip_tcp&quot;</p>
  
! <p class=preformattedtext>&nbsp;&nbsp; HKLM
! &quot;SOFTWARE\Microsoft\RPC\ClientProtocols&quot; &quot;ncadg_ip_udp&quot;</p>
  
  <p class=preformattedtext>&nbsp;&nbsp; HKLM
  &quot;SOFTWARE\Microsoft\RPC\ClientProtocols&quot; &quot;ncacn_http&quot;</p>
  
! <h2><a name="_Toc206421287"></a><a name="_Toc193871677"></a><a
! name="_Toc193871432"></a><a name="_Toc191662110"></a><a name="_Toc152605078"></a><a
! name="_Toc115416143"></a><a name="_Toc139993127"></a><a name="_Toc126872208"></a><a
! name="_Toc115417079"></a><span style='mso-bookmark:_Toc206421287'><span
! style='mso-bookmark:_Toc193871677'><span style='mso-bookmark:_Toc193871432'><span
! style='mso-bookmark:_Toc191662110'><span style='mso-bookmark:_Toc152605078'><span
! style='mso-bookmark:_Toc115416143'>3.37. Generating Minidumps of the OpenAFS
! Client Service</span></span></span></span></span></span></h2>
  
  <p class=MsoNormal>OpenAFS 1.4 added a new command, &quot;fs
! minidump&quot;.&nbsp; This command can be used at any time to generate a mini
! dump file containing the current stack of the afsd_service.exe
! process.&nbsp;&nbsp; This output can be very helpful when debugging the AFS
! Client Service when it is unresponsive to SMB/CIFS requests.</p>
! 
! <h2><a name="_Toc206421288"></a><a name="_Toc193871678"></a><a
! name="_Toc193871433"></a><a name="_Toc191662111"></a><a name="_Toc152605079"></a><a
! name="_Toc115416144"></a><a name="_Toc139993128"></a><a name="_Toc126872209"></a><a
! name="_Toc115417080"></a><span style='mso-bookmark:_Toc206421288'><span
! style='mso-bookmark:_Toc193871678'><span style='mso-bookmark:_Toc193871433'><span
! style='mso-bookmark:_Toc191662111'><span style='mso-bookmark:_Toc152605079'><span
! style='mso-bookmark:_Toc115416144'>3.38. AFS Client Universally Unique
! Identifiers (UUIDs) vs. System Cloning</span></span></span></span></span></span></h2>
  
  <p class=MsoNormal>The OpenAFS Client implements Universally Unique Identifiers
  (UUIDs).&nbsp; They are used to provide the AFS file server with a method of
--- 3174,3231 ----
  timestamp from the Windows explorer.&nbsp; During DST, these two times will no
  longer agree even though they are in fact representing the same moment in time.</p>
  
! <h2><a name="_Toc213847191"></a><a name="_Toc213844431"></a><a
! name="_Toc206421286"></a><a name="_Toc193871676"></a><a name="_Toc193871431"></a><a
! name="_Toc191662109"></a><a name="_Toc152605077"></a><a name="_Toc115416142"></a><a
! name="_Toc139993126"></a><a name="_Toc126872207"></a><a name="_Toc115417078"></a><span
! style='mso-bookmark:_Toc213847191'><span style='mso-bookmark:_Toc213844431'><span
! style='mso-bookmark:_Toc206421286'><span style='mso-bookmark:_Toc193871676'><span
! style='mso-bookmark:_Toc193871431'><span style='mso-bookmark:_Toc191662109'><span
! style='mso-bookmark:_Toc152605077'><span style='mso-bookmark:_Toc115416142'>3.37.
! Windows RPC client support must be installed</span></span></span></span></span></span></span></span>
! </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
  are present and that they refer to the dll &quot;rpcrt4.dll&quot;:</p>
  
! <p class=preformattedtext>&nbsp;&nbsp; HKLM
! &quot;SOFTWARE\Microsoft\RPC\ClientProtocols&quot; &quot;ncacn_np&quot;</p>
  
  <p class=preformattedtext>&nbsp;&nbsp; HKLM
  &quot;SOFTWARE\Microsoft\RPC\ClientProtocols&quot; &quot;ncacn_ip_tcp&quot;</p>
  
! <p class=preformattedtext>&nbsp;&nbsp; HKLM &quot;SOFTWARE\Microsoft\RPC\ClientProtocols&quot;
! &quot;ncadg_ip_udp&quot;</p>
  
  <p class=preformattedtext>&nbsp;&nbsp; HKLM
  &quot;SOFTWARE\Microsoft\RPC\ClientProtocols&quot; &quot;ncacn_http&quot;</p>
  
! <h2><a name="_Toc213847192"></a><a name="_Toc213844432"></a><a
! name="_Toc206421287"></a><a name="_Toc193871677"></a><a name="_Toc193871432"></a><a
! name="_Toc191662110"></a><a name="_Toc152605078"></a><a name="_Toc115416143"></a><a
! name="_Toc139993127"></a><a name="_Toc126872208"></a><a name="_Toc115417079"></a><span
! style='mso-bookmark:_Toc213847192'><span style='mso-bookmark:_Toc213844432'><span
! style='mso-bookmark:_Toc206421287'><span style='mso-bookmark:_Toc193871677'><span
! style='mso-bookmark:_Toc193871432'><span style='mso-bookmark:_Toc191662110'><span
! style='mso-bookmark:_Toc152605078'><span style='mso-bookmark:_Toc115416143'>3.38.
! Generating Minidumps of the OpenAFS Client Service</span></span></span></span></span></span></span></span></h2>
  
  <p class=MsoNormal>OpenAFS 1.4 added a new command, &quot;fs
! minidump&quot;.&nbsp; This command can be used at any time to generate a mini dump
! file containing the current stack of the afsd_service.exe process.&nbsp;&nbsp;
! This output can be very helpful when debugging the AFS Client Service when it
! is unresponsive to SMB/CIFS requests.</p>
! 
! <h2><a name="_Toc213847193"></a><a name="_Toc213844433"></a><a
! name="_Toc206421288"></a><a name="_Toc193871678"></a><a name="_Toc193871433"></a><a
! name="_Toc191662111"></a><a name="_Toc152605079"></a><a name="_Toc115416144"></a><a
! name="_Toc139993128"></a><a name="_Toc126872209"></a><a name="_Toc115417080"></a><span
! style='mso-bookmark:_Toc213847193'><span style='mso-bookmark:_Toc213844433'><span
! style='mso-bookmark:_Toc206421288'><span style='mso-bookmark:_Toc193871678'><span
! style='mso-bookmark:_Toc193871433'><span style='mso-bookmark:_Toc191662111'><span
! style='mso-bookmark:_Toc152605079'><span style='mso-bookmark:_Toc115416144'>3.39.
! AFS Client Universally Unique Identifiers (UUIDs) vs. System Cloning</span></span></span></span></span></span></span></span></h2>
  
  <p class=MsoNormal>The OpenAFS Client implements Universally Unique Identifiers
  (UUIDs).&nbsp; They are used to provide the AFS file server with a method of
***************
*** 3118,3126 ****
  automatically if the Windows Machine SID is re-generated using Microsoft
  SysPrep. If the SID is not being re-generated either the AFSCache file should
  be deleted or the command <i>fs uuid -generate</i> must be executed after the
! the clone is created. <b>Multiple AFS clients reporting the same UUID will not
! only result in horrible AFS client performance and cache inconsistencies, but
! they will also put a tremendous strain on the AFS file servers.</b></p>
  
  <p class=MsoNormal>For lab environments that wish to erase all cached data on
  each restart, the <a href="#_Toc170268938"><span class=Heading1Char><span
--- 3242,3251 ----
  automatically if the Windows Machine SID is re-generated using Microsoft
  SysPrep. If the SID is not being re-generated either the AFSCache file should
  be deleted or the command <i>fs uuid -generate</i> must be executed after the
! the clone is created. <b><span style='color:red'>Multiple AFS clients reporting
! the same UUID will not only result in horrible AFS client performance and cache
! inconsistencies, but they will also put a tremendous strain on the AFS file
! servers.</span></b></p>
  
  <p class=MsoNormal>For lab environments that wish to erase all cached data on
  each restart, the <a href="#_Toc170268938"><span class=Heading1Char><span
***************
*** 3139,3164 ****
  installer by performing an administrative install via <i style='mso-bidi-font-style:
  normal'>msiexec.exe /a</i>.</p>
  
! <h2><a name="_Toc206421289"></a><a name="_Toc193871679"></a><a
! name="_Toc193871434"></a><a name="_Toc139993129"></a><a name="_Toc152605080"></a><a
! name="_Toc191662112"><span style='mso-bookmark:_Toc152605080'><span
! style='mso-bookmark:_Toc139993129'><span style='mso-bookmark:_Toc193871434'><span
! style='mso-bookmark:_Toc193871679'><span style='mso-bookmark:_Toc206421289'>3.39.
! Delayed Write Errors with Microsoft Office Applications</span></span></span></span></span></a></h2>
  
  <p class=MsoBodyText>Microsoft Office makes heavy use of asynchronous
  input/output methods for reading and writing to file streams.&nbsp; This can
  result in hundreds of requests being simultaneously queued for service by the
  CIFS client with a fixed timeout period.&nbsp; As the AFS CIFS server is local
! to the machine the Windows CIFS client believes that it can respond almost
! instantaneously to write requests as the actual writing to the AFS file server
! is performed by a background daemon thread.&nbsp; When the actual network
! bandwidth to the AFS file server is slow and the file size is large it is
! possible for the CIFS client to time out the connection.&nbsp; When this
! happens a “delayed write error” will be reported to the user and the
! application may crash.&nbsp; The only workaround at the current time is to save
! first to a local disk and subsequently copy the file to AFS as copying a file
! with the explorer shell does not use asynchronous i/o. </p>
  
  <p class=MsoBodyText>The CIFS session timeout defaults to 45 seconds and can be
  increased by modifying the <a href="#_Value:_ConnDeadTimeout"><span
--- 3264,3291 ----
  installer by performing an administrative install via <i style='mso-bidi-font-style:
  normal'>msiexec.exe /a</i>.</p>
  
! <h2><a name="_Toc213847194"></a><a name="_Toc213844434"></a><a
! name="_Toc191662112"></a><a name="_Toc152605080"></a><a name="_Toc139993129"></a><a
! name="_Toc193871434"></a><a name="_Toc193871679"></a><a name="_Toc206421289"><span
! style='mso-bookmark:_Toc193871679'><span style='mso-bookmark:_Toc193871434'><span
! style='mso-bookmark:_Toc139993129'><span style='mso-bookmark:_Toc152605080'><span
! style='mso-bookmark:_Toc191662112'><span style='mso-bookmark:_Toc213844434'><span
! style='mso-bookmark:_Toc213847194'>3.40. Delayed Write Errors with Microsoft
! Office Applications</span></span></span></span></span></span></span></a></h2>
  
  <p class=MsoBodyText>Microsoft Office makes heavy use of asynchronous
  input/output methods for reading and writing to file streams.&nbsp; This can
  result in hundreds of requests being simultaneously queued for service by the
  CIFS client with a fixed timeout period.&nbsp; As the AFS CIFS server is local
! to the machine the Windows CIFS client believes that it can respond almost instantaneously
! to write requests as the actual writing to the AFS file server is performed by
! a background daemon thread.&nbsp; When the actual network bandwidth to the AFS
! file server is slow and the file size is large it is possible for the CIFS
! client to time out the connection.&nbsp; When this happens a “delayed write
! error” will be reported to the user and the application may crash.&nbsp; The
! only workaround at the current time is to save first to a local disk and
! subsequently copy the file to AFS as copying a file with the explorer shell
! does not use asynchronous i/o. </p>
  
  <p class=MsoBodyText>The CIFS session timeout defaults to 45 seconds and can be
  increased by modifying the <a href="#_Value:_ConnDeadTimeout"><span
***************
*** 3183,3223 ****
  now defaults to 32KB and is configurable using the <a
  href="#_Value:_SMBAsyncStoreSize"><span class=Heading1Char><span
  style='font-size:14.0pt;mso-fareast-font-family:"MS Mincho";text-decoration:
! none;text-underline:none'>SMBAsyncStoreSize</span></span></a> registry value. <span
! style='mso-spacerun:yes'> </span>Asynchronous store operations can also be
! disabled using the <a href="#_Value:_EnableSMBAsyncStore"><span
  class=Heading1Char><span style='font-size:14.0pt;mso-fareast-font-family:"MS Mincho";
  text-decoration:none;text-underline:none'>EnableSMBAsyncStore</span></span></a>
  registry value in which case all writes received by the cache manager block
  until the Rx StoreData operation completes.</p>
  
! <h2><a name="_Toc206421290"></a><a name="_Toc193871680"></a><a
! name="_Toc193871435"></a><a name="_Toc191662113"></a><a name="_Toc152605081"></a><a
! name="_Toc139993130"><span style='mso-bookmark:_Toc152605081'><span
! style='mso-bookmark:_Toc191662113'><span style='mso-bookmark:_Toc193871435'><span
! style='mso-bookmark:_Toc193871680'><span style='mso-bookmark:_Toc206421290'>3.40.
! Global Drives (aka </span></span></span></span></span></a><st1:Street w:st="on"><st1:address
!  w:st="on"><span style='mso-bookmark:_Toc206421290'><span style='mso-bookmark:
!   _Toc193871680'><span style='mso-bookmark:_Toc193871435'><span
    style='mso-bookmark:_Toc191662113'><span style='mso-bookmark:_Toc152605081'>Service
!   Drive</span></span></span></span></span></st1:address></st1:Street><span
  style='mso-bookmark:_Toc206421290'><span style='mso-bookmark:_Toc193871680'><span
  style='mso-bookmark:_Toc193871435'><span style='mso-bookmark:_Toc191662113'><span
  style='mso-bookmark:_Toc152605081'> Letters) are no longer supported by
! Microsoft</span></span></span></span></span></h2>
  
  <p class=MsoBodyText>The Global DriveAuto-mount feature has been deprecated due
  to the following Microsoft KB article.</p>
  
  <p class=MsoBodyText style='text-indent:35.45pt'><a
  href="http://msdn.microsoft.com/library/en-us/dllproc/base/services_and_redirected_drives.asp"><span
  style='mso-bookmark:_Toc206421291'><span style='mso-bookmark:_Toc193871681'><span
  style='mso-bookmark:_Toc193871436'><span class=Heading1Char><span
  style='font-size:14.0pt;mso-fareast-font-family:"MS Mincho";text-decoration:
! none;text-underline:none'>http://msdn.microsoft.com/library/en-us/dllproc/base/services_and_redirected_drives.asp</span></span></span></span></span><span
  style='mso-bookmark:_Toc193871436'></span><span style='mso-bookmark:_Toc193871681'></span><span
! style='mso-bookmark:_Toc206421291'></span></a><![if !supportNestedAnchors]><a
! name="_Toc193871436"></a><a name="_Toc193871681"></a><a name="_Toc206421291"></a><![endif]></p>
  
  <p class=MsoBodyText>It says that services mounting drive letters are no longer
  supported by Microsoft and may act unpredictably.&nbsp; The experience other
--- 3310,3356 ----
  now defaults to 32KB and is configurable using the <a
  href="#_Value:_SMBAsyncStoreSize"><span class=Heading1Char><span
  style='font-size:14.0pt;mso-fareast-font-family:"MS Mincho";text-decoration:
! none;text-underline:none'>SMBAsyncStoreSize</span></span></a> registry
! value.<span style='mso-spacerun:yes'>  </span>Asynchronous store operations can
! also be disabled using the <a href="#_Value:_EnableSMBAsyncStore"><span
  class=Heading1Char><span style='font-size:14.0pt;mso-fareast-font-family:"MS Mincho";
  text-decoration:none;text-underline:none'>EnableSMBAsyncStore</span></span></a>
  registry value in which case all writes received by the cache manager block
  until the Rx StoreData operation completes.</p>
  
! <h2><a name="_Toc213847195"></a><a name="_Toc213844435"></a><a
! name="_Toc206421290"></a><a name="_Toc193871680"></a><a name="_Toc193871435"></a><a
! name="_Toc191662113"></a><a name="_Toc152605081"></a><a name="_Toc139993130"><span
! style='mso-bookmark:_Toc152605081'><span style='mso-bookmark:_Toc191662113'><span
! style='mso-bookmark:_Toc193871435'><span style='mso-bookmark:_Toc193871680'><span
! style='mso-bookmark:_Toc206421290'><span style='mso-bookmark:_Toc213844435'><span
! style='mso-bookmark:_Toc213847195'>3.41. Global Drives (aka </span></span></span></span></span></span></span></a><st1:Street
! w:st="on"><st1:address w:st="on"><span style='mso-bookmark:_Toc213847195'><span
!   style='mso-bookmark:_Toc213844435'><span style='mso-bookmark:_Toc206421290'><span
!   style='mso-bookmark:_Toc193871680'><span style='mso-bookmark:_Toc193871435'><span
    style='mso-bookmark:_Toc191662113'><span style='mso-bookmark:_Toc152605081'>Service
!   Drive</span></span></span></span></span></span></span></st1:address></st1:Street><span
! style='mso-bookmark:_Toc213847195'><span style='mso-bookmark:_Toc213844435'><span
  style='mso-bookmark:_Toc206421290'><span style='mso-bookmark:_Toc193871680'><span
  style='mso-bookmark:_Toc193871435'><span style='mso-bookmark:_Toc191662113'><span
  style='mso-bookmark:_Toc152605081'> Letters) are no longer supported by
! Microsoft</span></span></span></span></span></span></span></h2>
  
  <p class=MsoBodyText>The Global DriveAuto-mount feature has been deprecated due
  to the following Microsoft KB article.</p>
  
  <p class=MsoBodyText style='text-indent:35.45pt'><a
  href="http://msdn.microsoft.com/library/en-us/dllproc/base/services_and_redirected_drives.asp"><span
+ style='mso-bookmark:_Toc213847196'><span style='mso-bookmark:_Toc213844436'><span
  style='mso-bookmark:_Toc206421291'><span style='mso-bookmark:_Toc193871681'><span
  style='mso-bookmark:_Toc193871436'><span class=Heading1Char><span
  style='font-size:14.0pt;mso-fareast-font-family:"MS Mincho";text-decoration:
! none;text-underline:none'>http://msdn.microsoft.com/library/en-us/dllproc/base/services_and_redirected_drives.asp</span></span></span></span></span></span></span><span
  style='mso-bookmark:_Toc193871436'></span><span style='mso-bookmark:_Toc193871681'></span><span
! style='mso-bookmark:_Toc206421291'></span><span style='mso-bookmark:_Toc213844436'></span><span
! style='mso-bookmark:_Toc213847196'></span></a><![if !supportNestedAnchors]><a
! name="_Toc193871436"></a><a name="_Toc193871681"></a><a name="_Toc206421291"></a><a
! name="_Toc213844436"></a><a name="_Toc213847196"></a><![endif]></p>
  
  <p class=MsoBodyText>It says that services mounting drive letters are no longer
  supported by Microsoft and may act unpredictably.&nbsp; The experience other
***************
*** 3229,3240 ****
  applications should be modified to use of \\AFS\&lt;cellname&gt;\&lt;path&gt;
  instead of drive letters.</p>
  
! <h2><a name="_Toc206421292"></a><a name="_Toc193871682"></a><a
! name="_Toc193871437"></a><a name="_Toc139993131"></a><a name="_Toc152605082"></a><a
! name="_Toc191662114"><span style='mso-bookmark:_Toc152605082'><span
! style='mso-bookmark:_Toc139993131'><span style='mso-bookmark:_Toc193871437'><span
! style='mso-bookmark:_Toc193871682'><span style='mso-bookmark:_Toc206421292'>3.41.
! 64-bit Microsoft Windows Installations</span></span></span></span></span></a></h2>
  
  <p class=MsoBodyText>Although 64-bit Windows platforms support both 64-bit and
  32-bit applications, the OpenAFS Service installed on the machine must be
--- 3362,3374 ----
  applications should be modified to use of \\AFS\&lt;cellname&gt;\&lt;path&gt;
  instead of drive letters.</p>
  
! <h2><a name="_Toc213847197"></a><a name="_Toc213844437"></a><a
! name="_Toc191662114"></a><a name="_Toc152605082"></a><a name="_Toc139993131"></a><a
! name="_Toc193871437"></a><a name="_Toc193871682"></a><a name="_Toc206421292"><span
! style='mso-bookmark:_Toc193871682'><span style='mso-bookmark:_Toc193871437'><span
! style='mso-bookmark:_Toc139993131'><span style='mso-bookmark:_Toc152605082'><span
! style='mso-bookmark:_Toc191662114'><span style='mso-bookmark:_Toc213844437'><span
! style='mso-bookmark:_Toc213847197'>3.42. 64-bit Microsoft Windows Installations</span></span></span></span></span></span></span></a></h2>
  
  <p class=MsoBodyText>Although 64-bit Windows platforms support both 64-bit and
  32-bit applications, the OpenAFS Service installed on the machine must be
***************
*** 3249,3263 ****
  Without this restriction the AFS Cache File can become arbitrarily large
  limited only by available disk space.</p>
  
! <h2><a name="_Toc206421293"></a><a name="_Toc193871683"></a><a
! name="_Toc193871438"></a><a name="_Toc191662115"></a><a name="_Toc152605083"></a><a
! name="_Toc139993132"><span style='mso-bookmark:_Toc152605083'><span
! style='mso-bookmark:_Toc191662115'><span style='mso-bookmark:_Toc193871438'><span
! style='mso-bookmark:_Toc193871683'><span style='mso-bookmark:_Toc206421293'>3.42.
! Known Issues with Microsoft Windows </span></span></span></span></span></a><st1:place
! w:st="on"><span style='mso-bookmark:_Toc206421293'><span style='mso-bookmark:
!  _Toc193871683'><span style='mso-bookmark:_Toc193871438'><span
!  style='mso-bookmark:_Toc191662115'><span style='mso-bookmark:_Toc152605083'>Vista</span></span></span></span></span></st1:place></h2>
  
  <p class=MsoBodyText>OpenAFS for Windows works with Microsoft Windows Vista
  from both the command prompt and the Explorer Shell.<span
--- 3383,3399 ----
  Without this restriction the AFS Cache File can become arbitrarily large
  limited only by available disk space.</p>
  
! <h2><a name="_Toc213847198"></a><a name="_Toc213844438"></a><a
! name="_Toc206421293"></a><a name="_Toc193871683"></a><a name="_Toc193871438"></a><a
! name="_Toc191662115"></a><a name="_Toc152605083"></a><a name="_Toc139993132"><span
! style='mso-bookmark:_Toc152605083'><span style='mso-bookmark:_Toc191662115'><span
! style='mso-bookmark:_Toc193871438'><span style='mso-bookmark:_Toc193871683'><span
! style='mso-bookmark:_Toc206421293'><span style='mso-bookmark:_Toc213844438'><span
! style='mso-bookmark:_Toc213847198'>3.43. Known Issues with Microsoft Windows </span></span></span></span></span></span></span></a><st1:place
! w:st="on"><span style='mso-bookmark:_Toc213847198'><span style='mso-bookmark:
!  _Toc213844438'><span style='mso-bookmark:_Toc206421293'><span
!  style='mso-bookmark:_Toc193871683'><span style='mso-bookmark:_Toc193871438'><span
!  style='mso-bookmark:_Toc191662115'><span style='mso-bookmark:_Toc152605083'>Vista</span></span></span></span></span></span></span></st1:place></h2>
  
  <p class=MsoBodyText>OpenAFS for Windows works with Microsoft Windows Vista
  from both the command prompt and the Explorer Shell.<span
***************
*** 3295,3304 ****
  Panel will not work unless they are “Run as Administrator”.<span
  style='mso-spacerun:yes'>  </span>When a <st1:place w:st="on">Vista</st1:place>
  user account that is a member of the “Administrators” group is used to access
! the AFS Control Panel (afs_config.exe), the process must be “Run as Administrator”.<span
! style='mso-spacerun:yes'>   </span>Otherwise, attempts to modify the OpenAFS
! configuration will appear to succeed but in reality will have failed due to <st1:place
! w:st="on">Vista</st1:place>’s system file and registry virtualization feature.</p>
  
  <p class=MsoBodyText>The help files provided with OpenAFS are in .HLP format. <a
  href="http://support.microsoft.com/kb/917607"><span class=Heading1Char><span
--- 3431,3441 ----
  Panel will not work unless they are “Run as Administrator”.<span
  style='mso-spacerun:yes'>  </span>When a <st1:place w:st="on">Vista</st1:place>
  user account that is a member of the “Administrators” group is used to access
! the AFS Control Panel (afs_config.exe), the process must be “Run as
! Administrator”.<span style='mso-spacerun:yes'>   </span>Otherwise, attempts to
! modify the OpenAFS configuration will appear to succeed but in reality will
! have failed due to <st1:place w:st="on">Vista</st1:place>’s system file and
! registry virtualization feature.</p>
  
  <p class=MsoBodyText>The help files provided with OpenAFS are in .HLP format. <a
  href="http://support.microsoft.com/kb/917607"><span class=Heading1Char><span
***************
*** 3306,3318 ****
  none;text-underline:none'>Windows Vista does not include a help engine for this
  format.</span></span></a> </p>
  
! <h2><a name="_Toc115416145"></a><a name="_Toc206421294"></a><a
! name="_Toc193871684"></a><a name="_Toc193871439"></a><a name="_Toc191662116"></a><a
! name="_Toc139993133"></a><a name="_Toc126872210"></a><a name="_Toc115417081"></a><span
! style='mso-bookmark:_Toc115416145'><span style='mso-bookmark:_Toc206421294'><span
! style='mso-bookmark:_Toc193871684'><span style='mso-bookmark:_Toc193871439'><span
! style='mso-bookmark:_Toc191662116'>3.43. New AFS Share Name Syntax Provides
! Direct Access to Volumes</span></span></span></span></span></h2>
  
  <p class=MsoBodyText><span style='mso-bookmark:_Toc115416145'>Starting with the
  1.5.21 release of OpenAFS for Windows, the following syntax can be used to
--- 3443,3457 ----
  none;text-underline:none'>Windows Vista does not include a help engine for this
  format.</span></span></a> </p>
  
! <h2><a name="_Toc115416145"></a><a name="_Toc213847199"></a><a
! name="_Toc213844439"></a><a name="_Toc206421294"></a><a name="_Toc193871684"></a><a
! name="_Toc193871439"></a><a name="_Toc191662116"></a><a name="_Toc139993133"></a><a
! name="_Toc126872210"></a><a name="_Toc115417081"></a><span style='mso-bookmark:
! _Toc115416145'><span style='mso-bookmark:_Toc213847199'><span style='mso-bookmark:
! _Toc213844439'><span style='mso-bookmark:_Toc206421294'><span style='mso-bookmark:
! _Toc193871684'><span style='mso-bookmark:_Toc193871439'><span style='mso-bookmark:
! _Toc191662116'>3.44. New AFS Share Name Syntax Provides Direct Access to
! Volumes</span></span></span></span></span></span></span></h2>
  
  <p class=MsoBodyText><span style='mso-bookmark:_Toc115416145'>Starting with the
  1.5.21 release of OpenAFS for Windows, the following syntax can be used to
***************
*** 3338,3348 ****
  <p class=MsoBodyText><span style='mso-bookmark:_Toc115416145'><span
  style='mso-tab-count:1'>            </span>\\AFS\athena.mit.edu# 537235559\</span></p>
  
! <h2><span style='mso-bookmark:_Toc115416145'><a name="_Toc206421295"></a><a
! name="_Toc193871685"></a><a name="_Toc193871440"></a><a name="_Toc191662117"><span
! style='mso-bookmark:_Toc193871440'><span style='mso-bookmark:_Toc193871685'><span
! style='mso-bookmark:_Toc206421295'>3.44. Differences between Windows and UNIX
! “fs examine”</span></span></span></a></span></h2>
  
  <p class=MsoBodyText><span style='mso-bookmark:_Toc115416145'>The OpenAFS for
  Windows version of “fs examine” provide two additional lines of output when
--- 3477,3488 ----
  <p class=MsoBodyText><span style='mso-bookmark:_Toc115416145'><span
  style='mso-tab-count:1'>            </span>\\AFS\athena.mit.edu# 537235559\</span></p>
  
! <h2><span style='mso-bookmark:_Toc115416145'><a name="_Toc213847200"></a><a
! name="_Toc213844440"></a><a name="_Toc191662117"></a><a name="_Toc193871440"></a><a
! name="_Toc193871685"></a><a name="_Toc206421295"><span style='mso-bookmark:
! _Toc193871685'><span style='mso-bookmark:_Toc193871440'><span style='mso-bookmark:
! _Toc191662117'><span style='mso-bookmark:_Toc213844440'><span style='mso-bookmark:
! _Toc213847200'>3.45. Differences between Windows and UNIX “fs examine”</span></span></span></span></span></a></span></h2>
  
  <p class=MsoBodyText><span style='mso-bookmark:_Toc115416145'>The OpenAFS for
  Windows version of “fs examine” provide two additional lines of output when
***************
*** 3363,3405 ****
  normal'><o:p></o:p></b></span></pre>
  
  <h2 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
! style='mso-bookmark:_Toc115416145'><a name="_Toc206421296"></a><a
! name="_Toc193871686"></a><a name="_Toc193871441"></a><a name="_Toc191662118"><span
! style='mso-bookmark:_Toc193871441'><span style='mso-bookmark:_Toc193871686'><span
! style='mso-bookmark:_Toc206421296'>3.45. Literal evaluation of AFS objects via
! fs commands</span></span></span></a></span></h2>
  
  <p class=MsoBodyText style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
  style='mso-bookmark:_Toc115416145'>Beginning with the 1.5.31 release, the fs
  commands <i style='mso-bidi-font-style:normal'>examine</i>, <i
  style='mso-bidi-font-style:normal'>flush</i>, <i style='mso-bidi-font-style:
  normal'>whereis</i>, and <i style='mso-bidi-font-style:normal'>whichcell</i>
! provide a new command-line parameter, <i style='mso-bidi-font-style:normal'>-literal</i>.<span
! style='mso-spacerun:yes'>  </span>When specified, if the evaluated object is a
! symlink or a mountpoint the resulting output will describe the specified object
! and not the object that is the target of the symlink or mountpoint.</span></p>
  
  <h2 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
! style='mso-bookmark:_Toc115416145'><a name="_Toc206421297"></a><a
! name="_Toc193871687"></a><a name="_Toc193871442"></a><a name="_Toc191662119"><span
! style='mso-bookmark:_Toc193871442'><span style='mso-bookmark:_Toc193871687'><span
! style='mso-bookmark:_Toc206421297'>3.46. Out of Quota errors</span></span></span></a></span></h2>
  
  <p class=MsoBodyText style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
  style='mso-bookmark:_Toc115416145'>Prior to the 1.5.31 release, out of quota
! errors were reported to the calling application as an out of space error. <span
! style='mso-spacerun:yes'> </span>As of 1.5.31, an out of space error will
  indicate that the partition on which the volume is located is in fact out of
  space.<span style='mso-spacerun:yes'>  </span>Whereas an out of quota error
  indicates that the user does not have permission to allocate additional space.</span></p>
  
  <h1 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
! style='mso-bookmark:_Toc115416145'><a name="_Toc206421298"></a><a
! name="_Toc193871688"></a><a name="_Toc193871443"></a><a name="_Toc191662120"></a><a
! name="_4._How_to"></a><span style='mso-bookmark:_Toc206421298'><span
! style='mso-bookmark:_Toc193871688'><span style='mso-bookmark:_Toc193871443'><span
! style='mso-bookmark:_Toc191662120'>4. How to Debug Problems with OpenAFS for
! Windows</span></span></span></span></span></h1>
  
  <p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>OpenAFS
  for Windows provides a wide range of tools to assist you in debugging
--- 3503,3605 ----
  normal'><o:p></o:p></b></span></pre>
  
  <h2 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
! style='mso-bookmark:_Toc115416145'><a name="_Toc213847201"></a><a
! name="_Toc213844441"></a><a name="_Toc191662118"></a><a name="_Toc193871441"></a><a
! name="_Toc193871686"></a><a name="_Toc206421296"><span style='mso-bookmark:
! _Toc193871686'><span style='mso-bookmark:_Toc193871441'><span style='mso-bookmark:
! _Toc191662118'><span style='mso-bookmark:_Toc213844441'><span style='mso-bookmark:
! _Toc213847201'>3.46. Literal evaluation of AFS objects via fs commands</span></span></span></span></span></a></span></h2>
  
  <p class=MsoBodyText style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
  style='mso-bookmark:_Toc115416145'>Beginning with the 1.5.31 release, the fs
  commands <i style='mso-bidi-font-style:normal'>examine</i>, <i
  style='mso-bidi-font-style:normal'>flush</i>, <i style='mso-bidi-font-style:
  normal'>whereis</i>, and <i style='mso-bidi-font-style:normal'>whichcell</i>
! provide a new command-line parameter, <i style='mso-bidi-font-style:normal'>-literal</i>.
! <span style='mso-spacerun:yes'> </span>When specified, if the evaluated object
! is a symlink or a mountpoint the resulting output will describe the specified
! object and not the object that is the target of the symlink or mountpoint.</span></p>
  
  <h2 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
! style='mso-bookmark:_Toc115416145'><a name="_Toc213847202"></a><a
! name="_Toc213844442"></a><a name="_Toc191662119"></a><a name="_Toc193871442"></a><a
! name="_Toc193871687"></a><a name="_Toc206421297"><span style='mso-bookmark:
! _Toc193871687'><span style='mso-bookmark:_Toc193871442'><span style='mso-bookmark:
! _Toc191662119'><span style='mso-bookmark:_Toc213844442'><span style='mso-bookmark:
! _Toc213847202'>3.47. Out of Quota errors</span></span></span></span></span></a></span></h2>
  
  <p class=MsoBodyText style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
  style='mso-bookmark:_Toc115416145'>Prior to the 1.5.31 release, out of quota
! errors were reported to the calling application as an out of space error.<span
! style='mso-spacerun:yes'>  </span>As of 1.5.31, an out of space error will
  indicate that the partition on which the volume is located is in fact out of
  space.<span style='mso-spacerun:yes'>  </span>Whereas an out of quota error
  indicates that the user does not have permission to allocate additional space.</span></p>
  
+ <h2 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
+ style='mso-bookmark:_Toc115416145'><a name="_Toc213847203">3.48. Linked Cells</a></span></h2>
+ 
+ <p class=MsoBodyText style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
+ style='mso-bookmark:_Toc115416145'>The 1.5.55 release adds support for linked
+ cells as implemented in the Unix OpenAFS client.<span
+ style='mso-spacerun:yes'>  </span>When two cells are linked, a volume lookup in
+ one cell that fails is retried in the linked cell.<span
+ style='mso-spacerun:yes'>  </span>This functionality can be used to implement:</span></p>
+ 
+ <p class=MsoBodyText style='margin-left:.5in;text-indent:-.25in;mso-list:l0 level1 lfo4;
+ tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
+ style='mso-bookmark:_Toc115416145'><![if !supportLists]><span style='font-family:
+ Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol'><span
+ style='mso-list:Ignore'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ </span></span></span><![endif]>a test cell which provides substitutes for a
+ subset of the volumes in the linked production cell</span></p>
+ 
+ <p class=MsoBodyText style='margin-left:.5in;text-indent:-.25in;mso-list:l0 level1 lfo4;
+ tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
+ style='mso-bookmark:_Toc115416145'><![if !supportLists]><span style='font-family:
+ Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol'><span
+ style='mso-list:Ignore'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ </span></span></span><![endif]>a cell renaming</span></p>
+ 
+ <p class=MsoBodyText style='margin-left:.5in;text-indent:-.25in;mso-list:l0 level1 lfo4;
+ tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
+ style='mso-bookmark:_Toc115416145'><![if !supportLists]><span style='font-family:
+ Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol'><span
+ style='mso-list:Ignore'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ </span></span></span><![endif]>a cell splitting</span></p>
+ 
+ <p class=MsoBodyText style='margin-left:.5in;text-indent:-.25in;mso-list:l0 level1 lfo4;
+ tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
+ style='mso-bookmark:_Toc115416145'><![if !supportLists]><span style='font-family:
+ Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol'><span
+ style='mso-list:Ignore'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ </span></span></span><![endif]>a cell merger</span></p>
+ 
+ <p class=MsoBodyText style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
+ style='mso-bookmark:_Toc115416145'>Two cells are linked in the CellServDB file:</span></p>
+ 
+ <p class=MsoBodyText style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
+ style='mso-bookmark:_Toc115416145'><span style='font-size:10.0pt;font-family:
+ "Courier New"'>&gt;cell-one<span style='mso-tab-count:1'>      </span>cell-two<span
+ style='mso-tab-count:1'>       </span>#Description<br>
+ …<br>
+ &gt;cell-two<span style='mso-tab-count:1'>      </span>cell-one<span
+ style='mso-tab-count:1'>       </span>#Description<br>
+ …<o:p></o:p></span></span></p>
+ 
+ <p class=MsoBodyText style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
+ style='mso-bookmark:_Toc115416145'>aklog and Network Identity Manager will
+ automatically obtain tokens for the linked cell when tokens for the other cell
+ is specified.</span></p>
+ 
  <h1 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
! style='mso-bookmark:_Toc115416145'><a name="_Toc213847204"></a><a
! name="_Toc213844443"></a><a name="_Toc206421298"></a><a name="_Toc193871688"></a><a
! name="_Toc193871443"></a><a name="_Toc191662120"></a><a name="_4._How_to"></a><span
! style='mso-bookmark:_Toc213847204'><span style='mso-bookmark:_Toc213844443'><span
! style='mso-bookmark:_Toc206421298'><span style='mso-bookmark:_Toc193871688'><span
! style='mso-bookmark:_Toc193871443'><span style='mso-bookmark:_Toc191662120'>4.
! How to Debug Problems with OpenAFS for Windows</span></span></span></span></span></span></span></h1>
  
  <p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>OpenAFS
  for Windows provides a wide range of tools to assist you in debugging
***************
*** 3407,3427 ****
  range of issues that have been discovered over the years.</p>
  
  <h2 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><a
! name="_Toc206421299"></a><a name="_Toc193871689"></a><a name="_Toc193871444"></a><a
! name="_Toc191662121"></a><a name="_Toc139993134"></a><a name="_Toc126872211"></a><a
! name="_Toc115417082"></a><span style='mso-bookmark:_Toc206421299'><span
! style='mso-bookmark:_Toc193871689'><span style='mso-bookmark:_Toc193871444'><span
! style='mso-bookmark:_Toc191662121'>4.1. pioctl debugging (</span></span></span></span><a
! href="#_Value:_IoctlDebug"><span style='mso-bookmark:_Toc206421299'><span
  style='mso-bookmark:_Toc193871689'><span style='mso-bookmark:_Toc193871444'><span
  style='mso-bookmark:_Toc191662121'><span class=Heading1Char><span
  style='mso-fareast-font-family:"Times New Roman";mso-fareast-theme-font:minor-fareast;
! font-weight:normal;text-decoration:none;text-underline:none'>IoctlDebug</span></span></span></span></span></span><span
  style='mso-bookmark:_Toc206421299'><span style='mso-bookmark:_Toc193871689'><span
! style='mso-bookmark:_Toc193871444'><span style='mso-bookmark:_Toc191662121'></span></span></span></span></a><span
  style='mso-bookmark:_Toc206421299'><span style='mso-bookmark:_Toc193871689'><span
  style='mso-bookmark:_Toc193871444'><span style='mso-bookmark:_Toc191662121'>
! registry key)</span></span></span></span></h2>
  
  <p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>pioctl
  (path-based ioctl) calls are used by various tools to communicate with the AFS
--- 3607,3632 ----
  range of issues that have been discovered over the years.</p>
  
  <h2 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><a
! name="_Toc213847205"></a><a name="_Toc213844444"></a><a name="_Toc206421299"></a><a
! name="_Toc193871689"></a><a name="_Toc193871444"></a><a name="_Toc191662121"></a><a
! name="_Toc139993134"></a><a name="_Toc126872211"></a><a name="_Toc115417082"></a><span
! style='mso-bookmark:_Toc213847205'><span style='mso-bookmark:_Toc213844444'><span
! style='mso-bookmark:_Toc206421299'><span style='mso-bookmark:_Toc193871689'><span
! style='mso-bookmark:_Toc193871444'><span style='mso-bookmark:_Toc191662121'>4.1.
! pioctl debugging (</span></span></span></span></span></span><a
! href="#_Value:_IoctlDebug"><span style='mso-bookmark:_Toc213847205'><span
! style='mso-bookmark:_Toc213844444'><span style='mso-bookmark:_Toc206421299'><span
  style='mso-bookmark:_Toc193871689'><span style='mso-bookmark:_Toc193871444'><span
  style='mso-bookmark:_Toc191662121'><span class=Heading1Char><span
  style='mso-fareast-font-family:"Times New Roman";mso-fareast-theme-font:minor-fareast;
! font-weight:normal;text-decoration:none;text-underline:none'>IoctlDebug</span></span></span></span></span></span></span></span><span
! style='mso-bookmark:_Toc213847205'><span style='mso-bookmark:_Toc213844444'><span
  style='mso-bookmark:_Toc206421299'><span style='mso-bookmark:_Toc193871689'><span
! style='mso-bookmark:_Toc193871444'><span style='mso-bookmark:_Toc191662121'></span></span></span></span></span></span></a><span
! style='mso-bookmark:_Toc213847205'><span style='mso-bookmark:_Toc213844444'><span
  style='mso-bookmark:_Toc206421299'><span style='mso-bookmark:_Toc193871689'><span
  style='mso-bookmark:_Toc193871444'><span style='mso-bookmark:_Toc191662121'>
! registry key)</span></span></span></span></span></span></h2>
  
  <p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>pioctl
  (path-based ioctl) calls are used by various tools to communicate with the AFS
***************
*** 3500,3511 ****
  system.</p>
  
  <h2 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><a
! name="_Toc206421300"></a><a name="_Toc193871690"></a><a name="_Toc193871445"></a><a
! name="_Toc191662122"></a><a name="_Toc139993135"></a><a name="_Toc126872212"></a><a
! name="_Toc115417083"></a><span style='mso-bookmark:_Toc206421300'><span
! style='mso-bookmark:_Toc193871690'><span style='mso-bookmark:_Toc193871445'><span
! style='mso-bookmark:_Toc191662122'>4.2. afsd_service initialization log
! (%WinDir%\TEMP\afsd_init.log)</span></span></span></span></h2>
  
  <p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>Every
  time the AFS Client Service starts it appends data about its progress and
--- 3705,3717 ----
  system.</p>
  
  <h2 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><a
! name="_Toc213847206"></a><a name="_Toc213844445"></a><a name="_Toc206421300"></a><a
! name="_Toc193871690"></a><a name="_Toc193871445"></a><a name="_Toc191662122"></a><a
! name="_Toc139993135"></a><a name="_Toc126872212"></a><a name="_Toc115417083"></a><span
! style='mso-bookmark:_Toc213847206'><span style='mso-bookmark:_Toc213844445'><span
! style='mso-bookmark:_Toc206421300'><span style='mso-bookmark:_Toc193871690'><span
! style='mso-bookmark:_Toc193871445'><span style='mso-bookmark:_Toc191662122'>4.2.
! afsd_service initialization log (%WinDir%\TEMP\afsd_init.log)</span></span></span></span></span></span></h2>
  
  <p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>Every
  time the AFS Client Service starts it appends data about its progress and
***************
*** 3514,3521 ****
  the process terminates due to a panic condition it will write to this file the
  source code file and line number of the error.&nbsp; In many cases the panic
  condition is due to a misconfiguration of the machine.&nbsp; In other cases it
! might be due to a programming error in the software.&nbsp; A quick review of the
! location in the source code will quickly reveal the reason for the termination.</p>
  
  <p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>The
  <i><a href="#_Value___:_MaxLogSize"><span class=Heading1Char><span
--- 3720,3728 ----
  the process terminates due to a panic condition it will write to this file the
  source code file and line number of the error.&nbsp; In many cases the panic
  condition is due to a misconfiguration of the machine.&nbsp; In other cases it
! might be due to a programming error in the software.&nbsp; A quick review of
! the location in the source code will quickly reveal the reason for the
! termination.</p>
  
  <p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>The
  <i><a href="#_Value___:_MaxLogSize"><span class=Heading1Char><span
***************
*** 3527,3538 ****
  to grow indefinitely.</p>
  
  <h2 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><a
! name="_Toc206421301"></a><a name="_Toc193871691"></a><a name="_Toc193871446"></a><a
! name="_Toc191662123"></a><a name="_Toc139993136"></a><a name="_Toc126872213"></a><a
! name="_Toc115417084"></a><span style='mso-bookmark:_Toc206421301'><span
! style='mso-bookmark:_Toc193871691'><span style='mso-bookmark:_Toc193871446'><span
! style='mso-bookmark:_Toc191662123'>4.3. afsd_service debug logs (fs trace {-on,
! -off, -dump} -&gt;%WinDir%\TEMP\afsd.log)</span></span></span></span></h2>
  
  <p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>When
  attempting to debug the behavior of the SMB/CIFS Server and the Cache Manager
--- 3734,3747 ----
  to grow indefinitely.</p>
  
  <h2 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><a
! name="_Toc213847207"></a><a name="_Toc213844446"></a><a name="_Toc206421301"></a><a
! name="_Toc193871691"></a><a name="_Toc193871446"></a><a name="_Toc191662123"></a><a
! name="_Toc139993136"></a><a name="_Toc126872213"></a><a name="_Toc115417084"></a><span
! style='mso-bookmark:_Toc213847207'><span style='mso-bookmark:_Toc213844446'><span
! style='mso-bookmark:_Toc206421301'><span style='mso-bookmark:_Toc193871691'><span
! style='mso-bookmark:_Toc193871446'><span style='mso-bookmark:_Toc191662123'>4.3.
! afsd_service debug logs (fs trace {-on, -off, -dump}
! -&gt;%WinDir%\TEMP\afsd.log)</span></span></span></span></span></span></h2>
  
  <p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>When
  attempting to debug the behavior of the SMB/CIFS Server and the Cache Manager
***************
*** 3555,3566 ****
  -dump&quot; to output the contents of the log to the file.</p>
  
  <h2 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><a
! name="_Toc206421302"></a><a name="_Toc193871692"></a><a name="_Toc193871447"></a><a
! name="_Toc191662124"></a><a name="_Toc139993137"></a><a name="_Toc126872214"></a><a
! name="_Toc115417085"></a><span style='mso-bookmark:_Toc206421302'><span
! style='mso-bookmark:_Toc193871692'><span style='mso-bookmark:_Toc193871447'><span
! style='mso-bookmark:_Toc191662124'>4.4. Using SysInternal’s Debug Viewer,
! Process Monitor and Process Explorer Tools</span></span></span></span></h2>
  
  <p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>An
  alternatve option to the use of &quot;fs trace -dump&quot; to capture internal
--- 3764,3776 ----
  -dump&quot; to output the contents of the log to the file.</p>
  
  <h2 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><a
! name="_Toc213847208"></a><a name="_Toc213844447"></a><a name="_Toc206421302"></a><a
! name="_Toc193871692"></a><a name="_Toc193871447"></a><a name="_Toc191662124"></a><a
! name="_Toc139993137"></a><a name="_Toc126872214"></a><a name="_Toc115417085"></a><span
! style='mso-bookmark:_Toc213847208'><span style='mso-bookmark:_Toc213844447'><span
! style='mso-bookmark:_Toc206421302'><span style='mso-bookmark:_Toc193871692'><span
! style='mso-bookmark:_Toc193871447'><span style='mso-bookmark:_Toc191662124'>4.4.
! Using SysInternal’s Debug Viewer, Process Monitor and Process Explorer Tools</span></span></span></span></span></span></h2>
  
  <p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>An
  alternatve option to the use of &quot;fs trace -dump&quot; to capture internal
***************
*** 3596,3604 ****
  success or failure.&nbsp;&nbsp; </span></p>
  
  <p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>In
! Process Monitor, set a filter to include only events on file paths that refer to
! the AFS name space. Be sure to include both the UNC path as well as any drive
! letters mapped to AFS. </p>
  
  <p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>Turn
  on the <i>Clock Time</i> and <i>Show Milliseconds</i> options in both tools to
--- 3806,3814 ----
  success or failure.&nbsp;&nbsp; </span></p>
  
  <p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>In
! Process Monitor, set a filter to include only events on file paths that refer
! to the AFS name space. Be sure to include both the UNC path as well as any
! drive letters mapped to AFS. </p>
  
  <p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>Turn
  on the <i>Clock Time</i> and <i>Show Milliseconds</i> options in both tools to
***************
*** 3625,3635 ****
  will be stuck in a call to osi_TWait().</p>
  
  <h2 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><a
! name="_Toc206421303"></a><a name="_Toc193871693"></a><a name="_Toc193871448"></a><a
! name="_Toc191662125"><span style='mso-bookmark:_Toc193871448'><span
! style='mso-bookmark:_Toc193871693'><span style='mso-bookmark:_Toc206421303'>4.5.
! Microsoft MiniDumps <br>
! (fs minidump -&gt; %WinDir%\TEMP\afsd.dmp)</span></span></span></a></h2>
  
  <p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>If
  the AFS Client Service become unresponsive to any form of communication there
--- 3835,3846 ----
  will be stuck in a call to osi_TWait().</p>
  
  <h2 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><a
! name="_Toc213847209"></a><a name="_Toc213844448"></a><a name="_Toc191662125"></a><a
! name="_Toc193871448"></a><a name="_Toc193871693"></a><a name="_Toc206421303"><span
! style='mso-bookmark:_Toc193871693'><span style='mso-bookmark:_Toc193871448'><span
! style='mso-bookmark:_Toc191662125'><span style='mso-bookmark:_Toc213844448'><span
! style='mso-bookmark:_Toc213847209'>4.5. Microsoft MiniDumps <br>
! (fs minidump -&gt; %WinDir%\TEMP\afsd.dmp)</span></span></span></span></span></a></h2>
  
  <p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>If
  the AFS Client Service become unresponsive to any form of communication there
***************
*** 3654,3665 ****
  privacy concerns, do not produce a MiniDump with heap.</p>
  
  <h2 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><a
! name="_Toc206421304"></a><a name="_Toc193871694"></a><a name="_Toc193871449"></a><a
! name="_Toc191662126"></a><a name="_Toc139993139"></a><a name="_Toc126872216"></a><a
! name="_Toc115417087"></a><span style='mso-bookmark:_Toc206421304'><span
! style='mso-bookmark:_Toc193871694'><span style='mso-bookmark:_Toc193871449'><span
! style='mso-bookmark:_Toc191662126'>4.6. Single Sign-on (Integrated Logon)
! debugging</span></span></span></span></h2>
  
  <p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>If
  you are having trouble with the Integrated Logon operations it is often useful
--- 3865,3877 ----
  privacy concerns, do not produce a MiniDump with heap.</p>
  
  <h2 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><a
! name="_Toc213847210"></a><a name="_Toc213844449"></a><a name="_Toc206421304"></a><a
! name="_Toc193871694"></a><a name="_Toc193871449"></a><a name="_Toc191662126"></a><a
! name="_Toc139993139"></a><a name="_Toc126872216"></a><a name="_Toc115417087"></a><span
! style='mso-bookmark:_Toc213847210'><span style='mso-bookmark:_Toc213844449'><span
! style='mso-bookmark:_Toc206421304'><span style='mso-bookmark:_Toc193871694'><span
! style='mso-bookmark:_Toc193871449'><span style='mso-bookmark:_Toc191662126'>4.6.
! Single Sign-on (Integrated Logon) debugging</span></span></span></span></span></span></h2>
  
  <p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>If
  you are having trouble with the Integrated Logon operations it is often useful
***************
*** 3680,3690 ****
  Logon&quot;.</p>
  
  <h2 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><a
! name="_Toc206421305"></a><a name="_Toc193871695"></a><a name="_Toc193871450"></a><a
! name="_Toc191662127"></a><a name="_Toc139993140"></a><a name="_Toc126872217"></a><a
! name="_Toc115417088"></a><span style='mso-bookmark:_Toc206421305'><span
! style='mso-bookmark:_Toc193871695'><span style='mso-bookmark:_Toc193871450'><span
! style='mso-bookmark:_Toc191662127'>4.7. RX (AFS RPC) debugging (rxdebug)</span></span></span></span></h2>
  
  <p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>The
  rxdebug.exe tool can be used to query a variety of information about the AFS
--- 3892,3904 ----
  Logon&quot;.</p>
  
  <h2 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><a
! name="_Toc213847211"></a><a name="_Toc213844450"></a><a name="_Toc206421305"></a><a
! name="_Toc193871695"></a><a name="_Toc193871450"></a><a name="_Toc191662127"></a><a
! name="_Toc139993140"></a><a name="_Toc126872217"></a><a name="_Toc115417088"></a><span
! style='mso-bookmark:_Toc213847211'><span style='mso-bookmark:_Toc213844450'><span
! style='mso-bookmark:_Toc206421305'><span style='mso-bookmark:_Toc193871695'><span
! style='mso-bookmark:_Toc193871450'><span style='mso-bookmark:_Toc191662127'>4.7.
! RX (AFS RPC) debugging (rxdebug)</span></span></span></span></span></span></h2>
  
  <p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>The
  rxdebug.exe tool can be used to query a variety of information about the AFS
***************
*** 3736,3746 ****
  -peers&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; show peers</p>
  
  <h2 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><a
! name="_Toc206421306"></a><a name="_Toc193871696"></a><a name="_Toc193871451"></a><a
! name="_Toc191662128"></a><a name="_Toc139993141"></a><a name="_Toc126872218"></a><a
! name="_Toc115417089"></a><span style='mso-bookmark:_Toc206421306'><span
! style='mso-bookmark:_Toc193871696'><span style='mso-bookmark:_Toc193871451'><span
! style='mso-bookmark:_Toc191662128'>4.8. Cache Manager debugging (cmdebug)</span></span></span></span></h2>
  
  <p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>The
  cmdebug.exe tool can be used to query the state of the AFS Cache Manager on a
--- 3950,3962 ----
  -peers&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; show peers</p>
  
  <h2 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><a
! name="_Toc213847212"></a><a name="_Toc213844451"></a><a name="_Toc206421306"></a><a
! name="_Toc193871696"></a><a name="_Toc193871451"></a><a name="_Toc191662128"></a><a
! name="_Toc139993141"></a><a name="_Toc126872218"></a><a name="_Toc115417089"></a><span
! style='mso-bookmark:_Toc213847212'><span style='mso-bookmark:_Toc213844451'><span
! style='mso-bookmark:_Toc206421306'><span style='mso-bookmark:_Toc193871696'><span
! style='mso-bookmark:_Toc193871451'><span style='mso-bookmark:_Toc191662128'>4.8.
! Cache Manager debugging (cmdebug)</span></span></span></span></span></span></h2>
  
  <p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>The
  cmdebug.exe tool can be used to query the state of the AFS Cache Manager on a
***************
*** 3783,3793 ****
  style='mso-spacerun:yes'>  </span>print only cellservdb info</p>
  
  <h2 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><a
! name="_Toc206421307"></a><a name="_Toc193871697"></a><a name="_Toc193871452"></a><a
! name="_Toc191662129"></a><a name="_Toc139993142"></a><a name="_Toc126872219"></a><a
! name="_Toc115417090"></a><span style='mso-bookmark:_Toc206421307'><span
! style='mso-bookmark:_Toc193871697'><span style='mso-bookmark:_Toc193871452'><span
! style='mso-bookmark:_Toc191662129'>4.9. Persistent Cache consistency check</span></span></span></span></h2>
  
  <p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>The
  persistent cache is stored in a Hidden System file at
--- 3999,4011 ----
  style='mso-spacerun:yes'>  </span>print only cellservdb info</p>
  
  <h2 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><a
! name="_Toc213847213"></a><a name="_Toc213844452"></a><a name="_Toc206421307"></a><a
! name="_Toc193871697"></a><a name="_Toc193871452"></a><a name="_Toc191662129"></a><a
! name="_Toc139993142"></a><a name="_Toc126872219"></a><a name="_Toc115417090"></a><span
! style='mso-bookmark:_Toc213847213'><span style='mso-bookmark:_Toc213844452'><span
! style='mso-bookmark:_Toc206421307'><span style='mso-bookmark:_Toc193871697'><span
! style='mso-bookmark:_Toc193871452'><span style='mso-bookmark:_Toc191662129'>4.9.
! Persistent Cache consistency check</span></span></span></span></span></span></h2>
  
  <p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>The
  persistent cache is stored in a Hidden System file at
***************
*** 3799,3808 ****
  afsd_service.exe --validate-cache &lt;cache-path&gt;</p>
  
  <h2 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><a
! name="_Toc206421308"></a><a name="_Toc193871698"></a><a name="_Toc193871453"></a><a
! name="_Toc191662130"><span style='mso-bookmark:_Toc193871453'><span
! style='mso-bookmark:_Toc193871698'><span style='mso-bookmark:_Toc206421308'>4.10.
! Token Acquisition Debugging</span></span></span></a></h2>
  
  <p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>If
  you are having trouble obtaining tokens with the Network Identity Manager AFS
--- 4017,4027 ----
  afsd_service.exe --validate-cache &lt;cache-path&gt;</p>
  
  <h2 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><a
! name="_Toc213847214"></a><a name="_Toc213844453"></a><a name="_Toc191662130"></a><a
! name="_Toc193871453"></a><a name="_Toc193871698"></a><a name="_Toc206421308"><span
! style='mso-bookmark:_Toc193871698'><span style='mso-bookmark:_Toc193871453'><span
! style='mso-bookmark:_Toc191662130'><span style='mso-bookmark:_Toc213844453'><span
! style='mso-bookmark:_Toc213847214'>4.10. Token Acquisition Debugging</span></span></span></span></span></a></h2>
  
  <p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>If
  you are having trouble obtaining tokens with the Network Identity Manager AFS
***************
*** 3815,3826 ****
  diagnosing Kerberos v5 related problems. </p>
  
  <h1 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><a
! name="_Toc206421309"></a><a name="_Toc193871699"></a><a name="_Toc193871454"></a><a
! name="_Toc191662131"></a><a name="_Toc139993143"></a><a name="_Toc126872220"></a><a
! name="_Toc115417113"></a><a name="_Toc115417091"></a><a
! name="_5._Reporting_Bugs"></a><span style='mso-bookmark:_Toc206421309'><span
! style='mso-bookmark:_Toc193871699'><span style='mso-bookmark:_Toc193871454'><span
! style='mso-bookmark:_Toc191662131'>5. Reporting Bugs</span></span></span></span></h1>
  
  <p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>Bug
  reports should be sent to <a
--- 4034,4047 ----
  diagnosing Kerberos v5 related problems. </p>
  
  <h1 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><a
! name="_Toc213847215"></a><a name="_Toc213844454"></a><a name="_Toc206421309"></a><a
! name="_Toc193871699"></a><a name="_Toc193871454"></a><a name="_Toc191662131"></a><a
! name="_Toc139993143"></a><a name="_Toc126872220"></a><a name="_Toc115417113"></a><a
! name="_Toc115417091"></a><a name="_5._Reporting_Bugs"></a><span
! style='mso-bookmark:_Toc213847215'><span style='mso-bookmark:_Toc213844454'><span
! style='mso-bookmark:_Toc206421309'><span style='mso-bookmark:_Toc193871699'><span
! style='mso-bookmark:_Toc193871454'><span style='mso-bookmark:_Toc191662131'>5.
! Reporting Bugs</span></span></span></span></span></span></h1>
  
  <p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>Bug
  reports should be sent to <a
***************
*** 3829,3836 ****
  text-decoration:none;text-underline:none'>openafs-bugs@openafs.org</span></span></a>.&nbsp;
  Please include as much information as possible about the issue.&nbsp; If you
  are reporting a crash, please install the debugging symbols by re-running the
! installer.&nbsp; If a dump file is available for the problem,
! %WINDIR%\TEMP\afsd.dmp, include it along with the AFS Client Trace file&nbsp;
  %WINDIR%\TEMP\afsd.log.&nbsp; The AFS Client startup log is
  %WINDIR%\TEMP\afsd_init.log.&nbsp; Send the last continuous block of&nbsp; log
  information from this file.</p>
--- 4050,4057 ----
  text-decoration:none;text-underline:none'>openafs-bugs@openafs.org</span></span></a>.&nbsp;
  Please include as much information as possible about the issue.&nbsp; If you
  are reporting a crash, please install the debugging symbols by re-running the
! installer.&nbsp; If a dump file is available for the problem, %WINDIR%\TEMP\afsd.dmp,
! include it along with the AFS Client Trace file&nbsp;
  %WINDIR%\TEMP\afsd.log.&nbsp; The AFS Client startup log is
  %WINDIR%\TEMP\afsd_init.log.&nbsp; Send the last continuous block of&nbsp; log
  information from this file.</p>
***************
*** 3913,3959 ****
  including the address of the crash and the stack dump.</p>
  
  <p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>Once
! you have the Dr. Watson's logfile and minidump, zip them and attach them to
! your e-mail.</p>
  
  <p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>When
  reporting a error, please be sure to include the version of OpenAFS.</p>
  
  <h1 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><a
! name="_Toc206421310"></a><a name="_Toc193871700"></a><a name="_Toc193871455"></a><a
! name="_Toc191662132"></a><a name="_Toc152605095"></a><a name="_Toc115416156"></a><a
! name="_Toc139993144"></a><a name="_Toc126872221"></a><a name="_Toc115417114"></a><a
! name="_Toc115417092"></a><a name="_6._How_to"></a><span style='mso-bookmark:
! _Toc206421310'><span style='mso-bookmark:_Toc193871700'><span style='mso-bookmark:
! _Toc193871455'><span style='mso-bookmark:_Toc191662132'><span style='mso-bookmark:
! _Toc152605095'><span style='mso-bookmark:_Toc115416156'>6. How to Contribute to
! the Development of OpenAFS for Windows</span></span></span></span></span></span></h1>
  
  <p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>Contributions
! to the development of OpenAFS for Windows are continuously needed.&nbsp;
! Contributions may take many forms including cash donations, support contracts, donated
  developer time, and even donated tech writer time.</p>
  
  <h2 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><a
! name="_Toc206421311"></a><a name="_Toc193871701"></a><a name="_Toc193871456"></a><a
! name="_Toc191662133"></a><a name="_Toc152605096"></a><a name="_Toc115416157"></a><a
! name="_Toc139993145"></a><a name="_Toc126872222"></a><a name="_Toc115417093"></a><span
! style='mso-bookmark:_Toc206421311'><span style='mso-bookmark:_Toc193871701'><span
! style='mso-bookmark:_Toc193871456'><span style='mso-bookmark:_Toc191662133'><span
! style='mso-bookmark:_Toc152605096'><span style='mso-bookmark:_Toc115416157'>6.1.
! The USENIX OpenAFS Fund</span></span></span></span></span></span> </h2>
  
  <p class=MsoBodyText style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><a
! href="http://www.usenix.org/"><span style='mso-bookmark:_Toc206421312'><span
  style='mso-bookmark:_Toc193871702'><span style='mso-bookmark:_Toc193871457'><span
  class=Heading1Char><span style='font-size:14.0pt;mso-fareast-font-family:"MS Mincho";
! text-decoration:none;text-underline:none'>USENIX</span></span></span></span></span><span
  style='mso-bookmark:_Toc193871457'></span><span style='mso-bookmark:_Toc193871702'></span><span
! style='mso-bookmark:_Toc206421312'></span></a><![if !supportNestedAnchors]><a
! name="_Toc193871457"></a><a name="_Toc193871702"></a><a name="_Toc206421312"></a><![endif]>,
! a 501c3 non-profit corporation, has formed the USENIX OpenAFS Fund in order to
! accept tax deductible donations on behalf of the OpenAFS Elders. The donated
! funds will be allocated by the OpenAFS Elders to fund OpenAFS development,
  documentation, project management, and maintaining openafs.org. <o:p></o:p></p>
  
  <div>
--- 4134,4187 ----
  including the address of the crash and the stack dump.</p>
  
  <p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>Once
! you have the Dr. Watson's logfile and minidump, zip them and attach them to your
! e-mail.</p>
  
  <p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>When
  reporting a error, please be sure to include the version of OpenAFS.</p>
  
  <h1 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><a
! name="_Toc213847216"></a><a name="_Toc213844455"></a><a name="_Toc206421310"></a><a
! name="_Toc193871700"></a><a name="_Toc193871455"></a><a name="_Toc191662132"></a><a
! name="_Toc152605095"></a><a name="_Toc115416156"></a><a name="_Toc139993144"></a><a
! name="_Toc126872221"></a><a name="_Toc115417114"></a><a name="_Toc115417092"></a><a
! name="_6._How_to"></a><span style='mso-bookmark:_Toc213847216'><span
! style='mso-bookmark:_Toc213844455'><span style='mso-bookmark:_Toc206421310'><span
! style='mso-bookmark:_Toc193871700'><span style='mso-bookmark:_Toc193871455'><span
! style='mso-bookmark:_Toc191662132'><span style='mso-bookmark:_Toc152605095'><span
! style='mso-bookmark:_Toc115416156'>6. How to Contribute to the Development of
! OpenAFS for Windows</span></span></span></span></span></span></span></span></h1>
  
  <p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>Contributions
! to the development of OpenAFS for Windows are continuously needed.&nbsp; Contributions
! may take many forms including cash donations, support contracts, donated
  developer time, and even donated tech writer time.</p>
  
  <h2 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><a
! name="_Toc213847217"></a><a name="_Toc213844456"></a><a name="_Toc206421311"></a><a
! name="_Toc193871701"></a><a name="_Toc193871456"></a><a name="_Toc191662133"></a><a
! name="_Toc152605096"></a><a name="_Toc115416157"></a><a name="_Toc139993145"></a><a
! name="_Toc126872222"></a><a name="_Toc115417093"></a><span style='mso-bookmark:
! _Toc213847217'><span style='mso-bookmark:_Toc213844456'><span style='mso-bookmark:
! _Toc206421311'><span style='mso-bookmark:_Toc193871701'><span style='mso-bookmark:
! _Toc193871456'><span style='mso-bookmark:_Toc191662133'><span style='mso-bookmark:
! _Toc152605096'><span style='mso-bookmark:_Toc115416157'>6.1. The USENIX OpenAFS
! Fund</span></span></span></span></span></span></span></span> </h2>
  
  <p class=MsoBodyText style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><a
! href="http://www.usenix.org/"><span style='mso-bookmark:_Toc213847218'><span
! style='mso-bookmark:_Toc213844457'><span style='mso-bookmark:_Toc206421312'><span
  style='mso-bookmark:_Toc193871702'><span style='mso-bookmark:_Toc193871457'><span
  class=Heading1Char><span style='font-size:14.0pt;mso-fareast-font-family:"MS Mincho";
! text-decoration:none;text-underline:none'>USENIX</span></span></span></span></span></span></span><span
  style='mso-bookmark:_Toc193871457'></span><span style='mso-bookmark:_Toc193871702'></span><span
! style='mso-bookmark:_Toc206421312'></span><span style='mso-bookmark:_Toc213844457'></span><span
! style='mso-bookmark:_Toc213847218'></span></a><![if !supportNestedAnchors]><a
! name="_Toc193871457"></a><a name="_Toc193871702"></a><a name="_Toc206421312"></a><a
! name="_Toc213844457"></a><a name="_Toc213847218"></a><![endif]>, a 501c3
! non-profit corporation, has formed the USENIX OpenAFS Fund in order to accept
! tax deductible donations on behalf of the OpenAFS Elders. The donated funds
! will be allocated by the OpenAFS Elders to fund OpenAFS development,
  documentation, project management, and maintaining openafs.org. <o:p></o:p></p>
  
  <div>
***************
*** 3984,4014 ****
  text-decoration:none;text-underline:none'>donation online</span></span></a>.</p>
  
  <h2 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><a
! name="_Toc206421313"></a><a name="_Toc193871703"></a><a name="_Toc193871458"></a><a
! name="_Toc191662134"></a><a name="_Toc152605097"></a><a name="_Toc115417094"></a><a
! name="_Toc139993146"></a><a name="_Toc126872223"></a><span style='mso-bookmark:
! _Toc206421313'><span style='mso-bookmark:_Toc193871703'><span style='mso-bookmark:
! _Toc193871458'><span style='mso-bookmark:_Toc191662134'><span style='mso-bookmark:
! _Toc152605097'><span style='mso-bookmark:_Toc115417094'>6.2. Secure Endpoints
! Inc.</span></span></span></span></span></span> </h2>
  
  <p class=MsoBodyText style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><a
! href="http://www.secure-endpoints.com/"><span style='mso-bookmark:_Toc206421314'><span
  style='mso-bookmark:_Toc193871704'><span style='mso-bookmark:_Toc193871459'><span
  class=Heading1Char><span style='font-size:14.0pt;mso-fareast-font-family:"MS Mincho";
! text-decoration:none;text-underline:none'>Secure Endpoints Inc.</span></span></span></span></span><span
  style='mso-bookmark:_Toc193871459'></span><span style='mso-bookmark:_Toc193871704'></span><span
! style='mso-bookmark:_Toc206421314'></span></a><![if !supportNestedAnchors]><a
! name="_Toc193871459"></a><a name="_Toc193871704"></a><a name="_Toc206421314"></a><![endif]>
! provides development and support services for OpenAFS for Windows and <a
  href="http://web.mit.edu/kerberos/"><span class=Heading1Char><span
  style='font-size:14.0pt;mso-fareast-font-family:"MS Mincho";text-decoration:
  none;text-underline:none'>MIT Kerberos for Windows</span></span></a>.
  &nbsp;Donations provided to Secure Endpoints Inc. for the development of
  OpenAFS are used to cover the OpenAFS gatekeeper responsibilities; providing
  support to the OpenAFS community via the OpenAFS mailing lists; and furthering
! development of desired features that are either too small to be financed by development
! contracts.</p>
  
  <p class=MsoBodyText style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>Secure
  Endpoints Inc. accepts software development agreements from organizations who
--- 4212,4247 ----
  text-decoration:none;text-underline:none'>donation online</span></span></a>.</p>
  
  <h2 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><a
! name="_Toc213847219"></a><a name="_Toc213844458"></a><a name="_Toc206421313"></a><a
! name="_Toc193871703"></a><a name="_Toc193871458"></a><a name="_Toc191662134"></a><a
! name="_Toc152605097"></a><a name="_Toc115417094"></a><a name="_Toc139993146"></a><a
! name="_Toc126872223"></a><span style='mso-bookmark:_Toc213847219'><span
! style='mso-bookmark:_Toc213844458'><span style='mso-bookmark:_Toc206421313'><span
! style='mso-bookmark:_Toc193871703'><span style='mso-bookmark:_Toc193871458'><span
! style='mso-bookmark:_Toc191662134'><span style='mso-bookmark:_Toc152605097'><span
! style='mso-bookmark:_Toc115417094'>6.2. Secure Endpoints Inc.</span></span></span></span></span></span></span></span>
! </h2>
  
  <p class=MsoBodyText style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><a
! href="http://www.secure-endpoints.com/"><span style='mso-bookmark:_Toc213847220'><span
! style='mso-bookmark:_Toc213844459'><span style='mso-bookmark:_Toc206421314'><span
  style='mso-bookmark:_Toc193871704'><span style='mso-bookmark:_Toc193871459'><span
  class=Heading1Char><span style='font-size:14.0pt;mso-fareast-font-family:"MS Mincho";
! text-decoration:none;text-underline:none'>Secure Endpoints Inc.</span></span></span></span></span></span></span><span
  style='mso-bookmark:_Toc193871459'></span><span style='mso-bookmark:_Toc193871704'></span><span
! style='mso-bookmark:_Toc206421314'></span><span style='mso-bookmark:_Toc213844459'></span><span
! style='mso-bookmark:_Toc213847220'></span></a><![if !supportNestedAnchors]><a
! name="_Toc193871459"></a><a name="_Toc193871704"></a><a name="_Toc206421314"></a><a
! name="_Toc213844459"></a><a name="_Toc213847220"></a><![endif]> provides
! development and support services for OpenAFS for Windows and <a
  href="http://web.mit.edu/kerberos/"><span class=Heading1Char><span
  style='font-size:14.0pt;mso-fareast-font-family:"MS Mincho";text-decoration:
  none;text-underline:none'>MIT Kerberos for Windows</span></span></a>.
  &nbsp;Donations provided to Secure Endpoints Inc. for the development of
  OpenAFS are used to cover the OpenAFS gatekeeper responsibilities; providing
  support to the OpenAFS community via the OpenAFS mailing lists; and furthering
! development of desired features that are either too small to be financed by
! development contracts.</p>
  
  <p class=MsoBodyText style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>Secure
  Endpoints Inc. accepts software development agreements from organizations who
***************
*** 4021,4034 ****
  none;text-underline:none'>MIT Kerberos for Windows</span></span></a> products. </p>
  
  <h2 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><a
! name="_Toc206421315"></a><a name="_Toc193871705"></a><a name="_Toc193871460"></a><a
! name="_Toc191662135"></a><a name="_Toc152605098"></a><a name="_Toc115417096"></a><a
! name="_Toc139993147"></a><a name="_Toc126872224"></a><a name="_Toc139993148"></a><a
! name="_Toc126872225"></a><span style='mso-bookmark:_Toc206421315'><span
! style='mso-bookmark:_Toc193871705'><span style='mso-bookmark:_Toc193871460'><span
! style='mso-bookmark:_Toc191662135'><span style='mso-bookmark:_Toc152605098'><span
! style='mso-bookmark:_Toc115417096'>6.3. Direct contributions of code and/or
! documentation</span></span></span></span></span></span> </h2>
  
  <p class=MsoBodyText style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>Organizations
  that use OpenAFS in house and have development staffs are encouraged to
--- 4254,4269 ----
  none;text-underline:none'>MIT Kerberos for Windows</span></span></a> products. </p>
  
  <h2 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><a
! name="_Toc213847221"></a><a name="_Toc213844460"></a><a name="_Toc206421315"></a><a
! name="_Toc193871705"></a><a name="_Toc193871460"></a><a name="_Toc191662135"></a><a
! name="_Toc152605098"></a><a name="_Toc115417096"></a><a name="_Toc139993147"></a><a
! name="_Toc126872224"></a><a name="_Toc139993148"></a><a name="_Toc126872225"></a><span
! style='mso-bookmark:_Toc213847221'><span style='mso-bookmark:_Toc213844460'><span
! style='mso-bookmark:_Toc206421315'><span style='mso-bookmark:_Toc193871705'><span
! style='mso-bookmark:_Toc193871460'><span style='mso-bookmark:_Toc191662135'><span
! style='mso-bookmark:_Toc152605098'><span style='mso-bookmark:_Toc115417096'>6.3.
! Direct contributions of code and/or documentation</span></span></span></span></span></span></span></span>
! </h2>
  
  <p class=MsoBodyText style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>Organizations
  that use OpenAFS in house and have development staffs are encouraged to
***************
*** 4037,4049 ****
  documentation are highly desired. </p>
  
  <h2 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><a
! name="_Toc206421316"></a><a name="_Toc193871706"></a><a name="_Toc193871461"></a><a
! name="_Toc191662136"></a><a name="_Toc152605099"></a><a name="_Toc115417097"></a><a
! name="_Toc139993149"></a><a name="_Toc126872226"></a><span style='mso-bookmark:
! _Toc206421316'><span style='mso-bookmark:_Toc193871706'><span style='mso-bookmark:
! _Toc193871461'><span style='mso-bookmark:_Toc191662136'><span style='mso-bookmark:
! _Toc152605099'><span style='mso-bookmark:_Toc115417097'>6.4. OpenAFS for
! Windows Mailing Lists</span></span></span></span></span></span></h2>
  
  <p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>If
  you wish to participate in OpenAFS for Windows development please join the <i><a
--- 4272,4285 ----
  documentation are highly desired. </p>
  
  <h2 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><a
! name="_Toc213847222"></a><a name="_Toc213844461"></a><a name="_Toc206421316"></a><a
! name="_Toc193871706"></a><a name="_Toc193871461"></a><a name="_Toc191662136"></a><a
! name="_Toc152605099"></a><a name="_Toc115417097"></a><a name="_Toc139993149"></a><a
! name="_Toc126872226"></a><span style='mso-bookmark:_Toc213847222'><span
! style='mso-bookmark:_Toc213844461'><span style='mso-bookmark:_Toc206421316'><span
! style='mso-bookmark:_Toc193871706'><span style='mso-bookmark:_Toc193871461'><span
! style='mso-bookmark:_Toc191662136'><span style='mso-bookmark:_Toc152605099'><span
! style='mso-bookmark:_Toc115417097'>6.4. OpenAFS for Windows Mailing Lists</span></span></span></span></span></span></span></span></h2>
  
  <p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>If
  you wish to participate in OpenAFS for Windows development please join the <i><a
***************
*** 4053,4061 ****
  mailing list.</p>
  
  <p class=MsoNormal style='margin-left:35.45pt;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><a
! name="_Toc206421317"></a><a name="_Toc193871707"></a><a name="_Toc193871462"><span
! style='mso-bookmark:_Toc193871707'><span style='mso-bookmark:_Toc206421317'><span
! class=Heading1Char><span style='font-size:14.0pt;mso-fareast-font-family:"MS Mincho"'>https://lists.openafs.org/mailman/listinfo/openafs-win32-devel</span></span></span></span></a></p>
  
  <p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>User
  questions should be sent to the <a
--- 4289,4299 ----
  mailing list.</p>
  
  <p class=MsoNormal style='margin-left:35.45pt;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><a
! name="_Toc213847223"></a><a name="_Toc213844462"></a><a name="_Toc193871462"></a><a
! name="_Toc193871707"></a><a name="_Toc206421317"><span style='mso-bookmark:
! _Toc193871707'><span style='mso-bookmark:_Toc193871462'><span style='mso-bookmark:
! _Toc213844462'><span style='mso-bookmark:_Toc213847223'><span
! class=Heading1Char><span style='font-size:14.0pt;mso-fareast-font-family:"MS Mincho"'>https://lists.openafs.org/mailman/listinfo/openafs-win32-devel</span></span></span></span></span></span></a></p>
  
  <p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>User
  questions should be sent to the <a
***************
*** 4065,4108 ****
  mailing list.&nbsp; </p>
  
  <p class=MsoNormal style='margin-left:35.45pt;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><a
! name="_Toc206421318"></a><a name="_Toc193871708"></a><a name="_Toc193871463"><span
! style='mso-bookmark:_Toc193871708'><span style='mso-bookmark:_Toc206421318'><span
! class=Heading1Char><span style='font-size:14.0pt;mso-fareast-font-family:"MS Mincho"'>https://lists.openafs.org/mailman/listinfo/openafs-info</span></span></span></span></a></p>
  
  <p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>You
  must join the mailing lists if you wish to post to the list without incurring a
  moderation delay.</p>
  
  <h1 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><a
! name="_Toc206421319"></a><a name="_Toc193871709"></a><a name="_Toc193871464"></a><a
! name="_Toc191662137"></a><a name="_Toc152605100"></a><a name="_Toc139993150"></a><a
! name="_Toc126872227"></a><a name="_Toc115417115"></a><a name="_Toc115417098"></a><a
! name="_Toc115416158"></a><a name="_MSI_Deployment_Guide"></a><a
! name="_7._MSI_Deployment"></a><span style='mso-bookmark:_Toc206421319'><span
! style='mso-bookmark:_Toc193871709'><span style='mso-bookmark:_Toc193871464'><span
! style='mso-bookmark:_Toc191662137'><span style='mso-bookmark:_Toc152605100'>7.
! MSI Deployment Guide</span></span></span></span></span></h1>
  
! <b><span style='font-size:16.0pt;font-family:"Albany","sans-serif";mso-fareast-font-family:
  "Times New Roman";mso-bidi-font-family:"Times New Roman";mso-ansi-language:
  EN-US;mso-fareast-language:JA;mso-bidi-language:AR-SA'><br clear=all
  style='page-break-before:always'>
! </span></b>
  
  <h2 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><a
! name="_Toc206421320"></a><a name="_Toc193871710"></a><a name="_Toc193871465"></a><a
! name="_Toc191662138"></a><a name="_Toc152605101"></a><a name="_Toc115416159"></a><a
! name="_Toc139993151"></a><a name="_Toc126872228"></a><a name="_Toc115417099"></a><span
! style='mso-bookmark:_Toc206421320'><span style='mso-bookmark:_Toc193871710'><span
! style='mso-bookmark:_Toc193871465'><span style='mso-bookmark:_Toc191662138'><span
! style='mso-bookmark:_Toc152605101'><span style='mso-bookmark:_Toc115416159'>7.1.
! Introduction</span></span></span></span></span></span></h2>
  
  <p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>A
  MSI installer option is available for those who wish to use Windows Installer
! for installing OpenAFS and for organizations that wish to deploy OpenAFS through
! Group Policy.&nbsp; The first version of OpenAFS for Windows available as an
! MSI was 1.3.65.</p>
  
  <p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>This
  document provides a guide for authoring transforms used to customize the MSI
--- 4303,4350 ----
  mailing list.&nbsp; </p>
  
  <p class=MsoNormal style='margin-left:35.45pt;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><a
! name="_Toc213847224"></a><a name="_Toc213844463"></a><a name="_Toc193871463"></a><a
! name="_Toc193871708"></a><a name="_Toc206421318"><span style='mso-bookmark:
! _Toc193871708'><span style='mso-bookmark:_Toc193871463'><span style='mso-bookmark:
! _Toc213844463'><span style='mso-bookmark:_Toc213847224'><span
! class=Heading1Char><span style='font-size:14.0pt;mso-fareast-font-family:"MS Mincho"'>https://lists.openafs.org/mailman/listinfo/openafs-info</span></span></span></span></span></span></a></p>
  
  <p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>You
  must join the mailing lists if you wish to post to the list without incurring a
  moderation delay.</p>
  
  <h1 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><a
! name="_Toc213847225"></a><a name="_Toc213844464"></a><a name="_Toc206421319"></a><a
! name="_Toc193871709"></a><a name="_Toc193871464"></a><a name="_Toc191662137"></a><a
! name="_Toc152605100"></a><a name="_Toc139993150"></a><a name="_Toc126872227"></a><a
! name="_Toc115417115"></a><a name="_Toc115417098"></a><a name="_Toc115416158"></a><a
! name="_MSI_Deployment_Guide"></a><a name="_7._MSI_Deployment"></a><span
! style='mso-bookmark:_Toc213847225'><span style='mso-bookmark:_Toc213844464'><span
! style='mso-bookmark:_Toc206421319'><span style='mso-bookmark:_Toc193871709'><span
! style='mso-bookmark:_Toc193871464'><span style='mso-bookmark:_Toc191662137'><span
! style='mso-bookmark:_Toc152605100'>7. MSI Deployment Guide</span></span></span></span></span></span></span></h1>
  
! <i><span style='font-size:16.0pt;font-family:"Albany","sans-serif";mso-fareast-font-family:
  "Times New Roman";mso-bidi-font-family:"Times New Roman";mso-ansi-language:
  EN-US;mso-fareast-language:JA;mso-bidi-language:AR-SA'><br clear=all
  style='page-break-before:always'>
! </span></i>
  
  <h2 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><a
! name="_Toc213847226"></a><a name="_Toc213844465"></a><a name="_Toc206421320"></a><a
! name="_Toc193871710"></a><a name="_Toc193871465"></a><a name="_Toc191662138"></a><a
! name="_Toc152605101"></a><a name="_Toc115416159"></a><a name="_Toc139993151"></a><a
! name="_Toc126872228"></a><a name="_Toc115417099"></a><span style='mso-bookmark:
! _Toc213847226'><span style='mso-bookmark:_Toc213844465'><span style='mso-bookmark:
! _Toc206421320'><span style='mso-bookmark:_Toc193871710'><span style='mso-bookmark:
! _Toc193871465'><span style='mso-bookmark:_Toc191662138'><span style='mso-bookmark:
! _Toc152605101'><span style='mso-bookmark:_Toc115416159'>7.1. Introduction</span></span></span></span></span></span></span></span></h2>
  
  <p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>A
  MSI installer option is available for those who wish to use Windows Installer
! for installing OpenAFS and for organizations that wish to deploy OpenAFS
! through Group Policy.&nbsp; The first version of OpenAFS for Windows available
! as an MSI was 1.3.65.</p>
  
  <p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>This
  document provides a guide for authoring transforms used to customize the MSI
***************
*** 4113,4130 ****
  is already installed will pick up these customizations.</p>
  
  <h3 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><a
! name="_Toc206421321"></a><a name="_Toc193871711"></a><a name="_Toc193871466"></a><a
! name="_Toc191662139"></a><a name="_Toc152605102"></a><a name="_Toc115416160"></a><a
! name="_Toc139993152"></a><a name="_Toc126872229"></a><span style='mso-bookmark:
! _Toc206421321'><span style='mso-bookmark:_Toc193871711'><span style='mso-bookmark:
! _Toc193871466'><span style='mso-bookmark:_Toc191662139'><span style='mso-bookmark:
! _Toc152605102'><span style='mso-bookmark:_Toc115416160'>7.1.1 Requirements</span></span></span></span></span></span></h3>
  
  <p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>The
  information in this document applies to MSI packages distributed with OpenAFS
  for Windows releases from 1.3.65 and onwards or MSI packages built from
! corresponding source releases. &nbsp;Not all releases support all the configuration
! options documented here.</p>
  
  <p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>Authoring
  a &quot;Windows Installer&quot; transform requires additional software for
--- 4355,4373 ----
  is already installed will pick up these customizations.</p>
  
  <h3 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><a
! name="_Toc213844466"></a><a name="_Toc206421321"></a><a name="_Toc193871711"></a><a
! name="_Toc193871466"></a><a name="_Toc191662139"></a><a name="_Toc152605102"></a><a
! name="_Toc115416160"></a><a name="_Toc139993152"></a><a name="_Toc126872229"></a><span
! style='mso-bookmark:_Toc213844466'><span style='mso-bookmark:_Toc206421321'><span
! style='mso-bookmark:_Toc193871711'><span style='mso-bookmark:_Toc193871466'><span
! style='mso-bookmark:_Toc191662139'><span style='mso-bookmark:_Toc152605102'><span
! style='mso-bookmark:_Toc115416160'>7.1.1 Requirements</span></span></span></span></span></span></span></h3>
  
  <p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>The
  information in this document applies to MSI packages distributed with OpenAFS
  for Windows releases from 1.3.65 and onwards or MSI packages built from
! corresponding source releases. &nbsp;Not all releases support all the
! configuration options documented here.</p>
  
  <p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>Authoring
  a &quot;Windows Installer&quot; transform requires additional software for
***************
*** 4142,4167 ****
  <p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>&nbsp;&nbsp;&nbsp;
  <a
  href="http://msdn.microsoft.com/library/en-us/msi/setup/windows_installer_start_page.asp"><span
  style='mso-bookmark:_Toc206421322'><span style='mso-bookmark:_Toc193871712'><span
  style='mso-bookmark:_Toc193871467'><span class=Heading1Char><span
  style='font-size:14.0pt;mso-fareast-font-family:"MS Mincho";text-decoration:
! none;text-underline:none'>http://msdn.microsoft.com/library/en-us/msi/setup/windows_installer_start_page.asp</span></span></span></span></span><span
  style='mso-bookmark:_Toc193871467'></span><span style='mso-bookmark:_Toc193871712'></span><span
! style='mso-bookmark:_Toc206421322'></span></a><![if !supportNestedAnchors]><a
! name="_Toc193871467"></a><a name="_Toc193871712"></a><a name="_Toc206421322"></a><![endif]></p>
  
  <p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>For
  general information about authoring MSI transforms, refer to:</p>
  
  <p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>&nbsp;&nbsp;&nbsp;
  <a href="http://msdn.microsoft.com/library/en-us/msi/setup/transforms.asp"><span
  style='mso-bookmark:_Toc206421323'><span style='mso-bookmark:_Toc193871713'><span
  style='mso-bookmark:_Toc193871468'><span class=Heading1Char><span
  style='font-size:14.0pt;mso-fareast-font-family:"MS Mincho";text-decoration:
! none;text-underline:none'>http://msdn.microsoft.com/library/en-us/msi/setup/transforms.asp</span></span></span></span></span><span
  style='mso-bookmark:_Toc193871468'></span><span style='mso-bookmark:_Toc193871713'></span><span
! style='mso-bookmark:_Toc206421323'></span></a><![if !supportNestedAnchors]><a
! name="_Toc193871468"></a><a name="_Toc193871713"></a><a name="_Toc206421323"></a><![endif]></p>
  
  <p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>The
  remainder of this document assumes some familiarity with authoring
--- 4385,4416 ----
  <p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>&nbsp;&nbsp;&nbsp;
  <a
  href="http://msdn.microsoft.com/library/en-us/msi/setup/windows_installer_start_page.asp"><span
+ style='mso-bookmark:_Toc213847227'><span style='mso-bookmark:_Toc213844467'><span
  style='mso-bookmark:_Toc206421322'><span style='mso-bookmark:_Toc193871712'><span
  style='mso-bookmark:_Toc193871467'><span class=Heading1Char><span
  style='font-size:14.0pt;mso-fareast-font-family:"MS Mincho";text-decoration:
! none;text-underline:none'>http://msdn.microsoft.com/library/en-us/msi/setup/windows_installer_start_page.asp</span></span></span></span></span></span></span><span
  style='mso-bookmark:_Toc193871467'></span><span style='mso-bookmark:_Toc193871712'></span><span
! style='mso-bookmark:_Toc206421322'></span><span style='mso-bookmark:_Toc213844467'></span><span
! style='mso-bookmark:_Toc213847227'></span></a><![if !supportNestedAnchors]><a
! name="_Toc193871467"></a><a name="_Toc193871712"></a><a name="_Toc206421322"></a><a
! name="_Toc213844467"></a><a name="_Toc213847227"></a><![endif]></p>
  
  <p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>For
  general information about authoring MSI transforms, refer to:</p>
  
  <p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>&nbsp;&nbsp;&nbsp;
  <a href="http://msdn.microsoft.com/library/en-us/msi/setup/transforms.asp"><span
+ style='mso-bookmark:_Toc213847228'><span style='mso-bookmark:_Toc213844468'><span
  style='mso-bookmark:_Toc206421323'><span style='mso-bookmark:_Toc193871713'><span
  style='mso-bookmark:_Toc193871468'><span class=Heading1Char><span
  style='font-size:14.0pt;mso-fareast-font-family:"MS Mincho";text-decoration:
! none;text-underline:none'>http://msdn.microsoft.com/library/en-us/msi/setup/transforms.asp</span></span></span></span></span></span></span><span
  style='mso-bookmark:_Toc193871468'></span><span style='mso-bookmark:_Toc193871713'></span><span
! style='mso-bookmark:_Toc206421323'></span><span style='mso-bookmark:_Toc213844468'></span><span
! style='mso-bookmark:_Toc213847228'></span></a><![if !supportNestedAnchors]><a
! name="_Toc193871468"></a><a name="_Toc193871713"></a><a name="_Toc206421323"></a><a
! name="_Toc213844468"></a><a name="_Toc213847228"></a><![endif]></p>
  
  <p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>The
  remainder of this document assumes some familiarity with authoring
***************
*** 4173,4194 ****
  <p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>&nbsp;&nbsp;&nbsp;
  <a
  href="http://msdn.microsoft.com/library/en-us/msi/setup/a_customization_transform_example.asp"><span
  style='mso-bookmark:_Toc206421324'><span style='mso-bookmark:_Toc193871714'><span
  style='mso-bookmark:_Toc193871469'><span class=Heading1Char><span
  style='font-size:14.0pt;mso-fareast-font-family:"MS Mincho";text-decoration:
! none;text-underline:none'>http://msdn.microsoft.com/library/en-us/msi/setup/a_customization_transform_example.asp</span></span></span></span></span><span
  style='mso-bookmark:_Toc193871469'></span><span style='mso-bookmark:_Toc193871714'></span><span
! style='mso-bookmark:_Toc206421324'></span></a><![if !supportNestedAnchors]><a
! name="_Toc193871469"></a><a name="_Toc193871714"></a><a name="_Toc206421324"></a><![endif]></p>
  
  <h3 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><a
! name="_Toc206421325"></a><a name="_Toc193871715"></a><a name="_Toc193871470"></a><a
! name="_Toc191662140"></a><a name="_Toc152605103"></a><a name="_Toc115416161"></a><a
! name="_Toc139993153"></a><a name="_Toc126872230"></a><span style='mso-bookmark:
! _Toc206421325'><span style='mso-bookmark:_Toc193871715'><span style='mso-bookmark:
! _Toc193871470'><span style='mso-bookmark:_Toc191662140'><span style='mso-bookmark:
! _Toc152605103'><span style='mso-bookmark:_Toc115416161'>7.1.2 Authoring a
! Transform</span></span></span></span></span></span></h3>
  
  <p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>Transforms
  describe a set of modifications to be performed on an existing MSI for the
--- 4422,4446 ----
  <p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>&nbsp;&nbsp;&nbsp;
  <a
  href="http://msdn.microsoft.com/library/en-us/msi/setup/a_customization_transform_example.asp"><span
+ style='mso-bookmark:_Toc213847229'><span style='mso-bookmark:_Toc213844469'><span
  style='mso-bookmark:_Toc206421324'><span style='mso-bookmark:_Toc193871714'><span
  style='mso-bookmark:_Toc193871469'><span class=Heading1Char><span
  style='font-size:14.0pt;mso-fareast-font-family:"MS Mincho";text-decoration:
! none;text-underline:none'>http://msdn.microsoft.com/library/en-us/msi/setup/a_customization_transform_example.asp</span></span></span></span></span></span></span><span
  style='mso-bookmark:_Toc193871469'></span><span style='mso-bookmark:_Toc193871714'></span><span
! style='mso-bookmark:_Toc206421324'></span><span style='mso-bookmark:_Toc213844469'></span><span
! style='mso-bookmark:_Toc213847229'></span></a><![if !supportNestedAnchors]><a
! name="_Toc193871469"></a><a name="_Toc193871714"></a><a name="_Toc206421324"></a><a
! name="_Toc213844469"></a><a name="_Toc213847229"></a><![endif]></p>
  
  <h3 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><a
! name="_Toc213844470"></a><a name="_Toc206421325"></a><a name="_Toc193871715"></a><a
! name="_Toc193871470"></a><a name="_Toc191662140"></a><a name="_Toc152605103"></a><a
! name="_Toc115416161"></a><a name="_Toc139993153"></a><a name="_Toc126872230"></a><span
! style='mso-bookmark:_Toc213844470'><span style='mso-bookmark:_Toc206421325'><span
! style='mso-bookmark:_Toc193871715'><span style='mso-bookmark:_Toc193871470'><span
! style='mso-bookmark:_Toc191662140'><span style='mso-bookmark:_Toc152605103'><span
! style='mso-bookmark:_Toc115416161'>7.1.2 Authoring a Transform</span></span></span></span></span></span></span></h3>
  
  <p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>Transforms
  describe a set of modifications to be performed on an existing MSI for the
***************
*** 4244,4256 ****
  directly when editing openafs-modified.msi.&nbsp; More details are given below.</p>
  
  <h2 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><a
! name="_Toc206421326"></a><a name="_Toc193871716"></a><a name="_Toc193871471"></a><a
! name="_Toc191662141"></a><a name="_Toc152605104"></a><a name="_Toc115416162"></a><a
! name="_Toc139993154"></a><a name="_Toc126872231"></a><a name="_Toc115417100"></a><span
! style='mso-bookmark:_Toc206421326'><span style='mso-bookmark:_Toc193871716'><span
! style='mso-bookmark:_Toc193871471'><span style='mso-bookmark:_Toc191662141'><span
! style='mso-bookmark:_Toc152605104'><span style='mso-bookmark:_Toc115416162'>7.2.
! Configuration Options</span></span></span></span></span></span></h2>
  
  <p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>The
  logic necessary to implement many of the settings described in <a
--- 4496,4510 ----
  directly when editing openafs-modified.msi.&nbsp; More details are given below.</p>
  
  <h2 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><a
! name="_Toc213847230"></a><a name="_Toc213844471"></a><a name="_Toc206421326"></a><a
! name="_Toc193871716"></a><a name="_Toc193871471"></a><a name="_Toc191662141"></a><a
! name="_Toc152605104"></a><a name="_Toc115416162"></a><a name="_Toc139993154"></a><a
! name="_Toc126872231"></a><a name="_Toc115417100"></a><span style='mso-bookmark:
! _Toc213847230'><span style='mso-bookmark:_Toc213844471'><span style='mso-bookmark:
! _Toc206421326'><span style='mso-bookmark:_Toc193871716'><span style='mso-bookmark:
! _Toc193871471'><span style='mso-bookmark:_Toc191662141'><span style='mso-bookmark:
! _Toc152605104'><span style='mso-bookmark:_Toc115416162'>7.2. Configuration
! Options</span></span></span></span></span></span></span></span></h2>
  
  <p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>The
  logic necessary to implement many of the settings described in <a
***************
*** 4264,4276 ****
  are below.</p>
  
  <h3 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><a
! name="_Toc206421327"></a><a name="_Toc193871717"></a><a name="_Toc193871472"></a><a
! name="_Toc191662142"></a><a name="_Toc152605105"></a><a name="_Toc115416163"></a><a
! name="_Toc139993155"></a><a name="_Toc126872232"></a><span style='mso-bookmark:
! _Toc206421327'><span style='mso-bookmark:_Toc193871717'><span style='mso-bookmark:
! _Toc193871472'><span style='mso-bookmark:_Toc191662142'><span style='mso-bookmark:
! _Toc152605105'><span style='mso-bookmark:_Toc115416163'>7.2.1 Configurable
! Properties</span></span></span></span></span></span></h3>
  
  <p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>Most
  configurable properties correspond to registry keys or values.&nbsp; Due to the
--- 4518,4530 ----
  are below.</p>
  
  <h3 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><a
! name="_Toc213844472"></a><a name="_Toc206421327"></a><a name="_Toc193871717"></a><a
! name="_Toc193871472"></a><a name="_Toc191662142"></a><a name="_Toc152605105"></a><a
! name="_Toc115416163"></a><a name="_Toc139993155"></a><a name="_Toc126872232"></a><span
! style='mso-bookmark:_Toc213844472'><span style='mso-bookmark:_Toc206421327'><span
! style='mso-bookmark:_Toc193871717'><span style='mso-bookmark:_Toc193871472'><span
! style='mso-bookmark:_Toc191662142'><span style='mso-bookmark:_Toc152605105'><span
! style='mso-bookmark:_Toc115416163'>7.2.1 Configurable Properties</span></span></span></span></span></span></span></h3>
  
  <p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>Most
  configurable properties correspond to registry keys or values.&nbsp; Due to the
***************
*** 4341,4367 ****
   <tr style='mso-yfti-irow:0;mso-yfti-firstrow:yes'>
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt'>
    <h5><a name="_Toc191662145"></a><a name="_Toc152605108"></a><a
!   name="_Toc139993158"></a><a name="_Toc126872235"></a><a name="_Toc115416166"></a><a
!   name="_(Service_parameters):"></a><span style='mso-bookmark:_Toc191662145'><span
!   style='mso-bookmark:_Toc152605108'>(Service parameters):</span></span></h5>
    <p class=listcontents style='margin-left:0in'>[HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters]</p>
    </td>
   </tr>
   <tr style='mso-yfti-irow:1'>
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt'>
    <h5><a name="_Toc191662146"></a><a name="_Toc152605109"></a><a
!   name="_Toc139993159"></a><a name="_Toc126872236"></a><a name="_Toc115416167"></a><a
!   name="_(Network_provider):"></a><span style='mso-bookmark:_Toc191662146'><span
!   style='mso-bookmark:_Toc152605109'>(Network provider):</span></span></h5>
    <p class=listcontents style='margin-left:0in'>[HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider]</p>
    </td>
   </tr>
   <tr style='mso-yfti-irow:2;mso-yfti-lastrow:yes'>
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt'>
    <h5><a name="_Toc191662147"></a><a name="_Toc152605110"></a><a
!   name="_Toc139993160"></a><a name="_Toc126872237"></a><a name="_Toc115416168"></a><a
!   name="_(OpenAFS_Client):"></a><span style='mso-bookmark:_Toc191662147'><span
!   style='mso-bookmark:_Toc152605110'>(OpenAFS Client):</span></span></h5>
    <p class=listcontents style='margin-left:0in'>[HKLM\SOFTWARE\OpenAFS\Client]</p>
    </td>
   </tr>
--- 4595,4621 ----
   <tr style='mso-yfti-irow:0;mso-yfti-firstrow:yes'>
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt'>
    <h5><a name="_Toc191662145"></a><a name="_Toc152605108"></a><a
!   name="_(Service_parameters):"></a><a name="_Toc115416166"></a><a
!   name="_Toc126872235"></a><a name="_Toc139993158"></a><span style='mso-bookmark:
!   _Toc191662145'><span style='mso-bookmark:_Toc152605108'>(Service parameters):</span></span></h5>
    <p class=listcontents style='margin-left:0in'>[HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters]</p>
    </td>
   </tr>
   <tr style='mso-yfti-irow:1'>
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt'>
    <h5><a name="_Toc191662146"></a><a name="_Toc152605109"></a><a
!   name="_(Network_provider):"></a><a name="_Toc115416167"></a><a
!   name="_Toc126872236"></a><a name="_Toc139993159"></a><span style='mso-bookmark:
!   _Toc191662146'><span style='mso-bookmark:_Toc152605109'>(Network provider):</span></span></h5>
    <p class=listcontents style='margin-left:0in'>[HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider]</p>
    </td>
   </tr>
   <tr style='mso-yfti-irow:2;mso-yfti-lastrow:yes'>
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt'>
    <h5><a name="_Toc191662147"></a><a name="_Toc152605110"></a><a
!   name="_(OpenAFS_Client):"></a><a name="_Toc115416168"></a><a
!   name="_Toc126872237"></a><a name="_Toc139993160"></a><span style='mso-bookmark:
!   _Toc191662147'><span style='mso-bookmark:_Toc152605110'>(OpenAFS Client):</span></span></h5>
    <p class=listcontents style='margin-left:0in'>[HKLM\SOFTWARE\OpenAFS\Client]</p>
    </td>
   </tr>
***************
*** 4382,4388 ****
   <tr style='mso-yfti-irow:0;mso-yfti-firstrow:yes'>
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt'>
    <h6><a name="_Toc191662149"></a><a name="_Toc152605112"></a><a
!   name="_Toc115416170"></a><a name="_Toc139993162"></a><a name="_Toc126872239"></a><span
    style='mso-bookmark:_Toc191662149'><span style='mso-bookmark:_Toc152605112'><span
    style='mso-bookmark:_Toc115416170'>AFSCACHEPATH</span></span></span></h6>
    <p class=MsoList>Registry key&nbsp;&nbsp;&nbsp; : <a
--- 4636,4642 ----
   <tr style='mso-yfti-irow:0;mso-yfti-firstrow:yes'>
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt'>
    <h6><a name="_Toc191662149"></a><a name="_Toc152605112"></a><a
!   name="_Toc115416170"></a><a name="_Toc126872239"></a><a name="_Toc139993162"></a><span
    style='mso-bookmark:_Toc191662149'><span style='mso-bookmark:_Toc152605112'><span
    style='mso-bookmark:_Toc115416170'>AFSCACHEPATH</span></span></span></h6>
    <p class=MsoList>Registry key&nbsp;&nbsp;&nbsp; : <a
***************
*** 4398,4404 ****
   <tr style='mso-yfti-irow:1'>
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt'>
    <h6><a name="_Toc191662150"></a><a name="_Toc152605113"></a><a
!   name="_Toc115416171"></a><a name="_Toc139993163"></a><a name="_Toc126872240"></a><span
    style='mso-bookmark:_Toc191662150'><span style='mso-bookmark:_Toc152605113'><span
    style='mso-bookmark:_Toc115416171'>AFSCACHESIZE</span></span></span></h6>
    <p class=MsoList>Registry key&nbsp;&nbsp;&nbsp; : <a
--- 4652,4658 ----
   <tr style='mso-yfti-irow:1'>
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt'>
    <h6><a name="_Toc191662150"></a><a name="_Toc152605113"></a><a
!   name="_Toc115416171"></a><a name="_Toc126872240"></a><a name="_Toc139993163"></a><span
    style='mso-bookmark:_Toc191662150'><span style='mso-bookmark:_Toc152605113'><span
    style='mso-bookmark:_Toc115416171'>AFSCACHESIZE</span></span></span></h6>
    <p class=MsoList>Registry key&nbsp;&nbsp;&nbsp; : <a
***************
*** 4414,4420 ****
   <tr style='mso-yfti-irow:2'>
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt'>
    <h6><a name="_Toc191662151"></a><a name="_Toc152605114"></a><a
!   name="_Toc115416172"></a><a name="_Toc139993164"></a><a name="_Toc126872241"></a><span
    style='mso-bookmark:_Toc191662151'><span style='mso-bookmark:_Toc152605114'><span
    style='mso-bookmark:_Toc115416172'>AFSCELLNAME</span></span></span></h6>
    <p class=MsoList>Registry key&nbsp;&nbsp;&nbsp; : <a
--- 4668,4674 ----
   <tr style='mso-yfti-irow:2'>
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt'>
    <h6><a name="_Toc191662151"></a><a name="_Toc152605114"></a><a
!   name="_Toc115416172"></a><a name="_Toc126872241"></a><a name="_Toc139993164"></a><span
    style='mso-bookmark:_Toc191662151'><span style='mso-bookmark:_Toc152605114'><span
    style='mso-bookmark:_Toc115416172'>AFSCELLNAME</span></span></span></h6>
    <p class=MsoList>Registry key&nbsp;&nbsp;&nbsp; : <a
***************
*** 4430,4436 ****
   <tr style='mso-yfti-irow:3'>
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt'>
    <h6><a name="_Toc191662152"></a><a name="_Toc152605115"></a><a
!   name="_Toc115416173"></a><a name="_Toc139993165"></a><a name="_Toc126872242"></a><span
    style='mso-bookmark:_Toc191662152'><span style='mso-bookmark:_Toc152605115'><span
    style='mso-bookmark:_Toc115416173'>FREELANCEMODE</span></span></span></h6>
    <p class=MsoList>Registry key&nbsp;&nbsp;&nbsp; : <a
--- 4684,4690 ----
   <tr style='mso-yfti-irow:3'>
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt'>
    <h6><a name="_Toc191662152"></a><a name="_Toc152605115"></a><a
!   name="_Toc115416173"></a><a name="_Toc126872242"></a><a name="_Toc139993165"></a><span
    style='mso-bookmark:_Toc191662152'><span style='mso-bookmark:_Toc152605115'><span
    style='mso-bookmark:_Toc115416173'>FREELANCEMODE</span></span></span></h6>
    <p class=MsoList>Registry key&nbsp;&nbsp;&nbsp; : <a
***************
*** 4446,4452 ****
   <tr style='mso-yfti-irow:4'>
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt'>
    <h6><a name="_Toc191662153"></a><a name="_Toc152605116"></a><a
!   name="_Toc115416174"></a><a name="_Toc139993166"></a><a name="_Toc126872243"></a><span
    style='mso-bookmark:_Toc191662153'><span style='mso-bookmark:_Toc152605116'><span
    style='mso-bookmark:_Toc115416174'>HIDEDOTFILES</span></span></span></h6>
    <p class=MsoList>Registry key&nbsp;&nbsp;&nbsp; : <a
--- 4700,4706 ----
   <tr style='mso-yfti-irow:4'>
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt'>
    <h6><a name="_Toc191662153"></a><a name="_Toc152605116"></a><a
!   name="_Toc115416174"></a><a name="_Toc126872243"></a><a name="_Toc139993166"></a><span
    style='mso-bookmark:_Toc191662153'><span style='mso-bookmark:_Toc152605116'><span
    style='mso-bookmark:_Toc115416174'>HIDEDOTFILES</span></span></span></h6>
    <p class=MsoList>Registry key&nbsp;&nbsp;&nbsp; : <a
***************
*** 4462,4468 ****
   <tr style='mso-yfti-irow:5'>
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt'>
    <h6><a name="_Toc191662154"></a><a name="_Toc152605117"></a><a
!   name="_Toc115416175"></a><a name="_Toc139993167"></a><a name="_Toc126872244"></a><span
    style='mso-bookmark:_Toc191662154'><span style='mso-bookmark:_Toc152605117'><span
    style='mso-bookmark:_Toc115416175'>LOGONOPTIONS</span></span></span></h6>
    <p class=MsoList>Registry key&nbsp;&nbsp;&nbsp; : <a
--- 4716,4722 ----
   <tr style='mso-yfti-irow:5'>
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt'>
    <h6><a name="_Toc191662154"></a><a name="_Toc152605117"></a><a
!   name="_Toc115416175"></a><a name="_Toc126872244"></a><a name="_Toc139993167"></a><span
    style='mso-bookmark:_Toc191662154'><span style='mso-bookmark:_Toc152605117'><span
    style='mso-bookmark:_Toc115416175'>LOGONOPTIONS</span></span></span></h6>
    <p class=MsoList>Registry key&nbsp;&nbsp;&nbsp; : <a
***************
*** 4485,4491 ****
   <tr style='mso-yfti-irow:6'>
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt'>
    <h6><a name="_Toc191662155"></a><a name="_Toc152605118"></a><a
!   name="_Toc115416176"></a><a name="_Toc139993168"></a><a name="_Toc126872245"></a><span
    style='mso-bookmark:_Toc191662155'><span style='mso-bookmark:_Toc152605118'><span
    style='mso-bookmark:_Toc115416176'>MOUNTROOT</span></span></span></h6>
    <p class=MsoList>Registry key&nbsp;&nbsp;&nbsp; : <a
--- 4739,4745 ----
   <tr style='mso-yfti-irow:6'>
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt'>
    <h6><a name="_Toc191662155"></a><a name="_Toc152605118"></a><a
!   name="_Toc115416176"></a><a name="_Toc126872245"></a><a name="_Toc139993168"></a><span
    style='mso-bookmark:_Toc191662155'><span style='mso-bookmark:_Toc152605118'><span
    style='mso-bookmark:_Toc115416176'>MOUNTROOT</span></span></span></h6>
    <p class=MsoList>Registry key&nbsp;&nbsp;&nbsp; : <a
***************
*** 4501,4507 ****
   <tr style='mso-yfti-irow:7'>
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt'>
    <h6><a name="_Toc191662156"></a><a name="_Toc152605119"></a><a
!   name="_Toc115416177"></a><a name="_Toc139993169"></a><a name="_Toc126872246"></a><span
    style='mso-bookmark:_Toc191662156'><span style='mso-bookmark:_Toc152605119'><span
    style='mso-bookmark:_Toc115416177'>NETBIOSNAME</span></span></span></h6>
    <p class=MsoList>Registry key&nbsp;&nbsp;&nbsp; : <a
--- 4755,4761 ----
   <tr style='mso-yfti-irow:7'>
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt'>
    <h6><a name="_Toc191662156"></a><a name="_Toc152605119"></a><a
!   name="_Toc115416177"></a><a name="_Toc126872246"></a><a name="_Toc139993169"></a><span
    style='mso-bookmark:_Toc191662156'><span style='mso-bookmark:_Toc152605119'><span
    style='mso-bookmark:_Toc115416177'>NETBIOSNAME</span></span></span></h6>
    <p class=MsoList>Registry key&nbsp;&nbsp;&nbsp; : <a
***************
*** 4518,4524 ****
   <tr style='mso-yfti-irow:8'>
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt'>
    <h6><a name="_Toc191662157"></a><a name="_Toc152605120"></a><a
!   name="_Toc115416178"></a><a name="_Toc139993170"></a><a name="_Toc126872247"></a><span
    style='mso-bookmark:_Toc191662157'><span style='mso-bookmark:_Toc152605120'><span
    style='mso-bookmark:_Toc115416178'>NOFINDLANABYNAME</span></span></span></h6>
    <p class=MsoList>Registry key&nbsp;&nbsp;&nbsp; : <a
--- 4772,4778 ----
   <tr style='mso-yfti-irow:8'>
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt'>
    <h6><a name="_Toc191662157"></a><a name="_Toc152605120"></a><a
!   name="_Toc115416178"></a><a name="_Toc126872247"></a><a name="_Toc139993170"></a><span
    style='mso-bookmark:_Toc191662157'><span style='mso-bookmark:_Toc152605120'><span
    style='mso-bookmark:_Toc115416178'>NOFINDLANABYNAME</span></span></span></h6>
    <p class=MsoList>Registry key&nbsp;&nbsp;&nbsp; : <a
***************
*** 4534,4540 ****
   <tr style='mso-yfti-irow:9'>
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt'>
    <h6><a name="_Toc191662158"></a><a name="_Toc152605121"></a><a
!   name="_Toc115416179"></a><a name="_Toc139993171"></a><a name="_Toc126872248"></a><span
    style='mso-bookmark:_Toc191662158'><span style='mso-bookmark:_Toc152605121'><span
    style='mso-bookmark:_Toc115416179'>RXMAXMTU</span></span></span></h6>
    <p class=MsoList>Registry key&nbsp;&nbsp;&nbsp; : <a
--- 4788,4794 ----
   <tr style='mso-yfti-irow:9'>
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt'>
    <h6><a name="_Toc191662158"></a><a name="_Toc152605121"></a><a
!   name="_Toc115416179"></a><a name="_Toc126872248"></a><a name="_Toc139993171"></a><span
    style='mso-bookmark:_Toc191662158'><span style='mso-bookmark:_Toc152605121'><span
    style='mso-bookmark:_Toc115416179'>RXMAXMTU</span></span></span></h6>
    <p class=MsoList>Registry key&nbsp;&nbsp;&nbsp; : <a
***************
*** 4550,4556 ****
   <tr style='mso-yfti-irow:10'>
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt'>
    <h6><a name="_Toc191662159"></a><a name="_Toc152605122"></a><a
!   name="_Toc115416180"></a><a name="_Toc139993172"></a><a name="_Toc126872249"></a><span
    style='mso-bookmark:_Toc191662159'><span style='mso-bookmark:_Toc152605122'><span
    style='mso-bookmark:_Toc115416180'>SECURITYLEVEL</span></span></span></h6>
    <p class=MsoList>Registry key&nbsp;&nbsp;&nbsp; : <a
--- 4804,4810 ----
   <tr style='mso-yfti-irow:10'>
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt'>
    <h6><a name="_Toc191662159"></a><a name="_Toc152605122"></a><a
!   name="_Toc115416180"></a><a name="_Toc126872249"></a><a name="_Toc139993172"></a><span
    style='mso-bookmark:_Toc191662159'><span style='mso-bookmark:_Toc152605122'><span
    style='mso-bookmark:_Toc115416180'>SECURITYLEVEL</span></span></span></h6>
    <p class=MsoList>Registry key&nbsp;&nbsp;&nbsp; : <a
***************
*** 4566,4572 ****
   <tr style='mso-yfti-irow:11'>
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt'>
    <h6><a name="_Toc191662160"></a><a name="_Toc152605123"></a><a
!   name="_Toc115416181"></a><a name="_Toc139993173"></a><a name="_Toc126872250"></a><span
    style='mso-bookmark:_Toc191662160'><span style='mso-bookmark:_Toc152605123'><span
    style='mso-bookmark:_Toc115416181'>SMBAUTHTYPE</span></span></span></h6>
    <p class=MsoList>Registry key&nbsp;&nbsp;&nbsp; : <a
--- 4820,4826 ----
   <tr style='mso-yfti-irow:11'>
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt'>
    <h6><a name="_Toc191662160"></a><a name="_Toc152605123"></a><a
!   name="_Toc115416181"></a><a name="_Toc126872250"></a><a name="_Toc139993173"></a><span
    style='mso-bookmark:_Toc191662160'><span style='mso-bookmark:_Toc152605123'><span
    style='mso-bookmark:_Toc115416181'>SMBAUTHTYPE</span></span></span></h6>
    <p class=MsoList>Registry key&nbsp;&nbsp;&nbsp; : <a
***************
*** 4582,4588 ****
   <tr style='mso-yfti-irow:12'>
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt'>
    <h6><a name="_Toc191662161"></a><a name="_Toc152605124"></a><a
!   name="_Toc115416182"></a><a name="_Toc139993174"></a><a name="_Toc126872251"></a><span
    style='mso-bookmark:_Toc191662161'><span style='mso-bookmark:_Toc152605124'><span
    style='mso-bookmark:_Toc115416182'>STOREANSIFILENAMES</span></span></span></h6>
    <p class=MsoList>Registry key&nbsp;&nbsp;&nbsp; : <a
--- 4836,4842 ----
   <tr style='mso-yfti-irow:12'>
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt'>
    <h6><a name="_Toc191662161"></a><a name="_Toc152605124"></a><a
!   name="_Toc115416182"></a><a name="_Toc126872251"></a><a name="_Toc139993174"></a><span
    style='mso-bookmark:_Toc191662161'><span style='mso-bookmark:_Toc152605124'><span
    style='mso-bookmark:_Toc115416182'>STOREANSIFILENAMES</span></span></span></h6>
    <p class=MsoList>Registry key&nbsp;&nbsp;&nbsp; : <a
***************
*** 4593,4606 ****
    class=Heading1Char><span style='font-size:14.0pt;mso-fareast-font-family:
    "MS Mincho";text-decoration:none;text-underline:none'>StoreAnsiFilenames</span></span></a></p>
    <p class=MsoList>Valid values&nbsp;&nbsp;&nbsp; : '0' or '1'</p>
!   <p class=MsoNormal>This option is no longer supported as of 1.5.50 now that all file names 
!   are stored to AFS file servers using the UTF-8 encoding of Unicode.</p>
    </td>
   </tr>
   <tr style='mso-yfti-irow:13;mso-yfti-lastrow:yes'>
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt'>
    <h6><a name="_Toc191662162"></a><a name="_Toc152605125"></a><a
!   name="_Toc115416183"></a><a name="_Toc139993175"></a><a name="_Toc126872252"></a><span
    style='mso-bookmark:_Toc191662162'><span style='mso-bookmark:_Toc152605125'><span
    style='mso-bookmark:_Toc115416183'>USEDNS</span></span></span></h6>
    <p class=MsoList>Registry key&nbsp;&nbsp;&nbsp; : <a
--- 4847,4861 ----
    class=Heading1Char><span style='font-size:14.0pt;mso-fareast-font-family:
    "MS Mincho";text-decoration:none;text-underline:none'>StoreAnsiFilenames</span></span></a></p>
    <p class=MsoList>Valid values&nbsp;&nbsp;&nbsp; : '0' or '1'</p>
!   <p class=MsoNormal>This option is no longer supported as of 1.5.50 now that
!   all file names are stored to AFS file servers using the UTF-8 encoding of
!   Unicode.</p>
    </td>
   </tr>
   <tr style='mso-yfti-irow:13;mso-yfti-lastrow:yes'>
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt'>
    <h6><a name="_Toc191662162"></a><a name="_Toc152605125"></a><a
!   name="_Toc115416183"></a><a name="_Toc126872252"></a><a name="_Toc139993175"></a><span
    style='mso-bookmark:_Toc191662162'><span style='mso-bookmark:_Toc152605125'><span
    style='mso-bookmark:_Toc115416183'>USEDNS</span></span></span></h6>
    <p class=MsoList>Registry key&nbsp;&nbsp;&nbsp; : <a
***************
*** 4622,4654 ****
  style='mso-bookmark:_Toc152605126'>7.2.1.2.2 AFSCreds.exe Properties</span></span></h5>
  
  <p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>These
! properties are combined to add a command line option to the shortcut that will be
! created in the Start:Programs:OpenAFS and Start:Programs:Startup folders (see
! CREDSSTARTUP). &nbsp;The method of specifying the option was chosen for easy
! integration with the Windows Installer user interface.&nbsp; Although other
! methods can be used to specify options to AFSCREDS.EXE, it is advised that they
! be avoided as transforms including such options may not apply to future
! releases of OpenAFS.</p>
  
  <table class=MsoNormalTable border=1 cellspacing=3 cellpadding=0
   style='mso-cellspacing:2.2pt;mso-yfti-tbllook:1184;mso-padding-alt:0in 0in 0in 0in'>
   <tr style='mso-yfti-irow:0;mso-yfti-firstrow:yes'>
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt'>
    <h6><a name="_Toc191662164"></a><a name="_Toc152605127"></a><a
!   name="_Toc115416185"></a><a name="_Toc139993177"></a><a name="_Toc126872254"></a><span
    style='mso-bookmark:_Toc191662164'><span style='mso-bookmark:_Toc152605127'><span
    style='mso-bookmark:_Toc115416185'>CREDSSTARTUP</span></span></span></h6>
    <p class=MsoList>Valid values&nbsp;&nbsp;&nbsp; : '1' or '0'</p>
    <p class=MsoList>Controls whether AFSCreds.exe starts up automatically when
    the user logs on.&nbsp; When CREDSSTARTUP is '1' a shortcut is added to the
!   'Startup' folder in the 'Program menu' which starts AFSCREDS.EXE with the
!   options that are determined by the other CREDS* properties.</p>
    </td>
   </tr>
   <tr style='mso-yfti-irow:1'>
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt'>
    <h6><a name="_Toc191662165"></a><a name="_Toc152605128"></a><a
!   name="_Toc115416186"></a><a name="_Toc139993178"></a><a name="_Toc126872255"></a><span
    style='mso-bookmark:_Toc191662165'><span style='mso-bookmark:_Toc152605128'><span
    style='mso-bookmark:_Toc115416186'>CREDSAUTOINIT</span></span></span></h6>
    <p class=MsoList>Valid values&nbsp;&nbsp;&nbsp; : '-a' or ''</p>
--- 4877,4909 ----
  style='mso-bookmark:_Toc152605126'>7.2.1.2.2 AFSCreds.exe Properties</span></span></h5>
  
  <p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>These
! properties are combined to add a command line option to the shortcut that will
! be created in the Start:Programs:OpenAFS and Start:Programs:Startup folders
! (see CREDSSTARTUP). &nbsp;The method of specifying the option was chosen for
! easy integration with the Windows Installer user interface.&nbsp; Although
! other methods can be used to specify options to AFSCREDS.EXE, it is advised
! that they be avoided as transforms including such options may not apply to
! future releases of OpenAFS.</p>
  
  <table class=MsoNormalTable border=1 cellspacing=3 cellpadding=0
   style='mso-cellspacing:2.2pt;mso-yfti-tbllook:1184;mso-padding-alt:0in 0in 0in 0in'>
   <tr style='mso-yfti-irow:0;mso-yfti-firstrow:yes'>
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt'>
    <h6><a name="_Toc191662164"></a><a name="_Toc152605127"></a><a
!   name="_Toc115416185"></a><a name="_Toc126872254"></a><a name="_Toc139993177"></a><span
    style='mso-bookmark:_Toc191662164'><span style='mso-bookmark:_Toc152605127'><span
    style='mso-bookmark:_Toc115416185'>CREDSSTARTUP</span></span></span></h6>
    <p class=MsoList>Valid values&nbsp;&nbsp;&nbsp; : '1' or '0'</p>
    <p class=MsoList>Controls whether AFSCreds.exe starts up automatically when
    the user logs on.&nbsp; When CREDSSTARTUP is '1' a shortcut is added to the
!   'Startup' folder in the 'Program menu' which starts AFSCREDS.EXE with the options
!   that are determined by the other CREDS* properties.</p>
    </td>
   </tr>
   <tr style='mso-yfti-irow:1'>
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt'>
    <h6><a name="_Toc191662165"></a><a name="_Toc152605128"></a><a
!   name="_Toc115416186"></a><a name="_Toc126872255"></a><a name="_Toc139993178"></a><span
    style='mso-bookmark:_Toc191662165'><span style='mso-bookmark:_Toc152605128'><span
    style='mso-bookmark:_Toc115416186'>CREDSAUTOINIT</span></span></span></h6>
    <p class=MsoList>Valid values&nbsp;&nbsp;&nbsp; : '-a' or ''</p>
***************
*** 4658,4664 ****
   <tr style='mso-yfti-irow:2'>
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt'>
    <h6><a name="_Toc191662166"></a><a name="_Toc152605129"></a><a
!   name="_Toc115416187"></a><a name="_Toc139993179"></a><a name="_Toc126872256"></a><span
    style='mso-bookmark:_Toc191662166'><span style='mso-bookmark:_Toc152605129'><span
    style='mso-bookmark:_Toc115416187'>CREDSIPCHDET</span></span></span></h6>
    <p class=MsoList>Valid values&nbsp;&nbsp;&nbsp; : '-n' or ''</p>
--- 4913,4919 ----
   <tr style='mso-yfti-irow:2'>
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt'>
    <h6><a name="_Toc191662166"></a><a name="_Toc152605129"></a><a
!   name="_Toc115416187"></a><a name="_Toc126872256"></a><a name="_Toc139993179"></a><span
    style='mso-bookmark:_Toc191662166'><span style='mso-bookmark:_Toc152605129'><span
    style='mso-bookmark:_Toc115416187'>CREDSIPCHDET</span></span></span></h6>
    <p class=MsoList>Valid values&nbsp;&nbsp;&nbsp; : '-n' or ''</p>
***************
*** 4668,4674 ****
   <tr style='mso-yfti-irow:3'>
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt'>
    <h6><a name="_Toc191662167"></a><a name="_Toc152605130"></a><a
!   name="_Toc115416188"></a><a name="_Toc139993180"></a><a name="_Toc126872257"></a><span
    style='mso-bookmark:_Toc191662167'><span style='mso-bookmark:_Toc152605130'><span
    style='mso-bookmark:_Toc115416188'>CREDSQUIET</span></span></span></h6>
    <p class=MsoList>Valid values&nbsp;&nbsp;&nbsp; : '-q' or ''</p>
--- 4923,4929 ----
   <tr style='mso-yfti-irow:3'>
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt'>
    <h6><a name="_Toc191662167"></a><a name="_Toc152605130"></a><a
!   name="_Toc115416188"></a><a name="_Toc126872257"></a><a name="_Toc139993180"></a><span
    style='mso-bookmark:_Toc191662167'><span style='mso-bookmark:_Toc152605130'><span
    style='mso-bookmark:_Toc115416188'>CREDSQUIET</span></span></span></h6>
    <p class=MsoList>Valid values&nbsp;&nbsp;&nbsp; : '-q' or ''</p>
***************
*** 4678,4684 ****
   <tr style='mso-yfti-irow:4'>
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt'>
    <h6><a name="_Toc191662168"></a><a name="_Toc152605131"></a><a
!   name="_Toc115416189"></a><a name="_Toc139993181"></a><a name="_Toc126872258"></a><span
    style='mso-bookmark:_Toc191662168'><span style='mso-bookmark:_Toc152605131'><span
    style='mso-bookmark:_Toc115416189'>CREDSRENEWDRMAP</span></span></span></h6>
    <p class=MsoList>Valid values&nbsp;&nbsp;&nbsp; : '-m' or '’</p>
--- 4933,4939 ----
   <tr style='mso-yfti-irow:4'>
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt'>
    <h6><a name="_Toc191662168"></a><a name="_Toc152605131"></a><a
!   name="_Toc115416189"></a><a name="_Toc126872258"></a><a name="_Toc139993181"></a><span
    style='mso-bookmark:_Toc191662168'><span style='mso-bookmark:_Toc152605131'><span
    style='mso-bookmark:_Toc115416189'>CREDSRENEWDRMAP</span></span></span></h6>
    <p class=MsoList>Valid values&nbsp;&nbsp;&nbsp; : '-m' or '’</p>
***************
*** 4688,4694 ****
   <tr style='mso-yfti-irow:5;mso-yfti-lastrow:yes'>
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt'>
    <h6><a name="_Toc191662169"></a><a name="_Toc152605132"></a><a
!   name="_Toc115416190"></a><a name="_Toc139993182"></a><a name="_Toc126872259"></a><span
    style='mso-bookmark:_Toc191662169'><span style='mso-bookmark:_Toc152605132'><span
    style='mso-bookmark:_Toc115416190'>CREDSSHOW</span></span></span></h6>
    <p class=MsoList>Valid values&nbsp;&nbsp;&nbsp; : '-s' or ''</p>
--- 4943,4949 ----
   <tr style='mso-yfti-irow:5;mso-yfti-lastrow:yes'>
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt'>
    <h6><a name="_Toc191662169"></a><a name="_Toc152605132"></a><a
!   name="_Toc115416190"></a><a name="_Toc126872259"></a><a name="_Toc139993182"></a><span
    style='mso-bookmark:_Toc191662169'><span style='mso-bookmark:_Toc152605132'><span
    style='mso-bookmark:_Toc115416190'>CREDSSHOW</span></span></span></h6>
    <p class=MsoList>Valid values&nbsp;&nbsp;&nbsp; : '-s' or ''</p>
***************
*** 4699,4727 ****
  </table>
  
  <h3 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><a
! name="_Toc206421328"></a><a name="_Toc193871718"></a><a name="_Toc193871473"></a><a
! name="_Toc191662170"></a><a name="_Toc152605133"></a><a name="_Toc115416191"></a><a
! name="_Toc139993183"></a><a name="_Toc126872260"></a><span style='mso-bookmark:
! _Toc206421328'><span style='mso-bookmark:_Toc193871718'><span style='mso-bookmark:
! _Toc193871473'><span style='mso-bookmark:_Toc191662170'><span style='mso-bookmark:
! _Toc152605133'><span style='mso-bookmark:_Toc115416191'>7.2.2 Existing Registry
! Entries</span></span></span></span></span></span></h3>
  
  <p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>You
! can change existing registry values subject to the restrictions mentioned in the
! Windows Platform SDK.&nbsp; Pay special attention to component key paths and
! try to only change the 'Value' column in the 'Registry' table.&nbsp; If you
  want to add additional registry keys please refer to section 3 (Additional
  resources).</p>
  
  <h3 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><a
! name="_Toc206421329"></a><a name="_Toc193871719"></a><a name="_Toc193871474"></a><a
! name="_Toc191662171"></a><a name="_Toc152605134"></a><a name="_Toc115416192"></a><a
! name="_Toc139993184"></a><a name="_Toc126872261"></a><span style='mso-bookmark:
! _Toc206421329'><span style='mso-bookmark:_Toc193871719'><span style='mso-bookmark:
! _Toc193871474'><span style='mso-bookmark:_Toc191662171'><span style='mso-bookmark:
! _Toc152605134'><span style='mso-bookmark:_Toc115416192'>7.2.3 Replacing Configuration
! Files</span></span></span></span></span></span></h3>
  
  <p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>The
  OpenAFS configuration files (CellServDB) can be replaced by your own
--- 4954,4982 ----
  </table>
  
  <h3 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><a
! name="_Toc213844473"></a><a name="_Toc206421328"></a><a name="_Toc193871718"></a><a
! name="_Toc193871473"></a><a name="_Toc191662170"></a><a name="_Toc152605133"></a><a
! name="_Toc115416191"></a><a name="_Toc139993183"></a><a name="_Toc126872260"></a><span
! style='mso-bookmark:_Toc213844473'><span style='mso-bookmark:_Toc206421328'><span
! style='mso-bookmark:_Toc193871718'><span style='mso-bookmark:_Toc193871473'><span
! style='mso-bookmark:_Toc191662170'><span style='mso-bookmark:_Toc152605133'><span
! style='mso-bookmark:_Toc115416191'>7.2.2 Existing Registry Entries</span></span></span></span></span></span></span></h3>
  
  <p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>You
! can change existing registry values subject to the restrictions mentioned in
! the Windows Platform SDK.&nbsp; Pay special attention to component key paths
! and try to only change the 'Value' column in the 'Registry' table.&nbsp; If you
  want to add additional registry keys please refer to section 3 (Additional
  resources).</p>
  
  <h3 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><a
! name="_Toc213844474"></a><a name="_Toc206421329"></a><a name="_Toc193871719"></a><a
! name="_Toc193871474"></a><a name="_Toc191662171"></a><a name="_Toc152605134"></a><a
! name="_Toc115416192"></a><a name="_Toc139993184"></a><a name="_Toc126872261"></a><span
! style='mso-bookmark:_Toc213844474'><span style='mso-bookmark:_Toc206421329'><span
! style='mso-bookmark:_Toc193871719'><span style='mso-bookmark:_Toc193871474'><span
! style='mso-bookmark:_Toc191662171'><span style='mso-bookmark:_Toc152605134'><span
! style='mso-bookmark:_Toc115416192'>7.2.3 Replacing Configuration Files</span></span></span></span></span></span></span></h3>
  
  <p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>The
  OpenAFS configuration files (CellServDB) can be replaced by your own
***************
*** 4756,4763 ****
  <p class=MsoNormal style='margin-top:4.3pt;margin-right:0in;margin-bottom:4.3pt;
  margin-left:.55in;text-indent:-.3in;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>1.2.<span
  style='font-size:7.0pt;font-family:"Times New Roman","serif"'>&nbsp;&nbsp; </span>In
! the Component table, locate the component you need to change ( Ctrl-F invokes the
! 'Find' dialog).&nbsp; The component names are listed below in section <a
  href="#_2.3.1_Components_for_Configuration_"><span class=Heading1Char><span
  style='font-size:14.0pt;mso-fareast-font-family:"MS Mincho";text-decoration:
  none;text-underline:none'>7.2.3.1</span></span></a>.&nbsp; For this example,
--- 5011,5018 ----
  <p class=MsoNormal style='margin-top:4.3pt;margin-right:0in;margin-bottom:4.3pt;
  margin-left:.55in;text-indent:-.3in;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>1.2.<span
  style='font-size:7.0pt;font-family:"Times New Roman","serif"'>&nbsp;&nbsp; </span>In
! the Component table, locate the component you need to change ( Ctrl-F invokes
! the 'Find' dialog).&nbsp; The component names are listed below in section <a
  href="#_2.3.1_Components_for_Configuration_"><span class=Heading1Char><span
  style='font-size:14.0pt;mso-fareast-font-family:"MS Mincho";text-decoration:
  none;text-underline:none'>7.2.3.1</span></span></a>.&nbsp; For this example,
***************
*** 4865,4878 ****
  </table>
  
  <p class=MsoNormal style='margin-left:35.45pt;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>Note
! that the ComponentId is an uppercase GUID.&nbsp; You can generate one using GUIDGEN.EXE
! or UUIDGEN.EXE, both of which are included in the Platform SDK.</p>
  
  <p class=MsoNormal style='margin-left:35.45pt;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>The
  Attributes value of 144 is a sum of msidbComponentAttributesPermanent (16) and
! msidbComponentAttributesNeverOverwrite (128).&nbsp; This ensures that local modifications
! are not overwritten or lost during an installation or uninstallation.&nbsp;
! These are the same settings used on the default configuration files.</p>
  
  <p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  'fil_my_CellServDB' is a key into the 'File' table which we will fill later.</p>
--- 5120,5134 ----
  </table>
  
  <p class=MsoNormal style='margin-left:35.45pt;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>Note
! that the ComponentId is an uppercase GUID.&nbsp; You can generate one using
! GUIDGEN.EXE or UUIDGEN.EXE, both of which are included in the Platform SDK.</p>
  
  <p class=MsoNormal style='margin-left:35.45pt;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>The
  Attributes value of 144 is a sum of msidbComponentAttributesPermanent (16) and
! msidbComponentAttributesNeverOverwrite (128).&nbsp; This ensures that local
! modifications are not overwritten or lost during an installation or
! uninstallation.&nbsp; These are the same settings used on the default
! configuration files.</p>
  
  <p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  'fil_my_CellServDB' is a key into the 'File' table which we will fill later.</p>
***************
*** 5120,5129 ****
  &nbsp;&nbsp;&nbsp; (leave other fields blank)</p>
  
  <p class=MsoNormal style='margin-left:35.45pt;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>The
! 'Attributes' value is msidbFileAttributesNonCompressed (8192).&nbsp; This is because
! we will be placing this file in the same directory as the MSI instead of
! embedding the file in it.&nbsp; Transforms do not support updating compressed
! sources or adding new cabinet streams.</p>
  
  <p class=MsoNormal style='margin-left:35.45pt;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>Finally,
  the 'Sequence' value of 1000 will be used later to distinguish the file as
--- 5376,5385 ----
  &nbsp;&nbsp;&nbsp; (leave other fields blank)</p>
  
  <p class=MsoNormal style='margin-left:35.45pt;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>The
! 'Attributes' value is msidbFileAttributesNonCompressed (8192).&nbsp; This is
! because we will be placing this file in the same directory as the MSI instead
! of embedding the file in it.&nbsp; Transforms do not support updating
! compressed sources or adding new cabinet streams.</p>
  
  <p class=MsoNormal style='margin-left:35.45pt;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>Finally,
  the 'Sequence' value of 1000 will be used later to distinguish the file as
***************
*** 5184,5196 ****
  'cpf_CellServDB' (ID {D5BA4C15-DBEC-4292-91FC-B54C30F24F2A})</p>
  
  <h3 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><a
! name="_Toc206421330"></a><a name="_Toc193871720"></a><a name="_Toc193871475"></a><a
! name="_Toc191662173"></a><a name="_Toc152605136"></a><a name="_Toc115416194"></a><a
! name="_Toc139993186"></a><a name="_Toc126872263"></a><span style='mso-bookmark:
! _Toc206421330'><span style='mso-bookmark:_Toc193871720'><span style='mso-bookmark:
! _Toc193871475'><span style='mso-bookmark:_Toc191662173'><span style='mso-bookmark:
! _Toc152605136'><span style='mso-bookmark:_Toc115416194'>7.2.4 Adding Domain
! Specific Registry Keys</span></span></span></span></span></span></h3>
  
  <p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>Following
  is an example for adding domain specific registry keys.</p>
--- 5440,5452 ----
  'cpf_CellServDB' (ID {D5BA4C15-DBEC-4292-91FC-B54C30F24F2A})</p>
  
  <h3 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><a
! name="_Toc213844475"></a><a name="_Toc206421330"></a><a name="_Toc193871720"></a><a
! name="_Toc193871475"></a><a name="_Toc191662173"></a><a name="_Toc152605136"></a><a
! name="_Toc115416194"></a><a name="_Toc139993186"></a><a name="_Toc126872263"></a><span
! style='mso-bookmark:_Toc213844475'><span style='mso-bookmark:_Toc206421330'><span
! style='mso-bookmark:_Toc193871720'><span style='mso-bookmark:_Toc193871475'><span
! style='mso-bookmark:_Toc191662173'><span style='mso-bookmark:_Toc152605136'><span
! style='mso-bookmark:_Toc115416194'>7.2.4 Adding Domain Specific Registry Keys</span></span></span></span></span></span></span></h3>
  
  <p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>Following
  is an example for adding domain specific registry keys.</p>
***************
*** 5286,5295 ****
    : 2<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    Key&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
!   :
!   'SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider\Domain'<br>
!   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Component&nbsp;&nbsp;&nbsp;&nbsp;
!   : 'rcm_DomainKeys'</p>
    </td>
   </tr>
   <tr style='mso-yfti-irow:8'>
--- 5542,5550 ----
    : 2<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    Key&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
!   : 'SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider\Domain'<br>
!   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
!   Component&nbsp;&nbsp;&nbsp;&nbsp; : 'rcm_DomainKeys'</p>
    </td>
   </tr>
   <tr style='mso-yfti-irow:8'>
***************
*** 5304,5311 ****
    : 2<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    Key&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
!   :
!   'SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider\Domain'<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    Name&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    : '*'<br>
--- 5559,5565 ----
    : 2<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    Key&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
!   : 'SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider\Domain'<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    Name&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    : '*'<br>
***************
*** 5343,5349 ****
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    Root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    : 2<br>
!   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Key&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    :
    'SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider\Domain\ATHENA.MIT.EDU'<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
--- 5597,5604 ----
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    Root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    : 2<br>
!   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
!   Key&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    :
    'SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider\Domain\ATHENA.MIT.EDU'<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
***************
*** 5389,5396 ****
    : 2<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    Key&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
!   :
!   'SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider\Domain\LOCALHOST'<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    Name&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    : 'LogonOptions'<br>
--- 5644,5650 ----
    : 2<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    Key&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
!   : 'SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider\Domain\LOCALHOST'<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    Name&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    : 'LogonOptions'<br>
***************
*** 5411,5417 ****
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    Root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    : 2<br>
!   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Key&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    :
    'SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider\Domain\LOCALHOST'<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
--- 5665,5672 ----
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    Root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    : 2<br>
!   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
!   Key&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    :
    'SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider\Domain\LOCALHOST'<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
***************
*** 5433,5445 ****
  logon) and 'LOCALHOST' (disable integrated logon and fail logins silently).</p>
  
  <h3 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><a
! name="_Toc206421331"></a><a name="_Toc193871721"></a><a name="_Toc193871476"></a><a
! name="_Toc191662174"></a><a name="_Toc152605137"></a><a name="_Toc115416195"></a><a
! name="_Toc139993187"></a><a name="_Toc126872264"></a><span style='mso-bookmark:
! _Toc206421331'><span style='mso-bookmark:_Toc193871721'><span style='mso-bookmark:
! _Toc193871476'><span style='mso-bookmark:_Toc191662174'><span style='mso-bookmark:
! _Toc152605137'><span style='mso-bookmark:_Toc115416195'>7.2.5 Adding Site
! Specific Freelance Registry Keys</span></span></span></span></span></span></h3>
  
  <p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>Following
  is an example for adding site specific Freelance registry keys to pre-populate
--- 5688,5701 ----
  logon) and 'LOCALHOST' (disable integrated logon and fail logins silently).</p>
  
  <h3 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><a
! name="_Toc213844476"></a><a name="_Toc206421331"></a><a name="_Toc193871721"></a><a
! name="_Toc193871476"></a><a name="_Toc191662174"></a><a name="_Toc152605137"></a><a
! name="_Toc115416195"></a><a name="_Toc139993187"></a><a name="_Toc126872264"></a><span
! style='mso-bookmark:_Toc213844476'><span style='mso-bookmark:_Toc206421331'><span
! style='mso-bookmark:_Toc193871721'><span style='mso-bookmark:_Toc193871476'><span
! style='mso-bookmark:_Toc191662174'><span style='mso-bookmark:_Toc152605137'><span
! style='mso-bookmark:_Toc115416195'>7.2.5 Adding Site Specific Freelance
! Registry Keys</span></span></span></span></span></span></span></h3>
  
  <p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>Following
  is an example for adding site specific Freelance registry keys to pre-populate
***************
*** 5483,5490 ****
   </tr>
   <tr style='mso-yfti-irow:3'>
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt'>
!   <p class=MsoNormal>&nbsp;&nbsp;&nbsp;
!   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (new row)<br>
    &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    Component&nbsp;&nbsp;&nbsp;&nbsp; : 'rcm_FreelanceKeys'<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
--- 5739,5746 ----
   </tr>
   <tr style='mso-yfti-irow:3'>
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt'>
!   <p class=MsoNormal>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
!   (new row)<br>
    &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    Component&nbsp;&nbsp;&nbsp;&nbsp; : 'rcm_FreelanceKeys'<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
***************
*** 5653,5665 ****
  using symlinks.</p>
  
  <h2 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><a
! name="_Toc206421332"></a><a name="_Toc193871722"></a><a name="_Toc193871477"></a><a
! name="_Toc191662175"></a><a name="_Toc152605138"></a><a name="_Ref115275867"></a><a
! name="_Toc139993188"></a><a name="_Toc126872265"></a><a name="_Toc115417101"></a><a
! name="_Toc115416196"></a><span style='mso-bookmark:_Toc206421332'><span
! style='mso-bookmark:_Toc193871722'><span style='mso-bookmark:_Toc193871477'><span
! style='mso-bookmark:_Toc191662175'><span style='mso-bookmark:_Toc152605138'><span
! style='mso-bookmark:_Ref115275867'>7.3 Additional Resources</span></span></span></span></span></span></h2>
  
  <p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>If
  you want to add registry keys or files you need to create new components and
--- 5909,5923 ----
  using symlinks.</p>
  
  <h2 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><a
! name="_Toc213847231"></a><a name="_Toc213844477"></a><a name="_Toc206421332"></a><a
! name="_Toc193871722"></a><a name="_Toc193871477"></a><a name="_Toc191662175"></a><a
! name="_Toc152605138"></a><a name="_Ref115275867"></a><a name="_Toc139993188"></a><a
! name="_Toc126872265"></a><a name="_Toc115417101"></a><a name="_Toc115416196"></a><span
! style='mso-bookmark:_Toc213847231'><span style='mso-bookmark:_Toc213844477'><span
! style='mso-bookmark:_Toc206421332'><span style='mso-bookmark:_Toc193871722'><span
! style='mso-bookmark:_Toc193871477'><span style='mso-bookmark:_Toc191662175'><span
! style='mso-bookmark:_Toc152605138'><span style='mso-bookmark:_Ref115275867'>7.3
! Additional Resources</span></span></span></span></span></span></span></span></h2>
  
  <p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>If
  you want to add registry keys or files you need to create new components and
***************
*** 5707,5719 ****
  MSITRAN.EXE.</p>
  
  <h2 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><a
! name="_Toc206421333"></a><a name="_Toc193871723"></a><a name="_Toc193871478"></a><a
! name="_Toc191662176"></a><a name="_Toc152605139"></a><a name="_Toc115416197"></a><a
! name="_Toc139993189"></a><a name="_Toc126872266"></a><a name="_Toc115417102"></a><span
! style='mso-bookmark:_Toc206421333'><span style='mso-bookmark:_Toc193871723'><span
! style='mso-bookmark:_Toc193871478'><span style='mso-bookmark:_Toc191662176'><span
! style='mso-bookmark:_Toc152605139'><span style='mso-bookmark:_Toc115416197'>7.4.
! Upgrades</span></span></span></span></span></span></h2>
  
  <p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>The
  MSI package is designed to uninstall previous versions of OpenAFS for Windows
--- 5965,5978 ----
  MSITRAN.EXE.</p>
  
  <h2 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><a
! name="_Toc213847232"></a><a name="_Toc213844478"></a><a name="_Toc206421333"></a><a
! name="_Toc193871723"></a><a name="_Toc193871478"></a><a name="_Toc191662176"></a><a
! name="_Toc152605139"></a><a name="_Toc115416197"></a><a name="_Toc139993189"></a><a
! name="_Toc126872266"></a><a name="_Toc115417102"></a><span style='mso-bookmark:
! _Toc213847232'><span style='mso-bookmark:_Toc213844478'><span style='mso-bookmark:
! _Toc206421333'><span style='mso-bookmark:_Toc193871723'><span style='mso-bookmark:
! _Toc193871478'><span style='mso-bookmark:_Toc191662176'><span style='mso-bookmark:
! _Toc152605139'><span style='mso-bookmark:_Toc115416197'>7.4. Upgrades</span></span></span></span></span></span></span></span></h2>
  
  <p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>The
  MSI package is designed to uninstall previous versions of OpenAFS for Windows
***************
*** 5757,5792 ****
  &quot;vomus&quot;.</p>
  
  <h1 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><a
! name="_Toc206421334"></a><a name="_Toc193871724"></a><a name="_Toc193871479"></a><a
! name="_Toc191662177"></a><a name="_Toc152605140"></a><a name="_Toc139993190"></a><a
! name="_Toc126872267"></a><a name="_Toc115417116"></a><a name="_Toc115417103"></a><a
! name="_Toc115416198"></a><a name="_Appendix_A:_Registry_Values"></a><a
! name="_Appendix_A:_Registry"></a><span style='mso-bookmark:_Toc206421334'><span
! style='mso-bookmark:_Toc193871724'><span style='mso-bookmark:_Toc193871479'><span
! style='mso-bookmark:_Toc191662177'><span style='mso-bookmark:_Toc152605140'>Appendix
! A: Registry Values</span></span></span></span></span></h1>
  
  <h2 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><a
! name="_Toc206421335"></a><a name="_Toc193871725"></a><a name="_Toc193871480"></a><a
! name="_Toc191662178"></a><a name="_Toc152605141"></a><a name="_Toc115416199"></a><a
! name="_Toc139993191"></a><a name="_Toc126872268"></a><a name="_Toc115417104"></a><span
! style='mso-bookmark:_Toc206421335'><span style='mso-bookmark:_Toc193871725'><span
! style='mso-bookmark:_Toc193871480'><span style='mso-bookmark:_Toc191662178'><span
! style='mso-bookmark:_Toc152605141'><span style='mso-bookmark:_Toc115416199'>A.1.
! Service parameters</span></span></span></span></span></span></h2>
  
  <p class=MsoBodyText style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>The
  service parameters primarily affect the behavior of the AFS client service
  (afsd_service.exe).</p>
  
  <h3 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><a
! name="_Toc206421336"></a><a name="_Toc193871726"></a><a name="_Toc193871481"></a><a
! name="_Toc191662179"></a><a name="_Toc152605142"></a><a name="_Toc115416200"></a><a
! name="_Toc139993192"></a><a name="_Toc126872269"></a><span style='mso-bookmark:
! _Toc206421336'><span style='mso-bookmark:_Toc193871726'><span style='mso-bookmark:
! _Toc193871481'><span style='mso-bookmark:_Toc191662179'><span style='mso-bookmark:
! _Toc152605142'><span style='mso-bookmark:_Toc115416200'>Regkey:<br>
! [HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters]</span></span></span></span></span></span></h3>
  
  <table class=MsoNormalTable border=1 cellspacing=3 cellpadding=0
   style='mso-cellspacing:2.2pt;mso-yfti-tbllook:1184;mso-padding-alt:0in 0in 0in 0in'>
--- 6016,6054 ----
  &quot;vomus&quot;.</p>
  
  <h1 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><a
! name="_Toc213847233"></a><a name="_Toc213844479"></a><a name="_Toc206421334"></a><a
! name="_Toc193871724"></a><a name="_Toc193871479"></a><a name="_Toc191662177"></a><a
! name="_Toc152605140"></a><a name="_Toc139993190"></a><a name="_Toc126872267"></a><a
! name="_Toc115417116"></a><a name="_Toc115417103"></a><a name="_Toc115416198"></a><a
! name="_Appendix_A:_Registry_Values"></a><a name="_Appendix_A:_Registry"></a><span
! style='mso-bookmark:_Toc213847233'><span style='mso-bookmark:_Toc213844479'><span
! style='mso-bookmark:_Toc206421334'><span style='mso-bookmark:_Toc193871724'><span
! style='mso-bookmark:_Toc193871479'><span style='mso-bookmark:_Toc191662177'><span
! style='mso-bookmark:_Toc152605140'>Appendix A: Registry Values</span></span></span></span></span></span></span></h1>
  
  <h2 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><a
! name="_Toc213847234"></a><a name="_Toc213844480"></a><a name="_Toc206421335"></a><a
! name="_Toc193871725"></a><a name="_Toc193871480"></a><a name="_Toc191662178"></a><a
! name="_Toc152605141"></a><a name="_Toc115416199"></a><a name="_Toc139993191"></a><a
! name="_Toc126872268"></a><a name="_Toc115417104"></a><span style='mso-bookmark:
! _Toc213847234'><span style='mso-bookmark:_Toc213844480'><span style='mso-bookmark:
! _Toc206421335'><span style='mso-bookmark:_Toc193871725'><span style='mso-bookmark:
! _Toc193871480'><span style='mso-bookmark:_Toc191662178'><span style='mso-bookmark:
! _Toc152605141'><span style='mso-bookmark:_Toc115416199'>A.1. Service parameters</span></span></span></span></span></span></span></span></h2>
  
  <p class=MsoBodyText style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>The
  service parameters primarily affect the behavior of the AFS client service
  (afsd_service.exe).</p>
  
  <h3 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><a
! name="_Toc213844481"></a><a name="_Toc206421336"></a><a name="_Toc193871726"></a><a
! name="_Toc193871481"></a><a name="_Toc191662179"></a><a name="_Toc152605142"></a><a
! name="_Toc115416200"></a><a name="_Toc139993192"></a><a name="_Toc126872269"></a><span
! style='mso-bookmark:_Toc213844481'><span style='mso-bookmark:_Toc206421336'><span
! style='mso-bookmark:_Toc193871726'><span style='mso-bookmark:_Toc193871481'><span
! style='mso-bookmark:_Toc191662179'><span style='mso-bookmark:_Toc152605142'><span
! style='mso-bookmark:_Toc115416200'>Regkey:<br>
! [HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters]</span></span></span></span></span></span></span></h3>
  
  <table class=MsoNormalTable border=1 cellspacing=3 cellpadding=0
   style='mso-cellspacing:2.2pt;mso-yfti-tbllook:1184;mso-padding-alt:0in 0in 0in 0in'>
***************
*** 5794,5800 ****
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt;
    height:145.25pt'>
    <h5><a name="_Toc191662180"></a><a name="_Toc152605143"></a><a
!   name="_Toc115416201"></a><a name="_Toc139993193"></a><a name="_Toc126872270"></a><span
    style='mso-bookmark:_Toc191662180'><span style='mso-bookmark:_Toc152605143'><span
    style='mso-bookmark:_Toc115416201'>Value: LANadapter</span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD<br>
--- 6056,6062 ----
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt;
    height:145.25pt'>
    <h5><a name="_Toc191662180"></a><a name="_Toc152605143"></a><a
!   name="_Toc115416201"></a><a name="_Toc126872270"></a><a name="_Toc139993193"></a><span
    style='mso-bookmark:_Toc191662180'><span style='mso-bookmark:_Toc152605143'><span
    style='mso-bookmark:_Toc115416201'>Value: LANadapter</span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD<br>
***************
*** 5813,5821 ****
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt;
    height:79.25pt'>
    <h5><a name="_Toc191662181"></a><a name="_Toc152605144"></a><a
!   name="_Toc139993194"></a><a name="_Toc126872271"></a><a name="_Toc115416202"></a><a
!   name="_Value___:_CacheSize"></a><span style='mso-bookmark:_Toc191662181'><span
!   style='mso-bookmark:_Toc152605144'>Value: CacheSize</span></span></h5>
    <p class=MsoBodyText>Type: DWORD<br>
    Default: 98304 (CM_CONFIGDEFAULT_CACHESIZE)<br>
    Variable: cm_initParams.cacheSize</p>
--- 6075,6083 ----
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt;
    height:79.25pt'>
    <h5><a name="_Toc191662181"></a><a name="_Toc152605144"></a><a
!   name="_Value___:_CacheSize"></a><a name="_Toc115416202"></a><a
!   name="_Toc126872271"></a><a name="_Toc139993194"></a><span style='mso-bookmark:
!   _Toc191662181'><span style='mso-bookmark:_Toc152605144'>Value: CacheSize</span></span></h5>
    <p class=MsoBodyText>Type: DWORD<br>
    Default: 98304 (CM_CONFIGDEFAULT_CACHESIZE)<br>
    Variable: cm_initParams.cacheSize</p>
***************
*** 5826,5832 ****
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt;
    height:79.25pt'>
    <h5><a name="_Toc191662182"></a><a name="_Toc152605145"></a><a
!   name="_Toc115416203"></a><a name="_Toc139993195"></a><a name="_Toc126872272"></a><span
    style='mso-bookmark:_Toc191662182'><span style='mso-bookmark:_Toc152605145'><span
    style='mso-bookmark:_Toc115416203'>Value: ChunkSize</span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD<br>
--- 6088,6094 ----
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt;
    height:79.25pt'>
    <h5><a name="_Toc191662182"></a><a name="_Toc152605145"></a><a
!   name="_Toc115416203"></a><a name="_Toc126872272"></a><a name="_Toc139993195"></a><span
    style='mso-bookmark:_Toc191662182'><span style='mso-bookmark:_Toc152605145'><span
    style='mso-bookmark:_Toc115416203'>Value: ChunkSize</span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD<br>
***************
*** 5840,5846 ****
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt;
    height:92.0pt'>
    <h5><a name="_Toc191662183"></a><a name="_Toc152605146"></a><a
!   name="_Toc115416204"></a><a name="_Toc139993196"></a><a name="_Toc126872273"></a><span
    style='mso-bookmark:_Toc191662183'><span style='mso-bookmark:_Toc152605146'><span
    style='mso-bookmark:_Toc115416204'>Value: Daemons</span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD<br>
--- 6102,6108 ----
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt;
    height:92.0pt'>
    <h5><a name="_Toc191662183"></a><a name="_Toc152605146"></a><a
!   name="_Toc115416204"></a><a name="_Toc126872273"></a><a name="_Toc139993196"></a><span
    style='mso-bookmark:_Toc191662183'><span style='mso-bookmark:_Toc152605146'><span
    style='mso-bookmark:_Toc115416204'>Value: Daemons</span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD<br>
***************
*** 5854,5860 ****
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt;
    height:92.0pt'>
    <h5><a name="_Toc191662184"></a><a name="_Toc152605147"></a><a
!   name="_Toc115416205"></a><a name="_Toc139993197"></a><a name="_Toc126872274"></a><span
    style='mso-bookmark:_Toc191662184'><span style='mso-bookmark:_Toc152605147'><span
    style='mso-bookmark:_Toc115416205'>Value: ServerThreads</span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD<br>
--- 6116,6122 ----
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt;
    height:92.0pt'>
    <h5><a name="_Toc191662184"></a><a name="_Toc152605147"></a><a
!   name="_Toc115416205"></a><a name="_Toc126872274"></a><a name="_Toc139993197"></a><span
    style='mso-bookmark:_Toc191662184'><span style='mso-bookmark:_Toc152605147'><span
    style='mso-bookmark:_Toc115416205'>Value: ServerThreads</span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD<br>
***************
*** 5868,5875 ****
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt;
    height:79.25pt'>
    <h5><a name="_Toc191662185"></a><a name="_Toc152605148"></a><a
!   name="_Toc115416206"></a><a name="_Value:_Stats"></a><a name="_Toc139993198"></a><a
!   name="_Toc126872275"></a><span style='mso-bookmark:_Toc191662185'><span
    style='mso-bookmark:_Toc152605148'><span style='mso-bookmark:_Toc115416206'>Value:
    Stats</span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD<br>
--- 6130,6137 ----
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt;
    height:79.25pt'>
    <h5><a name="_Toc191662185"></a><a name="_Toc152605148"></a><a
!   name="_Toc115416206"></a><a name="_Toc126872275"></a><a name="_Toc139993198"></a><a
!   name="_Value:_Stats"></a><span style='mso-bookmark:_Toc191662185'><span
    style='mso-bookmark:_Toc152605148'><span style='mso-bookmark:_Toc115416206'>Value:
    Stats</span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD<br>
***************
*** 5905,5913 ****
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt;
    height:78.5pt'>
    <h5><a name="_Toc191662186"></a><a name="_Toc152605149"></a><a
!   name="_Toc139993199"></a><a name="_Toc126872276"></a><a name="_Toc115416207"></a><a
!   name="_Value_:_LogoffPreserveTokens"></a><span style='mso-bookmark:_Toc191662186'><span
!   style='mso-bookmark:_Toc152605149'>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
--- 6167,6176 ----
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt;
    height:78.5pt'>
    <h5><a name="_Toc191662186"></a><a name="_Toc152605149"></a><a
!   name="_Value_:_LogoffPreserveTokens"></a><a name="_Toc115416207"></a><a
!   name="_Toc126872276"></a><a name="_Toc139993199"></a><span style='mso-bookmark:
!   _Toc191662186'><span style='mso-bookmark:_Toc152605149'>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
***************
*** 5919,5925 ****
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt;
    height:79.25pt'>
    <h5><a name="_Toc191662187"></a><a name="_Toc152605150"></a><a
!   name="_Toc115416208"></a><a name="_Toc139993200"></a><a name="_Toc126872277"></a><span
    style='mso-bookmark:_Toc191662187'><span style='mso-bookmark:_Toc152605150'><span
    style='mso-bookmark:_Toc115416208'>Value: RootVolume</span></span></span></h5>
    <p class=MsoBodyText>Type: REG_SZ<br>
--- 6182,6188 ----
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt;
    height:79.25pt'>
    <h5><a name="_Toc191662187"></a><a name="_Toc152605150"></a><a
!   name="_Toc115416208"></a><a name="_Toc126872277"></a><a name="_Toc139993200"></a><span
    style='mso-bookmark:_Toc191662187'><span style='mso-bookmark:_Toc152605150'><span
    style='mso-bookmark:_Toc115416208'>Value: RootVolume</span></span></span></h5>
    <p class=MsoBodyText>Type: REG_SZ<br>
***************
*** 5932,5940 ****
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt;
    height:145.25pt'>
    <h5><a name="_Toc191662188"></a><a name="_Toc152605151"></a><a
!   name="_Toc139993201"></a><a name="_Toc126872278"></a><a name="_Toc115416209"></a><a
!   name="_Value_:_Mountroot"></a><span style='mso-bookmark:_Toc191662188'><span
!   style='mso-bookmark:_Toc152605151'>Value: MountRoot</span></span></h5>
    <p class=MsoBodyText>Type: REG_SZ<br>
    Default: &quot;/afs&quot;<br>
    Variable: cm_mountRoot</p>
--- 6195,6203 ----
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt;
    height:145.25pt'>
    <h5><a name="_Toc191662188"></a><a name="_Toc152605151"></a><a
!   name="_Value_:_Mountroot"></a><a name="_Toc115416209"></a><a
!   name="_Toc126872278"></a><a name="_Toc139993201"></a><span style='mso-bookmark:
!   _Toc191662188'><span style='mso-bookmark:_Toc152605151'>Value: MountRoot</span></span></h5>
    <p class=MsoBodyText>Type: REG_SZ<br>
    Default: &quot;/afs&quot;<br>
    Variable: cm_mountRoot</p>
***************
*** 5952,5960 ****
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt;
    height:92.0pt'>
    <h5><a name="_Toc191662189"></a><a name="_Toc152605152"></a><a
!   name="_Toc139993202"></a><a name="_Toc126872279"></a><a name="_Toc115416210"></a><a
!   name="_Value_:_CachePath"></a><span style='mso-bookmark:_Toc191662189'><span
!   style='mso-bookmark:_Toc152605152'>Value: CachePath</span></span></h5>
    <p class=MsoBodyText>Type: REG_SZ or REG_EXPAND_SZ<br>
    Default: &quot;%TEMP%\AFSCache&quot;<br>
    Variable: cm_CachePath</p>
--- 6215,6223 ----
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt;
    height:92.0pt'>
    <h5><a name="_Toc191662189"></a><a name="_Toc152605152"></a><a
!   name="_Value_:_CachePath"></a><a name="_Toc115416210"></a><a
!   name="_Toc126872279"></a><a name="_Toc139993202"></a><span style='mso-bookmark:
!   _Toc191662189'><span style='mso-bookmark:_Toc152605152'>Value: CachePath</span></span></h5>
    <p class=MsoBodyText>Type: REG_SZ or REG_EXPAND_SZ<br>
    Default: &quot;%TEMP%\AFSCache&quot;<br>
    Variable: cm_CachePath</p>
***************
*** 5967,5973 ****
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt;
    height:119.0pt'>
    <h5><a name="_Toc191662190"></a><a name="_Toc152605153"></a><a
!   name="_Toc115416211"></a><a name="_Toc139993203"></a><a name="_Toc126872280"></a><span
    style='mso-bookmark:_Toc191662190'><span style='mso-bookmark:_Toc152605153'><span
    style='mso-bookmark:_Toc115416211'>Value: NonPersistentCaching</span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD [0..1]<br>
--- 6230,6236 ----
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt;
    height:119.0pt'>
    <h5><a name="_Toc191662190"></a><a name="_Toc152605153"></a><a
!   name="_Toc115416211"></a><a name="_Toc126872280"></a><a name="_Toc139993203"></a><span
    style='mso-bookmark:_Toc191662190'><span style='mso-bookmark:_Toc152605153'><span
    style='mso-bookmark:_Toc115416211'>Value: NonPersistentCaching</span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD [0..1]<br>
***************
*** 5983,5989 ****
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt;
    height:125.5pt'>
    <h5><a name="_Toc191662191"></a><a name="_Toc152605154"></a><a
!   name="_Toc115416212"></a><a name="_Toc139993204"></a><a name="_Toc126872281"></a><span
    style='mso-bookmark:_Toc191662191'><span style='mso-bookmark:_Toc152605154'><span
    style='mso-bookmark:_Toc115416212'>Value: ValidateCache</span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD [0..2]<br>
--- 6246,6252 ----
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt;
    height:125.5pt'>
    <h5><a name="_Toc191662191"></a><a name="_Toc152605154"></a><a
!   name="_Toc115416212"></a><a name="_Toc126872281"></a><a name="_Toc139993204"></a><span
    style='mso-bookmark:_Toc191662191'><span style='mso-bookmark:_Toc152605154'><span
    style='mso-bookmark:_Toc115416212'>Value: ValidateCache</span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD [0..2]<br>
***************
*** 6000,6006 ****
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt;
    height:79.25pt'>
    <h5><a name="_Toc191662192"></a><a name="_Toc152605155"></a><a
!   name="_Toc115416213"></a><a name="_Toc139993205"></a><a name="_Toc126872282"></a><span
    style='mso-bookmark:_Toc191662192'><span style='mso-bookmark:_Toc152605155'><span
    style='mso-bookmark:_Toc115416213'>Value: TrapOnPanic</span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD {1,0}<br>
--- 6263,6269 ----
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt;
    height:79.25pt'>
    <h5><a name="_Toc191662192"></a><a name="_Toc152605155"></a><a
!   name="_Toc115416213"></a><a name="_Toc126872282"></a><a name="_Toc139993205"></a><span
    style='mso-bookmark:_Toc191662192'><span style='mso-bookmark:_Toc152605155'><span
    style='mso-bookmark:_Toc115416213'>Value: TrapOnPanic</span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD {1,0}<br>
***************
*** 6014,6022 ****
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt;
    height:92.0pt'>
    <h5><a name="_Toc191662193"></a><a name="_Toc152605156"></a><a
!   name="_Toc139993206"></a><a name="_Toc126872283"></a><a name="_Toc115416214"></a><a
!   name="_Value___:_NetbiosName"></a><span style='mso-bookmark:_Toc191662193'><span
!   style='mso-bookmark:_Toc152605156'>Value: NetbiosName</span></span></h5>
    <p class=MsoBodyText>Type: REG_EXPAND_SZ<br>
    Default: &quot;AFS&quot;<br>
    Variable: cm_NetbiosName</p>
--- 6277,6285 ----
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt;
    height:92.0pt'>
    <h5><a name="_Toc191662193"></a><a name="_Toc152605156"></a><a
!   name="_Value___:_NetbiosName"></a><a name="_Toc115416214"></a><a
!   name="_Toc126872283"></a><a name="_Toc139993206"></a><span style='mso-bookmark:
!   _Toc191662193'><span style='mso-bookmark:_Toc152605156'>Value: NetbiosName</span></span></h5>
    <p class=MsoBodyText>Type: REG_EXPAND_SZ<br>
    Default: &quot;AFS&quot;<br>
    Variable: cm_NetbiosName</p>
***************
*** 6029,6035 ****
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt;
    height:152.0pt'>
    <h5><a name="_Toc191662194"></a><a name="_Toc152605157"></a><a
!   name="_Toc115416215"></a><a name="_Toc139993207"></a><a name="_Toc126872284"></a><span
    style='mso-bookmark:_Toc191662194'><span style='mso-bookmark:_Toc152605157'><span
    style='mso-bookmark:_Toc115416215'>Value: IsGateway</span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD {1,0}<br>
--- 6292,6298 ----
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt;
    height:152.0pt'>
    <h5><a name="_Toc191662194"></a><a name="_Toc152605157"></a><a
!   name="_Toc115416215"></a><a name="_Toc126872284"></a><a name="_Toc139993207"></a><span
    style='mso-bookmark:_Toc191662194'><span style='mso-bookmark:_Toc152605157'><span
    style='mso-bookmark:_Toc115416215'>Value: IsGateway</span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD {1,0}<br>
***************
*** 6049,6055 ****
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt;
    height:92.0pt'>
    <h5><a name="_Toc191662195"></a><a name="_Toc152605158"></a><a
!   name="_Toc115416216"></a><a name="_Toc139993208"></a><a name="_Toc126872285"></a><span
    style='mso-bookmark:_Toc191662195'><span style='mso-bookmark:_Toc152605158'><span
    style='mso-bookmark:_Toc115416216'>Value: ReportSessionStartups</span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD {1,0}<br>
--- 6312,6318 ----
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt;
    height:92.0pt'>
    <h5><a name="_Toc191662195"></a><a name="_Toc152605158"></a><a
!   name="_Toc115416216"></a><a name="_Toc126872285"></a><a name="_Toc139993208"></a><span
    style='mso-bookmark:_Toc191662195'><span style='mso-bookmark:_Toc152605158'><span
    style='mso-bookmark:_Toc115416216'>Value: ReportSessionStartups</span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD {1,0}<br>
***************
*** 6064,6072 ****
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt;
    height:79.25pt'>
    <h5><a name="_Toc191662196"></a><a name="_Toc152605159"></a><a
!   name="_Toc139993209"></a><a name="_Toc126872286"></a><a name="_Toc115416217"></a><a
!   name="_Value_:_TraceBufferSize"></a><span style='mso-bookmark:_Toc191662196'><span
!   style='mso-bookmark:_Toc152605159'>Value: TraceBufferSize</span></span></h5>
    <p class=MsoBodyText>Type: DWORD<br>
    Default: 10000 (CM_CONFIGDEFAULT_TRACEBUFSIZE)<br>
    Variable: traceBufSize</p>
--- 6327,6336 ----
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt;
    height:79.25pt'>
    <h5><a name="_Toc191662196"></a><a name="_Toc152605159"></a><a
!   name="_Value_:_TraceBufferSize"></a><a name="_Toc115416217"></a><a
!   name="_Toc126872286"></a><a name="_Toc139993209"></a><span style='mso-bookmark:
!   _Toc191662196'><span style='mso-bookmark:_Toc152605159'>Value:
!   TraceBufferSize</span></span></h5>
    <p class=MsoBodyText>Type: DWORD<br>
    Default: 10000 (CM_CONFIGDEFAULT_TRACEBUFSIZE)<br>
    Variable: traceBufSize</p>
***************
*** 6077,6085 ****
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt;
    height:92.0pt'>
    <h5><a name="_Toc191662197"></a><a name="_Toc152605160"></a><a
!   name="_Toc139993210"></a><a name="_Toc126872287"></a><a name="_Toc115416218"></a><a
!   name="_Value_:_SysName"></a><span style='mso-bookmark:_Toc191662197'><span
!   style='mso-bookmark:_Toc152605160'>Value: SysName</span></span></h5>
    <p class=MsoBodyText>Type: REG_SZ<br>
    Default: &quot;x86_win32 i386_w2k i386_nt40&quot; (X86) <br>
    “amd64_win64 x86_win32 i386_w2k” (AMD64)<br>
--- 6341,6349 ----
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt;
    height:92.0pt'>
    <h5><a name="_Toc191662197"></a><a name="_Toc152605160"></a><a
!   name="_Value_:_SysName"></a><a name="_Toc115416218"></a><a
!   name="_Toc126872287"></a><a name="_Toc139993210"></a><span style='mso-bookmark:
!   _Toc191662197'><span style='mso-bookmark:_Toc152605160'>Value: SysName</span></span></h5>
    <p class=MsoBodyText>Type: REG_SZ<br>
    Default: &quot;x86_win32 i386_w2k i386_nt40&quot; (X86) <br>
    “amd64_win64 x86_win32 i386_w2k” (AMD64)<br>
***************
*** 6093,6101 ****
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt;
    height:79.25pt'>
    <h5><a name="_Toc191662198"></a><a name="_Toc152605161"></a><a
!   name="_Toc139993211"></a><a name="_Toc126872288"></a><a name="_Toc115416219"></a><a
!   name="_Value_:_SecurityLevel"></a><span style='mso-bookmark:_Toc191662198'><span
!   style='mso-bookmark:_Toc152605161'>Value: SecurityLevel</span></span></h5>
    <p class=MsoBodyText>Type: DWORD {1,0}<br>
    Default: 0<br>
    Variable: cryptall</p>
--- 6357,6365 ----
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt;
    height:79.25pt'>
    <h5><a name="_Toc191662198"></a><a name="_Toc152605161"></a><a
!   name="_Value_:_SecurityLevel"></a><a name="_Toc115416219"></a><a
!   name="_Toc126872288"></a><a name="_Toc139993211"></a><span style='mso-bookmark:
!   _Toc191662198'><span style='mso-bookmark:_Toc152605161'>Value: SecurityLevel</span></span></h5>
    <p class=MsoBodyText>Type: DWORD {1,0}<br>
    Default: 0<br>
    Variable: cryptall</p>
***************
*** 6106,6113 ****
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt;
    height:112.25pt'>
    <h5><a name="_Toc191662199"></a><a name="_Toc152605162"></a><a
!   name="_Toc139993212"></a><a name="_Toc126872289"></a><a name="_Toc115416220"></a><a
!   name="_Value_:_UseDNS"></a><span style='mso-bookmark:_Toc191662199'><span
    style='mso-bookmark:_Toc152605162'>Value: UseDNS</span></span></h5>
    <p class=MsoBodyText>Type: DWORD {1,0}<br>
    Default: 1<br>
--- 6370,6377 ----
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt;
    height:112.25pt'>
    <h5><a name="_Toc191662199"></a><a name="_Toc152605162"></a><a
!   name="_Value_:_UseDNS"></a><a name="_Toc115416220"></a><a name="_Toc126872289"></a><a
!   name="_Toc139993212"></a><span style='mso-bookmark:_Toc191662199'><span
    style='mso-bookmark:_Toc152605162'>Value: UseDNS</span></span></h5>
    <p class=MsoBodyText>Type: DWORD {1,0}<br>
    Default: 1<br>
***************
*** 6119,6127 ****
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt;
    height:79.25pt'>
    <h5><a name="_Toc191662200"></a><a name="_Toc152605163"></a><a
!   name="_Toc139993213"></a><a name="_Toc126872290"></a><a name="_Toc115416221"></a><a
!   name="_Value_:_FreelanceClient"></a><span style='mso-bookmark:_Toc191662200'><span
!   style='mso-bookmark:_Toc152605163'>Value: FreelanceClient</span></span></h5>
    <p class=MsoBodyText>Type: DWORD {1,0}<br>
    Default: 0<br>
    Variable: cm_freelanceEnabled</p>
--- 6383,6392 ----
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt;
    height:79.25pt'>
    <h5><a name="_Toc191662200"></a><a name="_Toc152605163"></a><a
!   name="_Value_:_FreelanceClient"></a><a name="_Toc115416221"></a><a
!   name="_Toc126872290"></a><a name="_Toc139993213"></a><span style='mso-bookmark:
!   _Toc191662200'><span style='mso-bookmark:_Toc152605163'>Value:
!   FreelanceClient</span></span></h5>
    <p class=MsoBodyText>Type: DWORD {1,0}<br>
    Default: 0<br>
    Variable: cm_freelanceEnabled</p>
***************
*** 6132,6140 ****
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt;
    height:92.0pt'>
    <h5><a name="_Toc191662201"></a><a name="_Toc152605164"></a><a
!   name="_Value:_HideDotFiles"></a><a name="_Toc139993214"></a><a
!   name="_Toc126872291"></a><a name="_Toc115416222"></a><a
!   name="_Value_:_HideDotFiles"></a><span style='mso-bookmark:_Toc191662201'><span
    style='mso-bookmark:_Toc152605164'>Value: HideDotFiles</span></span></h5>
    <p class=MsoBodyText>Type: DWORD {1,0}<br>
    Default: 1<br>
--- 6397,6405 ----
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt;
    height:92.0pt'>
    <h5><a name="_Toc191662201"></a><a name="_Toc152605164"></a><a
!   name="_Value_:_HideDotFiles"></a><a name="_Toc115416222"></a><a
!   name="_Toc126872291"></a><a name="_Toc139993214"></a><a
!   name="_Value:_HideDotFiles"></a><span style='mso-bookmark:_Toc191662201'><span
    style='mso-bookmark:_Toc152605164'>Value: HideDotFiles</span></span></h5>
    <p class=MsoBodyText>Type: DWORD {1,0}<br>
    Default: 1<br>
***************
*** 6148,6154 ****
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt;
    height:79.25pt'>
    <h5><a name="_Toc191662202"></a><a name="_Toc152605165"></a><a
!   name="_Toc115416223"></a><a name="_Toc139993215"></a><a name="_Toc126872292"></a><span
    style='mso-bookmark:_Toc191662202'><span style='mso-bookmark:_Toc152605165'><span
    style='mso-bookmark:_Toc115416223'>Value: MaxMpxRequests</span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD<br>
--- 6413,6419 ----
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt;
    height:79.25pt'>
    <h5><a name="_Toc191662202"></a><a name="_Toc152605165"></a><a
!   name="_Toc115416223"></a><a name="_Toc126872292"></a><a name="_Toc139993215"></a><span
    style='mso-bookmark:_Toc191662202'><span style='mso-bookmark:_Toc152605165'><span
    style='mso-bookmark:_Toc115416223'>Value: MaxMpxRequests</span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD<br>
***************
*** 6162,6168 ****
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt;
    height:79.25pt'>
    <h5><a name="_Toc191662203"></a><a name="_Toc152605166"></a><a
!   name="_Toc115416224"></a><a name="_Toc139993216"></a><a name="_Toc126872293"></a><span
    style='mso-bookmark:_Toc191662203'><span style='mso-bookmark:_Toc152605166'><span
    style='mso-bookmark:_Toc115416224'>Value: MaxVCPerServer</span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD<br>
--- 6427,6433 ----
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt;
    height:79.25pt'>
    <h5><a name="_Toc191662203"></a><a name="_Toc152605166"></a><a
!   name="_Toc115416224"></a><a name="_Toc126872293"></a><a name="_Toc139993216"></a><span
    style='mso-bookmark:_Toc191662203'><span style='mso-bookmark:_Toc152605166'><span
    style='mso-bookmark:_Toc115416224'>Value: MaxVCPerServer</span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD<br>
***************
*** 6175,6182 ****
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt;
    height:79.25pt'>
    <h5><a name="_Toc191662204"></a><a name="_Toc152605167"></a><a
!   name="_Toc139993217"></a><a name="_Toc126872294"></a><a name="_Toc115416225"></a><a
!   name="_Value_:_Cell"></a><span style='mso-bookmark:_Toc191662204'><span
    style='mso-bookmark:_Toc152605167'>Value: Cell</span></span></h5>
    <p class=MsoBodyText>Type: REG_SZ<br>
    Default: &lt;none&gt;<br>
--- 6440,6447 ----
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt;
    height:79.25pt'>
    <h5><a name="_Toc191662204"></a><a name="_Toc152605167"></a><a
!   name="_Value_:_Cell"></a><a name="_Toc115416225"></a><a name="_Toc126872294"></a><a
!   name="_Toc139993217"></a><span style='mso-bookmark:_Toc191662204'><span
    style='mso-bookmark:_Toc152605167'>Value: Cell</span></span></h5>
    <p class=MsoBodyText>Type: REG_SZ<br>
    Default: &lt;none&gt;<br>
***************
*** 6225,6233 ****
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt;
    height:124.75pt'>
    <h5><a name="_Toc191662206"></a><a name="_Toc152605169"></a><a
!   name="_Toc139993219"></a><a name="_Toc126872296"></a><a name="_Toc115416227"></a><a
!   name="_Value_:_RxMaxMTU"></a><span style='mso-bookmark:_Toc191662206'><span
!   style='mso-bookmark:_Toc152605169'>Value: RxMaxMTU</span></span></h5>
    <p class=MsoBodyText>Type: DWORD<br>
    Default: 0<br>
    Variable: rx_mtu</p>
--- 6490,6498 ----
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt;
    height:124.75pt'>
    <h5><a name="_Toc191662206"></a><a name="_Toc152605169"></a><a
!   name="_Value_:_RxMaxMTU"></a><a name="_Toc115416227"></a><a
!   name="_Toc126872296"></a><a name="_Toc139993219"></a><span style='mso-bookmark:
!   _Toc191662206'><span style='mso-bookmark:_Toc152605169'>Value: RxMaxMTU</span></span></h5>
    <p class=MsoBodyText>Type: DWORD<br>
    Default: 0<br>
    Variable: rx_mtu</p>
***************
*** 6241,6248 ****
   <tr style='mso-yfti-irow:31;height:101.65pt'>
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt;
    height:101.65pt'>
!   <h5><a name="_Toc139993218"></a><a name="_Toc126872295"></a><a
!   name="_Toc152605168"></a><a name="_Toc191662205"></a>Value: RxNoJumbo</h5>
    <p class=MsoBodyText>Type: DWORD {0,1}<br>
    Default: 0<br>
    Variable: rx_nojumbo</p>
--- 6506,6513 ----
   <tr style='mso-yfti-irow:31;height:101.65pt'>
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt;
    height:101.65pt'>
!   <h5><a name="_Toc191662205"></a><a name="_Toc152605168"></a><a
!   name="_Toc126872295"></a><a name="_Toc139993218"></a>Value: RxNoJumbo</h5>
    <p class=MsoBodyText>Type: DWORD {0,1}<br>
    Default: 0<br>
    Variable: rx_nojumbo</p>
***************
*** 6254,6262 ****
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt;
    height:100.0pt'>
    <h5><a name="_Toc191662207"></a><a name="_Toc152605170"></a><a
!   name="_Toc139993220"></a><a name="_Toc126872297"></a><a name="_Toc115416228"></a><a
!   name="_Value:_ConnDeadTimeout"></a><span style='mso-bookmark:_Toc191662207'><span
!   style='mso-bookmark:_Toc152605170'>Value: ConnDeadTimeout</span></span></h5>
    <p class=MsoBodyText>Type: DWORD<br>
    Default: 0 (seconds)<br>
    Variable: ConnDeadtimeout</p>
--- 6519,6528 ----
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt;
    height:100.0pt'>
    <h5><a name="_Toc191662207"></a><a name="_Toc152605170"></a><a
!   name="_Value:_ConnDeadTimeout"></a><a name="_Toc115416228"></a><a
!   name="_Toc126872297"></a><a name="_Toc139993220"></a><span style='mso-bookmark:
!   _Toc191662207'><span style='mso-bookmark:_Toc152605170'>Value:
!   ConnDeadTimeout</span></span></h5>
    <p class=MsoBodyText>Type: DWORD<br>
    Default: 0 (seconds)<br>
    Variable: ConnDeadtimeout</p>
***************
*** 6268,6274 ****
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt;
    height:92.0pt'>
    <h5><a name="_Toc191662208"></a><a name="_Toc152605171"></a><a
!   name="_Toc115416229"></a><a name="_Toc139993221"></a><a name="_Toc126872298"></a><span
    style='mso-bookmark:_Toc191662208'><span style='mso-bookmark:_Toc152605171'><span
    style='mso-bookmark:_Toc115416229'>Value: HardDeadTimeout</span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD<br>
--- 6534,6540 ----
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt;
    height:92.0pt'>
    <h5><a name="_Toc191662208"></a><a name="_Toc152605171"></a><a
!   name="_Toc115416229"></a><a name="_Toc126872298"></a><a name="_Toc139993221"></a><span
    style='mso-bookmark:_Toc191662208'><span style='mso-bookmark:_Toc152605171'><span
    style='mso-bookmark:_Toc115416229'>Value: HardDeadTimeout</span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD<br>
***************
*** 6291,6300 ****
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt;
    height:158.5pt'>
    <h5 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><a
!   name="_Toc191662209"></a><a name="_Toc152605172"></a><a name="_Toc139993222"></a><a
!   name="_Toc126872299"></a><a name="_Toc115416230"></a><a
!   name="_Value__:_TraceOption"></a><span style='mso-bookmark:_Toc191662209'><span
!   style='mso-bookmark:_Toc152605172'>Value: TraceOption</span></span></h5>
    <p class=MsoBodyText style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>Type:
    DWORD {0-15}<br>
    Default: 0</p>
--- 6557,6566 ----
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt;
    height:158.5pt'>
    <h5 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><a
!   name="_Toc191662209"></a><a name="_Toc152605172"></a><a
!   name="_Value__:_TraceOption"></a><a name="_Toc115416230"></a><a
!   name="_Toc126872299"></a><a name="_Toc139993222"></a><span style='mso-bookmark:
!   _Toc191662209'><span style='mso-bookmark:_Toc152605172'>Value: TraceOption</span></span></h5>
    <p class=MsoBodyText style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>Type:
    DWORD {0-15}<br>
    Default: 0</p>
***************
*** 6317,6323 ****
    height:98.5pt'>
    <h5 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><a
    name="_Toc191662210"></a><a name="_Toc152605173"></a><a name="_Toc115416231"></a><a
!   name="_Toc139993223"></a><a name="_Toc126872300"></a><span style='mso-bookmark:
    _Toc191662210'><span style='mso-bookmark:_Toc152605173'><span
    style='mso-bookmark:_Toc115416231'>Value: AllSubmount</span></span></span></h5>
    <p class=MsoBodyText style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>Type:
--- 6583,6589 ----
    height:98.5pt'>
    <h5 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><a
    name="_Toc191662210"></a><a name="_Toc152605173"></a><a name="_Toc115416231"></a><a
!   name="_Toc126872300"></a><a name="_Toc139993223"></a><span style='mso-bookmark:
    _Toc191662210'><span style='mso-bookmark:_Toc152605173'><span
    style='mso-bookmark:_Toc115416231'>Value: AllSubmount</span></span></span></h5>
    <p class=MsoBodyText style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>Type:
***************
*** 6335,6344 ****
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt;
    height:78.5pt'>
    <h5 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><a
!   name="_Toc191662211"></a><a name="_Toc152605174"></a><a name="_Toc139993224"></a><a
!   name="_Toc126872301"></a><a name="_Toc115416232"></a><a
!   name="_Value___:_NoFindLanaByName"></a><span style='mso-bookmark:_Toc191662211'><span
!   style='mso-bookmark:_Toc152605174'>Value: NoFindLanaByName</span></span></h5>
    <p class=MsoBodyText style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>Type:
    DWORD {0, 1}<br>
    Default: 0</p>
--- 6601,6611 ----
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt;
    height:78.5pt'>
    <h5 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><a
!   name="_Toc191662211"></a><a name="_Toc152605174"></a><a
!   name="_Value___:_NoFindLanaByName"></a><a name="_Toc115416232"></a><a
!   name="_Toc126872301"></a><a name="_Toc139993224"></a><span style='mso-bookmark:
!   _Toc191662211'><span style='mso-bookmark:_Toc152605174'>Value:
!   NoFindLanaByName</span></span></h5>
    <p class=MsoBodyText style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>Type:
    DWORD {0, 1}<br>
    Default: 0</p>
***************
*** 6352,6377 ****
    height:78.5pt'>
    <h5 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><a
    name="_Toc191662212"></a><a name="_Toc152605175"></a><a name="_Toc115416233"></a><a
!   name="_Toc139993225"></a><a name="_Toc126872302"></a><span style='mso-bookmark:
    _Toc191662212'><span style='mso-bookmark:_Toc152605175'><span
    style='mso-bookmark:_Toc115416233'>Value: MaxCPUs</span></span></span></h5>
    <p class=MsoBodyText style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>Type:
    DWORD {1..32} or {1..64} depending on the architecture<br>
    Default: &lt;no default&gt;</p>
    <p class=MsoBodyText style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>If
!   this value is specified, afsd_service.exe will restrict itself to executing
!   on the specified number of CPUs if there are a greater number installed in
!   the machine.&nbsp; </p>
    </td>
   </tr>
   <tr style='mso-yfti-irow:38;height:151.75pt'>
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt;
    height:151.75pt'>
    <h5 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><a
!   name="_Toc191662213"></a><a name="_Toc152605176"></a><a name="_Toc139993226"></a><a
!   name="_Toc126872303"></a><a name="_Toc115416234"></a><a
!   name="_Value___:_smbAuthType"></a><span style='mso-bookmark:_Toc191662213'><span
!   style='mso-bookmark:_Toc152605176'>Value: smbAuthType</span></span></h5>
    <p class=MsoBodyText style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>Type:
    DWORD {0..2}<br>
    Default: 2</p>
--- 6619,6644 ----
    height:78.5pt'>
    <h5 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><a
    name="_Toc191662212"></a><a name="_Toc152605175"></a><a name="_Toc115416233"></a><a
!   name="_Toc126872302"></a><a name="_Toc139993225"></a><span style='mso-bookmark:
    _Toc191662212'><span style='mso-bookmark:_Toc152605175'><span
    style='mso-bookmark:_Toc115416233'>Value: MaxCPUs</span></span></span></h5>
    <p class=MsoBodyText style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>Type:
    DWORD {1..32} or {1..64} depending on the architecture<br>
    Default: &lt;no default&gt;</p>
    <p class=MsoBodyText style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>If
!   this value is specified, afsd_service.exe will restrict itself to executing on
!   the specified number of CPUs if there are a greater number installed in the
!   machine.&nbsp; </p>
    </td>
   </tr>
   <tr style='mso-yfti-irow:38;height:151.75pt'>
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt;
    height:151.75pt'>
    <h5 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><a
!   name="_Toc191662213"></a><a name="_Toc152605176"></a><a
!   name="_Value___:_smbAuthType"></a><a name="_Toc115416234"></a><a
!   name="_Toc126872303"></a><a name="_Toc139993226"></a><span style='mso-bookmark:
!   _Toc191662213'><span style='mso-bookmark:_Toc152605176'>Value: smbAuthType</span></span></h5>
    <p class=MsoBodyText style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>Type:
    DWORD {0..2}<br>
    Default: 2</p>
***************
*** 6390,6399 ****
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt;
    height:92.0pt'>
    <h5 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><a
!   name="_Toc191662214"></a><a name="_Toc152605177"></a><a name="_Toc139993227"></a><a
!   name="_Toc126872304"></a><a name="_Toc115416235"></a><a
!   name="_Value___:_MaxLogSize"></a><span style='mso-bookmark:_Toc191662214'><span
!   style='mso-bookmark:_Toc152605177'>Value: MaxLogSize</span></span></h5>
    <p class=MsoBodyText style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>Type:
    DWORD {0 .. MAXDWORD}<br>
    Default: 100K</p>
--- 6657,6666 ----
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt;
    height:92.0pt'>
    <h5 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><a
!   name="_Toc191662214"></a><a name="_Toc152605177"></a><a
!   name="_Value___:_MaxLogSize"></a><a name="_Toc115416235"></a><a
!   name="_Toc126872304"></a><a name="_Toc139993227"></a><span style='mso-bookmark:
!   _Toc191662214'><span style='mso-bookmark:_Toc152605177'>Value: MaxLogSize</span></span></h5>
    <p class=MsoBodyText style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>Type:
    DWORD {0 .. MAXDWORD}<br>
    Default: 100K</p>
***************
*** 6409,6415 ****
    height:65.75pt'>
    <h5 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><a
    name="_Toc191662215"></a><a name="_Toc152605178"></a><a name="_Toc115416236"></a><a
!   name="_Toc139993228"></a><a name="_Toc126872305"></a><span style='mso-bookmark:
    _Toc191662215'><span style='mso-bookmark:_Toc152605178'><span
    style='mso-bookmark:_Toc115416236'>Value: FlushOnHibernate</span></span></span></h5>
    <p class=MsoBodyText style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>Type:
--- 6676,6682 ----
    height:65.75pt'>
    <h5 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><a
    name="_Toc191662215"></a><a name="_Toc152605178"></a><a name="_Toc115416236"></a><a
!   name="_Toc126872305"></a><a name="_Toc139993228"></a><span style='mso-bookmark:
    _Toc191662215'><span style='mso-bookmark:_Toc152605178'><span
    style='mso-bookmark:_Toc115416236'>Value: FlushOnHibernate</span></span></span></h5>
    <p class=MsoBodyText style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>Type:
***************
*** 6486,6493 ****
    DWORD (seconds)<br>
    Default: 60</p>
    <p class=MsoBodyText style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
!   style='mso-fareast-font-family:"Times New Roman"'>This value controls how
!   frequently the AFS cache manager checks for invalid file locks.<o:p></o:p></span></p>
    </td>
   </tr>
   <tr style='mso-yfti-irow:46;height:65.75pt'>
--- 6753,6760 ----
    DWORD (seconds)<br>
    Default: 60</p>
    <p class=MsoBodyText style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
!   style='mso-fareast-font-family:"Times New Roman"'>This value controls how frequently
!   the AFS cache manager checks for invalid file locks.<o:p></o:p></span></p>
    </td>
   </tr>
   <tr style='mso-yfti-irow:46;height:65.75pt'>
***************
*** 6644,6652 ****
    <p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>Determines
    whether or not the AFS Cache Manager will give up all callbacks prior to the
    service being suspended or shutdown.<span style='mso-spacerun:yes'> 
!   </span>Doing so will have significant performance benefits for the file
!   servers.<span style='mso-spacerun:yes'>  </span>However, file servers older
!   than 1.4.6 can become unstable if the GiveUpAllCallBacks RPC is executed.</p>
    <p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>0:
    do not perform GiveUpAllCallBacks RPCs</p>
    <p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>1:
--- 6911,6919 ----
    <p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>Determines
    whether or not the AFS Cache Manager will give up all callbacks prior to the
    service being suspended or shutdown.<span style='mso-spacerun:yes'> 
!   </span>Doing so will have significant performance benefits for the file servers.<span
!   style='mso-spacerun:yes'>  </span>However, file servers older than 1.4.6 can
!   become unstable if the GiveUpAllCallBacks RPC is executed.</p>
    <p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>0:
    do not perform GiveUpAllCallBacks RPCs</p>
    <p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>1:
***************
*** 6686,6698 ****
  </table>
  
  <h3 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><a
! name="_Toc206421337"></a><a name="_Toc193871727"></a><a name="_Toc193871482"></a><a
! name="_Toc191662231"></a><a name="_Toc152605187"></a><a name="_Toc115416237"></a><a
! name="_Toc139993229"></a><a name="_Toc126872306"></a><span style='mso-bookmark:
! _Toc206421337'><span style='mso-bookmark:_Toc193871727'><span style='mso-bookmark:
! _Toc193871482'><span style='mso-bookmark:_Toc191662231'><span style='mso-bookmark:
! _Toc152605187'><span style='mso-bookmark:_Toc115416237'>Regkey:<br>
! [HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters\GlobalAutoMapper]</span></span></span></span></span></span></h3>
  
  <table class=MsoNormalTable border=1 cellspacing=3 cellpadding=0
   style='mso-cellspacing:2.2pt;mso-yfti-tbllook:1184;mso-padding-alt:0in 0in 0in 0in'>
--- 6953,6966 ----
  </table>
  
  <h3 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><a
! name="_Toc213844482"></a><a name="_Toc206421337"></a><a name="_Toc193871727"></a><a
! name="_Toc193871482"></a><a name="_Toc191662231"></a><a name="_Toc152605187"></a><a
! name="_Toc115416237"></a><a name="_Toc139993229"></a><a name="_Toc126872306"></a><span
! style='mso-bookmark:_Toc213844482'><span style='mso-bookmark:_Toc206421337'><span
! style='mso-bookmark:_Toc193871727'><span style='mso-bookmark:_Toc193871482'><span
! style='mso-bookmark:_Toc191662231'><span style='mso-bookmark:_Toc152605187'><span
! style='mso-bookmark:_Toc115416237'>Regkey:<br>
! [HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters\GlobalAutoMapper]</span></span></span></span></span></span></span></h3>
  
  <table class=MsoNormalTable border=1 cellspacing=3 cellpadding=0
   style='mso-cellspacing:2.2pt;mso-yfti-tbllook:1184;mso-padding-alt:0in 0in 0in 0in'>
***************
*** 6701,6707 ****
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt;
    height:65.0pt'>
    <h5><a name="_Toc191662232"></a><a name="_Toc152605188"></a><a
!   name="_Toc115416238"></a><a name="_Toc139993230"></a><a name="_Toc126872307"></a><span
    style='mso-bookmark:_Toc191662232'><span style='mso-bookmark:_Toc152605188'><span
    style='mso-bookmark:_Toc115416238'>Value: &lt;Drive Letter:&gt; for example
    &quot;G:&quot;</span></span></span></h5>
--- 6969,6975 ----
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt;
    height:65.0pt'>
    <h5><a name="_Toc191662232"></a><a name="_Toc152605188"></a><a
!   name="_Toc115416238"></a><a name="_Toc126872307"></a><a name="_Toc139993230"></a><span
    style='mso-bookmark:_Toc191662232'><span style='mso-bookmark:_Toc152605188'><span
    style='mso-bookmark:_Toc115416238'>Value: &lt;Drive Letter:&gt; for example
    &quot;G:&quot;</span></span></span></h5>
***************
*** 6715,6727 ****
  </table>
  
  <h3 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><a
! name="_Toc206421338"></a><a name="_Toc193871728"></a><a name="_Toc193871483"></a><a
! name="_Toc191662233"></a><a name="_Toc152605189"></a><a name="_Toc115416239"></a><a
! name="_Toc139993231"></a><a name="_Toc126872308"></a><span style='mso-bookmark:
! _Toc206421338'><span style='mso-bookmark:_Toc193871728'><span style='mso-bookmark:
! _Toc193871483'><span style='mso-bookmark:_Toc191662233'><span style='mso-bookmark:
! _Toc152605189'><span style='mso-bookmark:_Toc115416239'>Regkey:<br>
! [HKLM\SOFTWARE\OpenAFS\Client]</span></span></span></span></span></span></h3>
  
  <table class=MsoNormalTable border=1 cellspacing=3 cellpadding=0
   style='mso-cellspacing:2.2pt;mso-yfti-tbllook:1184;mso-padding-alt:0in 0in 0in 0in'>
--- 6983,6996 ----
  </table>
  
  <h3 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><a
! name="_Toc213844483"></a><a name="_Toc206421338"></a><a name="_Toc193871728"></a><a
! name="_Toc193871483"></a><a name="_Toc191662233"></a><a name="_Toc152605189"></a><a
! name="_Toc115416239"></a><a name="_Toc139993231"></a><a name="_Toc126872308"></a><span
! style='mso-bookmark:_Toc213844483'><span style='mso-bookmark:_Toc206421338'><span
! style='mso-bookmark:_Toc193871728'><span style='mso-bookmark:_Toc193871483'><span
! style='mso-bookmark:_Toc191662233'><span style='mso-bookmark:_Toc152605189'><span
! style='mso-bookmark:_Toc115416239'>Regkey:<br>
! [HKLM\SOFTWARE\OpenAFS\Client]</span></span></span></span></span></span></span></h3>
  
  <table class=MsoNormalTable border=1 cellspacing=3 cellpadding=0
   style='mso-cellspacing:2.2pt;mso-yfti-tbllook:1184;mso-padding-alt:0in 0in 0in 0in'>
***************
*** 6729,6772 ****
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt;
    height:78.5pt'>
    <h5><a name="_Toc191662234"></a><a name="_Toc152605190"></a><a
!   name="_Toc139993232"></a><a name="_Toc126872309"></a><a name="_Toc115416240"></a><a
!   name="_Value___:_CellServDBDir"></a><span style='mso-bookmark:_Toc191662234'><span
!   style='mso-bookmark:_Toc152605190'>Value: CellServDBDir</span></span></h5>
    <p class=MsoBodyText>Type: REG_SZ<br>
    Default: &lt;not defined&gt;</p>
    <p class=MsoBodyText>Specifies the directory containing the CellServDB
    file.&nbsp; When this value is not specified, the ProgramData directory is
!   searched and if the CellServDB file is not found, the AFS Client install
!   directory is used.</p>
    </td>
   </tr>
   <tr style='mso-yfti-irow:1;height:145.25pt'>
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt;
    height:145.25pt'>
    <h5><a name="_Toc191662235"></a><a name="_Toc152605191"></a><a
!   name="_Toc139993233"></a><a name="_Toc126872310"></a><a name="_Toc115416241"></a><a
!   name="_Value___:_VerifyServiceSignature"></a><span style='mso-bookmark:_Toc191662235'><span
!   style='mso-bookmark:_Toc152605191'>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
    verification of the digital signatures applied to afsd_service.exe and the
!   OpenAFS DLLs it loads.&nbsp; This test is performed to verify
!   that&nbsp;&nbsp; the DLLs which are loaded by afsd_service.exe are from the
!   same distribution as afsd_service.exe.&nbsp; This is to prevent random errors
!   caused when DLLs from one distribution of AFS are loaded by another
!   one.&nbsp; This is not a security test.&nbsp; The reason for disabling this
!   test is to free up additional memory which can be used for a large cache
!   size.</p>
    </td>
   </tr>
   <tr style='mso-yfti-irow:2;height:105.5pt'>
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt;
    height:105.5pt'>
    <h5><a name="_Toc191662236"></a><a name="_Toc152605192"></a><a
!   name="_Value:_IoctlDebug"></a><a name="_Toc139993234"></a><a
!   name="_Toc126872311"></a><a name="_Toc115416242"></a><a
!   name="_Value___:_IoctlDebug"></a><span style='mso-bookmark:_Toc191662236'><span
    style='mso-bookmark:_Toc152605192'>Value: IoctlDebug</span></span></h5>
    <p class=MsoBodyText>Type: REG_DWORD<br>
    Default: 0x0</p>
--- 6998,7041 ----
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt;
    height:78.5pt'>
    <h5><a name="_Toc191662234"></a><a name="_Toc152605190"></a><a
!   name="_Value___:_CellServDBDir"></a><a name="_Toc115416240"></a><a
!   name="_Toc126872309"></a><a name="_Toc139993232"></a><span style='mso-bookmark:
!   _Toc191662234'><span style='mso-bookmark:_Toc152605190'>Value: CellServDBDir</span></span></h5>
    <p class=MsoBodyText>Type: REG_SZ<br>
    Default: &lt;not defined&gt;</p>
    <p class=MsoBodyText>Specifies the directory containing the CellServDB
    file.&nbsp; When this value is not specified, the ProgramData directory is
!   searched and if the CellServDB file is not found, the AFS Client install directory
!   is used.</p>
    </td>
   </tr>
   <tr style='mso-yfti-irow:1;height:145.25pt'>
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt;
    height:145.25pt'>
    <h5><a name="_Toc191662235"></a><a name="_Toc152605191"></a><a
!   name="_Value___:_VerifyServiceSignature"></a><a name="_Toc115416241"></a><a
!   name="_Toc126872310"></a><a name="_Toc139993233"></a><span style='mso-bookmark:
!   _Toc191662235'><span style='mso-bookmark:_Toc152605191'>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
    verification of the digital signatures applied to afsd_service.exe and the
!   OpenAFS DLLs it loads.&nbsp; This test is performed to verify that&nbsp;&nbsp;
!   the DLLs which are loaded by afsd_service.exe are from the same distribution
!   as afsd_service.exe.&nbsp; This is to prevent random errors caused when DLLs
!   from one distribution of AFS are loaded by another one.&nbsp; This is not a
!   security test.&nbsp; The reason for disabling this test is to free up
!   additional memory which can be used for a large cache size.</p>
    </td>
   </tr>
   <tr style='mso-yfti-irow:2;height:105.5pt'>
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt;
    height:105.5pt'>
    <h5><a name="_Toc191662236"></a><a name="_Toc152605192"></a><a
!   name="_Value___:_IoctlDebug"></a><a name="_Toc115416242"></a><a
!   name="_Toc126872311"></a><a name="_Toc139993234"></a><a
!   name="_Value:_IoctlDebug"></a><span style='mso-bookmark:_Toc191662236'><span
    style='mso-bookmark:_Toc152605192'>Value: IoctlDebug</span></span></h5>
    <p class=MsoBodyText>Type: REG_DWORD<br>
    Default: 0x0</p>
***************
*** 6781,6787 ****
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt;
    height:330.75pt'>
    <h5><a name="_Toc191662237"></a><a name="_Toc152605193"></a><a
!   name="_Toc115416243"></a><a name="_Toc139993235"></a><a name="_Toc126872312"></a><span
    style='mso-bookmark:_Toc191662237'><span style='mso-bookmark:_Toc152605193'><span
    style='mso-bookmark:_Toc115416243'>Value: MiniDumpType</span></span></span></h5>
    <p class=MsoBodyText>Type: REG_DWORD<br>
--- 7050,7056 ----
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt;
    height:330.75pt'>
    <h5><a name="_Toc191662237"></a><a name="_Toc152605193"></a><a
!   name="_Toc115416243"></a><a name="_Toc126872312"></a><a name="_Toc139993235"></a><span
    style='mso-bookmark:_Toc191662237'><span style='mso-bookmark:_Toc152605193'><span
    style='mso-bookmark:_Toc115416243'>Value: MiniDumpType</span></span></span></h5>
    <p class=MsoBodyText>Type: REG_DWORD<br>
***************
*** 6796,6803 ****
    most recent release of &quot;<a
    href="http://www.microsoft.com/whdc/devtools/debugging/default.mspx"><span
    class=Heading1Char><span style='font-size:14.0pt;mso-fareast-font-family:
!   "MS Mincho";text-decoration:none;text-underline:none'>Microsoft Debugging
!   Tools for Windows</span></span></a>&quot;.&nbsp; See the Microsoft Developer
    Library for further information.</p>
    <p class=MsoBodyText>MiniDumpNormal = 0x00000000,<br>
    MiniDumpWithDataSegs = 0x00000001,<br>
--- 7065,7072 ----
    most recent release of &quot;<a
    href="http://www.microsoft.com/whdc/devtools/debugging/default.mspx"><span
    class=Heading1Char><span style='font-size:14.0pt;mso-fareast-font-family:
!   "MS Mincho";text-decoration:none;text-underline:none'>Microsoft Debugging Tools
!   for Windows</span></span></a>&quot;.&nbsp; See the Microsoft Developer
    Library for further information.</p>
    <p class=MsoBodyText>MiniDumpNormal = 0x00000000,<br>
    MiniDumpWithDataSegs = 0x00000001,<br>
***************
*** 6819,6827 ****
   <tr style='mso-yfti-irow:4;height:138.25pt'>
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt;
    height:138.25pt'>
!   <h5><a name="_Toc191662238"></a><a name="_Value:_EnableSMBAsyncStore"></a><a
!   name="_Toc139993236"></a><a name="_Toc126872313"></a><a name="_Toc115416244"></a><a
!   name="_Value___:_StoreAnsiFilenames"></a><span style='mso-bookmark:_Toc191662238'>Value:
    EnableSMBAsyncStore</span></h5>
    <p class=MsoBodyText>Type: REG_DWORD<br>
    Default: 0x1</p>
--- 7088,7096 ----
   <tr style='mso-yfti-irow:4;height:138.25pt'>
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt;
    height:138.25pt'>
!   <h5><a name="_Toc191662238"></a><a name="_Value___:_StoreAnsiFilenames"></a><a
!   name="_Toc115416244"></a><a name="_Toc126872313"></a><a name="_Toc139993236"></a><a
!   name="_Value:_EnableSMBAsyncStore"></a><span style='mso-bookmark:_Toc191662238'>Value:
    EnableSMBAsyncStore</span></h5>
    <p class=MsoBodyText>Type: REG_DWORD<br>
    Default: 0x1</p>
***************
*** 6856,6870 ****
    to store filenames using the Windows system's ANSI character set instead of
    the OEM Code Page character set which has traditionally been used by SMB file
    systems.&nbsp; </p>
!   <h3><a name="_Toc206421339"></a><a name="_Toc193871729"></a><a
!   name="_Toc193871484"></a><a name="_Toc191662241"><span style='mso-bookmark:
!   _Toc193871484'><span style='mso-bookmark:_Toc193871729'><span
!   style='mso-bookmark:_Toc206421339'><span style='font-size:12.0pt;font-family:
!   "Thorndale","serif";font-weight:normal;mso-bidi-font-weight:bold'>Note: The
!   use of ANSI characters will render access to files with 8-bit OEM file names
!   inaccessible from Windows.&nbsp; This option is of use primarily when you
!   wish to allow file names produced on Windows to be accessible from Latin-1
!   UNIX systems and vice versa.</span></span></span></span></a><span
    style='font-size:12.0pt;font-family:"Thorndale","serif";font-weight:normal;
    mso-bidi-font-weight:bold'><o:p></o:p></span></h3>
    </td>
--- 7125,7139 ----
    to store filenames using the Windows system's ANSI character set instead of
    the OEM Code Page character set which has traditionally been used by SMB file
    systems.&nbsp; </p>
!   <h3><a name="_Toc213844484"></a><a name="_Toc206421339"></a><a
!   name="_Toc193871729"></a><a name="_Toc193871484"></a><a name="_Toc191662241"><span
!   style='mso-bookmark:_Toc193871484'><span style='mso-bookmark:_Toc193871729'><span
!   style='mso-bookmark:_Toc206421339'><span style='mso-bookmark:_Toc213844484'><span
!   style='font-size:12.0pt;font-family:"Thorndale","serif";font-weight:normal;
!   mso-bidi-font-weight:bold'>Note: The use of ANSI characters will render
!   access to files with 8-bit OEM file names inaccessible from Windows.&nbsp;
!   This option is of use primarily when you wish to allow file names produced on
!   Windows to be accessible from Latin-1 UNIX systems and vice versa.</span></span></span></span></span></a><span
    style='font-size:12.0pt;font-family:"Thorndale","serif";font-weight:normal;
    mso-bidi-font-weight:bold'><o:p></o:p></span></h3>
    </td>
***************
*** 6872,6884 ****
  </table>
  
  <h3 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><a
! name="_Toc206421340"></a><a name="_Toc193871730"></a><a name="_Toc193871485"></a><a
! name="_Toc191662242"></a><a name="_Toc152605195"></a><a name="_Toc115416245"></a><a
! name="_Toc139993237"></a><a name="_Toc126872314"></a><span style='mso-bookmark:
! _Toc206421340'><span style='mso-bookmark:_Toc193871730'><span style='mso-bookmark:
! _Toc193871485'><span style='mso-bookmark:_Toc191662242'><span style='mso-bookmark:
! _Toc152605195'><span style='mso-bookmark:_Toc115416245'>Regkey:<br>
! [HKLM\SOFTWARE\OpenAFS\Client\CSCPolicy]</span></span></span></span></span></span></h3>
  
  <table class=MsoNormalTable border=1 cellspacing=3 cellpadding=0
   style='mso-cellspacing:2.2pt;mso-yfti-tbllook:1184;mso-padding-alt:0in 0in 0in 0in'>
--- 7141,7154 ----
  </table>
  
  <h3 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><a
! name="_Toc213844485"></a><a name="_Toc206421340"></a><a name="_Toc193871730"></a><a
! name="_Toc193871485"></a><a name="_Toc191662242"></a><a name="_Toc152605195"></a><a
! name="_Toc115416245"></a><a name="_Toc139993237"></a><a name="_Toc126872314"></a><span
! style='mso-bookmark:_Toc213844485'><span style='mso-bookmark:_Toc206421340'><span
! style='mso-bookmark:_Toc193871730'><span style='mso-bookmark:_Toc193871485'><span
! style='mso-bookmark:_Toc191662242'><span style='mso-bookmark:_Toc152605195'><span
! style='mso-bookmark:_Toc115416245'>Regkey:<br>
! [HKLM\SOFTWARE\OpenAFS\Client\CSCPolicy]</span></span></span></span></span></span></span></h3>
  
  <table class=MsoNormalTable border=1 cellspacing=3 cellpadding=0
   style='mso-cellspacing:2.2pt;mso-yfti-tbllook:1184;mso-padding-alt:0in 0in 0in 0in'>
***************
*** 6887,6914 ****
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt;
    height:112.0pt'>
    <h5><a name="_Toc191662243"></a><a name="_Toc152605196"></a><a
!   name="_Toc115416246"></a><a name="_Toc139993238"></a><a name="_Toc126872315"></a><span
    style='mso-bookmark:_Toc191662243'><span style='mso-bookmark:_Toc152605196'><span
    style='mso-bookmark:_Toc115416246'>Value: &quot;smb/cifs share name&quot;</span></span></span></h5>
    <p class=MsoBodyText>Type: REG_SZ<br>
    Default: &lt;none&gt;</p>
!   <p class=MsoBodyText>This key is used to map SMB/CIFS shares to Client Side
!   Caching (off-line access) policies. For each share one of the following
!   policies may be used: &quot;manual&quot;, &quot;programs&quot;,
!   &quot;documents&quot;, &quot;disable&quot;.&nbsp; </p>
    <p class=MsoBodyText>These values used to be stored in afsdsbmt.ini</p>
    </td>
   </tr>
  </table>
  
  <h3 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><a
! name="_Toc206421341"></a><a name="_Toc193871731"></a><a name="_Toc193871486"></a><a
! name="_Toc191662244"></a><a name="_Toc152605197"></a><a name="_Toc139993239"></a><a
! name="_Toc126872316"></a><a name="_Toc115416247"></a><a
! name="_Regkey:_[HKLM\SOFTWARE\OpenAFS\Clie"></a><span style='mso-bookmark:_Toc206421341'><span
! style='mso-bookmark:_Toc193871731'><span style='mso-bookmark:_Toc193871486'><span
! style='mso-bookmark:_Toc191662244'><span style='mso-bookmark:_Toc152605197'>Regkey:<br>
! [HKLM\SOFTWARE\OpenAFS\Client\Freelance]</span></span></span></span></span></h3>
  
  <table class=MsoNormalTable border=1 cellspacing=3 cellpadding=0
   style='mso-cellspacing:2.2pt;mso-yfti-tbllook:1184;mso-padding-alt:0in 0in 0in 0in'>
--- 7157,7185 ----
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt;
    height:112.0pt'>
    <h5><a name="_Toc191662243"></a><a name="_Toc152605196"></a><a
!   name="_Toc115416246"></a><a name="_Toc126872315"></a><a name="_Toc139993238"></a><span
    style='mso-bookmark:_Toc191662243'><span style='mso-bookmark:_Toc152605196'><span
    style='mso-bookmark:_Toc115416246'>Value: &quot;smb/cifs share name&quot;</span></span></span></h5>
    <p class=MsoBodyText>Type: REG_SZ<br>
    Default: &lt;none&gt;</p>
!   <p class=MsoBodyText>This key is used to map SMB/CIFS shares to Client Side Caching
!   (off-line access) policies. For each share one of the following policies may
!   be used: &quot;manual&quot;, &quot;programs&quot;, &quot;documents&quot;,
!   &quot;disable&quot;.&nbsp; </p>
    <p class=MsoBodyText>These values used to be stored in afsdsbmt.ini</p>
    </td>
   </tr>
  </table>
  
  <h3 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><a
! name="_Toc213844486"></a><a name="_Toc206421341"></a><a name="_Toc193871731"></a><a
! name="_Toc193871486"></a><a name="_Toc191662244"></a><a name="_Toc152605197"></a><a
! name="_Toc139993239"></a><a name="_Toc126872316"></a><a name="_Toc115416247"></a><a
! name="_Regkey:_[HKLM\SOFTWARE\OpenAFS\Clie"></a><span style='mso-bookmark:_Toc213844486'><span
! style='mso-bookmark:_Toc206421341'><span style='mso-bookmark:_Toc193871731'><span
! style='mso-bookmark:_Toc193871486'><span style='mso-bookmark:_Toc191662244'><span
! style='mso-bookmark:_Toc152605197'>Regkey:<br>
! [HKLM\SOFTWARE\OpenAFS\Client\Freelance]</span></span></span></span></span></span></h3>
  
  <table class=MsoNormalTable border=1 cellspacing=3 cellpadding=0
   style='mso-cellspacing:2.2pt;mso-yfti-tbllook:1184;mso-padding-alt:0in 0in 0in 0in'>
***************
*** 6917,6923 ****
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt;
    height:138.5pt'>
    <h5><a name="_Toc191662245"></a><a name="_Toc152605198"></a><a
!   name="_Toc115416248"></a><a name="_Toc139993240"></a><a name="_Toc126872317"></a><span
    style='mso-bookmark:_Toc191662245'><span style='mso-bookmark:_Toc152605198'><span
    style='mso-bookmark:_Toc115416248'>Value: &quot;numeric value&quot;</span></span></span></h5>
    <p class=MsoBodyText>Type: REG_SZ<br>
--- 7188,7194 ----
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt;
    height:138.5pt'>
    <h5><a name="_Toc191662245"></a><a name="_Toc152605198"></a><a
!   name="_Toc115416248"></a><a name="_Toc126872317"></a><a name="_Toc139993240"></a><span
    style='mso-bookmark:_Toc191662245'><span style='mso-bookmark:_Toc152605198'><span
    style='mso-bookmark:_Toc115416248'>Value: &quot;numeric value&quot;</span></span></span></h5>
    <p class=MsoBodyText>Type: REG_SZ<br>
***************
*** 6933,6946 ****
  </table>
  
  <h3 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><a
! name="_Toc206421342"></a><a name="_Toc193871732"></a><a name="_Toc193871487"></a><a
! name="_Toc191662246"></a><a name="_Toc152605199"></a><a name="_Toc139993241"></a><a
! name="_Toc126872318"></a><a name="_Toc115416249"></a><a
  name="_Regkey:_[HKLM\SOFTWARE\OpenAFS\Clie_1"></a><span style='mso-bookmark:
! _Toc206421342'><span style='mso-bookmark:_Toc193871732'><span style='mso-bookmark:
! _Toc193871487'><span style='mso-bookmark:_Toc191662246'><span style='mso-bookmark:
! _Toc152605199'>Regkey:<br>
! [HKLM\SOFTWARE\OpenAFS\Client\Freelance\Symlinks]</span></span></span></span></span></h3>
  
  <table class=MsoNormalTable border=1 cellspacing=3 cellpadding=0
   style='mso-cellspacing:2.2pt;mso-yfti-tbllook:1184;mso-padding-alt:0in 0in 0in 0in'>
--- 7204,7217 ----
  </table>
  
  <h3 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><a
! name="_Toc213844487"></a><a name="_Toc206421342"></a><a name="_Toc193871732"></a><a
! name="_Toc193871487"></a><a name="_Toc191662246"></a><a name="_Toc152605199"></a><a
! name="_Toc139993241"></a><a name="_Toc126872318"></a><a name="_Toc115416249"></a><a
  name="_Regkey:_[HKLM\SOFTWARE\OpenAFS\Clie_1"></a><span style='mso-bookmark:
! _Toc213844487'><span style='mso-bookmark:_Toc206421342'><span style='mso-bookmark:
! _Toc193871732'><span style='mso-bookmark:_Toc193871487'><span style='mso-bookmark:
! _Toc191662246'><span style='mso-bookmark:_Toc152605199'>Regkey:<br>
! [HKLM\SOFTWARE\OpenAFS\Client\Freelance\Symlinks]</span></span></span></span></span></span></h3>
  
  <table class=MsoNormalTable border=1 cellspacing=3 cellpadding=0
   style='mso-cellspacing:2.2pt;mso-yfti-tbllook:1184;mso-padding-alt:0in 0in 0in 0in'>
***************
*** 6949,6962 ****
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt;
    height:145.0pt'>
    <h5><a name="_Toc191662247"></a><a name="_Toc152605200"></a><a
!   name="_Toc115416250"></a><a name="_Toc139993242"></a><a name="_Toc126872319"></a><span
    style='mso-bookmark:_Toc191662247'><span style='mso-bookmark:_Toc152605200'><span
    style='mso-bookmark:_Toc115416250'>Value: &quot;numeric value&quot;</span></span></span></h5>
    <p class=MsoBodyText>Type: REG_SZ<br>
    Default: &lt;none&gt;</p>
!   <p class=MsoBodyText>This key is used to store a dot terminated symlink
!   strings for use in constructing the fake root.afs volume when Freelance
!   (dynamic roots) mode is activated.</p>
    <p class=MsoBodyText>&quot;linkname:destination-path.&quot;</p>
    <p class=MsoBodyText>&quot;athena:athena.mit.edu.&quot;</p>
    <p class=MsoBodyText>&quot;home:athena.mit.edu\user\j\a\jaltman.&quot;</p>
--- 7220,7233 ----
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt;
    height:145.0pt'>
    <h5><a name="_Toc191662247"></a><a name="_Toc152605200"></a><a
!   name="_Toc115416250"></a><a name="_Toc126872319"></a><a name="_Toc139993242"></a><span
    style='mso-bookmark:_Toc191662247'><span style='mso-bookmark:_Toc152605200'><span
    style='mso-bookmark:_Toc115416250'>Value: &quot;numeric value&quot;</span></span></span></h5>
    <p class=MsoBodyText>Type: REG_SZ<br>
    Default: &lt;none&gt;</p>
!   <p class=MsoBodyText>This key is used to store a dot terminated symlink strings
!   for use in constructing the fake root.afs volume when Freelance (dynamic
!   roots) mode is activated.</p>
    <p class=MsoBodyText>&quot;linkname:destination-path.&quot;</p>
    <p class=MsoBodyText>&quot;athena:athena.mit.edu.&quot;</p>
    <p class=MsoBodyText>&quot;home:athena.mit.edu\user\j\a\jaltman.&quot;</p>
***************
*** 6966,6978 ****
  </table>
  
  <h3 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><a
! name="_Toc206421343"></a><a name="_Toc193871733"></a><a name="_Toc193871488"></a><a
! name="_Toc191662248"></a><a name="_Toc152605201"></a><a name="_Toc115416251"></a><a
! name="_Toc139993243"></a><a name="_Toc126872320"></a><span style='mso-bookmark:
! _Toc206421343'><span style='mso-bookmark:_Toc193871733'><span style='mso-bookmark:
! _Toc193871488'><span style='mso-bookmark:_Toc191662248'><span style='mso-bookmark:
! _Toc152605201'><span style='mso-bookmark:_Toc115416251'>Regkey:<br>
! [HKLM\SOFTWARE\OpenAFS\Client\Realms]</span></span></span></span></span></span></h3>
  
  <p class=MsoBodyText style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>The
  Realms key is used to provide initialization data to be used when new
--- 7237,7250 ----
  </table>
  
  <h3 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><a
! name="_Toc213844488"></a><a name="_Toc206421343"></a><a name="_Toc193871733"></a><a
! name="_Toc193871488"></a><a name="_Toc191662248"></a><a name="_Toc152605201"></a><a
! name="_Toc115416251"></a><a name="_Toc139993243"></a><a name="_Toc126872320"></a><span
! style='mso-bookmark:_Toc213844488'><span style='mso-bookmark:_Toc206421343'><span
! style='mso-bookmark:_Toc193871733'><span style='mso-bookmark:_Toc193871488'><span
! style='mso-bookmark:_Toc191662248'><span style='mso-bookmark:_Toc152605201'><span
! style='mso-bookmark:_Toc115416251'>Regkey:<br>
! [HKLM\SOFTWARE\OpenAFS\Client\Realms]</span></span></span></span></span></span></span></h3>
  
  <p class=MsoBodyText style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>The
  Realms key is used to provide initialization data to be used when new
***************
*** 6983,6993 ****
  configuration for the identity.</p>
  
  <h3 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><a
! name="_Toc206421344"></a><a name="_Toc193871734"></a><a name="_Toc193871489"></a><a
! name="_Toc191662249"><span style='mso-bookmark:_Toc193871489'><span
! style='mso-bookmark:_Toc193871734'><span style='mso-bookmark:_Toc206421344'>Regkey:<br>
  [HKLM\SOFTWARE\OpenAFS\Client\Realms\<i style='mso-bidi-font-style:normal'>”Realm
! Name”</i>]</span></span></span></a></h3>
  
  <p class=MsoBodyText style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>In
  addition to the optional values, this key contains one subkey for each cell
--- 7255,7266 ----
  configuration for the identity.</p>
  
  <h3 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><a
! name="_Toc213844489"></a><a name="_Toc191662249"></a><a name="_Toc193871489"></a><a
! name="_Toc193871734"></a><a name="_Toc206421344"><span style='mso-bookmark:
! _Toc193871734'><span style='mso-bookmark:_Toc193871489'><span style='mso-bookmark:
! _Toc191662249'><span style='mso-bookmark:_Toc213844489'>Regkey:<br>
  [HKLM\SOFTWARE\OpenAFS\Client\Realms\<i style='mso-bidi-font-style:normal'>”Realm
! Name”</i>]</span></span></span></span></a></h3>
  
  <p class=MsoBodyText style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>In
  addition to the optional values, this key contains one subkey for each cell
***************
*** 7001,7032 ****
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt;
    height:103.7pt'>
    <h5><a name="_Toc191662250"></a><a name="_Toc152605202"></a><a
!   name="_Toc115416252"></a><a name="_Toc139993244"></a><a name="_Toc126872321"></a><span
    style='mso-bookmark:_Toc191662250'><span style='mso-bookmark:_Toc152605202'><span
    style='mso-bookmark:_Toc115416252'>Value: </span></span></span><span
    style='mso-bookmark:_Toc191662250'><span style='font-style:normal;mso-bidi-font-style:
    italic'>AFSEnabled</span></span></h5>
    <p class=MsoBodyText>Type: REG_DWORD<br>
    Default: 0x01</p>
!   <p class=MsoBodyText>This key is used to specify whether the new identity should
!   be configured to obtain AFS credentials.<span style='mso-spacerun:yes'> 
!   </span>In general, it is only specified when disabling the acquisition of AFS
!   credentials is desired.<span style='mso-spacerun:yes'>  </span>The default is
!   to obtain AFS credentials.</p>
    </td>
   </tr>
  </table>
  
  <h3 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><a
! name="_Toc152605203"></a><a name="_Toc206421345"></a><a name="_Toc193871735"></a><a
! name="_Toc193871490"></a><a name="_Toc191662251"></a><a name="_Toc139993245"></a><a
! name="_Toc126872322"></a><a name="_Toc115416253"></a><a
  name="_Regkey:_[HKLM\SOFTWARE\OpenAFS\Clie_2"></a><span style='mso-bookmark:
! _Toc152605203'><span style='mso-bookmark:_Toc206421345'><span style='mso-bookmark:
! _Toc193871735'><span style='mso-bookmark:_Toc193871490'><span style='mso-bookmark:
! _Toc191662251'>Regkey:<br>
  [HKLM\SOFTWARE\OpenAFS\Client\Realms\<i style='mso-bidi-font-style:normal'>”Realm
! Name”</i>\<i style='mso-bidi-font-style:normal'>”Cell Name”</i>]</span></span></span></span></span></h3>
  
  <table class=MsoNormalTable border=1 cellspacing=3 cellpadding=0
   style='mso-cellspacing:2.2pt;mso-yfti-tbllook:1184;mso-padding-alt:0in 0in 0in 0in'>
--- 7274,7305 ----
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt;
    height:103.7pt'>
    <h5><a name="_Toc191662250"></a><a name="_Toc152605202"></a><a
!   name="_Toc115416252"></a><a name="_Toc126872321"></a><a name="_Toc139993244"></a><span
    style='mso-bookmark:_Toc191662250'><span style='mso-bookmark:_Toc152605202'><span
    style='mso-bookmark:_Toc115416252'>Value: </span></span></span><span
    style='mso-bookmark:_Toc191662250'><span style='font-style:normal;mso-bidi-font-style:
    italic'>AFSEnabled</span></span></h5>
    <p class=MsoBodyText>Type: REG_DWORD<br>
    Default: 0x01</p>
!   <p class=MsoBodyText>This key is used to specify whether the new identity
!   should be configured to obtain AFS credentials.<span
!   style='mso-spacerun:yes'>  </span>In general, it is only specified when
!   disabling the acquisition of AFS credentials is desired.<span
!   style='mso-spacerun:yes'>  </span>The default is to obtain AFS credentials.</p>
    </td>
   </tr>
  </table>
  
  <h3 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><a
! name="_Toc152605203"></a><a name="_Toc213844490"></a><a name="_Toc206421345"></a><a
! name="_Toc193871735"></a><a name="_Toc193871490"></a><a name="_Toc191662251"></a><a
! name="_Toc139993245"></a><a name="_Toc126872322"></a><a name="_Toc115416253"></a><a
  name="_Regkey:_[HKLM\SOFTWARE\OpenAFS\Clie_2"></a><span style='mso-bookmark:
! _Toc152605203'><span style='mso-bookmark:_Toc213844490'><span style='mso-bookmark:
! _Toc206421345'><span style='mso-bookmark:_Toc193871735'><span style='mso-bookmark:
! _Toc193871490'><span style='mso-bookmark:_Toc191662251'>Regkey:<br>
  [HKLM\SOFTWARE\OpenAFS\Client\Realms\<i style='mso-bidi-font-style:normal'>”Realm
! Name”</i>\<i style='mso-bidi-font-style:normal'>”Cell Name”</i>]</span></span></span></span></span></span></h3>
  
  <table class=MsoNormalTable border=1 cellspacing=3 cellpadding=0
   style='mso-cellspacing:2.2pt;mso-yfti-tbllook:1184;mso-padding-alt:0in 0in 0in 0in'>
***************
*** 7061,7082 ****
    italic'><o:p></o:p></span></span></h5>
    <p class=MsoBodyText><span style='mso-bookmark:_Toc152605203'>Type: REG_SZ<br>
    Default: &lt;none&gt;</span></p>
!   <p class=MsoBodyText><span style='mso-bookmark:_Toc152605203'>This key is used
!   to specify the realm to be used when acquiring AFS tokens.<span
    style='mso-spacerun:yes'>  </span>If not specified, the realm will be
!   determined by performing a domain to realm mapping on the domain of a random
!   volume location database server for the cell.</span></p>
    </td>
    <span style='mso-bookmark:_Toc152605203'></span>
   </tr>
  </table>
  
  <h3 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
! style='mso-bookmark:_Toc152605203'><a name="_Toc206421346"></a><a
! name="_Toc193871736"></a><a name="_Toc193871491"></a><a name="_Toc191662254"><span
! style='mso-bookmark:_Toc193871491'><span style='mso-bookmark:_Toc193871736'><span
! style='mso-bookmark:_Toc206421346'>Regkey:<br>
! [HKLM\SOFTWARE\OpenAFS\Client\Submounts]</span></span></span></a></span></h3>
  
  <table class=MsoNormalTable border=1 cellspacing=3 cellpadding=0
   style='mso-cellspacing:2.2pt;mso-yfti-tbllook:1184;mso-padding-alt:0in 0in 0in 0in'>
--- 7334,7356 ----
    italic'><o:p></o:p></span></span></h5>
    <p class=MsoBodyText><span style='mso-bookmark:_Toc152605203'>Type: REG_SZ<br>
    Default: &lt;none&gt;</span></p>
!   <p class=MsoBodyText><span style='mso-bookmark:_Toc152605203'>This key is
!   used to specify the realm to be used when acquiring AFS tokens.<span
    style='mso-spacerun:yes'>  </span>If not specified, the realm will be
!   determined by performing a domain to realm mapping on the domain of a random volume
!   location database server for the cell.</span></p>
    </td>
    <span style='mso-bookmark:_Toc152605203'></span>
   </tr>
  </table>
  
  <h3 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
! style='mso-bookmark:_Toc152605203'><a name="_Toc213844491"></a><a
! name="_Toc191662254"></a><a name="_Toc193871491"></a><a name="_Toc193871736"></a><a
! name="_Toc206421346"><span style='mso-bookmark:_Toc193871736'><span
! style='mso-bookmark:_Toc193871491'><span style='mso-bookmark:_Toc191662254'><span
! style='mso-bookmark:_Toc213844491'>Regkey:<br>
! [HKLM\SOFTWARE\OpenAFS\Client\Submounts]</span></span></span></span></a></span></h3>
  
  <table class=MsoNormalTable border=1 cellspacing=3 cellpadding=0
   style='mso-cellspacing:2.2pt;mso-yfti-tbllook:1184;mso-padding-alt:0in 0in 0in 0in'>
***************
*** 7106,7116 ****
  </table>
  
  <h3 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
! style='mso-bookmark:_Toc152605203'><a name="_Toc206421347"></a><a
! name="_Toc193871737"></a><a name="_Toc193871492"></a><a name="_Toc191662256"><span
! style='mso-bookmark:_Toc193871492'><span style='mso-bookmark:_Toc193871737'><span
! style='mso-bookmark:_Toc206421347'>Regkey:<br>
! [HKLM\SOFTWARE\OpenAFS\Client\Server Preferences\VLDB]</span></span></span></a></span></h3>
  
  <table class=MsoNormalTable border=1 cellspacing=3 cellpadding=0
   style='mso-cellspacing:2.2pt;mso-yfti-tbllook:1184;mso-padding-alt:0in 0in 0in 0in'>
--- 7380,7391 ----
  </table>
  
  <h3 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
! style='mso-bookmark:_Toc152605203'><a name="_Toc213844492"></a><a
! name="_Toc191662256"></a><a name="_Toc193871492"></a><a name="_Toc193871737"></a><a
! name="_Toc206421347"><span style='mso-bookmark:_Toc193871737'><span
! style='mso-bookmark:_Toc193871492'><span style='mso-bookmark:_Toc191662256'><span
! style='mso-bookmark:_Toc213844492'>Regkey:<br>
! [HKLM\SOFTWARE\OpenAFS\Client\Server Preferences\VLDB]</span></span></span></span></a></span></h3>
  
  <table class=MsoNormalTable border=1 cellspacing=3 cellpadding=0
   style='mso-cellspacing:2.2pt;mso-yfti-tbllook:1184;mso-padding-alt:0in 0in 0in 0in'>
***************
*** 7119,7125 ****
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt;
    height:105.5pt'>
    <h5><a name="_Toc191662257"></a><a name="_Toc152605204"></a><a
!   name="_Toc115416254"></a><a name="_Toc139993246"></a><a name="_Toc126872323"></a><span
    style='mso-bookmark:_Toc191662257'><span style='mso-bookmark:_Toc152605204'><span
    style='mso-bookmark:_Toc115416254'>Value: &quot;hostname or ip address&quot;</span></span></span></h5>
    <p class=MsoBodyText>Type: REG_DWORD<br>
--- 7394,7400 ----
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt;
    height:105.5pt'>
    <h5><a name="_Toc191662257"></a><a name="_Toc152605204"></a><a
!   name="_Toc115416254"></a><a name="_Toc126872323"></a><a name="_Toc139993246"></a><span
    style='mso-bookmark:_Toc191662257'><span style='mso-bookmark:_Toc152605204'><span
    style='mso-bookmark:_Toc115416254'>Value: &quot;hostname or ip address&quot;</span></span></span></h5>
    <p class=MsoBodyText>Type: REG_DWORD<br>
***************
*** 7134,7146 ****
  </table>
  
  <h3 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><a
! name="_Toc206421348"></a><a name="_Toc193871738"></a><a name="_Toc193871493"></a><a
! name="_Toc191662258"></a><a name="_Toc152605205"></a><a name="_Toc115416255"></a><a
! name="_Toc139993247"></a><a name="_Toc126872324"></a><span style='mso-bookmark:
! _Toc206421348'><span style='mso-bookmark:_Toc193871738'><span style='mso-bookmark:
! _Toc193871493'><span style='mso-bookmark:_Toc191662258'><span style='mso-bookmark:
! _Toc152605205'><span style='mso-bookmark:_Toc115416255'>Regkey:<br>
! [HKLM\SOFTWARE\OpenAFS\Client\Server Preferences\File]</span></span></span></span></span></span></h3>
  
  <table class=MsoNormalTable border=1 cellspacing=3 cellpadding=0
   style='mso-cellspacing:2.2pt;mso-yfti-tbllook:1184;mso-padding-alt:0in 0in 0in 0in'>
--- 7409,7422 ----
  </table>
  
  <h3 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><a
! name="_Toc213844493"></a><a name="_Toc206421348"></a><a name="_Toc193871738"></a><a
! name="_Toc193871493"></a><a name="_Toc191662258"></a><a name="_Toc152605205"></a><a
! name="_Toc115416255"></a><a name="_Toc139993247"></a><a name="_Toc126872324"></a><span
! style='mso-bookmark:_Toc213844493'><span style='mso-bookmark:_Toc206421348'><span
! style='mso-bookmark:_Toc193871738'><span style='mso-bookmark:_Toc193871493'><span
! style='mso-bookmark:_Toc191662258'><span style='mso-bookmark:_Toc152605205'><span
! style='mso-bookmark:_Toc115416255'>Regkey:<br>
! [HKLM\SOFTWARE\OpenAFS\Client\Server Preferences\File]</span></span></span></span></span></span></span></h3>
  
  <table class=MsoNormalTable border=1 cellspacing=3 cellpadding=0
   style='mso-cellspacing:2.2pt;mso-yfti-tbllook:1184;mso-padding-alt:0in 0in 0in 0in'>
***************
*** 7149,7155 ****
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt;
    height:105.5pt'>
    <h5><a name="_Toc191662259"></a><a name="_Toc152605206"></a><a
!   name="_Toc115416256"></a><a name="_Toc139993248"></a><a name="_Toc126872325"></a><span
    style='mso-bookmark:_Toc191662259'><span style='mso-bookmark:_Toc152605206'><span
    style='mso-bookmark:_Toc115416256'>Value: &quot;hostname or ip address&quot;</span></span></span></h5>
    <p class=MsoBodyText>Type: REG_DWORD<br>
--- 7425,7431 ----
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt;
    height:105.5pt'>
    <h5><a name="_Toc191662259"></a><a name="_Toc152605206"></a><a
!   name="_Toc115416256"></a><a name="_Toc126872325"></a><a name="_Toc139993248"></a><span
    style='mso-bookmark:_Toc191662259'><span style='mso-bookmark:_Toc152605206'><span
    style='mso-bookmark:_Toc115416256'>Value: &quot;hostname or ip address&quot;</span></span></span></h5>
    <p class=MsoBodyText>Type: REG_DWORD<br>
***************
*** 7157,7188 ****
    <p class=MsoBodyText>This key is used to specify a default set of File server
    preferences. For each entry the value name will be either the IP address of a
    server or a fully qualified domain name.&nbsp; The value will be the
!   ranking.&nbsp; The ranking will be adjusted by a random value between 0 and
!   256 prior to the preference being set.</p>
    </td>
   </tr>
  </table>
  
  <h2 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><a
! name="_Toc206421349"></a><a name="_Toc193871739"></a><a name="_Toc193871494"></a><a
! name="_Toc191662260"></a><a name="_Toc152605207"></a><a name="_Toc115416257"></a><a
! name="_Toc139993249"></a><a name="_Toc126872326"></a><a name="_Toc115417105"></a><span
! style='mso-bookmark:_Toc206421349'><span style='mso-bookmark:_Toc193871739'><span
! style='mso-bookmark:_Toc193871494'><span style='mso-bookmark:_Toc191662260'><span
! style='mso-bookmark:_Toc152605207'><span style='mso-bookmark:_Toc115416257'>A.2.
! Integrated Logon Network provider parameters</span></span></span></span></span></span></h2>
  
  <p class=MsoBodyText style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>Affects
  the network provider (afslogon.dll).</p>
  
  <h3 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><a
! name="_Toc206421350"></a><a name="_Toc193871740"></a><a name="_Toc193871495"></a><a
! name="_Toc191662261"></a><a name="_Toc152605208"></a><a name="_Toc115416258"></a><a
! name="_Toc139993250"></a><a name="_Toc126872327"></a><span style='mso-bookmark:
! _Toc206421350'><span style='mso-bookmark:_Toc193871740'><span style='mso-bookmark:
! _Toc193871495'><span style='mso-bookmark:_Toc191662261'><span style='mso-bookmark:
! _Toc152605208'><span style='mso-bookmark:_Toc115416258'>Regkey:
! [HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters]</span></span></span></span></span></span></h3>
  
  <table class=MsoNormalTable border=1 cellspacing=3 cellpadding=0
   style='mso-cellspacing:2.2pt;mso-yfti-tbllook:1184;mso-padding-alt:0in 0in 0in 0in'>
--- 7433,7467 ----
    <p class=MsoBodyText>This key is used to specify a default set of File server
    preferences. For each entry the value name will be either the IP address of a
    server or a fully qualified domain name.&nbsp; The value will be the
!   ranking.&nbsp; The ranking will be adjusted by a random value between 0 and 256
!   prior to the preference being set.</p>
    </td>
   </tr>
  </table>
  
  <h2 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><a
! name="_Toc213847235"></a><a name="_Toc213844494"></a><a name="_Toc206421349"></a><a
! name="_Toc193871739"></a><a name="_Toc193871494"></a><a name="_Toc191662260"></a><a
! name="_Toc152605207"></a><a name="_Toc115416257"></a><a name="_Toc139993249"></a><a
! name="_Toc126872326"></a><a name="_Toc115417105"></a><span style='mso-bookmark:
! _Toc213847235'><span style='mso-bookmark:_Toc213844494'><span style='mso-bookmark:
! _Toc206421349'><span style='mso-bookmark:_Toc193871739'><span style='mso-bookmark:
! _Toc193871494'><span style='mso-bookmark:_Toc191662260'><span style='mso-bookmark:
! _Toc152605207'><span style='mso-bookmark:_Toc115416257'>A.2. Integrated Logon
! Network provider parameters</span></span></span></span></span></span></span></span></h2>
  
  <p class=MsoBodyText style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>Affects
  the network provider (afslogon.dll).</p>
  
  <h3 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><a
! name="_Toc213844495"></a><a name="_Toc206421350"></a><a name="_Toc193871740"></a><a
! name="_Toc193871495"></a><a name="_Toc191662261"></a><a name="_Toc152605208"></a><a
! name="_Toc115416258"></a><a name="_Toc139993250"></a><a name="_Toc126872327"></a><span
! style='mso-bookmark:_Toc213844495'><span style='mso-bookmark:_Toc206421350'><span
! style='mso-bookmark:_Toc193871740'><span style='mso-bookmark:_Toc193871495'><span
! style='mso-bookmark:_Toc191662261'><span style='mso-bookmark:_Toc152605208'><span
! style='mso-bookmark:_Toc115416258'>Regkey:
! [HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters]</span></span></span></span></span></span></span></h3>
  
  <table class=MsoNormalTable border=1 cellspacing=3 cellpadding=0
   style='mso-cellspacing:2.2pt;mso-yfti-tbllook:1184;mso-padding-alt:0in 0in 0in 0in'>
***************
*** 7191,7197 ****
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt;
    height:65.75pt'>
    <h5><a name="_Toc191662262"></a><a name="_Toc152605209"></a><a
!   name="_Toc115416259"></a><a name="_Toc139993251"></a><a name="_Toc126872328"></a><span
    style='mso-bookmark:_Toc191662262'><span style='mso-bookmark:_Toc152605209'><span
    style='mso-bookmark:_Toc115416259'>Value: FailLoginsSilently</span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD<br>
--- 7470,7476 ----
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt;
    height:65.75pt'>
    <h5><a name="_Toc191662262"></a><a name="_Toc152605209"></a><a
!   name="_Toc115416259"></a><a name="_Toc126872328"></a><a name="_Toc139993251"></a><span
    style='mso-bookmark:_Toc191662262'><span style='mso-bookmark:_Toc152605209'><span
    style='mso-bookmark:_Toc115416259'>Value: FailLoginsSilently</span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD<br>
***************
*** 7202,7214 ****
  </table>
  
  <h3 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><a
! name="_Toc206421351"></a><a name="_Toc193871741"></a><a name="_Toc193871496"></a><a
! name="_Toc191662263"></a><a name="_Toc152605210"></a><a name="_Toc115416260"></a><a
! name="_Toc139993252"></a><a name="_Toc126872329"></a><span style='mso-bookmark:
! _Toc206421351'><span style='mso-bookmark:_Toc193871741'><span style='mso-bookmark:
! _Toc193871496'><span style='mso-bookmark:_Toc191662263'><span style='mso-bookmark:
! _Toc152605210'><span style='mso-bookmark:_Toc115416260'>Regkey:<br>
! [HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider]</span></span></span></span></span></span></h3>
  
  <table class=MsoNormalTable border=1 cellspacing=3 cellpadding=0
   style='mso-cellspacing:2.2pt;mso-yfti-tbllook:1184;mso-padding-alt:0in 0in 0in 0in'>
--- 7481,7494 ----
  </table>
  
  <h3 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><a
! name="_Toc213844496"></a><a name="_Toc206421351"></a><a name="_Toc193871741"></a><a
! name="_Toc193871496"></a><a name="_Toc191662263"></a><a name="_Toc152605210"></a><a
! name="_Toc115416260"></a><a name="_Toc139993252"></a><a name="_Toc126872329"></a><span
! style='mso-bookmark:_Toc213844496'><span style='mso-bookmark:_Toc206421351'><span
! style='mso-bookmark:_Toc193871741'><span style='mso-bookmark:_Toc193871496'><span
! style='mso-bookmark:_Toc191662263'><span style='mso-bookmark:_Toc152605210'><span
! style='mso-bookmark:_Toc115416260'>Regkey:<br>
! [HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider]</span></span></span></span></span></span></span></h3>
  
  <table class=MsoNormalTable border=1 cellspacing=3 cellpadding=0
   style='mso-cellspacing:2.2pt;mso-yfti-tbllook:1184;mso-padding-alt:0in 0in 0in 0in'>
***************
*** 7216,7222 ****
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt;
    height:65.75pt'>
    <h5><a name="_Toc191662264"></a><a name="_Toc152605211"></a><a
!   name="_Toc115416261"></a><a name="_Toc139993253"></a><a name="_Toc126872330"></a><span
    style='mso-bookmark:_Toc191662264'><span style='mso-bookmark:_Toc152605211'><span
    style='mso-bookmark:_Toc115416261'>Value: NoWarnings</span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD<br>
--- 7496,7502 ----
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt;
    height:65.75pt'>
    <h5><a name="_Toc191662264"></a><a name="_Toc152605211"></a><a
!   name="_Toc115416261"></a><a name="_Toc126872330"></a><a name="_Toc139993253"></a><span
    style='mso-bookmark:_Toc191662264'><span style='mso-bookmark:_Toc152605211'><span
    style='mso-bookmark:_Toc115416261'>Value: NoWarnings</span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD<br>
***************
*** 7228,7234 ****
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt;
    height:65.75pt'>
    <h5><a name="_Toc191662265"></a><a name="_Toc152605212"></a><a
!   name="_Toc115416262"></a><a name="_Toc139993254"></a><a name="_Toc126872331"></a><span
    style='mso-bookmark:_Toc191662265'><span style='mso-bookmark:_Toc152605212'><span
    style='mso-bookmark:_Toc115416262'>Value: AuthentProviderPath</span></span></span></h5>
    <p class=MsoBodyText>Type: REG_SZ<br>
--- 7508,7514 ----
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt;
    height:65.75pt'>
    <h5><a name="_Toc191662265"></a><a name="_Toc152605212"></a><a
!   name="_Toc115416262"></a><a name="_Toc126872331"></a><a name="_Toc139993254"></a><span
    style='mso-bookmark:_Toc191662265'><span style='mso-bookmark:_Toc152605212'><span
    style='mso-bookmark:_Toc115416262'>Value: AuthentProviderPath</span></span></span></h5>
    <p class=MsoBodyText>Type: REG_SZ<br>
***************
*** 7241,7247 ****
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt;
    height:65.75pt'>
    <h5><a name="_Toc191662266"></a><a name="_Toc152605213"></a><a
!   name="_Toc115416263"></a><a name="_Toc139993255"></a><a name="_Toc126872332"></a><span
    style='mso-bookmark:_Toc191662266'><span style='mso-bookmark:_Toc152605213'><span
    style='mso-bookmark:_Toc115416263'>Value: Class</span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD<br>
--- 7521,7527 ----
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt;
    height:65.75pt'>
    <h5><a name="_Toc191662266"></a><a name="_Toc152605213"></a><a
!   name="_Toc115416263"></a><a name="_Toc126872332"></a><a name="_Toc139993255"></a><span
    style='mso-bookmark:_Toc191662266'><span style='mso-bookmark:_Toc152605213'><span
    style='mso-bookmark:_Toc115416263'>Value: Class</span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD<br>
***************
*** 7253,7259 ****
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt;
    height:92.0pt'>
    <h5><a name="_Toc191662267"></a><a name="_Toc152605214"></a><a
!   name="_Toc115416264"></a><a name="_Toc139993256"></a><a name="_Toc126872333"></a><span
    style='mso-bookmark:_Toc191662267'><span style='mso-bookmark:_Toc152605214'><span
    style='mso-bookmark:_Toc115416264'>Value: DependOnGroup</span></span></span></h5>
    <p class=MsoBodyText>Type: REG_MULTI_SZ<br>
--- 7533,7539 ----
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt;
    height:92.0pt'>
    <h5><a name="_Toc191662267"></a><a name="_Toc152605214"></a><a
!   name="_Toc115416264"></a><a name="_Toc126872333"></a><a name="_Toc139993256"></a><span
    style='mso-bookmark:_Toc191662267'><span style='mso-bookmark:_Toc152605214'><span
    style='mso-bookmark:_Toc115416264'>Value: DependOnGroup</span></span></span></h5>
    <p class=MsoBodyText>Type: REG_MULTI_SZ<br>
***************
*** 7268,7274 ****
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt;
    height:92.0pt'>
    <h5><a name="_Toc191662268"></a><a name="_Toc152605215"></a><a
!   name="_Toc115416265"></a><a name="_Toc139993257"></a><a name="_Toc126872334"></a><span
    style='mso-bookmark:_Toc191662268'><span style='mso-bookmark:_Toc152605215'><span
    style='mso-bookmark:_Toc115416265'>Value: DependOnService</span></span></span></h5>
    <p class=MsoBodyText>Type: REG_MULTI_SZ<br>
--- 7548,7554 ----
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt;
    height:92.0pt'>
    <h5><a name="_Toc191662268"></a><a name="_Toc152605215"></a><a
!   name="_Toc115416265"></a><a name="_Toc126872334"></a><a name="_Toc139993257"></a><span
    style='mso-bookmark:_Toc191662268'><span style='mso-bookmark:_Toc152605215'><span
    style='mso-bookmark:_Toc115416265'>Value: DependOnService</span></span></span></h5>
    <p class=MsoBodyText>Type: REG_MULTI_SZ<br>
***************
*** 7282,7288 ****
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt;
    height:65.75pt'>
    <h5><a name="_Toc191662269"></a><a name="_Toc152605216"></a><a
!   name="_Toc115416266"></a><a name="_Toc139993258"></a><a name="_Toc126872335"></a><span
    style='mso-bookmark:_Toc191662269'><span style='mso-bookmark:_Toc152605216'><span
    style='mso-bookmark:_Toc115416266'>Value: Name</span></span></span></h5>
    <p class=MsoBodyText>Type: REG_SZ<br>
--- 7562,7568 ----
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt;
    height:65.75pt'>
    <h5><a name="_Toc191662269"></a><a name="_Toc152605216"></a><a
!   name="_Toc115416266"></a><a name="_Toc126872335"></a><a name="_Toc139993258"></a><span
    style='mso-bookmark:_Toc191662269'><span style='mso-bookmark:_Toc152605216'><span
    style='mso-bookmark:_Toc115416266'>Value: Name</span></span></span></h5>
    <p class=MsoBodyText>Type: REG_SZ<br>
***************
*** 7294,7300 ****
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt;
    height:65.75pt'>
    <h5><a name="_Toc191662270"></a><a name="_Toc152605217"></a><a
!   name="_Toc115416267"></a><a name="_Toc139993259"></a><a name="_Toc126872336"></a><span
    style='mso-bookmark:_Toc191662270'><span style='mso-bookmark:_Toc152605217'><span
    style='mso-bookmark:_Toc115416267'>Value: ProviderPath</span></span></span></h5>
    <p class=MsoBodyText>Type: REG_SZ<br>
--- 7574,7580 ----
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt;
    height:65.75pt'>
    <h5><a name="_Toc191662270"></a><a name="_Toc152605217"></a><a
!   name="_Toc115416267"></a><a name="_Toc126872336"></a><a name="_Toc139993259"></a><span
    style='mso-bookmark:_Toc191662270'><span style='mso-bookmark:_Toc152605217'><span
    style='mso-bookmark:_Toc115416267'>Value: ProviderPath</span></span></span></h5>
    <p class=MsoBodyText>Type: REG_SZ<br>
***************
*** 7305,7317 ****
  </table>
  
  <h2 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><a
! name="_Toc206421352"></a><a name="_Toc193871742"></a><a name="_Toc193871497"></a><a
! name="_Toc191662271"></a><a name="_Toc152605218"></a><a name="_Toc139993260"></a><a
! name="_Toc126872337"></a><a name="_Toc115417106"></a><a name="_Toc115416268"></a><a
! name="_A.2.1_Domain_specific_configuration"></a><span style='mso-bookmark:_Toc206421352'><span
  style='mso-bookmark:_Toc193871742'><span style='mso-bookmark:_Toc193871497'><span
  style='mso-bookmark:_Toc191662271'><span style='mso-bookmark:_Toc152605218'>A.2.1
! Domain specific configuration keys for the Network Provider</span></span></span></span></span></h2>
  
  <p class=MsoBodyText style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>The
  network provider can be configured to have different behavior depending on the
--- 7585,7599 ----
  </table>
  
  <h2 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><a
! name="_Toc213847236"></a><a name="_Toc213844497"></a><a name="_Toc206421352"></a><a
! name="_Toc193871742"></a><a name="_Toc193871497"></a><a name="_Toc191662271"></a><a
! name="_Toc152605218"></a><a name="_Toc139993260"></a><a name="_Toc126872337"></a><a
! name="_Toc115417106"></a><a name="_Toc115416268"></a><a
! name="_A.2.1_Domain_specific_configuration"></a><span style='mso-bookmark:_Toc213847236'><span
! style='mso-bookmark:_Toc213844497'><span style='mso-bookmark:_Toc206421352'><span
  style='mso-bookmark:_Toc193871742'><span style='mso-bookmark:_Toc193871497'><span
  style='mso-bookmark:_Toc191662271'><span style='mso-bookmark:_Toc152605218'>A.2.1
! Domain specific configuration keys for the Network Provider</span></span></span></span></span></span></span></h2>
  
  <p class=MsoBodyText style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>The
  network provider can be configured to have different behavior depending on the
***************
*** 7326,7382 ****
  specific registry keys are:</p>
  
  <h3 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><a
! name="_Toc206421353"></a><a name="_Toc193871743"></a><a name="_Toc193871498"></a><a
! name="_Toc191662272"></a><a name="_Toc152605219"></a><a name="_Toc115416269"></a><a
! name="_Toc139993261"></a><a name="_Toc126872338"></a><span style='mso-bookmark:
! _Toc206421353'><span style='mso-bookmark:_Toc193871743'><span style='mso-bookmark:
! _Toc193871498'><span style='mso-bookmark:_Toc191662272'><span style='mso-bookmark:
! _Toc152605219'><span style='mso-bookmark:_Toc115416269'>[HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider]</span></span></span></span></span></span></h3>
  
  <p class=MsoBodyText style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>&nbsp;
  (NP key)</p>
  
  <h3 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><a
! name="_Toc206421354"></a><a name="_Toc193871744"></a><a name="_Toc193871499"></a><a
! name="_Toc191662273"></a><a name="_Toc152605220"></a><a name="_Toc115416270"></a><a
! name="_Toc139993262"></a><a name="_Toc126872339"></a><span style='mso-bookmark:
! _Toc206421354'><span style='mso-bookmark:_Toc193871744'><span style='mso-bookmark:
! _Toc193871499'><span style='mso-bookmark:_Toc191662273'><span style='mso-bookmark:
! _Toc152605220'><span style='mso-bookmark:_Toc115416270'>[HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider\Domain]</span></span></span></span></span></span></h3>
  
  <p class=MsoBodyText style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>&nbsp;
  (Domains key)</p>
  
  <h3 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><a
! name="_Toc206421355"></a><a name="_Toc193871745"></a><a name="_Toc193871500"></a><a
! name="_Toc191662274"></a><a name="_Toc152605221"></a><a name="_Toc115416271"></a><a
! name="_Toc139993263"></a><a name="_Toc126872340"></a><span style='mso-bookmark:
! _Toc206421355'><span style='mso-bookmark:_Toc193871745'><span style='mso-bookmark:
! _Toc193871500'><span style='mso-bookmark:_Toc191662274'><span style='mso-bookmark:
! _Toc152605221'><span style='mso-bookmark:_Toc115416271'>[HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider\Domain\&quot;domain
! name&quot;]</span></span></span></span></span></span></h3>
  
  <p class=MsoBodyText style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>&nbsp;
  (Specific domain key. One per domain.)</p>
  
  <h3 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><a
! name="_Toc206421356"></a><a name="_Toc193871746"></a><a name="_Toc193871501"></a><a
! name="_Toc191662275"></a><a name="_Toc152605222"></a><a name="_Toc115416272"></a><a
! name="_Toc139993264"></a><a name="_Toc126872341"></a><span style='mso-bookmark:
! _Toc206421356'><span style='mso-bookmark:_Toc193871746'><span style='mso-bookmark:
! _Toc193871501'><span style='mso-bookmark:_Toc191662275'><span style='mso-bookmark:
! _Toc152605222'><span style='mso-bookmark:_Toc115416272'>[HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider\Domain\LOCALHOST]</span></span></span></span></span></span></h3>
  
  <p class=MsoBodyText style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>&nbsp;
  (Localhost key)</p>
  
  <h3 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><a
! name="_Toc206421357"></a><a name="_Toc193871747"></a><a name="_Toc193871502"></a><a
! name="_Toc191662276"></a><a name="_Toc152605223"></a><a name="_Toc115416273"></a><a
! name="_Toc139993265"></a><a name="_Toc126872342"></a><span style='mso-bookmark:
! _Toc206421357'><span style='mso-bookmark:_Toc193871747'><span style='mso-bookmark:
! _Toc193871502'><span style='mso-bookmark:_Toc191662276'><span style='mso-bookmark:
! _Toc152605223'><span style='mso-bookmark:_Toc115416273'>Example:</span></span></span></span></span></span></h3>
  
  <p class=preformattedtext style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>&nbsp;HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider</p>
  
--- 7608,7669 ----
  specific registry keys are:</p>
  
  <h3 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><a
! name="_Toc213844498"></a><a name="_Toc206421353"></a><a name="_Toc193871743"></a><a
! name="_Toc193871498"></a><a name="_Toc191662272"></a><a name="_Toc152605219"></a><a
! name="_Toc115416269"></a><a name="_Toc139993261"></a><a name="_Toc126872338"></a><span
! style='mso-bookmark:_Toc213844498'><span style='mso-bookmark:_Toc206421353'><span
! style='mso-bookmark:_Toc193871743'><span style='mso-bookmark:_Toc193871498'><span
! style='mso-bookmark:_Toc191662272'><span style='mso-bookmark:_Toc152605219'><span
! style='mso-bookmark:_Toc115416269'>[HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider]</span></span></span></span></span></span></span></h3>
  
  <p class=MsoBodyText style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>&nbsp;
  (NP key)</p>
  
  <h3 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><a
! name="_Toc213844499"></a><a name="_Toc206421354"></a><a name="_Toc193871744"></a><a
! name="_Toc193871499"></a><a name="_Toc191662273"></a><a name="_Toc152605220"></a><a
! name="_Toc115416270"></a><a name="_Toc139993262"></a><a name="_Toc126872339"></a><span
! style='mso-bookmark:_Toc213844499'><span style='mso-bookmark:_Toc206421354'><span
! style='mso-bookmark:_Toc193871744'><span style='mso-bookmark:_Toc193871499'><span
! style='mso-bookmark:_Toc191662273'><span style='mso-bookmark:_Toc152605220'><span
! style='mso-bookmark:_Toc115416270'>[HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider\Domain]</span></span></span></span></span></span></span></h3>
  
  <p class=MsoBodyText style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>&nbsp;
  (Domains key)</p>
  
  <h3 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><a
! name="_Toc213844500"></a><a name="_Toc206421355"></a><a name="_Toc193871745"></a><a
! name="_Toc193871500"></a><a name="_Toc191662274"></a><a name="_Toc152605221"></a><a
! name="_Toc115416271"></a><a name="_Toc139993263"></a><a name="_Toc126872340"></a><span
! style='mso-bookmark:_Toc213844500'><span style='mso-bookmark:_Toc206421355'><span
! style='mso-bookmark:_Toc193871745'><span style='mso-bookmark:_Toc193871500'><span
! style='mso-bookmark:_Toc191662274'><span style='mso-bookmark:_Toc152605221'><span
! style='mso-bookmark:_Toc115416271'>[HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider\Domain\&quot;domain
! name&quot;]</span></span></span></span></span></span></span></h3>
  
  <p class=MsoBodyText style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>&nbsp;
  (Specific domain key. One per domain.)</p>
  
  <h3 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><a
! name="_Toc213844501"></a><a name="_Toc206421356"></a><a name="_Toc193871746"></a><a
! name="_Toc193871501"></a><a name="_Toc191662275"></a><a name="_Toc152605222"></a><a
! name="_Toc115416272"></a><a name="_Toc139993264"></a><a name="_Toc126872341"></a><span
! style='mso-bookmark:_Toc213844501'><span style='mso-bookmark:_Toc206421356'><span
! style='mso-bookmark:_Toc193871746'><span style='mso-bookmark:_Toc193871501'><span
! style='mso-bookmark:_Toc191662275'><span style='mso-bookmark:_Toc152605222'><span
! style='mso-bookmark:_Toc115416272'>[HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider\Domain\LOCALHOST]</span></span></span></span></span></span></span></h3>
  
  <p class=MsoBodyText style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>&nbsp;
  (Localhost key)</p>
  
  <h3 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><a
! name="_Toc213844502"></a><a name="_Toc206421357"></a><a name="_Toc193871747"></a><a
! name="_Toc193871502"></a><a name="_Toc191662276"></a><a name="_Toc152605223"></a><a
! name="_Toc115416273"></a><a name="_Toc139993265"></a><a name="_Toc126872342"></a><span
! style='mso-bookmark:_Toc213844502'><span style='mso-bookmark:_Toc206421357'><span
! style='mso-bookmark:_Toc193871747'><span style='mso-bookmark:_Toc193871502'><span
! style='mso-bookmark:_Toc191662276'><span style='mso-bookmark:_Toc152605223'><span
! style='mso-bookmark:_Toc115416273'>Example:</span></span></span></span></span></span></span></h3>
  
  <p class=preformattedtext style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>&nbsp;HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider</p>
  
***************
*** 7400,7412 ****
  2.1.1.&nbsp; The effective values are chosen as described in 2.1.2.</p>
  
  <h3 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><a
! name="_Toc206421358"></a><a name="_Toc193871748"></a><a name="_Toc193871503"></a><a
! name="_Toc191662277"></a><a name="_Toc152605224"></a><a name="_Toc115416274"></a><a
! name="_Toc139993266"></a><a name="_Toc126872343"></a><span style='mso-bookmark:
! _Toc206421358'><span style='mso-bookmark:_Toc193871748'><span style='mso-bookmark:
! _Toc193871503'><span style='mso-bookmark:_Toc191662277'><span style='mso-bookmark:
! _Toc152605224'><span style='mso-bookmark:_Toc115416274'>A.2.1.1 Domain specific
! configuration values</span></span></span></span></span></span></h3>
  
  <h4 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><a
  name="_Toc191662278"></a><a name="_Toc152605225"></a><a name="_Toc115416275"></a><a
--- 7687,7699 ----
  2.1.1.&nbsp; The effective values are chosen as described in 2.1.2.</p>
  
  <h3 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><a
! name="_Toc213844503"></a><a name="_Toc206421358"></a><a name="_Toc193871748"></a><a
! name="_Toc193871503"></a><a name="_Toc191662277"></a><a name="_Toc152605224"></a><a
! name="_Toc115416274"></a><a name="_Toc139993266"></a><a name="_Toc126872343"></a><span
! style='mso-bookmark:_Toc213844503'><span style='mso-bookmark:_Toc206421358'><span
! style='mso-bookmark:_Toc193871748'><span style='mso-bookmark:_Toc193871503'><span
! style='mso-bookmark:_Toc191662277'><span style='mso-bookmark:_Toc152605224'><span
! style='mso-bookmark:_Toc115416274'>A.2.1.1 Domain specific configuration values</span></span></span></span></span></span></span></h3>
  
  <h4 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><a
  name="_Toc191662278"></a><a name="_Toc152605225"></a><a name="_Toc115416275"></a><a
***************
*** 7424,7432 ****
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt;
    height:191.0pt'>
    <h5><a name="_Toc191662279"></a><a name="_Toc152605226"></a><a
!   name="_Toc139993268"></a><a name="_Toc126872345"></a><a name="_Toc115416276"></a><a
!   name="_Value___:_LogonOptions"></a><span style='mso-bookmark:_Toc191662279'><span
!   style='mso-bookmark:_Toc152605226'>Value: LogonOptions</span></span></h5>
    <p class=MsoBodyText>Type: DWORD<br>
    Default: 0x01</p>
    <p class=MsoBodyText>NSIS/WiX: depends on user configuration</p>
--- 7711,7719 ----
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt;
    height:191.0pt'>
    <h5><a name="_Toc191662279"></a><a name="_Toc152605226"></a><a
!   name="_Value___:_LogonOptions"></a><a name="_Toc115416276"></a><a
!   name="_Toc126872345"></a><a name="_Toc139993268"></a><span style='mso-bookmark:
!   _Toc191662279'><span style='mso-bookmark:_Toc152605226'>Value: LogonOptions</span></span></h5>
    <p class=MsoBodyText>Type: DWORD<br>
    Default: 0x01</p>
    <p class=MsoBodyText>NSIS/WiX: depends on user configuration</p>
***************
*** 7446,7452 ****
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt;
    height:92.0pt'>
    <h5><a name="_Toc191662280"></a><a name="_Toc152605227"></a><a
!   name="_Toc115416277"></a><a name="_Toc139993269"></a><a name="_Toc126872346"></a><span
    style='mso-bookmark:_Toc191662280'><span style='mso-bookmark:_Toc152605227'><span
    style='mso-bookmark:_Toc115416277'>Value: FailLoginsSilentl</span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD (1|0)<br>
--- 7733,7739 ----
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt;
    height:92.0pt'>
    <h5><a name="_Toc191662280"></a><a name="_Toc152605227"></a><a
!   name="_Toc115416277"></a><a name="_Toc126872346"></a><a name="_Toc139993269"></a><span
    style='mso-bookmark:_Toc191662280'><span style='mso-bookmark:_Toc152605227'><span
    style='mso-bookmark:_Toc115416277'>Value: FailLoginsSilentl</span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD (1|0)<br>
***************
*** 7460,7466 ****
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt;
    height:139.0pt'>
    <h5><a name="_Toc191662281"></a><a name="_Toc152605228"></a><a
!   name="_Toc115416278"></a><a name="_Toc139993270"></a><a name="_Toc126872347"></a><span
    style='mso-bookmark:_Toc191662281'><span style='mso-bookmark:_Toc152605228'><span
    style='mso-bookmark:_Toc115416278'>Value: LogonScript</span></span></span></h5>
    <p class=MsoBodyText>Type: REG_SZ or REG_EXPAND_SZ<br>
--- 7747,7753 ----
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt;
    height:139.0pt'>
    <h5><a name="_Toc191662281"></a><a name="_Toc152605228"></a><a
!   name="_Toc115416278"></a><a name="_Toc126872347"></a><a name="_Toc139993270"></a><span
    style='mso-bookmark:_Toc191662281'><span style='mso-bookmark:_Toc152605228'><span
    style='mso-bookmark:_Toc115416278'>Value: LogonScript</span></span></span></h5>
    <p class=MsoBodyText>Type: REG_SZ or REG_EXPAND_SZ<br>
***************
*** 7479,7485 ****
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt;
    height:105.5pt'>
    <h5><a name="_Toc191662282"></a><a name="_Toc152605229"></a><a
!   name="_Toc115416279"></a><a name="_Toc139993271"></a><a name="_Toc126872348"></a><span
    style='mso-bookmark:_Toc191662282'><span style='mso-bookmark:_Toc152605229'><span
    style='mso-bookmark:_Toc115416279'>Value: LoginRetryInterval</span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD<br>
--- 7766,7772 ----
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt;
    height:105.5pt'>
    <h5><a name="_Toc191662282"></a><a name="_Toc152605229"></a><a
!   name="_Toc115416279"></a><a name="_Toc126872348"></a><a name="_Toc139993271"></a><span
    style='mso-bookmark:_Toc191662282'><span style='mso-bookmark:_Toc152605229'><span
    style='mso-bookmark:_Toc115416279'>Value: LoginRetryInterval</span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD<br>
***************
*** 7495,7501 ****
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt;
    height:79.25pt'>
    <h5><a name="_Toc191662283"></a><a name="_Toc152605230"></a><a
!   name="_Toc115416280"></a><a name="_Toc139993272"></a><a name="_Toc126872349"></a><span
    style='mso-bookmark:_Toc191662283'><span style='mso-bookmark:_Toc152605230'><span
    style='mso-bookmark:_Toc115416280'>Value: LoginSleepInterval</span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD<br>
--- 7782,7788 ----
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt;
    height:79.25pt'>
    <h5><a name="_Toc191662283"></a><a name="_Toc152605230"></a><a
!   name="_Toc115416280"></a><a name="_Toc126872349"></a><a name="_Toc139993272"></a><span
    style='mso-bookmark:_Toc191662283'><span style='mso-bookmark:_Toc152605230'><span
    style='mso-bookmark:_Toc115416280'>Value: LoginSleepInterval</span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD<br>
***************
*** 7513,7529 ****
    NSIS: &lt;not set&gt;</p>
    <p class=MsoBodyText>When Kerberos v5 is being used, Realm specifies the
    Kerberos v5 realm that should be appended to the first component of the
!   Domain logon username to construct the Kerberos v5 principal for which AFS tokens
!   should be obtained.</p>
    </td>
   </tr>
   <tr style='mso-yfti-irow:6;mso-yfti-lastrow:yes;height:78.5pt'>
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt;
    height:78.5pt'>
    <h5><a name="_Toc191662285"></a><a name="_Toc152605231"></a><a
!   name="_Toc139993273"></a><a name="_Toc126872350"></a><a name="_Toc115416281"></a><a
!   name="_Value:_TheseCells"></a><span style='mso-bookmark:_Toc191662285'><span
!   style='mso-bookmark:_Toc152605231'>Value: TheseCells</span></span></h5>
    <p class=MsoBodyText>Type: REG_MULTI_SZ<br>
    NSIS: &lt;not set&gt;</p>
    <p class=MsoBodyText>When Kerberos v5 is being used, TheseCells provides a
--- 7800,7816 ----
    NSIS: &lt;not set&gt;</p>
    <p class=MsoBodyText>When Kerberos v5 is being used, Realm specifies the
    Kerberos v5 realm that should be appended to the first component of the
!   Domain logon username to construct the Kerberos v5 principal for which AFS
!   tokens should be obtained.</p>
    </td>
   </tr>
   <tr style='mso-yfti-irow:6;mso-yfti-lastrow:yes;height:78.5pt'>
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt;
    height:78.5pt'>
    <h5><a name="_Toc191662285"></a><a name="_Toc152605231"></a><a
!   name="_Value:_TheseCells"></a><a name="_Toc115416281"></a><a
!   name="_Toc126872350"></a><a name="_Toc139993273"></a><span style='mso-bookmark:
!   _Toc191662285'><span style='mso-bookmark:_Toc152605231'>Value: TheseCells</span></span></h5>
    <p class=MsoBodyText>Type: REG_MULTI_SZ<br>
    NSIS: &lt;not set&gt;</p>
    <p class=MsoBodyText>When Kerberos v5 is being used, TheseCells provides a
***************
*** 7534,7552 ****
  </table>
  
  <h3 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><a
! name="_Toc206421359"></a><a name="_Toc193871749"></a><a name="_Toc193871504"></a><a
! name="_Toc191662286"></a><a name="_Toc152605232"></a><a name="_Toc115416282"></a><a
! name="_Toc139993274"></a><a name="_Toc126872351"></a><span style='mso-bookmark:
! _Toc206421359'><span style='mso-bookmark:_Toc193871749'><span style='mso-bookmark:
! _Toc193871504'><span style='mso-bookmark:_Toc191662286'><span style='mso-bookmark:
! _Toc152605232'><span style='mso-bookmark:_Toc115416282'>A.2.1.2 Selection of
! effective values for domain specific configuration</span></span></span></span></span></span></h3>
  
  <p class=MsoBodyText style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>During
  login to domain X, where X is the domain passed into NPLogonNotify as
  lpAuthentInfo-&gt;LogonDomainName or the string 'LOCALHOST' if
! lpAuthentInfo-&gt;LogonDomainName equals the name of the computer, the
! following keys will be looked up.</p>
  
  <p class=MsoBodyText style='margin-left:.5in;text-indent:-.25in;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>1.<span
  style='font-size:7.0pt;font-family:"Times New Roman","serif"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
--- 7821,7840 ----
  </table>
  
  <h3 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><a
! name="_Toc213844504"></a><a name="_Toc206421359"></a><a name="_Toc193871749"></a><a
! name="_Toc193871504"></a><a name="_Toc191662286"></a><a name="_Toc152605232"></a><a
! name="_Toc115416282"></a><a name="_Toc139993274"></a><a name="_Toc126872351"></a><span
! style='mso-bookmark:_Toc213844504'><span style='mso-bookmark:_Toc206421359'><span
! style='mso-bookmark:_Toc193871749'><span style='mso-bookmark:_Toc193871504'><span
! style='mso-bookmark:_Toc191662286'><span style='mso-bookmark:_Toc152605232'><span
! style='mso-bookmark:_Toc115416282'>A.2.1.2 Selection of effective values for
! domain specific configuration</span></span></span></span></span></span></span></h3>
  
  <p class=MsoBodyText style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>During
  login to domain X, where X is the domain passed into NPLogonNotify as
  lpAuthentInfo-&gt;LogonDomainName or the string 'LOCALHOST' if
! lpAuthentInfo-&gt;LogonDomainName equals the name of the computer, the following
! keys will be looked up.</p>
  
  <p class=MsoBodyText style='margin-left:.5in;text-indent:-.25in;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>1.<span
  style='font-size:7.0pt;font-family:"Times New Roman","serif"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
***************
*** 7576,7588 ****
  this rule are stated below.</p>
  
  <h3 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><a
! name="_Toc206421360"></a><a name="_Toc193871750"></a><a name="_Toc193871505"></a><a
! name="_Toc191662287"></a><a name="_Toc152605233"></a><a name="_Toc115416283"></a><a
! name="_Toc139993275"></a><a name="_Toc126872352"></a><span style='mso-bookmark:
! _Toc206421360'><span style='mso-bookmark:_Toc193871750'><span style='mso-bookmark:
! _Toc193871505'><span style='mso-bookmark:_Toc191662287'><span style='mso-bookmark:
! _Toc152605233'><span style='mso-bookmark:_Toc115416283'>A.2.1.3 Exceptions to
! A.2.1.2</span></span></span></span></span></span></h3>
  
  <p class=MsoBodyText style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>To
  retain backwards compatibility, the following exceptions are made to 2.1.2.</p>
--- 7864,7876 ----
  this rule are stated below.</p>
  
  <h3 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><a
! name="_Toc213844505"></a><a name="_Toc206421360"></a><a name="_Toc193871750"></a><a
! name="_Toc193871505"></a><a name="_Toc191662287"></a><a name="_Toc152605233"></a><a
! name="_Toc115416283"></a><a name="_Toc139993275"></a><a name="_Toc126872352"></a><span
! style='mso-bookmark:_Toc213844505'><span style='mso-bookmark:_Toc206421360'><span
! style='mso-bookmark:_Toc193871750'><span style='mso-bookmark:_Toc193871505'><span
! style='mso-bookmark:_Toc191662287'><span style='mso-bookmark:_Toc152605233'><span
! style='mso-bookmark:_Toc115416283'>A.2.1.3 Exceptions to A.2.1.2</span></span></span></span></span></span></span></h3>
  
  <p class=MsoBodyText style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>To
  retain backwards compatibility, the following exceptions are made to 2.1.2.</p>
***************
*** 7615,7639 ****
  setting this value.</p>
  
  <h2 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><a
! name="_Toc206421361"></a><a name="_Toc193871751"></a><a name="_Toc193871506"></a><a
! name="_Toc191662290"></a><a name="_Toc152605236"></a><a name="_Toc115416286"></a><a
! name="_Toc139993278"></a><a name="_Toc126872355"></a><a name="_Toc115417107"></a><span
! style='mso-bookmark:_Toc206421361'><span style='mso-bookmark:_Toc193871751'><span
! style='mso-bookmark:_Toc193871506'><span style='mso-bookmark:_Toc191662290'><span
! style='mso-bookmark:_Toc152605236'><span style='mso-bookmark:_Toc115416286'>A.3.
! AFS Credentials System Tray Tool parameters</span></span></span></span></span></span></h2>
  
  <p class=MsoBodyText style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>Affects
  the behavior of afscreds.exe</p>
  
  <h3 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><a
! name="_Toc206421362"></a><a name="_Toc193871752"></a><a name="_Toc193871507"></a><a
! name="_Toc191662291"></a><a name="_Toc152605237"></a><a name="_Toc115416287"></a><a
! name="_Toc139993279"></a><a name="_Toc126872356"></a><span style='mso-bookmark:
! _Toc206421362'><span style='mso-bookmark:_Toc193871752'><span style='mso-bookmark:
! _Toc193871507'><span style='mso-bookmark:_Toc191662291'><span style='mso-bookmark:
! _Toc152605237'><span style='mso-bookmark:_Toc115416287'>Regkey:<br>
! [HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters]</span></span></span></span></span></span></h3>
  
  <table class=MsoNormalTable border=1 cellspacing=3 cellpadding=0
   style='mso-cellspacing:2.2pt;mso-yfti-tbllook:1184;mso-padding-alt:0in 0in 0in 0in'>
--- 7903,7930 ----
  setting this value.</p>
  
  <h2 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><a
! name="_Toc213847237"></a><a name="_Toc213844506"></a><a name="_Toc206421361"></a><a
! name="_Toc193871751"></a><a name="_Toc193871506"></a><a name="_Toc191662290"></a><a
! name="_Toc152605236"></a><a name="_Toc115416286"></a><a name="_Toc139993278"></a><a
! name="_Toc126872355"></a><a name="_Toc115417107"></a><span style='mso-bookmark:
! _Toc213847237'><span style='mso-bookmark:_Toc213844506'><span style='mso-bookmark:
! _Toc206421361'><span style='mso-bookmark:_Toc193871751'><span style='mso-bookmark:
! _Toc193871506'><span style='mso-bookmark:_Toc191662290'><span style='mso-bookmark:
! _Toc152605236'><span style='mso-bookmark:_Toc115416286'>A.3. AFS Credentials
! System Tray Tool parameters</span></span></span></span></span></span></span></span></h2>
  
  <p class=MsoBodyText style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>Affects
  the behavior of afscreds.exe</p>
  
  <h3 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><a
! name="_Toc213844507"></a><a name="_Toc206421362"></a><a name="_Toc193871752"></a><a
! name="_Toc193871507"></a><a name="_Toc191662291"></a><a name="_Toc152605237"></a><a
! name="_Toc115416287"></a><a name="_Toc139993279"></a><a name="_Toc126872356"></a><span
! style='mso-bookmark:_Toc213844507'><span style='mso-bookmark:_Toc206421362'><span
! style='mso-bookmark:_Toc193871752'><span style='mso-bookmark:_Toc193871507'><span
! style='mso-bookmark:_Toc191662291'><span style='mso-bookmark:_Toc152605237'><span
! style='mso-bookmark:_Toc115416287'>Regkey:<br>
! [HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters]</span></span></span></span></span></span></span></h3>
  
  <table class=MsoNormalTable border=1 cellspacing=3 cellpadding=0
   style='mso-cellspacing:2.2pt;mso-yfti-tbllook:1184;mso-padding-alt:0in 0in 0in 0in'>
***************
*** 7641,7647 ****
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt;
    height:92.0pt'>
    <h5><a name="_Toc191662292"></a><a name="_Toc152605238"></a><a
!   name="_Toc115416288"></a><a name="_Toc139993280"></a><a name="_Toc126872357"></a><span
    style='mso-bookmark:_Toc191662292'><span style='mso-bookmark:_Toc152605238'><span
    style='mso-bookmark:_Toc115416288'>Value: Gateway</span></span></span></h5>
    <p class=MsoBodyText>Type: REG_SZ<br>
--- 7932,7938 ----
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt;
    height:92.0pt'>
    <h5><a name="_Toc191662292"></a><a name="_Toc152605238"></a><a
!   name="_Toc115416288"></a><a name="_Toc126872357"></a><a name="_Toc139993280"></a><span
    style='mso-bookmark:_Toc191662292'><span style='mso-bookmark:_Toc152605238'><span
    style='mso-bookmark:_Toc115416288'>Value: Gateway</span></span></span></h5>
    <p class=MsoBodyText>Type: REG_SZ<br>
***************
*** 7655,7661 ****
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt;
    height:92.0pt'>
    <h5><a name="_Toc191662293"></a><a name="_Toc152605239"></a><a
!   name="_Toc115416289"></a><a name="_Toc139993281"></a><a name="_Toc126872358"></a><span
    style='mso-bookmark:_Toc191662293'><span style='mso-bookmark:_Toc152605239'><span
    style='mso-bookmark:_Toc115416289'>Value: Cell</span></span></span></h5>
    <p class=MsoBodyText>Type: REG_SZ<br>
--- 7946,7952 ----
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt;
    height:92.0pt'>
    <h5><a name="_Toc191662293"></a><a name="_Toc152605239"></a><a
!   name="_Toc115416289"></a><a name="_Toc126872358"></a><a name="_Toc139993281"></a><span
    style='mso-bookmark:_Toc191662293'><span style='mso-bookmark:_Toc152605239'><span
    style='mso-bookmark:_Toc115416289'>Value: Cell</span></span></span></h5>
    <p class=MsoBodyText>Type: REG_SZ<br>
***************
*** 7668,7681 ****
  </table>
  
  <h3 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><a
! name="_Toc206421363"></a><a name="_Toc193871753"></a><a name="_Toc193871508"></a><a
! name="_Toc191662294"></a><a name="_Toc152605240"></a><a name="_Toc115416290"></a><a
! name="_Toc139993282"></a><a name="_Toc126872359"></a><span style='mso-bookmark:
! _Toc206421363'><span style='mso-bookmark:_Toc193871753'><span style='mso-bookmark:
! _Toc193871508'><span style='mso-bookmark:_Toc191662294'><span style='mso-bookmark:
! _Toc152605240'><span style='mso-bookmark:_Toc115416290'>Regkey:<br>
  [HKLM\SOFTWARE\OpenAFS\Client]<br>
! [HKCU\SOFTWARE\OpenAFS\Client]</span></span></span></span></span></span></h3>
  
  <table class=MsoNormalTable border=1 cellspacing=3 cellpadding=0
   style='mso-cellspacing:2.2pt;mso-yfti-tbllook:1184;mso-padding-alt:0in 0in 0in 0in'>
--- 7959,7973 ----
  </table>
  
  <h3 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><a
! name="_Toc213844508"></a><a name="_Toc206421363"></a><a name="_Toc193871753"></a><a
! name="_Toc193871508"></a><a name="_Toc191662294"></a><a name="_Toc152605240"></a><a
! name="_Toc115416290"></a><a name="_Toc139993282"></a><a name="_Toc126872359"></a><span
! style='mso-bookmark:_Toc213844508'><span style='mso-bookmark:_Toc206421363'><span
! style='mso-bookmark:_Toc193871753'><span style='mso-bookmark:_Toc193871508'><span
! style='mso-bookmark:_Toc191662294'><span style='mso-bookmark:_Toc152605240'><span
! style='mso-bookmark:_Toc115416290'>Regkey:<br>
  [HKLM\SOFTWARE\OpenAFS\Client]<br>
! [HKCU\SOFTWARE\OpenAFS\Client]</span></span></span></span></span></span></span></h3>
  
  <table class=MsoNormalTable border=1 cellspacing=3 cellpadding=0
   style='mso-cellspacing:2.2pt;mso-yfti-tbllook:1184;mso-padding-alt:0in 0in 0in 0in'>
***************
*** 7683,7697 ****
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt;
    height:157.5pt'>
    <h5><a name="_Toc191662295"></a><a name="_Toc152605241"></a><a
!   name="_Toc115416291"></a><a name="_Toc139993283"></a><a name="_Toc126872360"></a><span
    style='mso-bookmark:_Toc191662295'><span style='mso-bookmark:_Toc152605241'><span
    style='mso-bookmark:_Toc115416291'>Value: ShowTrayIcon</span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD {0, 1}<br>
    Default: 1<br>
    Function: InitApp(), Main_OnCheckTerminate()</p>
!   <p class=MsoBodyText>This value is used to determine whether or not a shortcut
!   should be maintained in the user's Start Menu-&gt;Programs-&gt;Startup
!   folder. </p>
    <p class=MsoBodyText>This value used to be stored at
    [HKLM\Software\TransarcCorporation\AFS Client\AfsCreds].</p>
    <p class=MsoBodyText>The current user value is checked first; if it does not
--- 7975,7989 ----
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt;
    height:157.5pt'>
    <h5><a name="_Toc191662295"></a><a name="_Toc152605241"></a><a
!   name="_Toc115416291"></a><a name="_Toc126872360"></a><a name="_Toc139993283"></a><span
    style='mso-bookmark:_Toc191662295'><span style='mso-bookmark:_Toc152605241'><span
    style='mso-bookmark:_Toc115416291'>Value: ShowTrayIcon</span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD {0, 1}<br>
    Default: 1<br>
    Function: InitApp(), Main_OnCheckTerminate()</p>
!   <p class=MsoBodyText>This value is used to determine whether or not a
!   shortcut should be maintained in the user's Start
!   Menu-&gt;Programs-&gt;Startup folder. </p>
    <p class=MsoBodyText>This value used to be stored at
    [HKLM\Software\TransarcCorporation\AFS Client\AfsCreds].</p>
    <p class=MsoBodyText>The current user value is checked first; if it does not
***************
*** 7702,7709 ****
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt;
    height:119.0pt'>
    <h5><a name="_Toc191662296"></a><a name="_Toc152605242"></a><a
!   name="_Toc115416292"></a><a name="_Value:_EnableKFW"></a><a name=EnableKFW></a><a
!   name="_Toc139993284"></a><a name="_Toc126872361"></a><span style='mso-bookmark:
    _Toc191662296'><span style='mso-bookmark:_Toc152605242'><span
    style='mso-bookmark:_Toc115416292'>Value: EnableKFW</span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD {0, 1}<br>
--- 7994,8001 ----
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt;
    height:119.0pt'>
    <h5><a name="_Toc191662296"></a><a name="_Toc152605242"></a><a
!   name="_Toc115416292"></a><a name="_Toc126872361"></a><a name="_Toc139993284"></a><a
!   name=EnableKFW></a><a name="_Value:_EnableKFW"></a><span style='mso-bookmark:
    _Toc191662296'><span style='mso-bookmark:_Toc152605242'><span
    style='mso-bookmark:_Toc115416292'>Value: EnableKFW</span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD {0, 1}<br>
***************
*** 7733,7749 ****
    href="mailto:user/admin@REALM"><span class=Heading1Char><span
    style='font-size:14.0pt;mso-fareast-font-family:"MS Mincho";text-decoration:
    none;text-underline:none'>user/admin@REALM</span></span></a>&quot; are
!   interpreted as the same user identity within the cell.&nbsp; To enable both
!   names to be sent to the server by AFSCreds or Integrated Logon, set this value
!   to 1.</p>
    </td>
   </tr>
   <tr style='mso-yfti-irow:3;height:119.0pt'>
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt;
    height:119.0pt'>
!   <h5><a name="_Toc191662298"></a><a name="_Value:_Use524"></a><a name=Use524></a><a
!   name="_Toc139993285"></a><a name="_Toc126872362"></a><a
!   name="_Value___:_Use524"></a><span style='mso-bookmark:_Toc191662298'>Value:
    Use524</span></h5>
    <p class=MsoBodyText>Type: DWORD {0, 1}<br>
    Default: 0<br>
--- 8025,8041 ----
    href="mailto:user/admin@REALM"><span class=Heading1Char><span
    style='font-size:14.0pt;mso-fareast-font-family:"MS Mincho";text-decoration:
    none;text-underline:none'>user/admin@REALM</span></span></a>&quot; are
!   interpreted as the same user identity within the cell.&nbsp; To enable both names
!   to be sent to the server by AFSCreds or Integrated Logon, set this value to
!   1.</p>
    </td>
   </tr>
   <tr style='mso-yfti-irow:3;height:119.0pt'>
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt;
    height:119.0pt'>
!   <h5><a name="_Toc191662298"></a><a name="_Value___:_Use524"></a><a
!   name="_Toc126872362"></a><a name="_Toc139993285"></a><a name=Use524></a><a
!   name="_Value:_Use524"></a><span style='mso-bookmark:_Toc191662298'>Value:
    Use524</span></h5>
    <p class=MsoBodyText>Type: DWORD {0, 1}<br>
    Default: 0<br>
***************
*** 7759,7767 ****
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt;
    height:251.5pt'>
    <h5><a name="_Toc191662299"></a><a name="_Toc152605244"></a><a
!   name="_Toc139993286"></a><a name="_Toc126872363"></a><a name="_Toc115416294"></a><a
!   name="_Value___:_AfscredsShortcutParams"></a><span style='mso-bookmark:_Toc191662299'><span
!   style='mso-bookmark:_Toc152605244'>Value: AfscredsShortcutParams</span></span></h5>
    <p class=MsoBodyText>Type: REG_SZ<br>
    Default: &quot;-A -M -N -Q&quot;<br>
    Function: Shortcut_FixStartup</p>
--- 8051,8060 ----
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt;
    height:251.5pt'>
    <h5><a name="_Toc191662299"></a><a name="_Toc152605244"></a><a
!   name="_Value___:_AfscredsShortcutParams"></a><a name="_Toc115416294"></a><a
!   name="_Toc126872363"></a><a name="_Toc139993286"></a><span style='mso-bookmark:
!   _Toc191662299'><span style='mso-bookmark:_Toc152605244'>Value:
!   AfscredsShortcutParams</span></span></h5>
    <p class=MsoBodyText>Type: REG_SZ<br>
    Default: &quot;-A -M -N -Q&quot;<br>
    Function: Shortcut_FixStartup</p>
***************
*** 7786,7798 ****
  </table>
  
  <h3 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><a
! name="_Toc206421364"></a><a name="_Toc193871754"></a><a name="_Toc193871509"></a><a
! name="_Toc191662300"></a><a name="_Toc152605245"></a><a name="_Toc115416295"></a><a
! name="_Toc139993287"></a><a name="_Toc126872364"></a><span style='mso-bookmark:
! _Toc206421364'><span style='mso-bookmark:_Toc193871754'><span style='mso-bookmark:
! _Toc193871509'><span style='mso-bookmark:_Toc191662300'><span style='mso-bookmark:
! _Toc152605245'><span style='mso-bookmark:_Toc115416295'>Regkey:<br>
! [HKCU\SOFTWARE\OpenAFS\Client]</span></span></span></span></span></span></h3>
  
  <table class=MsoNormalTable border=1 cellspacing=3 cellpadding=0
   style='mso-cellspacing:2.2pt;mso-yfti-tbllook:1184;mso-padding-alt:0in 0in 0in 0in'>
--- 8079,8092 ----
  </table>
  
  <h3 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><a
! name="_Toc213844509"></a><a name="_Toc206421364"></a><a name="_Toc193871754"></a><a
! name="_Toc193871509"></a><a name="_Toc191662300"></a><a name="_Toc152605245"></a><a
! name="_Toc115416295"></a><a name="_Toc139993287"></a><a name="_Toc126872364"></a><span
! style='mso-bookmark:_Toc213844509'><span style='mso-bookmark:_Toc206421364'><span
! style='mso-bookmark:_Toc193871754'><span style='mso-bookmark:_Toc193871509'><span
! style='mso-bookmark:_Toc191662300'><span style='mso-bookmark:_Toc152605245'><span
! style='mso-bookmark:_Toc115416295'>Regkey:<br>
! [HKCU\SOFTWARE\OpenAFS\Client]</span></span></span></span></span></span></span></h3>
  
  <table class=MsoNormalTable border=1 cellspacing=3 cellpadding=0
   style='mso-cellspacing:2.2pt;mso-yfti-tbllook:1184;mso-padding-alt:0in 0in 0in 0in'>
***************
*** 7801,7807 ****
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt;
    height:92.0pt'>
    <h5><a name="_Toc191662301"></a><a name="_Toc152605246"></a><a
!   name="_Toc115416296"></a><a name="_Toc139993288"></a><a name="_Toc126872365"></a><span
    style='mso-bookmark:_Toc191662301'><span style='mso-bookmark:_Toc152605246'><span
    style='mso-bookmark:_Toc115416296'>Value: Authentication Cell</span></span></span></h5>
    <p class=MsoBodyText>Type: REG_SZ<br>
--- 8095,8101 ----
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt;
    height:92.0pt'>
    <h5><a name="_Toc191662301"></a><a name="_Toc152605246"></a><a
!   name="_Toc115416296"></a><a name="_Toc126872365"></a><a name="_Toc139993288"></a><span
    style='mso-bookmark:_Toc191662301'><span style='mso-bookmark:_Toc152605246'><span
    style='mso-bookmark:_Toc115416296'>Value: Authentication Cell</span></span></span></h5>
    <p class=MsoBodyText>Type: REG_SZ<br>
***************
*** 7814,7826 ****
  </table>
  
  <h3 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><a
! name="_Toc206421365"></a><a name="_Toc193871755"></a><a name="_Toc193871510"></a><a
! name="_Toc191662302"></a><a name="_Toc152605247"></a><a name="_Toc115416297"></a><a
! name="_Toc139993289"></a><a name="_Toc126872366"></a><span style='mso-bookmark:
! _Toc206421365'><span style='mso-bookmark:_Toc193871755'><span style='mso-bookmark:
! _Toc193871510'><span style='mso-bookmark:_Toc191662302'><span style='mso-bookmark:
! _Toc152605247'><span style='mso-bookmark:_Toc115416297'>Regkey:<br>
! [HKCU\SOFTWARE\OpenAFS\Client\Reminders]</span></span></span></span></span></span></h3>
  
  <table class=MsoNormalTable border=1 cellspacing=3 cellpadding=0
   style='mso-cellspacing:2.2pt;mso-yfti-tbllook:1184;mso-padding-alt:0in 0in 0in 0in'>
--- 8108,8121 ----
  </table>
  
  <h3 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><a
! name="_Toc213844510"></a><a name="_Toc206421365"></a><a name="_Toc193871755"></a><a
! name="_Toc193871510"></a><a name="_Toc191662302"></a><a name="_Toc152605247"></a><a
! name="_Toc115416297"></a><a name="_Toc139993289"></a><a name="_Toc126872366"></a><span
! style='mso-bookmark:_Toc213844510'><span style='mso-bookmark:_Toc206421365'><span
! style='mso-bookmark:_Toc193871755'><span style='mso-bookmark:_Toc193871510'><span
! style='mso-bookmark:_Toc191662302'><span style='mso-bookmark:_Toc152605247'><span
! style='mso-bookmark:_Toc115416297'>Regkey:<br>
! [HKCU\SOFTWARE\OpenAFS\Client\Reminders]</span></span></span></span></span></span></span></h3>
  
  <table class=MsoNormalTable border=1 cellspacing=3 cellpadding=0
   style='mso-cellspacing:2.2pt;mso-yfti-tbllook:1184;mso-padding-alt:0in 0in 0in 0in'>
***************
*** 7829,7835 ****
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt;
    height:124.75pt'>
    <h5><a name="_Toc191662303"></a><a name="_Toc152605248"></a><a
!   name="_Toc115416298"></a><a name="_Toc139993290"></a><a name="_Toc126872367"></a><span
    style='mso-bookmark:_Toc191662303'><span style='mso-bookmark:_Toc152605248'><span
    style='mso-bookmark:_Toc115416298'>Value: &quot;afs cell name&quot;</span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD {0, 1}<br>
--- 8124,8130 ----
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt;
    height:124.75pt'>
    <h5><a name="_Toc191662303"></a><a name="_Toc152605248"></a><a
!   name="_Toc115416298"></a><a name="_Toc126872367"></a><a name="_Toc139993290"></a><span
    style='mso-bookmark:_Toc191662303'><span style='mso-bookmark:_Toc152605248'><span
    style='mso-bookmark:_Toc115416298'>Value: &quot;afs cell name&quot;</span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD {0, 1}<br>
***************
*** 7844,7856 ****
  </table>
  
  <h3 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><a
! name="_Toc206421366"></a><a name="_Toc193871756"></a><a name="_Toc193871511"></a><a
! name="_Toc191662304"></a><a name="_Toc152605249"></a><a name="_Toc115416299"></a><a
! name="_Toc139993291"></a><a name="_Toc126872368"></a><span style='mso-bookmark:
! _Toc206421366'><span style='mso-bookmark:_Toc193871756'><span style='mso-bookmark:
! _Toc193871511'><span style='mso-bookmark:_Toc191662304'><span style='mso-bookmark:
! _Toc152605249'><span style='mso-bookmark:_Toc115416299'>Regkey:<br>
! [HKCU\SOFTWARE\OpenAFS\Client\Active Maps]</span></span></span></span></span></span></h3>
  
  <table class=MsoNormalTable border=1 cellspacing=3 cellpadding=0
   style='mso-cellspacing:2.2pt;mso-yfti-tbllook:1184;mso-padding-alt:0in 0in 0in 0in'>
--- 8139,8152 ----
  </table>
  
  <h3 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><a
! name="_Toc213844511"></a><a name="_Toc206421366"></a><a name="_Toc193871756"></a><a
! name="_Toc193871511"></a><a name="_Toc191662304"></a><a name="_Toc152605249"></a><a
! name="_Toc115416299"></a><a name="_Toc139993291"></a><a name="_Toc126872368"></a><span
! style='mso-bookmark:_Toc213844511'><span style='mso-bookmark:_Toc206421366'><span
! style='mso-bookmark:_Toc193871756'><span style='mso-bookmark:_Toc193871511'><span
! style='mso-bookmark:_Toc191662304'><span style='mso-bookmark:_Toc152605249'><span
! style='mso-bookmark:_Toc115416299'>Regkey:<br>
! [HKCU\SOFTWARE\OpenAFS\Client\Active Maps]</span></span></span></span></span></span></span></h3>
  
  <table class=MsoNormalTable border=1 cellspacing=3 cellpadding=0
   style='mso-cellspacing:2.2pt;mso-yfti-tbllook:1184;mso-padding-alt:0in 0in 0in 0in'>
***************
*** 7859,7865 ****
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt;
    height:98.5pt'>
    <h5><a name="_Toc191662305"></a><a name="_Toc152605250"></a><a
!   name="_Toc115416300"></a><a name="_Toc139993292"></a><a name="_Toc126872369"></a><span
    style='mso-bookmark:_Toc191662305'><span style='mso-bookmark:_Toc152605250'><span
    style='mso-bookmark:_Toc115416300'>Value: &quot;upper case drive letter&quot;</span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD {0, 1}<br>
--- 8155,8161 ----
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt;
    height:98.5pt'>
    <h5><a name="_Toc191662305"></a><a name="_Toc152605250"></a><a
!   name="_Toc115416300"></a><a name="_Toc126872369"></a><a name="_Toc139993292"></a><span
    style='mso-bookmark:_Toc191662305'><span style='mso-bookmark:_Toc152605250'><span
    style='mso-bookmark:_Toc115416300'>Value: &quot;upper case drive letter&quot;</span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD {0, 1}<br>
***************
*** 7872,7884 ****
  </table>
  
  <h3 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><a
! name="_Toc206421367"></a><a name="_Toc193871757"></a><a name="_Toc193871512"></a><a
! name="_Toc191662306"></a><a name="_Toc152605251"></a><a name="_Toc115416301"></a><a
! name="_Toc139993293"></a><a name="_Toc126872370"></a><span style='mso-bookmark:
! _Toc206421367'><span style='mso-bookmark:_Toc193871757'><span style='mso-bookmark:
! _Toc193871512'><span style='mso-bookmark:_Toc191662306'><span style='mso-bookmark:
! _Toc152605251'><span style='mso-bookmark:_Toc115416301'>Regkey:<br>
! [HKCU\SOFTWARE\OpenAFS\Client\Mappings]</span></span></span></span></span></span></h3>
  
  <table class=MsoNormalTable border=1 cellspacing=3 cellpadding=0
   style='mso-cellspacing:2.2pt;mso-yfti-tbllook:1184;mso-padding-alt:0in 0in 0in 0in'>
--- 8168,8181 ----
  </table>
  
  <h3 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><a
! name="_Toc213844512"></a><a name="_Toc206421367"></a><a name="_Toc193871757"></a><a
! name="_Toc193871512"></a><a name="_Toc191662306"></a><a name="_Toc152605251"></a><a
! name="_Toc115416301"></a><a name="_Toc139993293"></a><a name="_Toc126872370"></a><span
! style='mso-bookmark:_Toc213844512'><span style='mso-bookmark:_Toc206421367'><span
! style='mso-bookmark:_Toc193871757'><span style='mso-bookmark:_Toc193871512'><span
! style='mso-bookmark:_Toc191662306'><span style='mso-bookmark:_Toc152605251'><span
! style='mso-bookmark:_Toc115416301'>Regkey:<br>
! [HKCU\SOFTWARE\OpenAFS\Client\Mappings]</span></span></span></span></span></span></span></h3>
  
  <table class=MsoNormalTable border=1 cellspacing=3 cellpadding=0
   style='mso-cellspacing:2.2pt;mso-yfti-tbllook:1184;mso-padding-alt:0in 0in 0in 0in'>
***************
*** 7887,7893 ****
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt;
    height:98.5pt'>
    <h5><a name="_Toc191662307"></a><a name="_Toc152605252"></a><a
!   name="_Toc115416302"></a><a name="_Toc139993294"></a><a name="_Toc126872371"></a><span
    style='mso-bookmark:_Toc191662307'><span style='mso-bookmark:_Toc152605252'><span
    style='mso-bookmark:_Toc115416302'>Value: &quot;upper case drive letter&quot;</span></span></span></h5>
    <p class=MsoBodyText>Type: REG_SZ<br>
--- 8184,8190 ----
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt;
    height:98.5pt'>
    <h5><a name="_Toc191662307"></a><a name="_Toc152605252"></a><a
!   name="_Toc115416302"></a><a name="_Toc126872371"></a><a name="_Toc139993294"></a><span
    style='mso-bookmark:_Toc191662307'><span style='mso-bookmark:_Toc152605252'><span
    style='mso-bookmark:_Toc115416302'>Value: &quot;upper case drive letter&quot;</span></span></span></h5>
    <p class=MsoBodyText>Type: REG_SZ<br>
***************
*** 7900,7921 ****
  </table>
  
  <h2 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><a
! name="_Toc206421368"></a><a name="_Toc193871758"></a><a name="_Toc193871513"></a><a
! name="_Toc191662308"></a><a name="_Toc152605253"></a><a name="_Toc115416303"></a><a
! name="_Toc139993295"></a><a name="_Toc126872372"></a><a name="_Toc115417108"></a><span
! style='mso-bookmark:_Toc206421368'><span style='mso-bookmark:_Toc193871758'><span
! style='mso-bookmark:_Toc193871513'><span style='mso-bookmark:_Toc191662308'><span
! style='mso-bookmark:_Toc152605253'><span style='mso-bookmark:_Toc115416303'><span
! lang=FR style='mso-ansi-language:FR'>A.4 OpenAFS Client Service Environment
! Variables</span></span></span></span></span></span></span><span lang=FR
! style='mso-ansi-language:FR'><o:p></o:p></span></h2>
  
  <table class=MsoNormalTable border=1 cellspacing=3 cellpadding=0
   style='mso-cellspacing:2.2pt;mso-yfti-tbllook:1184;mso-padding-alt:0in 0in 0in 0in'>
   <tr style='mso-yfti-irow:0;mso-yfti-firstrow:yes'>
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt'>
    <h5><a name="_Toc191662309"></a><a name="_Toc152605254"></a><a
!   name="_Toc115416304"></a><a name="_Toc139993296"></a><a name="_Toc126872373"></a><span
    style='mso-bookmark:_Toc191662309'><span style='mso-bookmark:_Toc152605254'><span
    style='mso-bookmark:_Toc115416304'>Variable: AFS_RPC_ENCRYPT</span></span></span></h5>
    <p class=MsoBodyText>Values:&nbsp;&nbsp; &quot;OFF&quot; disables the use of
--- 8197,8219 ----
  </table>
  
  <h2 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><a
! name="_Toc213847238"></a><a name="_Toc213844513"></a><a name="_Toc206421368"></a><a
! name="_Toc193871758"></a><a name="_Toc193871513"></a><a name="_Toc191662308"></a><a
! name="_Toc152605253"></a><a name="_Toc115416303"></a><a name="_Toc139993295"></a><a
! name="_Toc126872372"></a><a name="_Toc115417108"></a><span style='mso-bookmark:
! _Toc213847238'><span style='mso-bookmark:_Toc213844513'><span style='mso-bookmark:
! _Toc206421368'><span style='mso-bookmark:_Toc193871758'><span style='mso-bookmark:
! _Toc193871513'><span style='mso-bookmark:_Toc191662308'><span style='mso-bookmark:
! _Toc152605253'><span style='mso-bookmark:_Toc115416303'><span lang=FR
! style='mso-ansi-language:FR'>A.4 OpenAFS Client Service Environment Variables</span></span></span></span></span></span></span></span></span><span
! lang=FR style='mso-ansi-language:FR'><o:p></o:p></span></h2>
  
  <table class=MsoNormalTable border=1 cellspacing=3 cellpadding=0
   style='mso-cellspacing:2.2pt;mso-yfti-tbllook:1184;mso-padding-alt:0in 0in 0in 0in'>
   <tr style='mso-yfti-irow:0;mso-yfti-firstrow:yes'>
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt'>
    <h5><a name="_Toc191662309"></a><a name="_Toc152605254"></a><a
!   name="_Toc115416304"></a><a name="_Toc126872373"></a><a name="_Toc139993296"></a><span
    style='mso-bookmark:_Toc191662309'><span style='mso-bookmark:_Toc152605254'><span
    style='mso-bookmark:_Toc115416304'>Variable: AFS_RPC_ENCRYPT</span></span></span></h5>
    <p class=MsoBodyText>Values:&nbsp;&nbsp; &quot;OFF&quot; disables the use of
***************
*** 7926,7932 ****
   <tr style='mso-yfti-irow:1;mso-yfti-lastrow:yes'>
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt'>
    <h5><a name="_Toc191662310"></a><a name="_Toc152605255"></a><a
!   name="_Toc115416305"></a><a name="_Toc139993297"></a><a name="_Toc126872374"></a><span
    style='mso-bookmark:_Toc191662310'><span style='mso-bookmark:_Toc152605255'><span
    style='mso-bookmark:_Toc115416305'>Variable: AFS_RPC_PROTSEQ</span></span></span></h5>
    <p class=MsoBodyText>Values:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
--- 8224,8230 ----
   <tr style='mso-yfti-irow:1;mso-yfti-lastrow:yes'>
    <td width=590 valign=top style='width:6.15in;padding:0in 5.4pt 0in 5.4pt'>
    <h5><a name="_Toc191662310"></a><a name="_Toc152605255"></a><a
!   name="_Toc115416305"></a><a name="_Toc126872374"></a><a name="_Toc139993297"></a><span
    style='mso-bookmark:_Toc191662310'><span style='mso-bookmark:_Toc152605255'><span
    style='mso-bookmark:_Toc115416305'>Variable: AFS_RPC_PROTSEQ</span></span></span></h5>
    <p class=MsoBodyText>Values:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Index: openafs/src/WINNT/doc/install/Documentation/en_US/html/ReleaseNotes/toc.htm
diff -c openafs/src/WINNT/doc/install/Documentation/en_US/html/ReleaseNotes/toc.htm:1.2.6.38 openafs/src/WINNT/doc/install/Documentation/en_US/html/ReleaseNotes/toc.htm:1.2.6.39
*** openafs/src/WINNT/doc/install/Documentation/en_US/html/ReleaseNotes/toc.htm:1.2.6.38	Tue Oct  7 18:10:01 2008
--- openafs/src/WINNT/doc/install/Documentation/en_US/html/ReleaseNotes/toc.htm	Fri Nov  7 19:06:52 2008
***************
*** 1,41 ****
  <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="http://www.w3.org/TR/REC-html40"
! xmlns:ns0="http://schemas.microsoft.com/office/2004/12/omml">
  
  <head>
  <meta http-equiv=Content-Type content="text/html; charset=windows-1252">
  <meta name=ProgId content=Word.Document>
! <meta name=Generator content="Microsoft Word 11">
! <meta name=Originator content="Microsoft Word 11">
  <base target=body>
  <link rel=File-List href="toc_files/filelist.xml">
! <title>OpenAFS for Windows 1.5.54 Table of Contents</title>
  <!--[if gte mso 9]><xml>
   <o:DocumentProperties>
    <o:Author>Jeffrey Altman</o:Author>
    <o:LastAuthor>Jeffrey Altman</o:LastAuthor>
    <o:Revision>1</o:Revision>
!   <o:TotalTime>14</o:TotalTime>
    <o:Created>2006-11-30T04:12:00Z</o:Created>
    <o:LastSaved>2006-11-30T04:14:00Z</o:LastSaved>
!   <o:Pages>1</o:Pages>
!   <o:Words>3125</o:Words>
!   <o:Characters>17817</o:Characters>
    <o:Company>Secure Endpoints Inc.</o:Company>
!   <o:Lines>148</o:Lines>
    <o:Paragraphs>41</o:Paragraphs>
!   <o:CharactersWithSpaces>20901</o:CharactersWithSpaces>
!   <o:Version>11.9999</o:Version>
   </o:DocumentProperties>
! </xml><![endif]--><!--[if gte mso 9]><xml>
   <w:WordDocument>
    <w:Zoom>0</w:Zoom>
    <w:ValidateAgainstSchemas/>
    <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>
    <w:IgnoreMixedContent>false</w:IgnoreMixedContent>
    <w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>
    <w:Compatibility>
     <w:BreakWrappedTables/>
     <w:SnapToGridInCell/>
--- 1,53 ----
  <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:m="http://schemas.microsoft.com/office/2004/12/omml"
! xmlns="http://www.w3.org/TR/REC-html40">
  
  <head>
  <meta http-equiv=Content-Type content="text/html; charset=windows-1252">
  <meta name=ProgId content=Word.Document>
! <meta name=Generator content="Microsoft Word 12">
! <meta name=Originator content="Microsoft Word 12">
  <base target=body>
  <link rel=File-List href="toc_files/filelist.xml">
! <link rel=Preview href="toc_files/preview.wmf">
! <title>OpenAFS for Windows 1.5.55 Table of Contents</title>
  <!--[if gte mso 9]><xml>
   <o:DocumentProperties>
    <o:Author>Jeffrey Altman</o:Author>
    <o:LastAuthor>Jeffrey Altman</o:LastAuthor>
    <o:Revision>1</o:Revision>
!   <o:TotalTime>17</o:TotalTime>
    <o:Created>2006-11-30T04:12:00Z</o:Created>
    <o:LastSaved>2006-11-30T04:14:00Z</o:LastSaved>
!   <o:Pages>5</o:Pages>
!   <o:Words>3083</o:Words>
!   <o:Characters>17576</o:Characters>
    <o:Company>Secure Endpoints Inc.</o:Company>
!   <o:Lines>146</o:Lines>
    <o:Paragraphs>41</o:Paragraphs>
!   <o:CharactersWithSpaces>20618</o:CharactersWithSpaces>
!   <o:Version>12.00</o:Version>
   </o:DocumentProperties>
! </xml><![endif]-->
! <link rel=themeData href="toc_files/themedata.thmx">
! <link rel=colorSchemeMapping href="toc_files/colorschememapping.xml">
! <!--[if gte mso 9]><xml>
   <w:WordDocument>
    <w:Zoom>0</w:Zoom>
+   <w:SpellingState>Clean</w:SpellingState>
+   <w:GrammarState>Clean</w:GrammarState>
+   <w:TrackMoves>false</w:TrackMoves>
+   <w:TrackFormatting/>
    <w:ValidateAgainstSchemas/>
    <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>
    <w:IgnoreMixedContent>false</w:IgnoreMixedContent>
    <w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>
+   <w:DoNotPromoteQF/>
+   <w:LidThemeOther>EN-US</w:LidThemeOther>
+   <w:LidThemeAsian>X-NONE</w:LidThemeAsian>
+   <w:LidThemeComplexScript>X-NONE</w:LidThemeComplexScript>
    <w:Compatibility>
     <w:BreakWrappedTables/>
     <w:SnapToGridInCell/>
***************
*** 50,65 ****
     <w:CachedColBalance/>
    </w:Compatibility>
    <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel>
-   <w:TrackMoves>false</w:TrackMoves>
-   <w:TrackFormatting/>
-   <w:DoNotPromoteQF/>
-   <w:LidThemeOther>EN-US</w:LidThemeOther>
-   <w:LidThemeAsian>X-NONE</w:LidThemeAsian>
-   <w:LidThemeComplexScript>X-NONE</w:LidThemeComplexScript>
    <m:mathPr>
     <m:mathFont m:val="Cambria Math"/>
     <m:brkBin m:val="before"/>
!    <m:brkBinSub m:val="--"/>
     <m:smallFrac m:val="off"/>
     <m:dispDef/>
     <m:lMargin m:val="0"/>
--- 62,71 ----
     <w:CachedColBalance/>
    </w:Compatibility>
    <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel>
    <m:mathPr>
     <m:mathFont m:val="Cambria Math"/>
     <m:brkBin m:val="before"/>
!    <m:brkBinSub m:val="&#45;-"/>
     <m:smallFrac m:val="off"/>
     <m:dispDef/>
     <m:lMargin m:val="0"/>
***************
*** 68,186 ****
     <m:wrapIndent m:val="1440"/>
     <m:intLim m:val="subSup"/>
     <m:naryLim m:val="undOvr"/>
!   </m:mathPr>
   </w:WordDocument>
  </xml><![endif]--><!--[if gte mso 9]><xml>
!  <w:LatentStyles DefLockedState="false" LatentStyleCount="156">
   </w:LatentStyles>
  </xml><![endif]-->
  <style>
! <!--p.MSONORMAL
! 	{mso-style-unhide:no;
! 	mso-style-qformat:yes;}
! li.MSONORMAL
! 	{mso-style-unhide:no;
! 	mso-style-qformat:yes;}
! div.MSONORMAL
! 	{mso-style-unhide:no;
! 	mso-style-qformat:yes;}
! p.MSOTOC1
! 	{mso-style-priority:39;
! 	mso-style-unhide:no;}
! li.MSOTOC1
! 	{mso-style-priority:39;
! 	mso-style-unhide:no;}
! div.MSOTOC1
! 	{mso-style-priority:39;
! 	mso-style-unhide:no;}
! p.MSOTOC2
! 	{mso-style-priority:39;
! 	mso-style-unhide:no;}
! li.MSOTOC2
! 	{mso-style-priority:39;
! 	mso-style-unhide:no;}
! div.MSOTOC2
! 	{mso-style-priority:39;
! 	mso-style-unhide:no;}
! p.MSOTOC3
! 	{mso-style-priority:39;
! 	mso-style-unhide:no;}
! li.MSOTOC3
! 	{mso-style-priority:39;
! 	mso-style-unhide:no;}
! div.MSOTOC3
! 	{mso-style-priority:39;
! 	mso-style-unhide:no;}
! p.MSOTOC4
! 	{mso-style-priority:39;
! 	mso-style-unhide:no;}
! li.MSOTOC4
! 	{mso-style-priority:39;
! 	mso-style-unhide:no;}
! div.MSOTOC4
! 	{mso-style-priority:39;
! 	mso-style-unhide:no;}
! p.MSOTOC5
! 	{mso-style-priority:39;
! 	mso-style-unhide:no;}
! li.MSOTOC5
! 	{mso-style-priority:39;
! 	mso-style-unhide:no;}
! div.MSOTOC5
! 	{mso-style-priority:39;
! 	mso-style-unhide:no;}
! p.MSOTOC6
! 	{mso-style-priority:39;
! 	mso-style-unhide:no;}
! li.MSOTOC6
! 	{mso-style-priority:39;
! 	mso-style-unhide:no;}
! div.MSOTOC6
! 	{mso-style-priority:39;
! 	mso-style-unhide:no;}
! p.MSOTOC7
! 	{mso-style-priority:39;
! 	mso-style-unhide:no;}
! li.MSOTOC7
! 	{mso-style-priority:39;
! 	mso-style-unhide:no;}
! div.MSOTOC7
! 	{mso-style-priority:39;
! 	mso-style-unhide:no;}
! p.MSOTOC8
! 	{mso-style-priority:39;
! 	mso-style-unhide:no;}
! li.MSOTOC8
! 	{mso-style-priority:39;
! 	mso-style-unhide:no;}
! div.MSOTOC8
! 	{mso-style-priority:39;
! 	mso-style-unhide:no;}
! p.MSOTOC9
! 	{mso-style-priority:39;
! 	mso-style-unhide:no;}
! li.MSOTOC9
! 	{mso-style-priority:39;
! 	mso-style-unhide:no;}
! div.MSOTOC9
! 	{mso-style-priority:39;
! 	mso-style-unhide:no;}
! a:link
! 	{mso-style-priority:99;
! 	mso-style-unhide:no;}
! span.MSOHYPERLINK
! 	{mso-style-priority:99;
! 	mso-style-unhide:no;}
! a:visited
! 	{mso-style-unhide:no;}
! span.MSOHYPERLINKFOLLOWED
! 	{mso-style-unhide:no;}
! .MSOCHPDEFAULT
! 	{mso-default-props:yes;}
! table.MSONORMALTABLE
! 	{mso-style-priority:99;
! 	mso-style-qformat:yes;}
! 
   /* Font Definitions */
   @font-face
  	{font-family:"MS Mincho";
--- 74,232 ----
     <m:wrapIndent m:val="1440"/>
     <m:intLim m:val="subSup"/>
     <m:naryLim m:val="undOvr"/>
!   </m:mathPr>  <u1:mathPr>
!    <u1:mathFont u1:val="Cambria Math"/>
!    <u1:brkBin u1:val="before"/>
!    <u1:brkBinSub u1:val="--"/>
!    <u1:smallFrac u1:val="off"/>
!    <u1:dispDef/>
!    <u1:lMargin u1:val="0"/>
!    <u1:rMargin u1:val="0"/>
!    <u1:defJc u1:val="centerGroup"/>
!    <u1:wrapIndent u1:val="1440"/>
!    <u1:intLim u1:val="subSup"/>
!    <u1:naryLim u1:val="undOvr"/>
!   </u1:mathPr>
   </w:WordDocument>
  </xml><![endif]--><!--[if gte mso 9]><xml>
!  <w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="false"
!   DefSemiHidden="false" DefQFormat="false" LatentStyleCount="267">
!   <w:LsdException Locked="false" Priority="39" Name="toc 1"/>
!   <w:LsdException Locked="false" Priority="39" Name="toc 2"/>
!   <w:LsdException Locked="false" Priority="39" Name="toc 3"/>
!   <w:LsdException Locked="false" Priority="39" Name="toc 4"/>
!   <w:LsdException Locked="false" Priority="39" Name="toc 5"/>
!   <w:LsdException Locked="false" Priority="39" Name="toc 6"/>
!   <w:LsdException Locked="false" Priority="39" Name="toc 7"/>
!   <w:LsdException Locked="false" Priority="39" Name="toc 8"/>
!   <w:LsdException Locked="false" Priority="39" Name="toc 9"/>
!   <w:LsdException Locked="false" Priority="1" Name="Default Paragraph Font"/>
!   <w:LsdException Locked="false" Priority="99" Name="Hyperlink"/>
!   <w:LsdException Locked="false" Priority="99" Name="No List"/>
!   <w:LsdException Locked="false" Priority="99" SemiHidden="true"
!    Name="Placeholder Text"/>
!   <w:LsdException Locked="false" Priority="1" QFormat="true" Name="No Spacing"/>
!   <w:LsdException Locked="false" Priority="60" Name="Light Shading"/>
!   <w:LsdException Locked="false" Priority="61" Name="Light List"/>
!   <w:LsdException Locked="false" Priority="62" Name="Light Grid"/>
!   <w:LsdException Locked="false" Priority="63" Name="Medium Shading 1"/>
!   <w:LsdException Locked="false" Priority="64" Name="Medium Shading 2"/>
!   <w:LsdException Locked="false" Priority="65" Name="Medium List 1"/>
!   <w:LsdException Locked="false" Priority="66" Name="Medium List 2"/>
!   <w:LsdException Locked="false" Priority="67" Name="Medium Grid 1"/>
!   <w:LsdException Locked="false" Priority="68" Name="Medium Grid 2"/>
!   <w:LsdException Locked="false" Priority="69" Name="Medium Grid 3"/>
!   <w:LsdException Locked="false" Priority="70" Name="Dark List"/>
!   <w:LsdException Locked="false" Priority="71" Name="Colorful Shading"/>
!   <w:LsdException Locked="false" Priority="72" Name="Colorful List"/>
!   <w:LsdException Locked="false" Priority="73" Name="Colorful Grid"/>
!   <w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 1"/>
!   <w:LsdException Locked="false" Priority="61" Name="Light List Accent 1"/>
!   <w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 1"/>
!   <w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 1"/>
!   <w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 1"/>
!   <w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 1"/>
!   <w:LsdException Locked="false" Priority="99" SemiHidden="true" Name="Revision"/>
!   <w:LsdException Locked="false" Priority="34" QFormat="true"
!    Name="List Paragraph"/>
!   <w:LsdException Locked="false" Priority="29" QFormat="true" Name="Quote"/>
!   <w:LsdException Locked="false" Priority="30" QFormat="true"
!    Name="Intense Quote"/>
!   <w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 1"/>
!   <w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 1"/>
!   <w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 1"/>
!   <w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 1"/>
!   <w:LsdException Locked="false" Priority="70" Name="Dark List Accent 1"/>
!   <w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 1"/>
!   <w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 1"/>
!   <w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 1"/>
!   <w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 2"/>
!   <w:LsdException Locked="false" Priority="61" Name="Light List Accent 2"/>
!   <w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 2"/>
!   <w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 2"/>
!   <w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 2"/>
!   <w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 2"/>
!   <w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 2"/>
!   <w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 2"/>
!   <w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 2"/>
!   <w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 2"/>
!   <w:LsdException Locked="false" Priority="70" Name="Dark List Accent 2"/>
!   <w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 2"/>
!   <w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 2"/>
!   <w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 2"/>
!   <w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 3"/>
!   <w:LsdException Locked="false" Priority="61" Name="Light List Accent 3"/>
!   <w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 3"/>
!   <w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 3"/>
!   <w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 3"/>
!   <w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 3"/>
!   <w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 3"/>
!   <w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 3"/>
!   <w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 3"/>
!   <w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 3"/>
!   <w:LsdException Locked="false" Priority="70" Name="Dark List Accent 3"/>
!   <w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 3"/>
!   <w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 3"/>
!   <w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 3"/>
!   <w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 4"/>
!   <w:LsdException Locked="false" Priority="61" Name="Light List Accent 4"/>
!   <w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 4"/>
!   <w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 4"/>
!   <w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 4"/>
!   <w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 4"/>
!   <w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 4"/>
!   <w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 4"/>
!   <w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 4"/>
!   <w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 4"/>
!   <w:LsdException Locked="false" Priority="70" Name="Dark List Accent 4"/>
!   <w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 4"/>
!   <w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 4"/>
!   <w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 4"/>
!   <w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 5"/>
!   <w:LsdException Locked="false" Priority="61" Name="Light List Accent 5"/>
!   <w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 5"/>
!   <w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 5"/>
!   <w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 5"/>
!   <w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 5"/>
!   <w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 5"/>
!   <w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 5"/>
!   <w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 5"/>
!   <w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 5"/>
!   <w:LsdException Locked="false" Priority="70" Name="Dark List Accent 5"/>
!   <w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 5"/>
!   <w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 5"/>
!   <w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 5"/>
!   <w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 6"/>
!   <w:LsdException Locked="false" Priority="61" Name="Light List Accent 6"/>
!   <w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 6"/>
!   <w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 6"/>
!   <w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 6"/>
!   <w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 6"/>
!   <w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 6"/>
!   <w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 6"/>
!   <w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 6"/>
!   <w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 6"/>
!   <w:LsdException Locked="false" Priority="70" Name="Dark List Accent 6"/>
!   <w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 6"/>
!   <w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 6"/>
!   <w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 6"/>
!   <w:LsdException Locked="false" Priority="19" QFormat="true"
!    Name="Subtle Emphasis"/>
!   <w:LsdException Locked="false" Priority="21" QFormat="true"
!    Name="Intense Emphasis"/>
!   <w:LsdException Locked="false" Priority="31" QFormat="true"
!    Name="Subtle Reference"/>
!   <w:LsdException Locked="false" Priority="32" QFormat="true"
!    Name="Intense Reference"/>
!   <w:LsdException Locked="false" Priority="33" QFormat="true" Name="Book Title"/>
!   <w:LsdException Locked="false" Priority="37" SemiHidden="true"
!    UnhideWhenUsed="true" Name="Bibliography"/>
!   <w:LsdException Locked="false" Priority="39" SemiHidden="true"
!    UnhideWhenUsed="true" QFormat="true" Name="TOC Heading"/>
   </w:LatentStyles>
  </xml><![endif]-->
  <style>
! <!--
   /* Font Definitions */
   @font-face
  	{font-family:"MS Mincho";
***************
*** 189,336 ****
  	mso-font-charset:128;
  	mso-generic-font-family:modern;
  	mso-font-pitch:fixed;
- 	mso-font-signature:-1610612033 1757936891 16 0 131231 0;}
- @font-face
- 	{font-family:"\@MS Mincho";
- 	panose-1:2 2 6 9 4 2 5 8 3 4;
- 	mso-font-charset:128;
- 	mso-generic-font-family:modern;
- 	mso-font-pitch:fixed;
  	mso-font-signature:-536870145 1791491579 18 0 131231 0;}
  @font-face
  	{font-family:Calibri;
  	panose-1:2 15 5 2 2 2 4 3 2 4;
  	mso-font-charset:0;
  	mso-generic-font-family:swiss;
  	mso-font-pitch:variable;
  	mso-font-signature:-1610611985 1073750139 0 0 159 0;}
   /* Style Definitions */
   p.MsoNormal, li.MsoNormal, div.MsoNormal
! 	{mso-style-parent:"";
! 	margin:0pt;
  	margin-bottom:.0001pt;
  	mso-pagination:widow-orphan;
  	font-size:12.0pt;
! 	font-family:"Times New Roman";
  	mso-fareast-font-family:"MS Mincho";}
  p.MsoToc1, li.MsoToc1, div.MsoToc1
  	{mso-style-update:auto;
  	mso-style-next:Normal;
! 	margin:0pt;
  	margin-bottom:.0001pt;
  	mso-pagination:widow-orphan;
  	font-size:12.0pt;
! 	font-family:"Times New Roman";
  	mso-fareast-font-family:"MS Mincho";}
  p.MsoToc2, li.MsoToc2, div.MsoToc2
  	{mso-style-update:auto;
  	mso-style-next:Normal;
! 	margin-top:0pt;
! 	margin-right:0pt;
! 	margin-bottom:0pt;
  	margin-left:12.0pt;
  	margin-bottom:.0001pt;
  	mso-pagination:widow-orphan;
  	font-size:12.0pt;
! 	font-family:"Times New Roman";
  	mso-fareast-font-family:"MS Mincho";}
  p.MsoToc3, li.MsoToc3, div.MsoToc3
  	{mso-style-update:auto;
  	mso-style-next:Normal;
! 	margin-top:0pt;
! 	margin-right:0pt;
! 	margin-bottom:0pt;
  	margin-left:24.0pt;
  	margin-bottom:.0001pt;
  	mso-pagination:widow-orphan;
  	font-size:12.0pt;
! 	font-family:"Times New Roman";
  	mso-fareast-font-family:"MS Mincho";}
  p.MsoToc4, li.MsoToc4, div.MsoToc4
  	{mso-style-update:auto;
  	mso-style-next:Normal;
! 	margin-top:0pt;
! 	margin-right:0pt;
! 	margin-bottom:0pt;
! 	margin-left:36.0pt;
  	margin-bottom:.0001pt;
  	mso-pagination:widow-orphan;
  	font-size:12.0pt;
! 	font-family:"Times New Roman";
  	mso-fareast-font-family:"MS Mincho";}
  p.MsoToc5, li.MsoToc5, div.MsoToc5
  	{mso-style-update:auto;
  	mso-style-next:Normal;
! 	margin-top:0pt;
! 	margin-right:0pt;
! 	margin-bottom:0pt;
  	margin-left:48.0pt;
  	margin-bottom:.0001pt;
  	mso-pagination:widow-orphan;
  	font-size:12.0pt;
! 	font-family:"Times New Roman";
  	mso-fareast-font-family:"MS Mincho";}
  p.MsoToc6, li.MsoToc6, div.MsoToc6
  	{mso-style-update:auto;
  	mso-style-next:Normal;
! 	margin-top:0pt;
! 	margin-right:0pt;
! 	margin-bottom:0pt;
  	margin-left:60.0pt;
  	margin-bottom:.0001pt;
  	mso-pagination:widow-orphan;
  	font-size:12.0pt;
! 	font-family:"Times New Roman";
  	mso-fareast-font-family:"MS Mincho";}
  p.MsoToc7, li.MsoToc7, div.MsoToc7
  	{mso-style-update:auto;
  	mso-style-next:Normal;
! 	margin-top:0pt;
! 	margin-right:0pt;
! 	margin-bottom:0pt;
! 	margin-left:72.0pt;
  	margin-bottom:.0001pt;
  	mso-pagination:widow-orphan;
  	font-size:12.0pt;
! 	font-family:"Times New Roman";
  	mso-fareast-font-family:"MS Mincho";}
  p.MsoToc8, li.MsoToc8, div.MsoToc8
  	{mso-style-update:auto;
  	mso-style-next:Normal;
! 	margin-top:0pt;
! 	margin-right:0pt;
! 	margin-bottom:0pt;
  	margin-left:84.0pt;
  	margin-bottom:.0001pt;
  	mso-pagination:widow-orphan;
  	font-size:12.0pt;
! 	font-family:"Times New Roman";
  	mso-fareast-font-family:"MS Mincho";}
  p.MsoToc9, li.MsoToc9, div.MsoToc9
  	{mso-style-update:auto;
  	mso-style-next:Normal;
! 	margin-top:0pt;
! 	margin-right:0pt;
! 	margin-bottom:0pt;
  	margin-left:96.0pt;
  	margin-bottom:.0001pt;
  	mso-pagination:widow-orphan;
  	font-size:12.0pt;
! 	font-family:"Times New Roman";
  	mso-fareast-font-family:"MS Mincho";}
  a:link, span.MsoHyperlink
! 	{color:blue;
  	text-decoration:underline;
  	text-underline:single;}
  a:visited, span.MsoHyperlinkFollowed
! 	{color:purple;
  	text-decoration:underline;
  	text-underline:single;}
  @page Section1
! 	{size:612.0pt 792.0pt;
! 	margin:72.0pt 90.0pt 72.0pt 90.0pt;
! 	mso-header-margin:36.0pt;
! 	mso-footer-margin:36.0pt;
  	mso-paper-source:0;}
  div.Section1
  	{page:Section1;}
--- 235,418 ----
  	mso-font-charset:128;
  	mso-generic-font-family:modern;
  	mso-font-pitch:fixed;
  	mso-font-signature:-536870145 1791491579 18 0 131231 0;}
  @font-face
+ 	{font-family:"Cambria Math";
+ 	panose-1:2 4 5 3 5 4 6 3 2 4;
+ 	mso-font-charset:0;
+ 	mso-generic-font-family:roman;
+ 	mso-font-pitch:variable;
+ 	mso-font-signature:-1610611985 1107304683 0 0 159 0;}
+ @font-face
  	{font-family:Calibri;
  	panose-1:2 15 5 2 2 2 4 3 2 4;
  	mso-font-charset:0;
  	mso-generic-font-family:swiss;
  	mso-font-pitch:variable;
  	mso-font-signature:-1610611985 1073750139 0 0 159 0;}
+ @font-face
+ 	{font-family:"\@MS Mincho";
+ 	panose-1:2 2 6 9 4 2 5 8 3 4;
+ 	mso-font-charset:128;
+ 	mso-generic-font-family:modern;
+ 	mso-font-pitch:fixed;
+ 	mso-font-signature:-536870145 1791491579 18 0 131231 0;}
   /* Style Definitions */
   p.MsoNormal, li.MsoNormal, div.MsoNormal
! 	{mso-style-unhide:no;
! 	mso-style-qformat:yes;
! 	mso-style-parent:"";
! 	margin:0in;
  	margin-bottom:.0001pt;
  	mso-pagination:widow-orphan;
  	font-size:12.0pt;
! 	font-family:"Times New Roman","serif";
  	mso-fareast-font-family:"MS Mincho";}
  p.MsoToc1, li.MsoToc1, div.MsoToc1
  	{mso-style-update:auto;
+ 	mso-style-priority:39;
+ 	mso-style-unhide:no;
  	mso-style-next:Normal;
! 	margin:0in;
  	margin-bottom:.0001pt;
  	mso-pagination:widow-orphan;
  	font-size:12.0pt;
! 	font-family:"Times New Roman","serif";
  	mso-fareast-font-family:"MS Mincho";}
  p.MsoToc2, li.MsoToc2, div.MsoToc2
  	{mso-style-update:auto;
+ 	mso-style-priority:39;
+ 	mso-style-unhide:no;
  	mso-style-next:Normal;
! 	margin-top:0in;
! 	margin-right:0in;
! 	margin-bottom:0in;
  	margin-left:12.0pt;
  	margin-bottom:.0001pt;
  	mso-pagination:widow-orphan;
  	font-size:12.0pt;
! 	font-family:"Times New Roman","serif";
  	mso-fareast-font-family:"MS Mincho";}
  p.MsoToc3, li.MsoToc3, div.MsoToc3
  	{mso-style-update:auto;
+ 	mso-style-priority:39;
+ 	mso-style-unhide:no;
  	mso-style-next:Normal;
! 	margin-top:0in;
! 	margin-right:0in;
! 	margin-bottom:0in;
  	margin-left:24.0pt;
  	margin-bottom:.0001pt;
  	mso-pagination:widow-orphan;
  	font-size:12.0pt;
! 	font-family:"Times New Roman","serif";
  	mso-fareast-font-family:"MS Mincho";}
  p.MsoToc4, li.MsoToc4, div.MsoToc4
  	{mso-style-update:auto;
+ 	mso-style-priority:39;
+ 	mso-style-unhide:no;
  	mso-style-next:Normal;
! 	margin-top:0in;
! 	margin-right:0in;
! 	margin-bottom:0in;
! 	margin-left:.5in;
  	margin-bottom:.0001pt;
  	mso-pagination:widow-orphan;
  	font-size:12.0pt;
! 	font-family:"Times New Roman","serif";
  	mso-fareast-font-family:"MS Mincho";}
  p.MsoToc5, li.MsoToc5, div.MsoToc5
  	{mso-style-update:auto;
+ 	mso-style-priority:39;
+ 	mso-style-unhide:no;
  	mso-style-next:Normal;
! 	margin-top:0in;
! 	margin-right:0in;
! 	margin-bottom:0in;
  	margin-left:48.0pt;
  	margin-bottom:.0001pt;
  	mso-pagination:widow-orphan;
  	font-size:12.0pt;
! 	font-family:"Times New Roman","serif";
  	mso-fareast-font-family:"MS Mincho";}
  p.MsoToc6, li.MsoToc6, div.MsoToc6
  	{mso-style-update:auto;
+ 	mso-style-priority:39;
+ 	mso-style-unhide:no;
  	mso-style-next:Normal;
! 	margin-top:0in;
! 	margin-right:0in;
! 	margin-bottom:0in;
  	margin-left:60.0pt;
  	margin-bottom:.0001pt;
  	mso-pagination:widow-orphan;
  	font-size:12.0pt;
! 	font-family:"Times New Roman","serif";
  	mso-fareast-font-family:"MS Mincho";}
  p.MsoToc7, li.MsoToc7, div.MsoToc7
  	{mso-style-update:auto;
+ 	mso-style-priority:39;
+ 	mso-style-unhide:no;
  	mso-style-next:Normal;
! 	margin-top:0in;
! 	margin-right:0in;
! 	margin-bottom:0in;
! 	margin-left:1.0in;
  	margin-bottom:.0001pt;
  	mso-pagination:widow-orphan;
  	font-size:12.0pt;
! 	font-family:"Times New Roman","serif";
  	mso-fareast-font-family:"MS Mincho";}
  p.MsoToc8, li.MsoToc8, div.MsoToc8
  	{mso-style-update:auto;
+ 	mso-style-priority:39;
+ 	mso-style-unhide:no;
  	mso-style-next:Normal;
! 	margin-top:0in;
! 	margin-right:0in;
! 	margin-bottom:0in;
  	margin-left:84.0pt;
  	margin-bottom:.0001pt;
  	mso-pagination:widow-orphan;
  	font-size:12.0pt;
! 	font-family:"Times New Roman","serif";
  	mso-fareast-font-family:"MS Mincho";}
  p.MsoToc9, li.MsoToc9, div.MsoToc9
  	{mso-style-update:auto;
+ 	mso-style-priority:39;
+ 	mso-style-unhide:no;
  	mso-style-next:Normal;
! 	margin-top:0in;
! 	margin-right:0in;
! 	margin-bottom:0in;
  	margin-left:96.0pt;
  	margin-bottom:.0001pt;
  	mso-pagination:widow-orphan;
  	font-size:12.0pt;
! 	font-family:"Times New Roman","serif";
  	mso-fareast-font-family:"MS Mincho";}
  a:link, span.MsoHyperlink
! 	{mso-style-priority:99;
! 	mso-style-unhide:no;
! 	color:blue;
  	text-decoration:underline;
  	text-underline:single;}
  a:visited, span.MsoHyperlinkFollowed
! 	{mso-style-unhide:no;
! 	color:purple;
  	text-decoration:underline;
  	text-underline:single;}
+ .MsoChpDefault
+ 	{mso-style-type:export-only;
+ 	mso-default-props:yes;
+ 	font-size:10.0pt;
+ 	mso-ansi-font-size:10.0pt;
+ 	mso-bidi-font-size:10.0pt;}
  @page Section1
! 	{size:8.5in 11.0in;
! 	margin:1.0in 1.25in 1.0in 1.25in;
! 	mso-header-margin:.5in;
! 	mso-footer-margin:.5in;
  	mso-paper-source:0;}
  div.Section1
  	{page:Section1;}
***************
*** 344,2771 ****
  	mso-tstyle-rowband-size:0;
  	mso-tstyle-colband-size:0;
  	mso-style-noshow:yes;
  	mso-style-parent:"";
! 	mso-padding-alt:0pt 5.4pt 0pt 5.4pt;
! 	mso-para-margin:0pt;
  	mso-para-margin-bottom:.0001pt;
  	mso-pagination:widow-orphan;
  	font-size:10.0pt;
! 	font-family:"Times New Roman";
! 	mso-ansi-language:#0400;
! 	mso-fareast-language:#0400;
! 	mso-bidi-language:#0400;}
  </style>
! <![endif]-->
! <link rel=themeData href="toc_files/themedata.thmx">
! <link rel=colorSchemeMapping href="toc_files/colorschememapping.xml">
! <!--[if gte mso 9]><xml>
!  <o:shapedefaults v:ext="edit" spidmax="2050"/>
  </xml><![endif]--><!--[if gte mso 9]><xml>
   <o:shapelayout v:ext="edit">
    <o:idmap v:ext="edit" data="1"/>
   </o:shapelayout></xml><![endif]-->
  </head>
  
! <body lang=EN-US link=blue vlink=purple style='tab-interval:36.0pt'>
  
  <div class=Section1>
  
  <p class=MsoToc1 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
  href="relnotes.htm#_Toc191662062"><span style='mso-fareast-font-family:"Times New Roman"'>1.
! Installer Options</span></a></span></span><span style='mso-ascii-theme-font:minor-latin;
! mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:
! minor-latin;
! mso-bidi-theme-font:minor-bidi'><span style='font-size:11.0pt;font-family:Calibri;
! mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc1 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662063"><span style='mso-fareast-font-family:"Times New Roman"'>2.
! System Requirements</span></a></span></span><span style='mso-ascii-theme-font:minor-latin;
! mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:
! minor-latin;
! mso-bidi-theme-font:minor-bidi'><span style='font-size:11.0pt;font-family:Calibri;
! mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662064"><span style='mso-fareast-font-family:"Times New Roman"'>2.1
! Supported Operating Systems</span></a></span></span><span style='mso-ascii-theme-font:minor-latin;
! mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:minor-latin;
! mso-bidi-theme-font:minor-bidi'><span style='font-size:11.0pt;font-family:Calibri;
! mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662065"><span style='mso-fareast-font-family:"Times New Roman"'>2.1.1
! Unsupported Operating Systems</span></a></span></span><span style='mso-ascii-theme-font:minor-latin;
! mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:minor-latin;
! mso-bidi-theme-font:minor-bidi'><span style='font-size:11.0pt;font-family:Calibri;
! mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662066"><span style='mso-fareast-font-family:"Times New Roman"'>2.2
! Disk Space</span></a></span></span><span style='mso-ascii-theme-font:minor-latin;
! mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:
! minor-latin;
! mso-bidi-theme-font:minor-bidi'><span style='font-size:11.0pt;font-family:Calibri;
! mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662067"><span style='mso-fareast-font-family:"Times New Roman"'>2.3
! Additional Software Packages</span></a></span></span><span style='mso-ascii-theme-font:minor-latin;
! mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:minor-latin;
! mso-bidi-theme-font:minor-bidi'><span style='font-size:11.0pt;font-family:Calibri;
! mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc1 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662068"><span style='mso-fareast-font-family:"Times New Roman"'>3.
! Operational Notes</span></a></span></span><span style='mso-ascii-theme-font:minor-latin;
! mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:
! minor-latin;
! mso-bidi-theme-font:minor-bidi'><span style='font-size:11.0pt;font-family:Calibri;
! mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc193871633"><span style='mso-fareast-font-family:"Times New Roman"'>3.0.Unicode
! Support</span></a></span></span><span style='mso-ascii-theme-font:
! minor-latin;
! mso-fareast-theme-font:
! minor-fareast;mso-hansi-theme-font:minor-latin;
! mso-bidi-theme-font:minor-bidi'><span style='font-size:11.0pt;font-family:Calibri;
! mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662069"><span style='mso-fareast-font-family:"Times New Roman"'>3.1.
! Requirements for Kerberos v5 Authentication</span></a></span></span><span
! style='mso-ascii-theme-font:
! minor-latin;mso-fareast-theme-font:
! minor-fareast;
! mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-bidi'><span
! style='font-size:11.0pt;font-family:Calibri;mso-fareast-font-family:"Times New Roman";
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662070"><span style='mso-fareast-font-family:"Times New Roman"'>3.1.1.
! Active Directory</span></a></span></span><span style='mso-ascii-theme-font:minor-latin;
! mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:
! minor-latin;
! mso-bidi-theme-font:minor-bidi'><span style='font-size:11.0pt;font-family:Calibri;
! mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662071"><span style='mso-fareast-font-family:"Times New Roman"'>3.1.2.
! Using the krb524 service</span></a></span></span><span style='mso-ascii-theme-font:minor-latin;
! mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:
! minor-latin;
! mso-bidi-theme-font:minor-bidi'><span style='font-size:11.0pt;font-family:Calibri;
! mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662072"><span style='mso-fareast-font-family:"Times New Roman"'>3.1.3.
! Network Identity Manager Provider</span></a></span></span><span
! style='mso-ascii-theme-font:
! minor-latin;mso-fareast-theme-font:
! minor-fareast;
! mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-bidi'><span
! style='font-size:11.0pt;font-family:Calibri;mso-fareast-font-family:"Times New Roman";
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662073"><span style='mso-fareast-font-family:"Times New Roman"'>3.2.
! Use of the Microsoft Loopback Adapter by the AFS Client Service</span></a></span></span><span
! style='mso-ascii-theme-font:
! minor-latin;mso-fareast-theme-font:
! minor-fareast;
! mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-bidi'><span
! style='font-size:11.0pt;font-family:Calibri;mso-fareast-font-family:"Times New Roman";
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662074"><span style='mso-fareast-font-family:"Times New Roman"'>3.3.
! Using Freelance (Dynamic Root) Mode to Improve Mobility</span></a></span></span><span
! style='mso-ascii-theme-font:
! minor-latin;mso-fareast-theme-font:
! minor-fareast;
! mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-bidi'><span
! style='font-size:11.0pt;font-family:Calibri;mso-fareast-font-family:"Times New Roman";
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662075"><span style='mso-fareast-font-family:"Times New Roman"'>3.4.
! Locating AFS Volume Database Servers via DNS</span></a></span></span><span
! style='mso-ascii-theme-font:
! minor-latin;mso-fareast-theme-font:
! minor-fareast;
! mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-bidi'><span
! style='font-size:11.0pt;font-family:Calibri;mso-fareast-font-family:"Times New Roman";
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662076"><span style='mso-fareast-font-family:"Times New Roman"'>3.5.
! Obtaining AFS Tokens as a Integrated Part of Windows Logon</span></a></span></span><span
! style='mso-ascii-theme-font:
! minor-latin;mso-fareast-theme-font:
! minor-fareast;
! mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-bidi'><span
! style='font-size:11.0pt;font-family:Calibri;mso-fareast-font-family:"Times New Roman";
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662077"><span style='mso-fareast-font-family:"Times New Roman"'>3.6.
! AFS System Tray Command Line Options</span></a></span></span><span
! style='mso-ascii-theme-font:
! minor-latin;mso-fareast-theme-font:
! minor-fareast;
! mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-bidi'><span
! style='font-size:11.0pt;font-family:Calibri;mso-fareast-font-family:"Times New Roman";
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662078"><span style='mso-fareast-font-family:"Times New Roman"'>3.7.
! The “AFS Client Admins” Authorization Group</span></a></span></span><span
! style='mso-ascii-theme-font:
! minor-latin;mso-fareast-theme-font:
! minor-fareast;
! mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-bidi'><span
! style='font-size:11.0pt;font-family:Calibri;mso-fareast-font-family:"Times New Roman";
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662079"><span style='mso-fareast-font-family:"Times New Roman"'>3.8.
! OpenAFS support for UNC paths</span></a></span></span><span style='mso-ascii-theme-font:minor-latin;
! mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:minor-latin;
! mso-bidi-theme-font:minor-bidi'><span style='font-size:11.0pt;font-family:Calibri;
! mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662080"><span style='mso-fareast-font-family:"Times New Roman"'>3.9.
! aklog.exe</span></a></span></span><span style='mso-ascii-theme-font:minor-latin;
! mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:
! minor-latin;
! mso-bidi-theme-font:minor-bidi'><span style='font-size:11.0pt;font-family:Calibri;
! mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662081"><span style='mso-fareast-font-family:"Times New Roman"'>3.10.
! OpenAFS Servers on Windows are Unsupported</span></a></span></span><span
! style='mso-ascii-theme-font:
! minor-latin;mso-fareast-theme-font:
! minor-fareast;
! mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-bidi'><span
! style='font-size:11.0pt;font-family:Calibri;mso-fareast-font-family:"Times New Roman";
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662082"><span style='mso-fareast-font-family:"Times New Roman"'>3.10.1.
! OpenAFS Server Installation</span></a></span></span><span style='mso-ascii-theme-font:minor-latin;
! mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:minor-latin;
! mso-bidi-theme-font:minor-bidi'><span style='font-size:11.0pt;font-family:Calibri;
! mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662083"><span style='mso-fareast-font-family:"Times New Roman"'>3.10.2.
! Using the AFS Client Service when the Server is installed</span></a></span></span><span
! style='mso-ascii-theme-font:
! minor-latin;mso-fareast-theme-font:
! minor-fareast;
! mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-bidi'><span
! style='font-size:11.0pt;font-family:Calibri;mso-fareast-font-family:"Times New Roman";
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662084"><span style='mso-fareast-font-family:"Times New Roman"'>3.11.
! OpenAFS Debugging Symbol files</span></a></span></span><span style='mso-ascii-theme-font:minor-latin;
! mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:minor-latin;
! mso-bidi-theme-font:minor-bidi'><span style='font-size:11.0pt;font-family:Calibri;
! mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662085"><span style='mso-fareast-font-family:"Times New Roman"'>3.12.
! Large File (64-bit) Support</span></a></span></span><span style='mso-ascii-theme-font:minor-latin;
! mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:minor-latin;
! mso-bidi-theme-font:minor-bidi'><span style='font-size:11.0pt;font-family:Calibri;
! mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662086"><span style='mso-fareast-font-family:"Times New Roman"'>3.13.
! Encrypted AFS Network Communication</span></a></span></span><span
! style='mso-ascii-theme-font:
! minor-latin;mso-fareast-theme-font:
! minor-fareast;
! mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-bidi'><span
! style='font-size:11.0pt;font-family:Calibri;mso-fareast-font-family:"Times New Roman";
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662087"><span style='mso-fareast-font-family:"Times New Roman"'>3.14.
! Authenticated Access to the OpenAFS Client Service</span></a></span></span><span
! style='mso-ascii-theme-font:
! minor-latin;mso-fareast-theme-font:
! minor-fareast;
! mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-bidi'><span
! style='font-size:11.0pt;font-family:Calibri;mso-fareast-font-family:"Times New Roman";
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662088"><span style='mso-fareast-font-family:"Times New Roman"'>3.15.
! No More INI Files</span></a></span></span><span style='mso-ascii-theme-font:minor-latin;
! mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:
! minor-latin;
! mso-bidi-theme-font:minor-bidi'><span style='font-size:11.0pt;font-family:Calibri;
! mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662089"><span style='mso-fareast-font-family:"Times New Roman"'>3.16.
! Microsoft Windows Internet Connection Firewall</span></a></span></span><span
! style='mso-ascii-theme-font:
! minor-latin;mso-fareast-theme-font:
! minor-fareast;
! mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-bidi'><span
! style='font-size:11.0pt;font-family:Calibri;mso-fareast-font-family:"Times New Roman";
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662090"><span style='mso-fareast-font-family:"Times New Roman"'>3.17.
! Browsing AFS from the Explorer Shell and Office</span></a></span></span><span
! style='mso-ascii-theme-font:
! minor-latin;mso-fareast-theme-font:
! minor-fareast;
! mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-bidi'><span
! style='font-size:11.0pt;font-family:Calibri;mso-fareast-font-family:"Times New Roman";
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662091"><span style='mso-fareast-font-family:"Times New Roman"'>3.18.
! Byte Range Locking</span></a></span></span><span style='mso-ascii-theme-font:minor-latin;
! mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:
! minor-latin;
! mso-bidi-theme-font:minor-bidi'><span style='font-size:11.0pt;font-family:Calibri;
! mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662092"><span style='mso-fareast-font-family:"Times New Roman"'>3.19.
! Automatic Discarding of AFS Tokens at Logoff</span></a></span></span><span
! style='mso-ascii-theme-font:
! minor-latin;mso-fareast-theme-font:
! minor-fareast;
! mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-bidi'><span
! style='font-size:11.0pt;font-family:Calibri;mso-fareast-font-family:"Times New Roman";
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662093"><span style='mso-fareast-font-family:"Times New Roman"'>3.20.
! Windows Terminal Server installations</span></a></span></span><span
! style='mso-ascii-theme-font:
! minor-latin;mso-fareast-theme-font:
! minor-fareast;
! mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-bidi'><span
! style='font-size:11.0pt;font-family:Calibri;mso-fareast-font-family:"Times New Roman";
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662094"><span style='mso-fareast-font-family:"Times New Roman"'>3.21.
! Hidden Dot Files</span></a></span></span><span style='mso-ascii-theme-font:minor-latin;
! mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:
! minor-latin;
! mso-bidi-theme-font:minor-bidi'><span style='font-size:11.0pt;font-family:Calibri;
! mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662095"><span style='mso-fareast-font-family:"Times New Roman"'>3.22.
! Status Cache Limits</span></a></span></span><span style='mso-ascii-theme-font:minor-latin;
! mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:
! minor-latin;
! mso-bidi-theme-font:minor-bidi'><span style='font-size:11.0pt;font-family:Calibri;
! mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662096"><span style='mso-fareast-font-family:"Times New Roman"'>3.23.
! NETBIOS over TCP/IP must be enabled</span></a></span></span><span
! style='mso-ascii-theme-font:
! minor-latin;mso-fareast-theme-font:
! minor-fareast;
! mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-bidi'><span
! style='font-size:11.0pt;font-family:Calibri;mso-fareast-font-family:"Times New Roman";
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662097"><span style='mso-fareast-font-family:"Times New Roman"'>3.24.
! OpenAFS binaries are digitally signed</span></a></span></span><span
! style='mso-ascii-theme-font:
! minor-latin;mso-fareast-theme-font:
! minor-fareast;
! mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-bidi'><span
! style='font-size:11.0pt;font-family:Calibri;mso-fareast-font-family:"Times New Roman";
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662098"><span style='mso-fareast-font-family:"Times New Roman"'>3.25.
! Maximum Size of the AFSCache File</span></a></span></span><span
! style='mso-ascii-theme-font:
! minor-latin;mso-fareast-theme-font:
! minor-fareast;
! mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-bidi'><span
! style='font-size:11.0pt;font-family:Calibri;mso-fareast-font-family:"Times New Roman";
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662099"><span style='mso-fareast-font-family:"Times New Roman"'>3.26.
! Filename Character Sets</span></a></span></span><span style='mso-ascii-theme-font:minor-latin;
! mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:
! minor-latin;
! mso-bidi-theme-font:minor-bidi'><span style='font-size:11.0pt;font-family:Calibri;
! mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662100"><span style='mso-fareast-font-family:"Times New Roman"'>3.27.
! Known Character Set Issues with Roaming Profiles</span></a></span></span><span
! style='mso-ascii-theme-font:
! minor-latin;mso-fareast-theme-font:
! minor-fareast;
! mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-bidi'><span
! style='font-size:11.0pt;font-family:Calibri;mso-fareast-font-family:"Times New Roman";
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662101"><span style='mso-fareast-font-family:"Times New Roman"'>3.28.
! The AFSCache File</span></a></span></span><span style='mso-ascii-theme-font:minor-latin;
! mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:
! minor-latin;
! mso-bidi-theme-font:minor-bidi'><span style='font-size:11.0pt;font-family:Calibri;
! mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662102"><span style='mso-fareast-font-family:"Times New Roman"'>3.29.
! Restricting OpenAFS Client Service Start and Stop</span></a></span></span><span
! style='mso-ascii-theme-font:
! minor-latin;mso-fareast-theme-font:
! minor-fareast;
! mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-bidi'><span
! style='font-size:11.0pt;font-family:Calibri;mso-fareast-font-family:"Times New Roman";
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662103"><span style='mso-fareast-font-family:"Times New Roman"'>3.30.
! The @sys Name List</span></a></span></span><span style='mso-ascii-theme-font:minor-latin;
! mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:
! minor-latin;
! mso-bidi-theme-font:minor-bidi'><span style='font-size:11.0pt;font-family:Calibri;
! mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662104"><span style='mso-fareast-font-family:"Times New Roman"'>3.31.
! Symlinks to AFS UNC paths</span></a></span></span><span style='mso-ascii-theme-font:minor-latin;
! mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:
! minor-latin;
! mso-bidi-theme-font:minor-bidi'><span style='font-size:11.0pt;font-family:Calibri;
! mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662105"><span style='mso-fareast-font-family:"Times New Roman"'>3.32.
! Cache Manager Debugging</span></a></span></span><span style='mso-ascii-theme-font:minor-latin;
! mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:
! minor-latin;
! mso-bidi-theme-font:minor-bidi'><span style='font-size:11.0pt;font-family:Calibri;
! mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662106"><span style='mso-fareast-font-family:"Times New Roman"'>3.33.
! Windows Logon Caching vs. Kerberos Logons</span></a></span></span><span
! style='mso-ascii-theme-font:
! minor-latin;mso-fareast-theme-font:
! minor-fareast;
! mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-bidi'><span
! style='font-size:11.0pt;font-family:Calibri;mso-fareast-font-family:"Times New Roman";
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662107"><span style='mso-fareast-font-family:"Times New Roman"'>3.34.
! Initial Server Preferences</span></a></span></span><span style='mso-ascii-theme-font:minor-latin;
! mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:
! minor-latin;
! mso-bidi-theme-font:minor-bidi'><span style='font-size:11.0pt;font-family:Calibri;
! mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662108"><span style='mso-fareast-font-family:"Times New Roman"'>3.35.
! File Timestamps</span></a></span></span><span style='mso-ascii-theme-font:minor-latin;
! mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:
! minor-latin;
! mso-bidi-theme-font:minor-bidi'><span style='font-size:11.0pt;font-family:Calibri;
! mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662109"><span style='mso-fareast-font-family:"Times New Roman"'>3.36.
! Windows RPC client support must be installed</span></a></span></span><span
! style='mso-ascii-theme-font:
! minor-latin;mso-fareast-theme-font:
! minor-fareast;
! mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-bidi'><span
! style='font-size:11.0pt;font-family:Calibri;mso-fareast-font-family:"Times New Roman";
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662110"><span style='mso-fareast-font-family:"Times New Roman"'>3.37.
! Generating Minidumps of the OpenAFS Client Service</span></a></span></span><span
! style='mso-ascii-theme-font:
! minor-latin;mso-fareast-theme-font:
! minor-fareast;
! mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-bidi'><span
! style='font-size:11.0pt;font-family:Calibri;mso-fareast-font-family:"Times New Roman";
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662111"><span style='mso-fareast-font-family:"Times New Roman"'>3.38.
! AFS Client Universally Unique Identifiers (UUIDs) vs. System Cloning</span></a></span></span><span
! style='mso-ascii-theme-font:
! minor-latin;mso-fareast-theme-font:
! minor-fareast;
! mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-bidi'><span
! style='font-size:11.0pt;font-family:Calibri;mso-fareast-font-family:"Times New Roman";
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662112"><span style='mso-fareast-font-family:"Times New Roman"'>3.39.
! Delayed Write Errors with Microsoft Office Applications</span></a></span></span><span
! style='mso-ascii-theme-font:
! minor-latin;mso-fareast-theme-font:
! minor-fareast;
! mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-bidi'><span
! style='font-size:11.0pt;font-family:Calibri;mso-fareast-font-family:"Times New Roman";
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662113"><span style='mso-fareast-font-family:"Times New Roman"'>3.40.
! Global Drives (aka Service Drive Letters) are no longer supported by Microsoft</span></a></span></span><span
! style='mso-ascii-theme-font:
! minor-latin;mso-fareast-theme-font:
! minor-fareast;
! mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-bidi'><span
! style='font-size:11.0pt;font-family:Calibri;mso-fareast-font-family:"Times New Roman";
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662114"><span style='mso-fareast-font-family:"Times New Roman"'>3.41.
! 64-bit Microsoft Windows Installations</span></a></span></span><span
! style='mso-ascii-theme-font:
! minor-latin;mso-fareast-theme-font:
! minor-fareast;
! mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-bidi'><span
! style='font-size:11.0pt;font-family:Calibri;mso-fareast-font-family:"Times New Roman";
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662115"><span style='mso-fareast-font-family:"Times New Roman"'>3.42.
! Known Issues with Microsoft Windows Vista</span></a></span></span><span
! style='mso-ascii-theme-font:
! minor-latin;mso-fareast-theme-font:
! minor-fareast;
! mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-bidi'><span
! style='font-size:11.0pt;font-family:Calibri;mso-fareast-font-family:"Times New Roman";
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662116"><span style='mso-fareast-font-family:"Times New Roman"'>3.43.
! New AFS Share Name Syntax Provides Direct Access to Volumes</span></a></span></span><span
! style='mso-ascii-theme-font:
! minor-latin;mso-fareast-theme-font:
! minor-fareast;
! mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-bidi'><span
! style='font-size:11.0pt;font-family:Calibri;mso-fareast-font-family:"Times New Roman";
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662117"><span style='mso-fareast-font-family:"Times New Roman"'>3.44.
! Differences between Windows and UNIX “fs examine”</span></a></span></span><span
! style='mso-ascii-theme-font:
! minor-latin;mso-fareast-theme-font:
! minor-fareast;
! mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-bidi'><span
! style='font-size:11.0pt;font-family:Calibri;mso-fareast-font-family:"Times New Roman";
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662118"><span style='mso-fareast-font-family:"Times New Roman"'>3.45.
! Literal evaluation of AFS objects via fs commands</span></a></span></span><span
! style='mso-ascii-theme-font:
! minor-latin;mso-fareast-theme-font:
! minor-fareast;
! mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-bidi'><span
! style='font-size:11.0pt;font-family:Calibri;mso-fareast-font-family:"Times New Roman";
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662119"><span style='mso-fareast-font-family:"Times New Roman"'>3.46.
! Out of Quota errors</span></a></span></span><span style='mso-ascii-theme-font:minor-latin;
! mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:
! minor-latin;
! mso-bidi-theme-font:minor-bidi'><span style='font-size:11.0pt;font-family:Calibri;
! mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc1 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662120"><span style='mso-fareast-font-family:"Times New Roman"'>4.
! How to Debug Problems with OpenAFS for Windows</span></a></span></span><span
! style='mso-ascii-theme-font:
! minor-latin;mso-fareast-theme-font:
! minor-fareast;
! mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-bidi'><span
! style='font-size:11.0pt;font-family:Calibri;mso-fareast-font-family:"Times New Roman";
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662121"><span style='mso-fareast-font-family:"Times New Roman"'>4.1.
! pioctl debugging (IoctlDebug registry key)</span></a></span></span><span
! style='mso-ascii-theme-font:
! minor-latin;mso-fareast-theme-font:
! minor-fareast;
! mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-bidi'><span
! style='font-size:11.0pt;font-family:Calibri;mso-fareast-font-family:"Times New Roman";
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662122"><span style='mso-fareast-font-family:"Times New Roman"'>4.2.
! afsd_service initialization log (%WinDir%\TEMP\afsd_init.log)</span></a></span></span><span
! style='mso-ascii-theme-font:
! minor-latin;mso-fareast-theme-font:
! minor-fareast;
! mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-bidi'><span
! style='font-size:11.0pt;font-family:Calibri;mso-fareast-font-family:"Times New Roman";
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662123"><span style='mso-fareast-font-family:"Times New Roman"'>4.3.
! afsd_service debug logs (fs trace {-on, -off, -dump}
! -&gt;%WinDir%\TEMP\afsd.log)</span></a></span></span><span style='mso-ascii-theme-font:minor-latin;
! mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:minor-latin;
! mso-bidi-theme-font:minor-bidi'><span style='font-size:11.0pt;font-family:Calibri;
! mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662124"><span style='mso-fareast-font-family:"Times New Roman"'>4.4.
! Using SysInternal’s DbgView and ProcMon or FileMon Tools</span></a></span></span><span
! style='mso-ascii-theme-font:
! minor-latin;mso-fareast-theme-font:
! minor-fareast;
! mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-bidi'><span
! style='font-size:11.0pt;font-family:Calibri;mso-fareast-font-family:"Times New Roman";
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662125"><span style='mso-fareast-font-family:"Times New Roman"'>4.5.
! Microsoft MiniDumps<span style='mso-spacerun:yes'>  </span>(fs minidump -&gt;
! %WinDir%\TEMP\afsd.dmp)</span></a></span></span><span style='mso-ascii-theme-font:minor-latin;
! mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:
! minor-latin;
! mso-bidi-theme-font:minor-bidi'><span style='font-size:11.0pt;font-family:Calibri;
! mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662126"><span style='mso-fareast-font-family:"Times New Roman"'>4.6.
! Single Sign-on (Integrated Logon) debugging</span></a></span></span><span
! style='mso-ascii-theme-font:
! minor-latin;mso-fareast-theme-font:
! minor-fareast;
! mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-bidi'><span
! style='font-size:11.0pt;font-family:Calibri;mso-fareast-font-family:"Times New Roman";
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662127"><span style='mso-fareast-font-family:"Times New Roman"'>4.7.
! RX (AFS RPC) debugging (rxdebug)</span></a></span></span><span
! style='mso-ascii-theme-font:
! minor-latin;mso-fareast-theme-font:
! minor-fareast;
! mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-bidi'><span
! style='font-size:11.0pt;font-family:Calibri;mso-fareast-font-family:"Times New Roman";
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662128"><span style='mso-fareast-font-family:"Times New Roman"'>4.8.
! Cache Manager debugging (cmdebug)</span></a></span></span><span
! style='mso-ascii-theme-font:
! minor-latin;mso-fareast-theme-font:
! minor-fareast;
! mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-bidi'><span
! style='font-size:11.0pt;font-family:Calibri;mso-fareast-font-family:"Times New Roman";
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662129"><span style='mso-fareast-font-family:"Times New Roman"'>4.9.
! Persistent Cache consistency check</span></a></span></span><span
! style='mso-ascii-theme-font:
! minor-latin;mso-fareast-theme-font:
! minor-fareast;
! mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-bidi'><span
! style='font-size:11.0pt;font-family:Calibri;mso-fareast-font-family:"Times New Roman";
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662130"><span style='mso-fareast-font-family:"Times New Roman"'>4.10.
! Token Acquisition Debugging</span></a></span></span><span style='mso-ascii-theme-font:minor-latin;
! mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:minor-latin;
! mso-bidi-theme-font:minor-bidi'><span style='font-size:11.0pt;font-family:Calibri;
! mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc1 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662131"><span style='mso-fareast-font-family:"Times New Roman"'>5.
! Reporting Bugs</span></a></span></span><span style='mso-ascii-theme-font:minor-latin;
! mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:
! minor-latin;
! mso-bidi-theme-font:minor-bidi'><span style='font-size:11.0pt;font-family:Calibri;
! mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc1 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662132"><span style='mso-fareast-font-family:"Times New Roman"'>6.
! How to Contribute to the Development of OpenAFS for Windows</span></a></span></span><span
! style='mso-ascii-theme-font:
! minor-latin;mso-fareast-theme-font:
! minor-fareast;
! mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-bidi'><span
! style='font-size:11.0pt;font-family:Calibri;mso-fareast-font-family:"Times New Roman";
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662133"><span style='mso-fareast-font-family:"Times New Roman"'>6.1.
! The USENIX OpenAFS Fund</span></a></span></span><span style='mso-ascii-theme-font:minor-latin;
! mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:
! minor-latin;
! mso-bidi-theme-font:minor-bidi'><span style='font-size:11.0pt;font-family:Calibri;
! mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662134"><span style='mso-fareast-font-family:"Times New Roman"'>6.2.
! Secure Endpoints Inc.</span></a></span></span><span style='mso-ascii-theme-font:minor-latin;
! mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:
! minor-latin;
! mso-bidi-theme-font:minor-bidi'><span style='font-size:11.0pt;font-family:Calibri;
! mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662135"><span style='mso-fareast-font-family:"Times New Roman"'>6.3.
! Direct contributions of code and/or documentation</span></a></span></span><span
! style='mso-ascii-theme-font:
! minor-latin;mso-fareast-theme-font:
! minor-fareast;
! mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-bidi'><span
! style='font-size:11.0pt;font-family:Calibri;mso-fareast-font-family:"Times New Roman";
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662136"><span style='mso-fareast-font-family:"Times New Roman"'>6.4.
! OpenAFS for Windows Mailing Lists</span></a></span></span><span
! style='mso-ascii-theme-font:
! minor-latin;mso-fareast-theme-font:
! minor-fareast;
! mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-bidi'><span
! style='font-size:11.0pt;font-family:Calibri;mso-fareast-font-family:"Times New Roman";
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc1 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662137"><span style='mso-fareast-font-family:"Times New Roman"'>7.
! MSI Deployment Guide</span></a></span></span><span style='mso-ascii-theme-font:minor-latin;
! mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:
! minor-latin;
! mso-bidi-theme-font:minor-bidi'><span style='font-size:11.0pt;font-family:Calibri;
! mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662138"><span style='mso-fareast-font-family:"Times New Roman"'>7.1.
! Introduction</span></a></span></span><span style='mso-ascii-theme-font:minor-latin;
! mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:
! minor-latin;
! mso-bidi-theme-font:minor-bidi'><span style='font-size:11.0pt;font-family:Calibri;
! mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662139"><span style='mso-fareast-font-family:"Times New Roman"'>7.1.1
! Requirements</span></a></span></span><span style='mso-ascii-theme-font:minor-latin;
! mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:
! minor-latin;
! mso-bidi-theme-font:minor-bidi'><span style='font-size:11.0pt;font-family:Calibri;
! mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662140"><span style='mso-fareast-font-family:"Times New Roman"'>7.1.2
! Authoring a Transform</span></a></span></span><span style='mso-ascii-theme-font:minor-latin;
! mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:
! minor-latin;
! mso-bidi-theme-font:minor-bidi'><span style='font-size:11.0pt;font-family:Calibri;
! mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662141"><span style='mso-fareast-font-family:"Times New Roman"'>7.2.
! Configuration Options</span></a></span></span><span style='mso-ascii-theme-font:minor-latin;
! mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:
! minor-latin;
! mso-bidi-theme-font:minor-bidi'><span style='font-size:11.0pt;font-family:Calibri;
! mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662142"><span style='mso-fareast-font-family:"Times New Roman"'>7.2.1
! Configurable Properties</span></a></span></span><span style='mso-ascii-theme-font:minor-latin;
! mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:
! minor-latin;
! mso-bidi-theme-font:minor-bidi'><span style='font-size:11.0pt;font-family:Calibri;
! mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc4 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662143"><span style='mso-fareast-font-family:"Times New Roman"'>7.2.1.1
! Setting Properties</span></a></span></span><span style='mso-ascii-theme-font:minor-latin;
! mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:
! minor-latin;
! mso-bidi-theme-font:minor-bidi'><span style='font-size:11.0pt;font-family:Calibri;
! mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc4 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662144"><span style='mso-fareast-font-family:"Times New Roman"'>7.2.1.2
! OpenAFS for Windows Properties</span></a></span></span><span style='mso-ascii-theme-font:minor-latin;
! mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:minor-latin;
! mso-bidi-theme-font:minor-bidi'><span style='font-size:11.0pt;font-family:Calibri;
! mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662145"><span style='mso-fareast-font-family:"Times New Roman"'>(Service
! parameters):</span></a></span></span><span style='mso-ascii-theme-font:minor-latin;
! mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:
! minor-latin;
! mso-bidi-theme-font:minor-bidi'><span style='font-size:11.0pt;font-family:Calibri;
! mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662146"><span style='mso-fareast-font-family:"Times New Roman"'>(Network
! provider):</span></a></span></span><span style='mso-ascii-theme-font:minor-latin;
! mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:
! minor-latin;
! mso-bidi-theme-font:minor-bidi'><span style='font-size:11.0pt;font-family:Calibri;
! mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662147"><span style='mso-fareast-font-family:"Times New Roman"'>(OpenAFS
! Client):</span></a></span></span><span style='mso-ascii-theme-font:minor-latin;
! mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:
! minor-latin;
! mso-bidi-theme-font:minor-bidi'><span style='font-size:11.0pt;font-family:Calibri;
! mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662148"><span style='mso-fareast-font-family:"Times New Roman"'>7.2.1.2.1
! Registry Properties</span></a></span></span><span style='mso-ascii-theme-font:minor-latin;
! mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:
! minor-latin;
! mso-bidi-theme-font:minor-bidi'><span style='font-size:11.0pt;font-family:Calibri;
! mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc6 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662149"><span style='mso-fareast-font-family:"Times New Roman"'>AFSCACHEPATH</span></a></span></span><span
! style='mso-ascii-theme-font:
! minor-latin;mso-fareast-theme-font:
! minor-fareast;
! mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-bidi'><span
! style='font-size:11.0pt;font-family:Calibri;mso-fareast-font-family:"Times New Roman";
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc6 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662150"><span style='mso-fareast-font-family:"Times New Roman"'>AFSCACHESIZE</span></a></span></span><span
! style='mso-ascii-theme-font:
! minor-latin;mso-fareast-theme-font:
! minor-fareast;
! mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-bidi'><span
! style='font-size:11.0pt;font-family:Calibri;mso-fareast-font-family:"Times New Roman";
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc6 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662151"><span style='mso-fareast-font-family:"Times New Roman"'>AFSCELLNAME</span></a></span></span><span
! style='mso-ascii-theme-font:
! minor-latin;mso-fareast-theme-font:
! minor-fareast;
! mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-bidi'><span
! style='font-size:11.0pt;font-family:Calibri;mso-fareast-font-family:"Times New Roman";
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc6 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662152"><span style='mso-fareast-font-family:"Times New Roman"'>FREELANCEMODE</span></a></span></span><span
! style='mso-ascii-theme-font:
! minor-latin;mso-fareast-theme-font:
! minor-fareast;
! mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-bidi'><span
! style='font-size:11.0pt;font-family:Calibri;mso-fareast-font-family:"Times New Roman";
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc6 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662153"><span style='mso-fareast-font-family:"Times New Roman"'>HIDEDOTFILES</span></a></span></span><span
! style='mso-ascii-theme-font:
! minor-latin;mso-fareast-theme-font:
! minor-fareast;
! mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-bidi'><span
! style='font-size:11.0pt;font-family:Calibri;mso-fareast-font-family:"Times New Roman";
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc6 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662154"><span style='mso-fareast-font-family:"Times New Roman"'>LOGONOPTIONS</span></a></span></span><span
! style='mso-ascii-theme-font:
! minor-latin;mso-fareast-theme-font:
! minor-fareast;
! mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-bidi'><span
! style='font-size:11.0pt;font-family:Calibri;mso-fareast-font-family:"Times New Roman";
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc6 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662155"><span style='mso-fareast-font-family:"Times New Roman"'>MOUNTROOT</span></a></span></span><span
! style='mso-ascii-theme-font:
! minor-latin;mso-fareast-theme-font:
! minor-fareast;
! mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-bidi'><span
! style='font-size:11.0pt;font-family:Calibri;mso-fareast-font-family:"Times New Roman";
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc6 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662156"><span style='mso-fareast-font-family:"Times New Roman"'>NETBIOSNAME</span></a></span></span><span
! style='mso-ascii-theme-font:
! minor-latin;mso-fareast-theme-font:
! minor-fareast;
! mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-bidi'><span
! style='font-size:11.0pt;font-family:Calibri;mso-fareast-font-family:"Times New Roman";
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc6 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662157"><span style='mso-fareast-font-family:"Times New Roman"'>NOFINDLANABYNAME</span></a></span></span><span
! style='mso-ascii-theme-font:
! minor-latin;mso-fareast-theme-font:
! minor-fareast;
! mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-bidi'><span
! style='font-size:11.0pt;font-family:Calibri;mso-fareast-font-family:"Times New Roman";
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc6 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662158"><span style='mso-fareast-font-family:"Times New Roman"'>RXMAXMTU</span></a></span></span><span
! style='mso-ascii-theme-font:
! minor-latin;mso-fareast-theme-font:
! minor-fareast;
! mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-bidi'><span
! style='font-size:11.0pt;font-family:Calibri;mso-fareast-font-family:"Times New Roman";
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc6 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662159"><span style='mso-fareast-font-family:"Times New Roman"'>SECURITYLEVEL</span></a></span></span><span
! style='mso-ascii-theme-font:
! minor-latin;mso-fareast-theme-font:
! minor-fareast;
! mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-bidi'><span
! style='font-size:11.0pt;font-family:Calibri;mso-fareast-font-family:"Times New Roman";
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc6 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662160"><span style='mso-fareast-font-family:"Times New Roman"'>SMBAUTHTYPE</span></a></span></span><span
! style='mso-ascii-theme-font:
! minor-latin;mso-fareast-theme-font:
! minor-fareast;
! mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-bidi'><span
! style='font-size:11.0pt;font-family:Calibri;mso-fareast-font-family:"Times New Roman";
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc6 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662161"><span style='mso-fareast-font-family:"Times New Roman"'>STOREANSIFILENAMES</span></a></span></span><span
! style='mso-ascii-theme-font:
! minor-latin;mso-fareast-theme-font:
! minor-fareast;
! mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-bidi'><span
! style='font-size:11.0pt;font-family:Calibri;mso-fareast-font-family:"Times New Roman";
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc6 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662162"><span style='mso-fareast-font-family:"Times New Roman"'>USEDNS</span></a></span></span><span
! style='mso-ascii-theme-font:
! minor-latin;mso-fareast-theme-font:
! minor-fareast;
! mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-bidi'><span
! style='font-size:11.0pt;font-family:Calibri;mso-fareast-font-family:"Times New Roman";
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662163"><span style='mso-fareast-font-family:"Times New Roman"'>7.2.1.2.2
! AFSCreds.exe Properties</span></a></span></span><span style='mso-ascii-theme-font:minor-latin;
! mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:
! minor-latin;
! mso-bidi-theme-font:minor-bidi'><span style='font-size:11.0pt;font-family:Calibri;
! mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc6 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662164"><span style='mso-fareast-font-family:"Times New Roman"'>CREDSSTARTUP</span></a></span></span><span
! style='mso-ascii-theme-font:
! minor-latin;mso-fareast-theme-font:
! minor-fareast;
! mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-bidi'><span
! style='font-size:11.0pt;font-family:Calibri;mso-fareast-font-family:"Times New Roman";
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc6 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662165"><span style='mso-fareast-font-family:"Times New Roman"'>CREDSAUTOINIT</span></a></span></span><span
! style='mso-ascii-theme-font:
! minor-latin;mso-fareast-theme-font:
! minor-fareast;
! mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-bidi'><span
! style='font-size:11.0pt;font-family:Calibri;mso-fareast-font-family:"Times New Roman";
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc6 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662166"><span style='mso-fareast-font-family:"Times New Roman"'>CREDSIPCHDET</span></a></span></span><span
! style='mso-ascii-theme-font:
! minor-latin;mso-fareast-theme-font:
! minor-fareast;
! mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-bidi'><span
! style='font-size:11.0pt;font-family:Calibri;mso-fareast-font-family:"Times New Roman";
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc6 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662167"><span style='mso-fareast-font-family:"Times New Roman"'>CREDSQUIET</span></a></span></span><span
! style='mso-ascii-theme-font:
! minor-latin;mso-fareast-theme-font:
! minor-fareast;
! mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-bidi'><span
! style='font-size:11.0pt;font-family:Calibri;mso-fareast-font-family:"Times New Roman";
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc6 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662168"><span style='mso-fareast-font-family:"Times New Roman"'>CREDSRENEWDRMAP</span></a></span></span><span
! style='mso-ascii-theme-font:
! minor-latin;mso-fareast-theme-font:
! minor-fareast;
! mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-bidi'><span
! style='font-size:11.0pt;font-family:Calibri;mso-fareast-font-family:"Times New Roman";
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc6 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662169"><span style='mso-fareast-font-family:"Times New Roman"'>CREDSSHOW</span></a></span></span><span
! style='mso-ascii-theme-font:
! minor-latin;mso-fareast-theme-font:
! minor-fareast;
! mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-bidi'><span
! style='font-size:11.0pt;font-family:Calibri;mso-fareast-font-family:"Times New Roman";
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662170"><span style='mso-fareast-font-family:"Times New Roman"'>7.2.2
! Existing Registry Entries</span></a></span></span><span style='mso-ascii-theme-font:minor-latin;
! mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:
! minor-latin;
! mso-bidi-theme-font:minor-bidi'><span style='font-size:11.0pt;font-family:Calibri;
! mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662171"><span style='mso-fareast-font-family:"Times New Roman"'>7.2.3
! Replacing Configuration Files</span></a></span></span><span style='mso-ascii-theme-font:minor-latin;
! mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:minor-latin;
! mso-bidi-theme-font:minor-bidi'><span style='font-size:11.0pt;font-family:Calibri;
! mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc4 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662172"><span style='mso-fareast-font-family:"Times New Roman"'>7.2.3.1
! Components for Configuration Files</span></a></span></span><span
! style='mso-ascii-theme-font:
! minor-latin;mso-fareast-theme-font:
! minor-fareast;
! mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-bidi'><span
! style='font-size:11.0pt;font-family:Calibri;mso-fareast-font-family:"Times New Roman";
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662173"><span style='mso-fareast-font-family:"Times New Roman"'>7.2.4
! Adding Domain Specific Registry Keys</span></a></span></span><span
! style='mso-ascii-theme-font:
! minor-latin;mso-fareast-theme-font:
! minor-fareast;
! mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-bidi'><span
! style='font-size:11.0pt;font-family:Calibri;mso-fareast-font-family:"Times New Roman";
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662174"><span style='mso-fareast-font-family:"Times New Roman"'>7.2.5
! Adding Site Specific Freelance Registry Keys</span></a></span></span><span
! style='mso-ascii-theme-font:
! minor-latin;mso-fareast-theme-font:
! minor-fareast;
! mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-bidi'><span
! style='font-size:11.0pt;font-family:Calibri;mso-fareast-font-family:"Times New Roman";
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662175"><span style='mso-fareast-font-family:"Times New Roman"'>7.3
! Additional Resources</span></a></span></span><span style='mso-ascii-theme-font:minor-latin;
! mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:
! minor-latin;
! mso-bidi-theme-font:minor-bidi'><span style='font-size:11.0pt;font-family:Calibri;
! mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662176"><span style='mso-fareast-font-family:"Times New Roman"'>7.4.
! Upgrades</span></a></span></span><span style='mso-ascii-theme-font:minor-latin;
! mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:
! minor-latin;
! mso-bidi-theme-font:minor-bidi'><span style='font-size:11.0pt;font-family:Calibri;
! mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc1 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662177"><span style='mso-fareast-font-family:"Times New Roman"'>Appendix
! A: Registry Values</span></a></span></span><span style='mso-ascii-theme-font:minor-latin;
! mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:
! minor-latin;
! mso-bidi-theme-font:minor-bidi'><span style='font-size:11.0pt;font-family:Calibri;
! mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662178"><span style='mso-fareast-font-family:"Times New Roman"'>A.1.
! Service parameters</span></a></span></span><span style='mso-ascii-theme-font:minor-latin;
! mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:
! minor-latin;
! mso-bidi-theme-font:minor-bidi'><span style='font-size:11.0pt;font-family:Calibri;
! mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662179"><span style='mso-fareast-font-family:"Times New Roman"'>Regkey:
! [HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters]</span></a></span></span><span
! style='mso-ascii-theme-font:
! minor-latin;mso-fareast-theme-font:
! minor-fareast;
! mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-bidi'><span
! style='font-size:11.0pt;font-family:Calibri;mso-fareast-font-family:"Times New Roman";
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662180"><span style='mso-fareast-font-family:"Times New Roman"'>Value:
! LANadapter</span></a></span></span><span style='mso-ascii-theme-font:minor-latin;
! mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:
! minor-latin;
! mso-bidi-theme-font:minor-bidi'><span style='font-size:11.0pt;font-family:Calibri;
! mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662181"><span style='mso-fareast-font-family:"Times New Roman"'>Value:
! CacheSize</span></a></span></span><span style='mso-ascii-theme-font:minor-latin;
! mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:
! minor-latin;
! mso-bidi-theme-font:minor-bidi'><span style='font-size:11.0pt;font-family:Calibri;
! mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662182"><span style='mso-fareast-font-family:"Times New Roman"'>Value:
! ChunkSize</span></a></span></span><span style='mso-ascii-theme-font:minor-latin;
! mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:
! minor-latin;
! mso-bidi-theme-font:minor-bidi'><span style='font-size:11.0pt;font-family:Calibri;
! mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662183"><span style='mso-fareast-font-family:"Times New Roman"'>Value:
! Daemons</span></a></span></span><span style='mso-ascii-theme-font:minor-latin;
! mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:minor-latin;
! mso-bidi-theme-font:minor-bidi'><span style='font-size:11.0pt;font-family:Calibri;
! mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662184"><span style='mso-fareast-font-family:"Times New Roman"'>Value:
! ServerThreads</span></a></span></span><span style='mso-ascii-theme-font:minor-latin;
! mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:
! minor-latin;
! mso-bidi-theme-font:minor-bidi'><span style='font-size:11.0pt;font-family:Calibri;
! mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662185"><span style='mso-fareast-font-family:"Times New Roman"'>Value:
! Stats</span></a></span></span><span style='mso-ascii-theme-font:minor-latin;
! mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:minor-latin;
! mso-bidi-theme-font:minor-bidi'><span style='font-size:11.0pt;font-family:Calibri;
! mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662186"><span style='mso-fareast-font-family:"Times New Roman"'>Value:
! LogoffPreserveTokens</span></a></span></span><span style='mso-ascii-theme-font:minor-latin;
! mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:
! minor-latin;
! mso-bidi-theme-font:minor-bidi'><span style='font-size:11.0pt;font-family:Calibri;
! mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662187"><span style='mso-fareast-font-family:"Times New Roman"'>Value:
! RootVolume</span></a></span></span><span style='mso-ascii-theme-font:minor-latin;
! mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:
! minor-latin;
! mso-bidi-theme-font:minor-bidi'><span style='font-size:11.0pt;font-family:Calibri;
! mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662188"><span style='mso-fareast-font-family:"Times New Roman"'>Value:
! MountRoot</span></a></span></span><span style='mso-ascii-theme-font:minor-latin;
! mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:
! minor-latin;
! mso-bidi-theme-font:minor-bidi'><span style='font-size:11.0pt;font-family:Calibri;
! mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662189"><span style='mso-fareast-font-family:"Times New Roman"'>Value:
! CachePath</span></a></span></span><span style='mso-ascii-theme-font:minor-latin;
! mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:
! minor-latin;
! mso-bidi-theme-font:minor-bidi'><span style='font-size:11.0pt;font-family:Calibri;
! mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662190"><span style='mso-fareast-font-family:"Times New Roman"'>Value:
! NonPersistentCaching</span></a></span></span><span style='mso-ascii-theme-font:minor-latin;
! mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:
! minor-latin;
! mso-bidi-theme-font:minor-bidi'><span style='font-size:11.0pt;font-family:Calibri;
! mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662191"><span style='mso-fareast-font-family:"Times New Roman"'>Value:
! ValidateCache</span></a></span></span><span style='mso-ascii-theme-font:minor-latin;
! mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:
! minor-latin;
! mso-bidi-theme-font:minor-bidi'><span style='font-size:11.0pt;font-family:Calibri;
! mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662192"><span style='mso-fareast-font-family:"Times New Roman"'>Value:
! TrapOnPanic</span></a></span></span><span style='mso-ascii-theme-font:minor-latin;
! mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:
! minor-latin;
! mso-bidi-theme-font:minor-bidi'><span style='font-size:11.0pt;font-family:Calibri;
! mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662193"><span style='mso-fareast-font-family:"Times New Roman"'>Value:
! NetbiosName</span></a></span></span><span style='mso-ascii-theme-font:minor-latin;
! mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:
! minor-latin;
! mso-bidi-theme-font:minor-bidi'><span style='font-size:11.0pt;font-family:Calibri;
! mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662194"><span style='mso-fareast-font-family:"Times New Roman"'>Value:
! IsGateway</span></a></span></span><span style='mso-ascii-theme-font:minor-latin;
! mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:
! minor-latin;
! mso-bidi-theme-font:minor-bidi'><span style='font-size:11.0pt;font-family:Calibri;
! mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662195"><span style='mso-fareast-font-family:"Times New Roman"'>Value:
! ReportSessionStartups</span></a></span></span><span style='mso-ascii-theme-font:minor-latin;
! mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:
! minor-latin;
! mso-bidi-theme-font:minor-bidi'><span style='font-size:11.0pt;font-family:Calibri;
! mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662196"><span style='mso-fareast-font-family:"Times New Roman"'>Value:
! TraceBufferSize</span></a></span></span><span style='mso-ascii-theme-font:minor-latin;
! mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:
! minor-latin;
! mso-bidi-theme-font:minor-bidi'><span style='font-size:11.0pt;font-family:Calibri;
! mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662197"><span style='mso-fareast-font-family:"Times New Roman"'>Value:
! SysName</span></a></span></span><span style='mso-ascii-theme-font:minor-latin;
! mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:minor-latin;
! mso-bidi-theme-font:minor-bidi'><span style='font-size:11.0pt;font-family:Calibri;
! mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662198"><span style='mso-fareast-font-family:"Times New Roman"'>Value:
! SecurityLevel</span></a></span></span><span style='mso-ascii-theme-font:minor-latin;
! mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:
! minor-latin;
! mso-bidi-theme-font:minor-bidi'><span style='font-size:11.0pt;font-family:Calibri;
! mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662199"><span style='mso-fareast-font-family:"Times New Roman"'>Value:
! UseDNS</span></a></span></span><span style='mso-ascii-theme-font:minor-latin;
! mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:minor-latin;
! mso-bidi-theme-font:minor-bidi'><span style='font-size:11.0pt;font-family:Calibri;
! mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662200"><span style='mso-fareast-font-family:"Times New Roman"'>Value:
! FreelanceClient</span></a></span></span><span style='mso-ascii-theme-font:minor-latin;
! mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:
! minor-latin;
! mso-bidi-theme-font:minor-bidi'><span style='font-size:11.0pt;font-family:Calibri;
! mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662201"><span style='mso-fareast-font-family:"Times New Roman"'>Value:
! HideDotFiles</span></a></span></span><span style='mso-ascii-theme-font:minor-latin;
! mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:
! minor-latin;
! mso-bidi-theme-font:minor-bidi'><span style='font-size:11.0pt;font-family:Calibri;
! mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662202"><span style='mso-fareast-font-family:"Times New Roman"'>Value:
! MaxMpxRequests</span></a></span></span><span style='mso-ascii-theme-font:minor-latin;
! mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:
! minor-latin;
! mso-bidi-theme-font:minor-bidi'><span style='font-size:11.0pt;font-family:Calibri;
! mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662203"><span style='mso-fareast-font-family:"Times New Roman"'>Value:
! MaxVCPerServer</span></a></span></span><span style='mso-ascii-theme-font:minor-latin;
! mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:
! minor-latin;
! mso-bidi-theme-font:minor-bidi'><span style='font-size:11.0pt;font-family:Calibri;
! mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662204"><span style='mso-fareast-font-family:"Times New Roman"'>Value:
! Cell</span></a></span></span><span style='mso-ascii-theme-font:minor-latin;
! mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:minor-latin;
! mso-bidi-theme-font:minor-bidi'><span style='font-size:11.0pt;font-family:Calibri;
! mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662205"><span style='mso-fareast-font-family:"Times New Roman"'>Value:
! RxNoJumbo</span></a></span></span><span style='mso-ascii-theme-font:minor-latin;
! mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:
! minor-latin;
! mso-bidi-theme-font:minor-bidi'><span style='font-size:11.0pt;font-family:Calibri;
! mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662206"><span style='mso-fareast-font-family:"Times New Roman"'>Value:
! RxMaxMTU</span></a></span></span><span style='mso-ascii-theme-font:minor-latin;
! mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:
! minor-latin;
! mso-bidi-theme-font:minor-bidi'><span style='font-size:11.0pt;font-family:Calibri;
! mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662207"><span style='mso-fareast-font-family:"Times New Roman"'>Value:
! ConnDeadTimeout</span></a></span></span><span style='mso-ascii-theme-font:minor-latin;
! mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:
! minor-latin;
! mso-bidi-theme-font:minor-bidi'><span style='font-size:11.0pt;font-family:Calibri;
! mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662208"><span style='mso-fareast-font-family:"Times New Roman"'>Value:
! HardDeadTimeout</span></a></span></span><span style='mso-ascii-theme-font:minor-latin;
! mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:
! minor-latin;
! mso-bidi-theme-font:minor-bidi'><span style='font-size:11.0pt;font-family:Calibri;
! mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662209"><span style='mso-fareast-font-family:"Times New Roman"'>Value:
! TraceOption</span></a></span></span><span style='mso-ascii-theme-font:minor-latin;
! mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:
! minor-latin;
! mso-bidi-theme-font:minor-bidi'><span style='font-size:11.0pt;font-family:Calibri;
! mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662210"><span style='mso-fareast-font-family:"Times New Roman"'>Value:
! AllSubmount</span></a></span></span><span style='mso-ascii-theme-font:minor-latin;
! mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:
! minor-latin;
! mso-bidi-theme-font:minor-bidi'><span style='font-size:11.0pt;font-family:Calibri;
! mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662211"><span style='mso-fareast-font-family:"Times New Roman"'>Value:
! NoFindLanaByName</span></a></span></span><span style='mso-ascii-theme-font:minor-latin;
! mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:
! minor-latin;
! mso-bidi-theme-font:minor-bidi'><span style='font-size:11.0pt;font-family:Calibri;
! mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662212"><span style='mso-fareast-font-family:"Times New Roman"'>Value:
! MaxCPUs</span></a></span></span><span style='mso-ascii-theme-font:minor-latin;
! mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:minor-latin;
! mso-bidi-theme-font:minor-bidi'><span style='font-size:11.0pt;font-family:Calibri;
! mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662213"><span style='mso-fareast-font-family:"Times New Roman"'>Value:
! smbAuthType</span></a></span></span><span style='mso-ascii-theme-font:minor-latin;
! mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:
! minor-latin;
! mso-bidi-theme-font:minor-bidi'><span style='font-size:11.0pt;font-family:Calibri;
! mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662214"><span style='mso-fareast-font-family:"Times New Roman"'>Value:
! MaxLogSize</span></a></span></span><span style='mso-ascii-theme-font:minor-latin;
! mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:
! minor-latin;
! mso-bidi-theme-font:minor-bidi'><span style='font-size:11.0pt;font-family:Calibri;
! mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662215"><span style='mso-fareast-font-family:"Times New Roman"'>Value:
! FlushOnHibernate</span></a></span></span><span style='mso-ascii-theme-font:minor-latin;
! mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:
! minor-latin;
! mso-bidi-theme-font:minor-bidi'><span style='font-size:11.0pt;font-family:Calibri;
! mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662216"><span style='mso-fareast-font-family:"Times New Roman"'>Value:
! daemonCheckDownInterval</span></a></span></span><span style='mso-ascii-theme-font:minor-latin;
! mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:
! minor-latin;
! mso-bidi-theme-font:minor-bidi'><span style='font-size:11.0pt;font-family:Calibri;
! mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662217"><span style='mso-fareast-font-family:"Times New Roman"'>Value:
! daemonCheckUpInterval</span></a></span></span><span style='mso-ascii-theme-font:minor-latin;
! mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:
! minor-latin;
! mso-bidi-theme-font:minor-bidi'><span style='font-size:11.0pt;font-family:Calibri;
! mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662218"><span style='mso-fareast-font-family:"Times New Roman"'>Value:
! daemonCheckVolInterval</span></a></span></span><span style='mso-ascii-theme-font:minor-latin;
! mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:
! minor-latin;
! mso-bidi-theme-font:minor-bidi'><span style='font-size:11.0pt;font-family:Calibri;
! mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662219"><span style='mso-fareast-font-family:"Times New Roman"'>Value:
! daemonCheckCBInterval</span></a></span></span><span style='mso-ascii-theme-font:minor-latin;
! mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:
! minor-latin;
! mso-bidi-theme-font:minor-bidi'><span style='font-size:11.0pt;font-family:Calibri;
! mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662220"><span style='mso-fareast-font-family:"Times New Roman"'>Value:
! daemonCheckLockInterval</span></a></span></span><span style='mso-ascii-theme-font:minor-latin;
! mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:
! minor-latin;
! mso-bidi-theme-font:minor-bidi'><span style='font-size:11.0pt;font-family:Calibri;
! mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662221"><span style='mso-fareast-font-family:"Times New Roman"'>Value:
! daemonCheckTokenInterval</span></a></span></span><span style='mso-ascii-theme-font:minor-latin;
! mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:
! minor-latin;
! mso-bidi-theme-font:minor-bidi'><span style='font-size:11.0pt;font-family:Calibri;
! mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662222"><span style='mso-fareast-font-family:"Times New Roman"'>Value:
! daemonCheckOfflineVolInterval</span></a></span></span><span style='mso-ascii-theme-font:minor-latin;
! mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:minor-latin;
! mso-bidi-theme-font:minor-bidi'><span style='font-size:11.0pt;font-family:Calibri;
! mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662223"><span style='mso-fareast-font-family:"Times New Roman"'>Value:
! CallBackPort</span></a></span></span><span style='mso-ascii-theme-font:minor-latin;
! mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:
! minor-latin;
! mso-bidi-theme-font:minor-bidi'><span style='font-size:11.0pt;font-family:Calibri;
! mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662224"><span style='mso-fareast-font-family:"Times New Roman"'>Value:
! EnableServerLocks</span></a></span></span><span style='mso-ascii-theme-font:minor-latin;
! mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:
! minor-latin;
! mso-bidi-theme-font:minor-bidi'><span style='font-size:11.0pt;font-family:Calibri;
! mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662225"><span style='mso-fareast-font-family:"Times New Roman"'>Value:
! DeleteReadOnly</span></a></span></span><span style='mso-ascii-theme-font:minor-latin;
! mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:
! minor-latin;
! mso-bidi-theme-font:minor-bidi'><span style='font-size:11.0pt;font-family:Calibri;
! mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662226"><span style='mso-fareast-font-family:"Times New Roman"'>Value:
! BPlusTrees</span></a></span></span><span style='mso-ascii-theme-font:minor-latin;
! mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:
! minor-latin;
! mso-bidi-theme-font:minor-bidi'><span style='font-size:11.0pt;font-family:Calibri;
! mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662227"><span style='mso-fareast-font-family:"Times New Roman"'>Value:
! PrefetchExecutableExtensions</span></a></span></span><span style='mso-ascii-theme-font:minor-latin;
! mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:minor-latin;
! mso-bidi-theme-font:minor-bidi'><span style='font-size:11.0pt;font-family:Calibri;
! mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662228"><span style='mso-fareast-font-family:"Times New Roman"'>Value:
! OfflineReadOnlyIsValid</span></a></span></span><span style='mso-ascii-theme-font:minor-latin;
! mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:
! minor-latin;
! mso-bidi-theme-font:minor-bidi'><span style='font-size:11.0pt;font-family:Calibri;
! mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662229"><span style='mso-fareast-font-family:"Times New Roman"'>Value:
! GiveUpAllCallBacks</span></a></span></span><span style='mso-ascii-theme-font:minor-latin;
! mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:
! minor-latin;
! mso-bidi-theme-font:minor-bidi'><span style='font-size:11.0pt;font-family:Calibri;
! mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662230"><span style='mso-fareast-font-family:"Times New Roman"'>Value:
! FollowBackupPath</span></a></span></span><span style='mso-ascii-theme-font:minor-latin;
! mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:
! minor-latin;
! mso-bidi-theme-font:minor-bidi'><span style='font-size:11.0pt;font-family:Calibri;
! mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662231"><span style='mso-fareast-font-family:"Times New Roman"'>Regkey:
! [HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters\GlobalAutoMapper]</span></a></span></span><span
! style='mso-ascii-theme-font:
! minor-latin;mso-fareast-theme-font:
! minor-fareast;
! mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-bidi'><span
! style='font-size:11.0pt;font-family:Calibri;mso-fareast-font-family:"Times New Roman";
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662232"><span style='mso-fareast-font-family:"Times New Roman"'>Value:
! &lt;Drive Letter:&gt; for example &quot;G:&quot;</span></a></span></span><span
! style='mso-ascii-theme-font:
! minor-latin;mso-fareast-theme-font:
! minor-fareast;
! mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-bidi'><span
! style='font-size:11.0pt;font-family:Calibri;mso-fareast-font-family:"Times New Roman";
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662233"><span style='mso-fareast-font-family:"Times New Roman"'>Regkey:
! [HKLM\SOFTWARE\OpenAFS\Client]</span></a></span></span><span style='mso-ascii-theme-font:minor-latin;
! mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:minor-latin;
! mso-bidi-theme-font:minor-bidi'><span style='font-size:11.0pt;font-family:Calibri;
! mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662234"><span style='mso-fareast-font-family:"Times New Roman"'>Value:
! CellServDBDir</span></a></span></span><span style='mso-ascii-theme-font:minor-latin;
! mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:
! minor-latin;
! mso-bidi-theme-font:minor-bidi'><span style='font-size:11.0pt;font-family:Calibri;
! mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662235"><span style='mso-fareast-font-family:"Times New Roman"'>Value:
! VerifyServiceSignature</span></a></span></span><span style='mso-ascii-theme-font:minor-latin;
! mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:
! minor-latin;
! mso-bidi-theme-font:minor-bidi'><span style='font-size:11.0pt;font-family:Calibri;
! mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662236"><span style='mso-fareast-font-family:"Times New Roman"'>Value:
! IoctlDebug</span></a></span></span><span style='mso-ascii-theme-font:minor-latin;
! mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:
! minor-latin;
! mso-bidi-theme-font:minor-bidi'><span style='font-size:11.0pt;font-family:Calibri;
! mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662237"><span style='mso-fareast-font-family:"Times New Roman"'>Value:
! MiniDumpType</span></a></span></span><span style='mso-ascii-theme-font:minor-latin;
! mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:
! minor-latin;
! mso-bidi-theme-font:minor-bidi'><span style='font-size:11.0pt;font-family:Calibri;
! mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662238"><span style='mso-fareast-font-family:"Times New Roman"'>Value:
! EnableSMBAsyncStore</span></a></span></span><span style='mso-ascii-theme-font:minor-latin;
! mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:
! minor-latin;
! mso-bidi-theme-font:minor-bidi'><span style='font-size:11.0pt;font-family:Calibri;
! mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662239"><span style='mso-fareast-font-family:"Times New Roman"'>Value:
! SMBAsyncStoreSize</span></a></span></span><span style='mso-ascii-theme-font:minor-latin;
! mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:
! minor-latin;
! mso-bidi-theme-font:minor-bidi'><span style='font-size:11.0pt;font-family:Calibri;
! mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662240"><span style='mso-fareast-font-family:"Times New Roman"'>Value:
! StoreAnsiFilenames</span></a></span></span><span style='mso-ascii-theme-font:minor-latin;
! mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:
! minor-latin;
! mso-bidi-theme-font:minor-bidi'><span style='font-size:11.0pt;font-family:Calibri;
! mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662242"><span style='mso-fareast-font-family:"Times New Roman"'>Regkey:
! [HKLM\SOFTWARE\OpenAFS\Client\CSCPolicy]</span></a></span></span><span
! style='mso-ascii-theme-font:
! minor-latin;mso-fareast-theme-font:
! minor-fareast;
! mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-bidi'><span
! style='font-size:11.0pt;font-family:Calibri;mso-fareast-font-family:"Times New Roman";
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662243"><span style='mso-fareast-font-family:"Times New Roman"'>Value:
! &quot;smb/cifs share name&quot;</span></a></span></span><span style='mso-ascii-theme-font:minor-latin;
! mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:minor-latin;
! mso-bidi-theme-font:minor-bidi'><span style='font-size:11.0pt;font-family:Calibri;
! mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662244"><span style='mso-fareast-font-family:"Times New Roman"'>Regkey:
! [HKLM\SOFTWARE\OpenAFS\Client\Freelance]</span></a></span></span><span
! style='mso-ascii-theme-font:
! minor-latin;mso-fareast-theme-font:
! minor-fareast;
! mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-bidi'><span
! style='font-size:11.0pt;font-family:Calibri;mso-fareast-font-family:"Times New Roman";
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662245"><span style='mso-fareast-font-family:"Times New Roman"'>Value:
! &quot;numeric value&quot;</span></a></span></span><span style='mso-ascii-theme-font:minor-latin;
! mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:
! minor-latin;
! mso-bidi-theme-font:minor-bidi'><span style='font-size:11.0pt;font-family:Calibri;
! mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662246"><span style='mso-fareast-font-family:"Times New Roman"'>Regkey:
! [HKLM\SOFTWARE\OpenAFS\Client\Freelance\Symlinks]</span></a></span></span><span
! style='mso-ascii-theme-font:
! minor-latin;mso-fareast-theme-font:
! minor-fareast;
! mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-bidi'><span
! style='font-size:11.0pt;font-family:Calibri;mso-fareast-font-family:"Times New Roman";
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662247"><span style='mso-fareast-font-family:"Times New Roman"'>Value:
! &quot;numeric value&quot;</span></a></span></span><span style='mso-ascii-theme-font:minor-latin;
! mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:
! minor-latin;
! mso-bidi-theme-font:minor-bidi'><span style='font-size:11.0pt;font-family:Calibri;
! mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662248"><span style='mso-fareast-font-family:"Times New Roman"'>Regkey:
! [HKLM\SOFTWARE\OpenAFS\Client\Realms]</span></a></span></span><span
! style='mso-ascii-theme-font:
! minor-latin;mso-fareast-theme-font:
! minor-fareast;
! mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-bidi'><span
! style='font-size:11.0pt;font-family:Calibri;mso-fareast-font-family:"Times New Roman";
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662249"><span style='mso-fareast-font-family:"Times New Roman"'>Regkey:
! [HKLM\SOFTWARE\OpenAFS\Client\Realms<i style='mso-bidi-font-style:normal'>”Realm
! Name”</i>]</span></a></span></span><span style='mso-ascii-theme-font:minor-latin;
! mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:
! minor-latin;
! mso-bidi-theme-font:minor-bidi'><span style='font-size:11.0pt;font-family:Calibri;
! mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662250"><span style='mso-fareast-font-family:"Times New Roman"'>Value:
! AFSEnabled</span></a></span></span><span style='mso-ascii-theme-font:minor-latin;
! mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:
! minor-latin;
! mso-bidi-theme-font:minor-bidi'><span style='font-size:11.0pt;font-family:Calibri;
! mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662251"><span style='mso-fareast-font-family:"Times New Roman"'>Regkey:
! [HKLM\SOFTWARE\OpenAFS\Client\Realms<i style='mso-bidi-font-style:normal'>”Realm
! Name””Cell Name”</i>]</span></a></span></span><span style='mso-ascii-theme-font:minor-latin;
! mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:
! minor-latin;
! mso-bidi-theme-font:minor-bidi'><span style='font-size:11.0pt;font-family:Calibri;
! mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662252"><span style='mso-fareast-font-family:"Times New Roman"'>Value:
! MethodName</span></a></span></span><span style='mso-ascii-theme-font:minor-latin;
! mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:
! minor-latin;
! mso-bidi-theme-font:minor-bidi'><span style='font-size:11.0pt;font-family:Calibri;
! mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662253"><span style='mso-fareast-font-family:"Times New Roman"'>Value:
! Realm</span></a></span></span><span style='mso-ascii-theme-font:minor-latin;
! mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:minor-latin;
! mso-bidi-theme-font:minor-bidi'><span style='font-size:11.0pt;font-family:Calibri;
! mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662254"><span style='mso-fareast-font-family:"Times New Roman"'>Regkey:
! [HKLM\SOFTWARE\OpenAFS\Client\Submounts]</span></a></span></span><span
! style='mso-ascii-theme-font:
! minor-latin;mso-fareast-theme-font:
! minor-fareast;
! mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-bidi'><span
! style='font-size:11.0pt;font-family:Calibri;mso-fareast-font-family:"Times New Roman";
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662255"><span style='mso-fareast-font-family:"Times New Roman"'>Value:
! &quot;submount name&quot;</span></a></span></span><span style='mso-ascii-theme-font:minor-latin;
! mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:
! minor-latin;
! mso-bidi-theme-font:minor-bidi'><span style='font-size:11.0pt;font-family:Calibri;
! mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662256"><span style='mso-fareast-font-family:"Times New Roman"'>Regkey:
! [HKLM\SOFTWARE\OpenAFS\Client\Server Preferences\VLDB]</span></a></span></span><span
! style='mso-ascii-theme-font:
! minor-latin;mso-fareast-theme-font:
! minor-fareast;
! mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-bidi'><span
! style='font-size:11.0pt;font-family:Calibri;mso-fareast-font-family:"Times New Roman";
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662257"><span style='mso-fareast-font-family:"Times New Roman"'>Value:
! &quot;hostname or ip address&quot;</span></a></span></span><span
! style='mso-ascii-theme-font:
! minor-latin;mso-fareast-theme-font:
! minor-fareast;
! mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-bidi'><span
! style='font-size:11.0pt;font-family:Calibri;mso-fareast-font-family:"Times New Roman";
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662258"><span style='mso-fareast-font-family:"Times New Roman"'>Regkey:
! [HKLM\SOFTWARE\OpenAFS\Client\Server Preferences\File]</span></a></span></span><span
! style='mso-ascii-theme-font:
! minor-latin;mso-fareast-theme-font:
! minor-fareast;
! mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-bidi'><span
! style='font-size:11.0pt;font-family:Calibri;mso-fareast-font-family:"Times New Roman";
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662259"><span style='mso-fareast-font-family:"Times New Roman"'>Value:
! &quot;hostname or ip address&quot;</span></a></span></span><span
! style='mso-ascii-theme-font:
! minor-latin;mso-fareast-theme-font:
! minor-fareast;
! mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-bidi'><span
! style='font-size:11.0pt;font-family:Calibri;mso-fareast-font-family:"Times New Roman";
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662260"><span style='mso-fareast-font-family:"Times New Roman"'>A.2.
! Integrated Logon Network provider parameters</span></a></span></span><span
! style='mso-ascii-theme-font:
! minor-latin;mso-fareast-theme-font:
! minor-fareast;
! mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-bidi'><span
! style='font-size:11.0pt;font-family:Calibri;mso-fareast-font-family:"Times New Roman";
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662261"><span style='mso-fareast-font-family:"Times New Roman"'>Regkey:
! [HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters]</span></a></span></span><span
! style='mso-ascii-theme-font:
! minor-latin;mso-fareast-theme-font:
! minor-fareast;
! mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-bidi'><span
! style='font-size:11.0pt;font-family:Calibri;mso-fareast-font-family:"Times New Roman";
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662262"><span style='mso-fareast-font-family:"Times New Roman"'>Value:
! FailLoginsSilently</span></a></span></span><span style='mso-ascii-theme-font:minor-latin;
! mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:
! minor-latin;
! mso-bidi-theme-font:minor-bidi'><span style='font-size:11.0pt;font-family:Calibri;
! mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662263"><span style='mso-fareast-font-family:"Times New Roman"'>Regkey:
! [HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider]</span></a></span></span><span
! style='mso-ascii-theme-font:
! minor-latin;mso-fareast-theme-font:
! minor-fareast;
! mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-bidi'><span
! style='font-size:11.0pt;font-family:Calibri;mso-fareast-font-family:"Times New Roman";
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662264"><span style='mso-fareast-font-family:"Times New Roman"'>Value:
! NoWarnings</span></a></span></span><span style='mso-ascii-theme-font:minor-latin;
! mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:
! minor-latin;
! mso-bidi-theme-font:minor-bidi'><span style='font-size:11.0pt;font-family:Calibri;
! mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662265"><span style='mso-fareast-font-family:"Times New Roman"'>Value:
! AuthentProviderPath</span></a></span></span><span style='mso-ascii-theme-font:minor-latin;
! mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:
! minor-latin;
! mso-bidi-theme-font:minor-bidi'><span style='font-size:11.0pt;font-family:Calibri;
! mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662266"><span style='mso-fareast-font-family:"Times New Roman"'>Value:
! Class</span></a></span></span><span style='mso-ascii-theme-font:minor-latin;
! mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:minor-latin;
! mso-bidi-theme-font:minor-bidi'><span style='font-size:11.0pt;font-family:Calibri;
! mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662267"><span style='mso-fareast-font-family:"Times New Roman"'>Value:
! DependOnGroup</span></a></span></span><span style='mso-ascii-theme-font:minor-latin;
! mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:
! minor-latin;
! mso-bidi-theme-font:minor-bidi'><span style='font-size:11.0pt;font-family:Calibri;
! mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662268"><span style='mso-fareast-font-family:"Times New Roman"'>Value:
! DependOnService</span></a></span></span><span style='mso-ascii-theme-font:minor-latin;
! mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:
! minor-latin;
! mso-bidi-theme-font:minor-bidi'><span style='font-size:11.0pt;font-family:Calibri;
! mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662269"><span style='mso-fareast-font-family:"Times New Roman"'>Value:
! Name</span></a></span></span><span style='mso-ascii-theme-font:minor-latin;
! mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:minor-latin;
! mso-bidi-theme-font:minor-bidi'><span style='font-size:11.0pt;font-family:Calibri;
! mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662270"><span style='mso-fareast-font-family:"Times New Roman"'>Value:
! ProviderPath</span></a></span></span><span style='mso-ascii-theme-font:minor-latin;
! mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:
! minor-latin;
! mso-bidi-theme-font:minor-bidi'><span style='font-size:11.0pt;font-family:Calibri;
! mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662271"><span style='mso-fareast-font-family:"Times New Roman"'>A.2.1
! Domain specific configuration keys for the Network Provider</span></a></span></span><span
! style='mso-ascii-theme-font:
! minor-latin;mso-fareast-theme-font:
! minor-fareast;
! mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-bidi'><span
! style='font-size:11.0pt;font-family:Calibri;mso-fareast-font-family:"Times New Roman";
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662272"><span style='mso-fareast-font-family:"Times New Roman"'>[HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider]</span></a></span></span><span
! style='mso-ascii-theme-font:
! minor-latin;mso-fareast-theme-font:
! minor-fareast;
! mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-bidi'><span
! style='font-size:11.0pt;font-family:Calibri;mso-fareast-font-family:"Times New Roman";
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662273"><span style='mso-fareast-font-family:"Times New Roman"'>[HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider\Domain]</span></a></span></span><span
! style='mso-ascii-theme-font:
! minor-latin;mso-fareast-theme-font:
! minor-fareast;
! mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-bidi'><span
! style='font-size:11.0pt;font-family:Calibri;mso-fareast-font-family:"Times New Roman";
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662274"><span style='mso-fareast-font-family:"Times New Roman"'>[HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider\Domain&quot;domain
! name&quot;]</span></a></span></span><span style='mso-ascii-theme-font:minor-latin;
! mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:
! minor-latin;
! mso-bidi-theme-font:minor-bidi'><span style='font-size:11.0pt;font-family:Calibri;
! mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662275"><span style='mso-fareast-font-family:"Times New Roman"'>[HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider\Domain\LOCALHOST]</span></a></span></span><span
! style='mso-ascii-theme-font:
! minor-latin;mso-fareast-theme-font:
! minor-fareast;
! mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-bidi'><span
! style='font-size:11.0pt;font-family:Calibri;mso-fareast-font-family:"Times New Roman";
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662276"><span style='mso-fareast-font-family:"Times New Roman"'>Example:</span></a></span></span><span
! style='mso-ascii-theme-font:
! minor-latin;mso-fareast-theme-font:
! minor-fareast;
! mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-bidi'><span
! style='font-size:11.0pt;font-family:Calibri;mso-fareast-font-family:"Times New Roman";
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662277"><span style='mso-fareast-font-family:"Times New Roman"'>A.2.1.1
! Domain specific configuration values</span></a></span></span><span
! style='mso-ascii-theme-font:
! minor-latin;mso-fareast-theme-font:
! minor-fareast;
! mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-bidi'><span
! style='font-size:11.0pt;font-family:Calibri;mso-fareast-font-family:"Times New Roman";
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc4 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662278"><span style='mso-fareast-font-family:"Times New Roman"'>[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]</span></a></span></span><span
! style='mso-ascii-theme-font:
! minor-latin;mso-fareast-theme-font:
! minor-fareast;
! mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-bidi'><span
! style='font-size:11.0pt;font-family:Calibri;mso-fareast-font-family:"Times New Roman";
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662279"><span style='mso-fareast-font-family:"Times New Roman"'>Value:
! LogonOptions</span></a></span></span><span style='mso-ascii-theme-font:minor-latin;
! mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:
! minor-latin;
! mso-bidi-theme-font:minor-bidi'><span style='font-size:11.0pt;font-family:Calibri;
! mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662280"><span style='mso-fareast-font-family:"Times New Roman"'>Value:
! FailLoginsSilentl</span></a></span></span><span style='mso-ascii-theme-font:minor-latin;
! mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:
! minor-latin;
! mso-bidi-theme-font:minor-bidi'><span style='font-size:11.0pt;font-family:Calibri;
! mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662281"><span style='mso-fareast-font-family:"Times New Roman"'>Value:
! LogonScript</span></a></span></span><span style='mso-ascii-theme-font:minor-latin;
! mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:
! minor-latin;
! mso-bidi-theme-font:minor-bidi'><span style='font-size:11.0pt;font-family:Calibri;
! mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662282"><span style='mso-fareast-font-family:"Times New Roman"'>Value:
! LoginRetryInterval</span></a></span></span><span style='mso-ascii-theme-font:minor-latin;
! mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:
! minor-latin;
! mso-bidi-theme-font:minor-bidi'><span style='font-size:11.0pt;font-family:Calibri;
! mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662283"><span style='mso-fareast-font-family:"Times New Roman"'>Value:
! LoginSleepInterval</span></a></span></span><span style='mso-ascii-theme-font:minor-latin;
! mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:
! minor-latin;
! mso-bidi-theme-font:minor-bidi'><span style='font-size:11.0pt;font-family:Calibri;
! mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662284"><span style='mso-fareast-font-family:"Times New Roman"'>Value:
! Realm</span></a></span></span><span style='mso-ascii-theme-font:minor-latin;
! mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:minor-latin;
! mso-bidi-theme-font:minor-bidi'><span style='font-size:11.0pt;font-family:Calibri;
! mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662285"><span style='mso-fareast-font-family:"Times New Roman"'>Value:
! TheseCells</span></a></span></span><span style='mso-ascii-theme-font:minor-latin;
! mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:
! minor-latin;
! mso-bidi-theme-font:minor-bidi'><span style='font-size:11.0pt;font-family:Calibri;
! mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662286"><span style='mso-fareast-font-family:"Times New Roman"'>A.2.1.2
! Selection of effective values for domain specific configuration</span></a></span></span><span
! style='mso-ascii-theme-font:
! minor-latin;mso-fareast-theme-font:
! minor-fareast;
! mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-bidi'><span
! style='font-size:11.0pt;font-family:Calibri;mso-fareast-font-family:"Times New Roman";
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662287"><span style='mso-fareast-font-family:"Times New Roman"'>A.2.1.3
! Exceptions to A.2.1.2</span></a></span></span><span style='mso-ascii-theme-font:minor-latin;
! mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:
! minor-latin;
! mso-bidi-theme-font:minor-bidi'><span style='font-size:11.0pt;font-family:Calibri;
! mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc4 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662288"><span style='mso-fareast-font-family:"Times New Roman"'>2.1.3.1
! 'FailLoginsSilently'</span></a></span></span><span style='mso-ascii-theme-font:minor-latin;
! mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:
! minor-latin;
! mso-bidi-theme-font:minor-bidi'><span style='font-size:11.0pt;font-family:Calibri;
! mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc4 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662289"><span style='mso-fareast-font-family:"Times New Roman"'>2.1.3.2
! 'LogonScript'</span></a></span></span><span style='mso-ascii-theme-font:minor-latin;
! mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:
! minor-latin;
! mso-bidi-theme-font:minor-bidi'><span style='font-size:11.0pt;font-family:Calibri;
! mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662290"><span style='mso-fareast-font-family:"Times New Roman"'>A.3.
! AFS Credentials System Tray Tool parameters</span></a></span></span><span
! style='mso-ascii-theme-font:
! minor-latin;mso-fareast-theme-font:
! minor-fareast;
! mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-bidi'><span
! style='font-size:11.0pt;font-family:Calibri;mso-fareast-font-family:"Times New Roman";
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662291"><span style='mso-fareast-font-family:"Times New Roman"'>Regkey:
! [HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters]</span></a></span></span><span
! style='mso-ascii-theme-font:
! minor-latin;mso-fareast-theme-font:
! minor-fareast;
! mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-bidi'><span
! style='font-size:11.0pt;font-family:Calibri;mso-fareast-font-family:"Times New Roman";
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662292"><span style='mso-fareast-font-family:"Times New Roman"'>Value:
! Gateway</span></a></span></span><span style='mso-ascii-theme-font:minor-latin;
! mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:minor-latin;
! mso-bidi-theme-font:minor-bidi'><span style='font-size:11.0pt;font-family:Calibri;
! mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662293"><span style='mso-fareast-font-family:"Times New Roman"'>Value:
! Cell</span></a></span></span><span style='mso-ascii-theme-font:minor-latin;
! mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:minor-latin;
! mso-bidi-theme-font:minor-bidi'><span style='font-size:11.0pt;font-family:Calibri;
! mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662294"><span style='mso-fareast-font-family:"Times New Roman"'>Regkey:
! [HKLM\SOFTWARE\OpenAFS\Client] [HKCU\SOFTWARE\OpenAFS\Client]</span></a></span></span><span
! style='mso-ascii-theme-font:
! minor-latin;mso-fareast-theme-font:
! minor-fareast;
! mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-bidi'><span
! style='font-size:11.0pt;font-family:Calibri;mso-fareast-font-family:"Times New Roman";
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662295"><span style='mso-fareast-font-family:"Times New Roman"'>Value:
! ShowTrayIcon</span></a></span></span><span style='mso-ascii-theme-font:minor-latin;
! mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:
! minor-latin;
! mso-bidi-theme-font:minor-bidi'><span style='font-size:11.0pt;font-family:Calibri;
! mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662296"><span style='mso-fareast-font-family:"Times New Roman"'>Value:
! EnableKFW</span></a></span></span><span style='mso-ascii-theme-font:minor-latin;
! mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:
! minor-latin;
! mso-bidi-theme-font:minor-bidi'><span style='font-size:11.0pt;font-family:Calibri;
! mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662297"><span style='mso-fareast-font-family:"Times New Roman"'>Value:
! AcceptDottedPrincipalNames</span></a></span></span><span style='mso-ascii-theme-font:minor-latin;
! mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:
! minor-latin;
! mso-bidi-theme-font:minor-bidi'><span style='font-size:11.0pt;font-family:Calibri;
! mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662298"><span style='mso-fareast-font-family:"Times New Roman"'>Value:
! Use524</span></a></span></span><span style='mso-ascii-theme-font:minor-latin;
! mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:minor-latin;
! mso-bidi-theme-font:minor-bidi'><span style='font-size:11.0pt;font-family:Calibri;
! mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662299"><span style='mso-fareast-font-family:"Times New Roman"'>Value:
! AfscredsShortcutParams</span></a></span></span><span style='mso-ascii-theme-font:minor-latin;
! mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:
! minor-latin;
! mso-bidi-theme-font:minor-bidi'><span style='font-size:11.0pt;font-family:Calibri;
! mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662300"><span style='mso-fareast-font-family:"Times New Roman"'>Regkey:
! [HKCU\SOFTWARE\OpenAFS\Client]</span></a></span></span><span style='mso-ascii-theme-font:minor-latin;
! mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:minor-latin;
! mso-bidi-theme-font:minor-bidi'><span style='font-size:11.0pt;font-family:Calibri;
! mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662301"><span style='mso-fareast-font-family:"Times New Roman"'>Value:
! Authentication Cell</span></a></span></span><span style='mso-ascii-theme-font:minor-latin;
! mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:
! minor-latin;
! mso-bidi-theme-font:minor-bidi'><span style='font-size:11.0pt;font-family:Calibri;
! mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662302"><span style='mso-fareast-font-family:"Times New Roman"'>Regkey:
! [HKCU\SOFTWARE\OpenAFS\Client\Reminders]</span></a></span></span><span
! style='mso-ascii-theme-font:
! minor-latin;mso-fareast-theme-font:
! minor-fareast;
! mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-bidi'><span
! style='font-size:11.0pt;font-family:Calibri;mso-fareast-font-family:"Times New Roman";
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662303"><span style='mso-fareast-font-family:"Times New Roman"'>Value:
! &quot;afs cell name&quot;</span></a></span></span><span style='mso-ascii-theme-font:minor-latin;
! mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:
! minor-latin;
! mso-bidi-theme-font:minor-bidi'><span style='font-size:11.0pt;font-family:Calibri;
! mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662304"><span style='mso-fareast-font-family:"Times New Roman"'>Regkey:
! [HKCU\SOFTWARE\OpenAFS\Client\Active Maps]</span></a></span></span><span
! style='mso-ascii-theme-font:
! minor-latin;mso-fareast-theme-font:
! minor-fareast;
! mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-bidi'><span
! style='font-size:11.0pt;font-family:Calibri;mso-fareast-font-family:"Times New Roman";
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662305"><span style='mso-fareast-font-family:"Times New Roman"'>Value:
! &quot;upper case drive letter&quot;</span></a></span></span><span
! style='mso-ascii-theme-font:
! minor-latin;mso-fareast-theme-font:
! minor-fareast;
! mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-bidi'><span
! style='font-size:11.0pt;font-family:Calibri;mso-fareast-font-family:"Times New Roman";
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662306"><span style='mso-fareast-font-family:"Times New Roman"'>Regkey:
! [HKCU\SOFTWARE\OpenAFS\Client\Mappings]</span></a></span></span><span
! style='mso-ascii-theme-font:
! minor-latin;mso-fareast-theme-font:
! minor-fareast;
! mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-bidi'><span
! style='font-size:11.0pt;font-family:Calibri;mso-fareast-font-family:"Times New Roman";
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662307"><span style='mso-fareast-font-family:"Times New Roman"'>Value:
! &quot;upper case drive letter&quot;</span></a></span></span><span
! style='mso-ascii-theme-font:
! minor-latin;mso-fareast-theme-font:
! minor-fareast;
! mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-bidi'><span
! style='font-size:11.0pt;font-family:Calibri;mso-fareast-font-family:"Times New Roman";
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662308"><span lang=FR style='mso-fareast-font-family:
  "Times New Roman";mso-ansi-language:FR'>A.4 OpenAFS Client Service Environment
! Variables</span></a></span></span><span style='mso-ascii-theme-font:minor-latin;
! mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:
! minor-latin;
! mso-bidi-theme-font:minor-bidi'><span lang=FR style='font-size:11.0pt;
! font-family:Calibri;mso-fareast-font-family:"Times New Roman";mso-ansi-language:
! FR;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662309"><span style='mso-fareast-font-family:"Times New Roman"'>Variable:
! AFS_RPC_ENCRYPT</span></a></span></span><span style='mso-ascii-theme-font:minor-latin;
! mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:
! minor-latin;
! mso-bidi-theme-font:minor-bidi'><span style='font-size:11.0pt;font-family:Calibri;
! mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink></span><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc191662310"><span style='mso-fareast-font-family:"Times New Roman"'>Variable:
! AFS_RPC_PROTSEQ</span></a></span></span><span style='mso-ascii-theme-font:minor-latin;
! mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:
! minor-latin;
! mso-bidi-theme-font:minor-bidi'><span style='font-size:11.0pt;font-family:Calibri;
! mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoNormal><o:p>&nbsp;</o:p></p>
  
- </span>
- 
  <p class=MsoNormal><o:p>&nbsp;</o:p></p>
  
  </div>
--- 426,2222 ----
  	mso-tstyle-rowband-size:0;
  	mso-tstyle-colband-size:0;
  	mso-style-noshow:yes;
+ 	mso-style-priority:99;
+ 	mso-style-qformat:yes;
  	mso-style-parent:"";
! 	mso-padding-alt:0in 5.4pt 0in 5.4pt;
! 	mso-para-margin:0in;
  	mso-para-margin-bottom:.0001pt;
  	mso-pagination:widow-orphan;
  	font-size:10.0pt;
! 	font-family:"Times New Roman","serif";}
  </style>
! <![endif]--><!--[if gte mso 9]><xml>
!  <o:shapedefaults v:ext="edit" spidmax="3074"/>
  </xml><![endif]--><!--[if gte mso 9]><xml>
   <o:shapelayout v:ext="edit">
    <o:idmap v:ext="edit" data="1"/>
   </o:shapelayout></xml><![endif]-->
  </head>
  
! <body lang=EN-US link=blue vlink=purple style='tab-interval:.5in'>
  
  <div class=Section1>
  
  <p class=MsoToc1 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
  href="relnotes.htm#_Toc191662062"><span style='mso-fareast-font-family:"Times New Roman"'>1.
! Installer Options</span></a></span></span><span style='font-size:11.0pt;
! font-family:"Calibri","sans-serif";mso-fareast-font-family:"Times New Roman";
! mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:minor-bidi;
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc1 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662063"><span style='mso-fareast-font-family:
! "Times New Roman"'>2. System Requirements</span></a></span><span
! style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:
! "Times New Roman";mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:
! minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662064"><span style='mso-fareast-font-family:
! "Times New Roman"'>2.1 Supported Operating Systems</span></a></span><span
! style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:
! "Times New Roman";mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:
! minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662065"><span style='mso-fareast-font-family:
! "Times New Roman"'>2.1.1 Unsupported Operating Systems</span></a></span><span
! style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:
! "Times New Roman";mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:
! minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662066"><span style='mso-fareast-font-family:
! "Times New Roman"'>2.2 Disk Space</span></a></span><span style='font-size:11.0pt;
! font-family:"Calibri","sans-serif";mso-fareast-font-family:"Times New Roman";
! mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:minor-bidi;
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662067"><span style='mso-fareast-font-family:
! "Times New Roman"'>2.3 Additional Software Packages</span></a></span><span
! style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:
! "Times New Roman";mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:
! minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc1 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662068"><span style='mso-fareast-font-family:
! "Times New Roman"'>3. Operational Notes</span></a></span><span
! style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:
! "Times New Roman";mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:
! minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc193871633"><span style='mso-fareast-font-family:
! "Times New Roman"'>3.1.Unicode Support</span></a></span><span style='font-size:
! 11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:"Times New Roman";
! mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:minor-bidi;
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662069"><span style='mso-fareast-font-family:
! "Times New Roman"'>3.2. Requirements for Kerberos v5 Authentication</span></a></span><span
! style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:
! "Times New Roman";mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:
! minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662070"><span style='mso-fareast-font-family:
! "Times New Roman"'>3.2.1. Active Directory</span></a></span><span
! style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:
! "Times New Roman";mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:
! minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662071"><span style='mso-fareast-font-family:
! "Times New Roman"'>3.2.2. Using the krb524 service</span></a></span><span
! style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:
! "Times New Roman";mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:
! minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662072"><span style='mso-fareast-font-family:
! "Times New Roman"'>3.2.3. Network Identity Manager Provider</span></a></span><span
! style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:
! "Times New Roman";mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:
! minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662073"><span style='mso-fareast-font-family:
! "Times New Roman"'>3.3. Use of the Microsoft Loopback Adapter by the AFS Client
! Service</span></a></span><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
! mso-fareast-font-family:"Times New Roman";mso-bidi-font-family:"Times New Roman";
! mso-bidi-theme-font:minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662074"><span style='mso-fareast-font-family:
! "Times New Roman"'>3.4. Using Freelance (Dynamic Root) Mode to Improve Mobility</span></a></span><span
! style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:
! "Times New Roman";mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:
! minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662075"><span style='mso-fareast-font-family:
! "Times New Roman"'>3.45. Locating AFS Volume Database Servers via DNS</span></a></span><span
! style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:
! "Times New Roman";mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:
! minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662076"><span style='mso-fareast-font-family:
! "Times New Roman"'>3.6. Obtaining AFS Tokens as a Integrated Part of Windows
! Logon</span></a></span><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
! mso-fareast-font-family:"Times New Roman";mso-bidi-font-family:"Times New Roman";
! mso-bidi-theme-font:minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662077"><span style='mso-fareast-font-family:
! "Times New Roman"'>3.7. AFS System Tray Command Line Options</span></a></span><span
! style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:
! "Times New Roman";mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:
! minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662078"><span style='mso-fareast-font-family:
! "Times New Roman"'>3.8. The “AFS Client Admins” Authorization Group</span></a></span><span
! style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:
! "Times New Roman";mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:
! minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662079"><span style='mso-fareast-font-family:
! "Times New Roman"'>3.9. OpenAFS support for UNC paths</span></a></span><span
! style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:
! "Times New Roman";mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:
! minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662080"><span style='mso-fareast-font-family:
! "Times New Roman"'>3.10. aklog.exe</span></a></span><span style='font-size:
! 11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:"Times New Roman";
! mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:minor-bidi;
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662081"><span style='mso-fareast-font-family:
! "Times New Roman"'>3.11. OpenAFS Servers on Windows are Unsupported</span></a></span><span
! style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:
! "Times New Roman";mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:
! minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662082"><span style='mso-fareast-font-family:
! "Times New Roman"'>3.11.1. OpenAFS Server Installation</span></a></span><span
! style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:
! "Times New Roman";mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:
! minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662083"><span style='mso-fareast-font-family:
! "Times New Roman"'>3.11.2. Using the AFS Client Service when the Server is
! installed</span></a></span><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
! mso-fareast-font-family:"Times New Roman";mso-bidi-font-family:"Times New Roman";
! mso-bidi-theme-font:minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662084"><span style='mso-fareast-font-family:
! "Times New Roman"'>3.12. OpenAFS Debugging Symbol files</span></a></span><span
! style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:
! "Times New Roman";mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:
! minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662085"><span style='mso-fareast-font-family:
! "Times New Roman"'>3.13. Large File (64-bit) Support</span></a></span><span
! style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:
! "Times New Roman";mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:
! minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662086"><span style='mso-fareast-font-family:
! "Times New Roman"'>3.14. Encrypted AFS Network Communication</span></a></span><span
! style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:
! "Times New Roman";mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:
! minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662087"><span style='mso-fareast-font-family:
! "Times New Roman"'>3.15. Authenticated Access to the OpenAFS Client Service</span></a></span><span
! style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:
! "Times New Roman";mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:
! minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662088"><span style='mso-fareast-font-family:
! "Times New Roman"'>3.16. No More INI Files</span></a></span><span
! style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:
! "Times New Roman";mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:
! minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662089"><span style='mso-fareast-font-family:
! "Times New Roman"'>3.17. Microsoft Windows Internet Connection Firewall</span></a></span><span
! style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:
! "Times New Roman";mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:
! minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662090"><span style='mso-fareast-font-family:
! "Times New Roman"'>3.18. Browsing AFS from the Explorer Shell and Office</span></a></span><span
! style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:
! "Times New Roman";mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:
! minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662091"><span style='mso-fareast-font-family:
! "Times New Roman"'>3.19. Byte Range Locking</span></a></span><span
! style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:
! "Times New Roman";mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:
! minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662092"><span style='mso-fareast-font-family:
! "Times New Roman"'>3.20. Automatic Discarding of AFS Tokens at Logoff</span></a></span><span
! style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:
! "Times New Roman";mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:
! minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662093"><span style='mso-fareast-font-family:
! "Times New Roman"'>3.21. Windows Terminal Server installations</span></a></span><span
! style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:
! "Times New Roman";mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:
! minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662094"><span style='mso-fareast-font-family:
! "Times New Roman"'>3.22. Hidden Dot Files</span></a></span><span
! style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:
! "Times New Roman";mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:
! minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662095"><span style='mso-fareast-font-family:
! "Times New Roman"'>3.23. Status Cache Limits</span></a></span><span
! style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:
! "Times New Roman";mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:
! minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662096"><span style='mso-fareast-font-family:
! "Times New Roman"'>3.24. NETBIOS over TCP/IP must be enabled</span></a></span><span
! style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:
! "Times New Roman";mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:
! minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662097"><span style='mso-fareast-font-family:
! "Times New Roman"'>3.25. OpenAFS binaries are digitally signed</span></a></span><span
! style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:
! "Times New Roman";mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:
! minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662098"><span style='mso-fareast-font-family:
! "Times New Roman"'>3.26. Maximum Size of the AFSCache File</span></a></span><span
! style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:
! "Times New Roman";mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:
! minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662099"><span style='mso-fareast-font-family:
! "Times New Roman"'>3.27. Filename Character Sets</span></a></span><span
! style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:
! "Times New Roman";mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:
! minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662100"><span style='mso-fareast-font-family:
! "Times New Roman"'>3.28. Known Character Set Issues with Roaming Profiles</span></a></span><span
! style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:
! "Times New Roman";mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:
! minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662101"><span style='mso-fareast-font-family:
! "Times New Roman"'>3.29. The AFSCache File</span></a></span><span
! style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:
! "Times New Roman";mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:
! minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662102"><span style='mso-fareast-font-family:
! "Times New Roman"'>3.30. Restricting OpenAFS Client Service Start and Stop</span></a></span><span
! style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:
! "Times New Roman";mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:
! minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662103"><span style='mso-fareast-font-family:
! "Times New Roman"'>3.31. The @sys Name List</span></a></span><span
! style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:
! "Times New Roman";mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:
! minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662104"><span style='mso-fareast-font-family:
! "Times New Roman"'>3.32. Symlinks to AFS UNC paths</span></a></span><span
! style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:
! "Times New Roman";mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:
! minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662105"><span style='mso-fareast-font-family:
! "Times New Roman"'>3.33. Cache Manager Debugging</span></a></span><span
! style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:
! "Times New Roman";mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:
! minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662106"><span style='mso-fareast-font-family:
! "Times New Roman"'>3.34. Windows Logon Caching vs. Kerberos Logons</span></a></span><span
! style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:
! "Times New Roman";mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:
! minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662107"><span style='mso-fareast-font-family:
! "Times New Roman"'>3.35. Initial Server Preferences</span></a></span><span
! style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:
! "Times New Roman";mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:
! minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662108"><span style='mso-fareast-font-family:
! "Times New Roman"'>3.36. File Timestamps</span></a></span><span
! style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:
! "Times New Roman";mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:
! minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662109"><span style='mso-fareast-font-family:
! "Times New Roman"'>3.37. Windows RPC client support must be installed</span></a></span><span
! style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:
! "Times New Roman";mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:
! minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662110"><span style='mso-fareast-font-family:
! "Times New Roman"'>3.38. Generating Minidumps of the OpenAFS Client Service</span></a></span><span
! style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:
! "Times New Roman";mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:
! minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662111"><span style='mso-fareast-font-family:
! "Times New Roman"'>3.39. AFS Client Universally Unique Identifiers (UUIDs) vs.
! System Cloning</span></a></span><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
! mso-fareast-font-family:"Times New Roman";mso-bidi-font-family:"Times New Roman";
! mso-bidi-theme-font:minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662112"><span style='mso-fareast-font-family:
! "Times New Roman"'>3.40. Delayed Write Errors with Microsoft Office
! Applications</span></a></span><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
! mso-fareast-font-family:"Times New Roman";mso-bidi-font-family:"Times New Roman";
! mso-bidi-theme-font:minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662113"><span style='mso-fareast-font-family:
! "Times New Roman"'>3.41. Global Drives (aka Service Drive Letters) are no
! longer supported by Microsoft</span></a></span><span style='font-size:11.0pt;
! font-family:"Calibri","sans-serif";mso-fareast-font-family:"Times New Roman";
! mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:minor-bidi;
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662114"><span style='mso-fareast-font-family:
! "Times New Roman"'>3.42. 64-bit Microsoft Windows Installations</span></a></span><span
! style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:
! "Times New Roman";mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:
! minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662115"><span style='mso-fareast-font-family:
! "Times New Roman"'>3.43. Known Issues with Microsoft Windows Vista</span></a></span><span
! style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:
! "Times New Roman";mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:
! minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662116"><span style='mso-fareast-font-family:
! "Times New Roman"'>3.44. New AFS Share Name Syntax Provides Direct Access to
! Volumes</span></a></span><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
! mso-fareast-font-family:"Times New Roman";mso-bidi-font-family:"Times New Roman";
! mso-bidi-theme-font:minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662117"><span style='mso-fareast-font-family:
! "Times New Roman"'>3.45. Differences between Windows and UNIX “fs examine”</span></a></span><span
! style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:
! "Times New Roman";mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:
! minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662118"><span style='mso-fareast-font-family:
! "Times New Roman"'>3.46. Literal evaluation of AFS objects via fs commands</span></a></span><span
! style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:
! "Times New Roman";mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:
! minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662119"><span style='mso-fareast-font-family:
! "Times New Roman"'>3.47. Out of Quota errors</span></a></span><span
! style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:
! "Times New Roman";mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:
! minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662119"><span style='mso-fareast-font-family:
! "Times New Roman"'>3.48. Linked Cells</span></a></span><span style='font-size:
! 11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:"Times New Roman";
! mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:minor-bidi;
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc1 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662120"><span style='mso-fareast-font-family:
! "Times New Roman"'>4. How to Debug Problems with OpenAFS for Windows</span></a></span><span
! style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:
! "Times New Roman";mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:
! minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662121"><span style='mso-fareast-font-family:
! "Times New Roman"'>4.1. pioctl debugging (IoctlDebug registry key)</span></a></span><span
! style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:
! "Times New Roman";mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:
! minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662122"><span style='mso-fareast-font-family:
! "Times New Roman"'>4.2. afsd_service initialization log
! (%WinDir%\TEMP\afsd_init.log)</span></a></span><span style='font-size:11.0pt;
! font-family:"Calibri","sans-serif";mso-fareast-font-family:"Times New Roman";
! mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:minor-bidi;
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662123"><span style='mso-fareast-font-family:
! "Times New Roman"'>4.3. afsd_service debug logs (fs trace {-on, -off, -dump}
! -&gt;%WinDir%\TEMP\afsd.log)</span></a></span><span style='font-size:11.0pt;
! font-family:"Calibri","sans-serif";mso-fareast-font-family:"Times New Roman";
! mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:minor-bidi;
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662124"><span style='mso-fareast-font-family:
! "Times New Roman"'>4.4. Using SysInternal’s DbgView and ProcMon or FileMon
! Tools</span></a></span><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
! mso-fareast-font-family:"Times New Roman";mso-bidi-font-family:"Times New Roman";
! mso-bidi-theme-font:minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662125"><span style='mso-fareast-font-family:
! "Times New Roman"'>4.5. Microsoft MiniDumps<span style='mso-spacerun:yes'> 
! </span>(fs minidump -&gt; %WinDir%\TEMP\afsd.dmp)</span></a></span><span
! style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:
! "Times New Roman";mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:
! minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662126"><span style='mso-fareast-font-family:
! "Times New Roman"'>4.6. Single Sign-on (Integrated Logon) debugging</span></a></span><span
! style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:
! "Times New Roman";mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:
! minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662127"><span style='mso-fareast-font-family:
! "Times New Roman"'>4.7. RX (AFS RPC) debugging (rxdebug)</span></a></span><span
! style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:
! "Times New Roman";mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:
! minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662128"><span style='mso-fareast-font-family:
! "Times New Roman"'>4.8. Cache Manager debugging (cmdebug)</span></a></span><span
! style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:
! "Times New Roman";mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:
! minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662129"><span style='mso-fareast-font-family:
! "Times New Roman"'>4.9. Persistent Cache consistency check</span></a></span><span
! style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:
! "Times New Roman";mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:
! minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662130"><span style='mso-fareast-font-family:
! "Times New Roman"'>4.10. Token Acquisition Debugging</span></a></span><span
! style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:
! "Times New Roman";mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:
! minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc1 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662131"><span style='mso-fareast-font-family:
! "Times New Roman"'>5. Reporting Bugs</span></a></span><span style='font-size:
! 11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:"Times New Roman";
! mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:minor-bidi;
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc1 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662132"><span style='mso-fareast-font-family:
! "Times New Roman"'>6. How to Contribute to the Development of OpenAFS for
! Windows</span></a></span><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
! mso-fareast-font-family:"Times New Roman";mso-bidi-font-family:"Times New Roman";
! mso-bidi-theme-font:minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662133"><span style='mso-fareast-font-family:
! "Times New Roman"'>6.1. The USENIX OpenAFS Fund</span></a></span><span
! style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:
! "Times New Roman";mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:
! minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662134"><span style='mso-fareast-font-family:
! "Times New Roman"'>6.2. Secure Endpoints Inc.</span></a></span><span
! style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:
! "Times New Roman";mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:
! minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662135"><span style='mso-fareast-font-family:
! "Times New Roman"'>6.3. Direct contributions of code and/or documentation</span></a></span><span
! style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:
! "Times New Roman";mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:
! minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662136"><span style='mso-fareast-font-family:
! "Times New Roman"'>6.4. OpenAFS for Windows Mailing Lists</span></a></span><span
! style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:
! "Times New Roman";mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:
! minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc1 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662137"><span style='mso-fareast-font-family:
! "Times New Roman"'>7. MSI Deployment Guide</span></a></span><span
! style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:
! "Times New Roman";mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:
! minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662138"><span style='mso-fareast-font-family:
! "Times New Roman"'>7.1. Introduction</span></a></span><span style='font-size:
! 11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:"Times New Roman";
! mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:minor-bidi;
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662139"><span style='mso-fareast-font-family:
! "Times New Roman"'>7.1.1 Requirements</span></a></span><span style='font-size:
! 11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:"Times New Roman";
! mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:minor-bidi;
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662140"><span style='mso-fareast-font-family:
! "Times New Roman"'>7.1.2 Authoring a Transform</span></a></span><span
! style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:
! "Times New Roman";mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:
! minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662141"><span style='mso-fareast-font-family:
! "Times New Roman"'>7.2. Configuration Options</span></a></span><span
! style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:
! "Times New Roman";mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:
! minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662142"><span style='mso-fareast-font-family:
! "Times New Roman"'>7.2.1 Configurable Properties</span></a></span><span
! style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:
! "Times New Roman";mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:
! minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc4 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662143"><span style='mso-fareast-font-family:
! "Times New Roman"'>7.2.1.1 Setting Properties</span></a></span><span
! style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:
! "Times New Roman";mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:
! minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc4 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662144"><span style='mso-fareast-font-family:
! "Times New Roman"'>7.2.1.2 OpenAFS for Windows Properties</span></a></span><span
! style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:
! "Times New Roman";mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:
! minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662145"><span style='mso-fareast-font-family:
! "Times New Roman"'>(Service parameters):</span></a></span><span
! style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:
! "Times New Roman";mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:
! minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662146"><span style='mso-fareast-font-family:
! "Times New Roman"'>(Network provider):</span></a></span><span style='font-size:
! 11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:"Times New Roman";
! mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:minor-bidi;
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662147"><span style='mso-fareast-font-family:
! "Times New Roman"'>(OpenAFS Client):</span></a></span><span style='font-size:
! 11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:"Times New Roman";
! mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:minor-bidi;
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662148"><span style='mso-fareast-font-family:
! "Times New Roman"'>7.2.1.2.1 Registry Properties</span></a></span><span
! style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:
! "Times New Roman";mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:
! minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc6 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662149"><span style='mso-fareast-font-family:
! "Times New Roman"'>AFSCACHEPATH</span></a></span><span style='font-size:11.0pt;
! font-family:"Calibri","sans-serif";mso-fareast-font-family:"Times New Roman";
! mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:minor-bidi;
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc6 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662150"><span style='mso-fareast-font-family:
! "Times New Roman"'>AFSCACHESIZE</span></a></span><span style='font-size:11.0pt;
! font-family:"Calibri","sans-serif";mso-fareast-font-family:"Times New Roman";
! mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:minor-bidi;
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc6 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662151"><span style='mso-fareast-font-family:
! "Times New Roman"'>AFSCELLNAME</span></a></span><span style='font-size:11.0pt;
! font-family:"Calibri","sans-serif";mso-fareast-font-family:"Times New Roman";
! mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:minor-bidi;
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc6 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662152"><span style='mso-fareast-font-family:
! "Times New Roman"'>FREELANCEMODE</span></a></span><span style='font-size:11.0pt;
! font-family:"Calibri","sans-serif";mso-fareast-font-family:"Times New Roman";
! mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:minor-bidi;
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc6 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662153"><span style='mso-fareast-font-family:
! "Times New Roman"'>HIDEDOTFILES</span></a></span><span style='font-size:11.0pt;
! font-family:"Calibri","sans-serif";mso-fareast-font-family:"Times New Roman";
! mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:minor-bidi;
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc6 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662154"><span style='mso-fareast-font-family:
! "Times New Roman"'>LOGONOPTIONS</span></a></span><span style='font-size:11.0pt;
! font-family:"Calibri","sans-serif";mso-fareast-font-family:"Times New Roman";
! mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:minor-bidi;
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc6 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662155"><span style='mso-fareast-font-family:
! "Times New Roman"'>MOUNTROOT</span></a></span><span style='font-size:11.0pt;
! font-family:"Calibri","sans-serif";mso-fareast-font-family:"Times New Roman";
! mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:minor-bidi;
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc6 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662156"><span style='mso-fareast-font-family:
! "Times New Roman"'>NETBIOSNAME</span></a></span><span style='font-size:11.0pt;
! font-family:"Calibri","sans-serif";mso-fareast-font-family:"Times New Roman";
! mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:minor-bidi;
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc6 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662157"><span style='mso-fareast-font-family:
! "Times New Roman"'>NOFINDLANABYNAME</span></a></span><span style='font-size:
! 11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:"Times New Roman";
! mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:minor-bidi;
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc6 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662158"><span style='mso-fareast-font-family:
! "Times New Roman"'>RXMAXMTU</span></a></span><span style='font-size:11.0pt;
! font-family:"Calibri","sans-serif";mso-fareast-font-family:"Times New Roman";
! mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:minor-bidi;
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc6 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662159"><span style='mso-fareast-font-family:
! "Times New Roman"'>SECURITYLEVEL</span></a></span><span style='font-size:11.0pt;
! font-family:"Calibri","sans-serif";mso-fareast-font-family:"Times New Roman";
! mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:minor-bidi;
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc6 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662160"><span style='mso-fareast-font-family:
! "Times New Roman"'>SMBAUTHTYPE</span></a></span><span style='font-size:11.0pt;
! font-family:"Calibri","sans-serif";mso-fareast-font-family:"Times New Roman";
! mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:minor-bidi;
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc6 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662161"><span style='mso-fareast-font-family:
! "Times New Roman"'>STOREANSIFILENAMES</span></a></span><span style='font-size:
! 11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:"Times New Roman";
! mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:minor-bidi;
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc6 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662162"><span style='mso-fareast-font-family:
! "Times New Roman"'>USEDNS</span></a></span><span style='font-size:11.0pt;
! font-family:"Calibri","sans-serif";mso-fareast-font-family:"Times New Roman";
! mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:minor-bidi;
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662163"><span style='mso-fareast-font-family:
! "Times New Roman"'>7.2.1.2.2 AFSCreds.exe Properties</span></a></span><span
! style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:
! "Times New Roman";mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:
! minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc6 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662164"><span style='mso-fareast-font-family:
! "Times New Roman"'>CREDSSTARTUP</span></a></span><span style='font-size:11.0pt;
! font-family:"Calibri","sans-serif";mso-fareast-font-family:"Times New Roman";
! mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:minor-bidi;
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc6 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662165"><span style='mso-fareast-font-family:
! "Times New Roman"'>CREDSAUTOINIT</span></a></span><span style='font-size:11.0pt;
! font-family:"Calibri","sans-serif";mso-fareast-font-family:"Times New Roman";
! mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:minor-bidi;
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc6 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662166"><span style='mso-fareast-font-family:
! "Times New Roman"'>CREDSIPCHDET</span></a></span><span style='font-size:11.0pt;
! font-family:"Calibri","sans-serif";mso-fareast-font-family:"Times New Roman";
! mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:minor-bidi;
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc6 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662167"><span style='mso-fareast-font-family:
! "Times New Roman"'>CREDSQUIET</span></a></span><span style='font-size:11.0pt;
! font-family:"Calibri","sans-serif";mso-fareast-font-family:"Times New Roman";
! mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:minor-bidi;
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc6 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662168"><span style='mso-fareast-font-family:
! "Times New Roman"'>CREDSRENEWDRMAP</span></a></span><span style='font-size:
! 11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:"Times New Roman";
! mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:minor-bidi;
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc6 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662169"><span style='mso-fareast-font-family:
! "Times New Roman"'>CREDSSHOW</span></a></span><span style='font-size:11.0pt;
! font-family:"Calibri","sans-serif";mso-fareast-font-family:"Times New Roman";
! mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:minor-bidi;
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662170"><span style='mso-fareast-font-family:
! "Times New Roman"'>7.2.2 Existing Registry Entries</span></a></span><span
! style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:
! "Times New Roman";mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:
! minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662171"><span style='mso-fareast-font-family:
! "Times New Roman"'>7.2.3 Replacing Configuration Files</span></a></span><span
! style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:
! "Times New Roman";mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:
! minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc4 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662172"><span style='mso-fareast-font-family:
! "Times New Roman"'>7.2.3.1 Components for Configuration Files</span></a></span><span
! style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:
! "Times New Roman";mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:
! minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662173"><span style='mso-fareast-font-family:
! "Times New Roman"'>7.2.4 Adding Domain Specific Registry Keys</span></a></span><span
! style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:
! "Times New Roman";mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:
! minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662174"><span style='mso-fareast-font-family:
! "Times New Roman"'>7.2.5 Adding Site Specific Freelance Registry Keys</span></a></span><span
! style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:
! "Times New Roman";mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:
! minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662175"><span style='mso-fareast-font-family:
! "Times New Roman"'>7.3 Additional Resources</span></a></span><span
! style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:
! "Times New Roman";mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:
! minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662176"><span style='mso-fareast-font-family:
! "Times New Roman"'>7.4. Upgrades</span></a></span><span style='font-size:11.0pt;
! font-family:"Calibri","sans-serif";mso-fareast-font-family:"Times New Roman";
! mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:minor-bidi;
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc1 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662177"><span style='mso-fareast-font-family:
! "Times New Roman"'>Appendix A: Registry Values</span></a></span><span
! style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:
! "Times New Roman";mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:
! minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662178"><span style='mso-fareast-font-family:
! "Times New Roman"'>A.1. Service parameters</span></a></span><span
! style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:
! "Times New Roman";mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:
! minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662179"><span style='mso-fareast-font-family:
! "Times New Roman"'>Regkey:
! [HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters]</span></a></span><span
! style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:
! "Times New Roman";mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:
! minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662180"><span style='mso-fareast-font-family:
! "Times New Roman"'>Value: LANadapter</span></a></span><span style='font-size:
! 11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:"Times New Roman";
! mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:minor-bidi;
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662181"><span style='mso-fareast-font-family:
! "Times New Roman"'>Value: CacheSize</span></a></span><span style='font-size:
! 11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:"Times New Roman";
! mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:minor-bidi;
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662182"><span style='mso-fareast-font-family:
! "Times New Roman"'>Value: ChunkSize</span></a></span><span style='font-size:
! 11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:"Times New Roman";
! mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:minor-bidi;
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662183"><span style='mso-fareast-font-family:
! "Times New Roman"'>Value: Daemons</span></a></span><span style='font-size:11.0pt;
! font-family:"Calibri","sans-serif";mso-fareast-font-family:"Times New Roman";
! mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:minor-bidi;
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662184"><span style='mso-fareast-font-family:
! "Times New Roman"'>Value: ServerThreads</span></a></span><span
! style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:
! "Times New Roman";mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:
! minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662185"><span style='mso-fareast-font-family:
! "Times New Roman"'>Value: Stats</span></a></span><span style='font-size:11.0pt;
! font-family:"Calibri","sans-serif";mso-fareast-font-family:"Times New Roman";
! mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:minor-bidi;
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662186"><span style='mso-fareast-font-family:
! "Times New Roman"'>Value: LogoffPreserveTokens</span></a></span><span
! style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:
! "Times New Roman";mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:
! minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662187"><span style='mso-fareast-font-family:
! "Times New Roman"'>Value: RootVolume</span></a></span><span style='font-size:
! 11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:"Times New Roman";
! mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:minor-bidi;
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662188"><span style='mso-fareast-font-family:
! "Times New Roman"'>Value: MountRoot</span></a></span><span style='font-size:
! 11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:"Times New Roman";
! mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:minor-bidi;
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662189"><span style='mso-fareast-font-family:
! "Times New Roman"'>Value: CachePath</span></a></span><span style='font-size:
! 11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:"Times New Roman";
! mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:minor-bidi;
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662190"><span style='mso-fareast-font-family:
! "Times New Roman"'>Value: NonPersistentCaching</span></a></span><span
! style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:
! "Times New Roman";mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:
! minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662191"><span style='mso-fareast-font-family:
! "Times New Roman"'>Value: ValidateCache</span></a></span><span
! style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:
! "Times New Roman";mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:
! minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662192"><span style='mso-fareast-font-family:
! "Times New Roman"'>Value: TrapOnPanic</span></a></span><span style='font-size:
! 11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:"Times New Roman";
! mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:minor-bidi;
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662193"><span style='mso-fareast-font-family:
! "Times New Roman"'>Value: NetbiosName</span></a></span><span style='font-size:
! 11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:"Times New Roman";
! mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:minor-bidi;
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662194"><span style='mso-fareast-font-family:
! "Times New Roman"'>Value: IsGateway</span></a></span><span style='font-size:
! 11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:"Times New Roman";
! mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:minor-bidi;
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662195"><span style='mso-fareast-font-family:
! "Times New Roman"'>Value: ReportSessionStartups</span></a></span><span
! style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:
! "Times New Roman";mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:
! minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662196"><span style='mso-fareast-font-family:
! "Times New Roman"'>Value: TraceBufferSize</span></a></span><span
! style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:
! "Times New Roman";mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:
! minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662197"><span style='mso-fareast-font-family:
! "Times New Roman"'>Value: SysName</span></a></span><span style='font-size:11.0pt;
! font-family:"Calibri","sans-serif";mso-fareast-font-family:"Times New Roman";
! mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:minor-bidi;
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662198"><span style='mso-fareast-font-family:
! "Times New Roman"'>Value: SecurityLevel</span></a></span><span
! style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:
! "Times New Roman";mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:
! minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662199"><span style='mso-fareast-font-family:
! "Times New Roman"'>Value: UseDNS</span></a></span><span style='font-size:11.0pt;
! font-family:"Calibri","sans-serif";mso-fareast-font-family:"Times New Roman";
! mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:minor-bidi;
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662200"><span style='mso-fareast-font-family:
! "Times New Roman"'>Value: FreelanceClient</span></a></span><span
! style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:
! "Times New Roman";mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:
! minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662201"><span style='mso-fareast-font-family:
! "Times New Roman"'>Value: HideDotFiles</span></a></span><span style='font-size:
! 11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:"Times New Roman";
! mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:minor-bidi;
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662202"><span style='mso-fareast-font-family:
! "Times New Roman"'>Value: MaxMpxRequests</span></a></span><span
! style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:
! "Times New Roman";mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:
! minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662203"><span style='mso-fareast-font-family:
! "Times New Roman"'>Value: MaxVCPerServer</span></a></span><span
! style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:
! "Times New Roman";mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:
! minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662204"><span style='mso-fareast-font-family:
! "Times New Roman"'>Value: Cell</span></a></span><span style='font-size:11.0pt;
! font-family:"Calibri","sans-serif";mso-fareast-font-family:"Times New Roman";
! mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:minor-bidi;
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662205"><span style='mso-fareast-font-family:
! "Times New Roman"'>Value: RxNoJumbo</span></a></span><span style='font-size:
! 11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:"Times New Roman";
! mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:minor-bidi;
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662206"><span style='mso-fareast-font-family:
! "Times New Roman"'>Value: RxMaxMTU</span></a></span><span style='font-size:
! 11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:"Times New Roman";
! mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:minor-bidi;
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662207"><span style='mso-fareast-font-family:
! "Times New Roman"'>Value: ConnDeadTimeout</span></a></span><span
! style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:
! "Times New Roman";mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:
! minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662208"><span style='mso-fareast-font-family:
! "Times New Roman"'>Value: HardDeadTimeout</span></a></span><span
! style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:
! "Times New Roman";mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:
! minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662209"><span style='mso-fareast-font-family:
! "Times New Roman"'>Value: TraceOption</span></a></span><span style='font-size:
! 11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:"Times New Roman";
! mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:minor-bidi;
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662210"><span style='mso-fareast-font-family:
! "Times New Roman"'>Value: AllSubmount</span></a></span><span style='font-size:
! 11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:"Times New Roman";
! mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:minor-bidi;
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662211"><span style='mso-fareast-font-family:
! "Times New Roman"'>Value: NoFindLanaByName</span></a></span><span
! style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:
! "Times New Roman";mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:
! minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662212"><span style='mso-fareast-font-family:
! "Times New Roman"'>Value: MaxCPUs</span></a></span><span style='font-size:11.0pt;
! font-family:"Calibri","sans-serif";mso-fareast-font-family:"Times New Roman";
! mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:minor-bidi;
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662213"><span style='mso-fareast-font-family:
! "Times New Roman"'>Value: smbAuthType</span></a></span><span style='font-size:
! 11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:"Times New Roman";
! mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:minor-bidi;
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662214"><span style='mso-fareast-font-family:
! "Times New Roman"'>Value: MaxLogSize</span></a></span><span style='font-size:
! 11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:"Times New Roman";
! mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:minor-bidi;
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662215"><span style='mso-fareast-font-family:
! "Times New Roman"'>Value: FlushOnHibernate</span></a></span><span
! style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:
! "Times New Roman";mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:
! minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662216"><span style='mso-fareast-font-family:
! "Times New Roman"'>Value: daemonCheckDownInterval</span></a></span><span
! style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:
! "Times New Roman";mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:
! minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662217"><span style='mso-fareast-font-family:
! "Times New Roman"'>Value: daemonCheckUpInterval</span></a></span><span
! style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:
! "Times New Roman";mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:
! minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662218"><span style='mso-fareast-font-family:
! "Times New Roman"'>Value: daemonCheckVolInterval</span></a></span><span
! style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:
! "Times New Roman";mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:
! minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662219"><span style='mso-fareast-font-family:
! "Times New Roman"'>Value: daemonCheckCBInterval</span></a></span><span
! style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:
! "Times New Roman";mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:
! minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662220"><span style='mso-fareast-font-family:
! "Times New Roman"'>Value: daemonCheckLockInterval</span></a></span><span
! style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:
! "Times New Roman";mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:
! minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662221"><span style='mso-fareast-font-family:
! "Times New Roman"'>Value: daemonCheckTokenInterval</span></a></span><span
! style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:
! "Times New Roman";mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:
! minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662222"><span style='mso-fareast-font-family:
! "Times New Roman"'>Value: daemonCheckOfflineVolInterval</span></a></span><span
! style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:
! "Times New Roman";mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:
! minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662223"><span style='mso-fareast-font-family:
! "Times New Roman"'>Value: CallBackPort</span></a></span><span style='font-size:
! 11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:"Times New Roman";
! mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:minor-bidi;
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662224"><span style='mso-fareast-font-family:
! "Times New Roman"'>Value: EnableServerLocks</span></a></span><span
! style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:
! "Times New Roman";mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:
! minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662225"><span style='mso-fareast-font-family:
! "Times New Roman"'>Value: DeleteReadOnly</span></a></span><span
! style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:
! "Times New Roman";mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:
! minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662226"><span style='mso-fareast-font-family:
! "Times New Roman"'>Value: BPlusTrees</span></a></span><span style='font-size:
! 11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:"Times New Roman";
! mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:minor-bidi;
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662227"><span style='mso-fareast-font-family:
! "Times New Roman"'>Value: PrefetchExecutableExtensions</span></a></span><span
! style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:
! "Times New Roman";mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:
! minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662228"><span style='mso-fareast-font-family:
! "Times New Roman"'>Value: OfflineReadOnlyIsValid</span></a></span><span
! style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:
! "Times New Roman";mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:
! minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662229"><span style='mso-fareast-font-family:
! "Times New Roman"'>Value: GiveUpAllCallBacks</span></a></span><span
! style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:
! "Times New Roman";mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:
! minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662230"><span style='mso-fareast-font-family:
! "Times New Roman"'>Value: FollowBackupPath</span></a></span><span
! style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:
! "Times New Roman";mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:
! minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662231"><span style='mso-fareast-font-family:
! "Times New Roman"'>Regkey:
! [HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters\GlobalAutoMapper]</span></a></span><span
! style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:
! "Times New Roman";mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:
! minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662232"><span style='mso-fareast-font-family:
! "Times New Roman"'>Value: &lt;Drive Letter:&gt; for example &quot;G:&quot;</span></a></span><span
! style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:
! "Times New Roman";mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:
! minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662233"><span style='mso-fareast-font-family:
! "Times New Roman"'>Regkey: [HKLM\SOFTWARE\OpenAFS\Client]</span></a></span><span
! style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:
! "Times New Roman";mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:
! minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662234"><span style='mso-fareast-font-family:
! "Times New Roman"'>Value: CellServDBDir</span></a></span><span
! style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:
! "Times New Roman";mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:
! minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662235"><span style='mso-fareast-font-family:
! "Times New Roman"'>Value: VerifyServiceSignature</span></a></span><span
! style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:
! "Times New Roman";mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:
! minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662236"><span style='mso-fareast-font-family:
! "Times New Roman"'>Value: IoctlDebug</span></a></span><span style='font-size:
! 11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:"Times New Roman";
! mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:minor-bidi;
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662237"><span style='mso-fareast-font-family:
! "Times New Roman"'>Value: MiniDumpType</span></a></span><span style='font-size:
! 11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:"Times New Roman";
! mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:minor-bidi;
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662238"><span style='mso-fareast-font-family:
! "Times New Roman"'>Value: EnableSMBAsyncStore</span></a></span><span
! style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:
! "Times New Roman";mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:
! minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662239"><span style='mso-fareast-font-family:
! "Times New Roman"'>Value: SMBAsyncStoreSize</span></a></span><span
! style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:
! "Times New Roman";mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:
! minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662240"><span style='mso-fareast-font-family:
! "Times New Roman"'>Value: StoreAnsiFilenames</span></a></span><span
! style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:
! "Times New Roman";mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:
! minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662242"><span style='mso-fareast-font-family:
! "Times New Roman"'>Regkey: [HKLM\SOFTWARE\OpenAFS\Client\CSCPolicy]</span></a></span><span
! style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:
! "Times New Roman";mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:
! minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662243"><span style='mso-fareast-font-family:
! "Times New Roman"'>Value: &quot;smb/cifs share name&quot;</span></a></span><span
! style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:
! "Times New Roman";mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:
! minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662244"><span style='mso-fareast-font-family:
! "Times New Roman"'>Regkey: [HKLM\SOFTWARE\OpenAFS\Client\Freelance]</span></a></span><span
! style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:
! "Times New Roman";mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:
! minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662245"><span style='mso-fareast-font-family:
! "Times New Roman"'>Value: &quot;numeric value&quot;</span></a></span><span
! style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:
! "Times New Roman";mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:
! minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662246"><span style='mso-fareast-font-family:
! "Times New Roman"'>Regkey: [HKLM\SOFTWARE\OpenAFS\Client\Freelance\Symlinks]</span></a></span><span
! style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:
! "Times New Roman";mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:
! minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662247"><span style='mso-fareast-font-family:
! "Times New Roman"'>Value: &quot;numeric value&quot;</span></a></span><span
! style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:
! "Times New Roman";mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:
! minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662248"><span style='mso-fareast-font-family:
! "Times New Roman"'>Regkey: [HKLM\SOFTWARE\OpenAFS\Client\Realms]</span></a></span><span
! style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:
! "Times New Roman";mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:
! minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662249"><span style='mso-fareast-font-family:
! "Times New Roman"'>Regkey: [HKLM\SOFTWARE\OpenAFS\Client\Realms<i
! style='mso-bidi-font-style:normal'>”Realm Name”</i>]</span></a></span><span
! style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:
! "Times New Roman";mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:
! minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662250"><span style='mso-fareast-font-family:
! "Times New Roman"'>Value: AFSEnabled</span></a></span><span style='font-size:
! 11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:"Times New Roman";
! mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:minor-bidi;
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662251"><span style='mso-fareast-font-family:
! "Times New Roman"'>Regkey: [HKLM\SOFTWARE\OpenAFS\Client\Realms<i
! style='mso-bidi-font-style:normal'>”Realm Name””Cell Name”</i>]</span></a></span><span
! style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:
! "Times New Roman";mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:
! minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662252"><span style='mso-fareast-font-family:
! "Times New Roman"'>Value: MethodName</span></a></span><span style='font-size:
! 11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:"Times New Roman";
! mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:minor-bidi;
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662253"><span style='mso-fareast-font-family:
! "Times New Roman"'>Value: Realm</span></a></span><span style='font-size:11.0pt;
! font-family:"Calibri","sans-serif";mso-fareast-font-family:"Times New Roman";
! mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:minor-bidi;
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662254"><span style='mso-fareast-font-family:
! "Times New Roman"'>Regkey: [HKLM\SOFTWARE\OpenAFS\Client\Submounts]</span></a></span><span
! style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:
! "Times New Roman";mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:
! minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662255"><span style='mso-fareast-font-family:
! "Times New Roman"'>Value: &quot;submount name&quot;</span></a></span><span
! style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:
! "Times New Roman";mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:
! minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662256"><span style='mso-fareast-font-family:
! "Times New Roman"'>Regkey: [HKLM\SOFTWARE\OpenAFS\Client\Server
! Preferences\VLDB]</span></a></span><span style='font-size:11.0pt;font-family:
! "Calibri","sans-serif";mso-fareast-font-family:"Times New Roman";mso-bidi-font-family:
! "Times New Roman";mso-bidi-theme-font:minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662257"><span style='mso-fareast-font-family:
! "Times New Roman"'>Value: &quot;hostname or ip address&quot;</span></a></span><span
! style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:
! "Times New Roman";mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:
! minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662258"><span style='mso-fareast-font-family:
! "Times New Roman"'>Regkey: [HKLM\SOFTWARE\OpenAFS\Client\Server
! Preferences\File]</span></a></span><span style='font-size:11.0pt;font-family:
! "Calibri","sans-serif";mso-fareast-font-family:"Times New Roman";mso-bidi-font-family:
! "Times New Roman";mso-bidi-theme-font:minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662259"><span style='mso-fareast-font-family:
! "Times New Roman"'>Value: &quot;hostname or ip address&quot;</span></a></span><span
! style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:
! "Times New Roman";mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:
! minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662260"><span style='mso-fareast-font-family:
! "Times New Roman"'>A.2. Integrated Logon Network provider parameters</span></a></span><span
! style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:
! "Times New Roman";mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:
! minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662261"><span style='mso-fareast-font-family:
! "Times New Roman"'>Regkey:
! [HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters]</span></a></span><span
! style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:
! "Times New Roman";mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:
! minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662262"><span style='mso-fareast-font-family:
! "Times New Roman"'>Value: FailLoginsSilently</span></a></span><span
! style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:
! "Times New Roman";mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:
! minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662263"><span style='mso-fareast-font-family:
! "Times New Roman"'>Regkey:
! [HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider]</span></a></span><span
! style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:
! "Times New Roman";mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:
! minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662264"><span style='mso-fareast-font-family:
! "Times New Roman"'>Value: NoWarnings</span></a></span><span style='font-size:
! 11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:"Times New Roman";
! mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:minor-bidi;
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662265"><span style='mso-fareast-font-family:
! "Times New Roman"'>Value: AuthentProviderPath</span></a></span><span
! style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:
! "Times New Roman";mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:
! minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662266"><span style='mso-fareast-font-family:
! "Times New Roman"'>Value: Class</span></a></span><span style='font-size:11.0pt;
! font-family:"Calibri","sans-serif";mso-fareast-font-family:"Times New Roman";
! mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:minor-bidi;
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662267"><span style='mso-fareast-font-family:
! "Times New Roman"'>Value: DependOnGroup</span></a></span><span
! style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:
! "Times New Roman";mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:
! minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662268"><span style='mso-fareast-font-family:
! "Times New Roman"'>Value: DependOnService</span></a></span><span
! style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:
! "Times New Roman";mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:
! minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662269"><span style='mso-fareast-font-family:
! "Times New Roman"'>Value: Name</span></a></span><span style='font-size:11.0pt;
! font-family:"Calibri","sans-serif";mso-fareast-font-family:"Times New Roman";
! mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:minor-bidi;
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662270"><span style='mso-fareast-font-family:
! "Times New Roman"'>Value: ProviderPath</span></a></span><span style='font-size:
! 11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:"Times New Roman";
! mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:minor-bidi;
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662271"><span style='mso-fareast-font-family:
! "Times New Roman"'>A.2.1 Domain specific configuration keys for the Network Provider</span></a></span><span
! style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:
! "Times New Roman";mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:
! minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662272"><span style='mso-fareast-font-family:
! "Times New Roman"'>[HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider]</span></a></span><span
! style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:
! "Times New Roman";mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:
! minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662273"><span style='mso-fareast-font-family:
! "Times New Roman"'>[HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider\Domain]</span></a></span><span
! style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:
! "Times New Roman";mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:
! minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662274"><span style='mso-fareast-font-family:
! "Times New Roman"'>[HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider\Domain&quot;domain
! name&quot;]</span></a></span><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
! mso-fareast-font-family:"Times New Roman";mso-bidi-font-family:"Times New Roman";
! mso-bidi-theme-font:minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662275"><span style='mso-fareast-font-family:
! "Times New Roman"'>[HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider\Domain\LOCALHOST]</span></a></span><span
! style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:
! "Times New Roman";mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:
! minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662276"><span style='mso-fareast-font-family:
! "Times New Roman"'>Example:</span></a></span><span style='font-size:11.0pt;
! font-family:"Calibri","sans-serif";mso-fareast-font-family:"Times New Roman";
! mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:minor-bidi;
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662277"><span style='mso-fareast-font-family:
! "Times New Roman"'>A.2.1.1 Domain specific configuration values</span></a></span><span
! style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:
! "Times New Roman";mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:
! minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc4 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662278"><span style='mso-fareast-font-family:
! "Times New Roman"'>[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]</span></a></span><span
! style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:
! "Times New Roman";mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:
! minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662279"><span style='mso-fareast-font-family:
! "Times New Roman"'>Value: LogonOptions</span></a></span><span style='font-size:
! 11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:"Times New Roman";
! mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:minor-bidi;
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662280"><span style='mso-fareast-font-family:
! "Times New Roman"'>Value: FailLoginsSilentl</span></a></span><span
! style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:
! "Times New Roman";mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:
! minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662281"><span style='mso-fareast-font-family:
! "Times New Roman"'>Value: LogonScript</span></a></span><span style='font-size:
! 11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:"Times New Roman";
! mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:minor-bidi;
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662282"><span style='mso-fareast-font-family:
! "Times New Roman"'>Value: LoginRetryInterval</span></a></span><span
! style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:
! "Times New Roman";mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:
! minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662283"><span style='mso-fareast-font-family:
! "Times New Roman"'>Value: LoginSleepInterval</span></a></span><span
! style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:
! "Times New Roman";mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:
! minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662284"><span style='mso-fareast-font-family:
! "Times New Roman"'>Value: Realm</span></a></span><span style='font-size:11.0pt;
! font-family:"Calibri","sans-serif";mso-fareast-font-family:"Times New Roman";
! mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:minor-bidi;
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662285"><span style='mso-fareast-font-family:
! "Times New Roman"'>Value: TheseCells</span></a></span><span style='font-size:
! 11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:"Times New Roman";
! mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:minor-bidi;
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662286"><span style='mso-fareast-font-family:
! "Times New Roman"'>A.2.1.2 Selection of effective values for domain specific
! configuration</span></a></span><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
! mso-fareast-font-family:"Times New Roman";mso-bidi-font-family:"Times New Roman";
! mso-bidi-theme-font:minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662287"><span style='mso-fareast-font-family:
! "Times New Roman"'>A.2.1.3 Exceptions to A.2.1.2</span></a></span><span
! style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:
! "Times New Roman";mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:
! minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc4 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662288"><span style='mso-fareast-font-family:
! "Times New Roman"'>2.1.3.1 'FailLoginsSilently'</span></a></span><span
! style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:
! "Times New Roman";mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:
! minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc4 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662289"><span style='mso-fareast-font-family:
! "Times New Roman"'>2.1.3.2 'LogonScript'</span></a></span><span
! style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:
! "Times New Roman";mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:
! minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662290"><span style='mso-fareast-font-family:
! "Times New Roman"'>A.3. AFS Credentials System Tray Tool parameters</span></a></span><span
! style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:
! "Times New Roman";mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:
! minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662291"><span style='mso-fareast-font-family:
! "Times New Roman"'>Regkey:
! [HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters]</span></a></span><span
! style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:
! "Times New Roman";mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:
! minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662292"><span style='mso-fareast-font-family:
! "Times New Roman"'>Value: Gateway</span></a></span><span style='font-size:11.0pt;
! font-family:"Calibri","sans-serif";mso-fareast-font-family:"Times New Roman";
! mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:minor-bidi;
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662293"><span style='mso-fareast-font-family:
! "Times New Roman"'>Value: Cell</span></a></span><span style='font-size:11.0pt;
! font-family:"Calibri","sans-serif";mso-fareast-font-family:"Times New Roman";
! mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:minor-bidi;
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662294"><span style='mso-fareast-font-family:
! "Times New Roman"'>Regkey: [HKLM\SOFTWARE\OpenAFS\Client]
! [HKCU\SOFTWARE\OpenAFS\Client]</span></a></span><span style='font-size:11.0pt;
! font-family:"Calibri","sans-serif";mso-fareast-font-family:"Times New Roman";
! mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:minor-bidi;
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662295"><span style='mso-fareast-font-family:
! "Times New Roman"'>Value: ShowTrayIcon</span></a></span><span style='font-size:
! 11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:"Times New Roman";
! mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:minor-bidi;
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662296"><span style='mso-fareast-font-family:
! "Times New Roman"'>Value: EnableKFW</span></a></span><span style='font-size:
! 11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:"Times New Roman";
! mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:minor-bidi;
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662297"><span style='mso-fareast-font-family:
! "Times New Roman"'>Value: AcceptDottedPrincipalNames</span></a></span><span
! style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:
! "Times New Roman";mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:
! minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662298"><span style='mso-fareast-font-family:
! "Times New Roman"'>Value: Use524</span></a></span><span style='font-size:11.0pt;
! font-family:"Calibri","sans-serif";mso-fareast-font-family:"Times New Roman";
! mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:minor-bidi;
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662299"><span style='mso-fareast-font-family:
! "Times New Roman"'>Value: AfscredsShortcutParams</span></a></span><span
! style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:
! "Times New Roman";mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:
! minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662300"><span style='mso-fareast-font-family:
! "Times New Roman"'>Regkey: [HKCU\SOFTWARE\OpenAFS\Client]</span></a></span><span
! style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:
! "Times New Roman";mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:
! minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662301"><span style='mso-fareast-font-family:
! "Times New Roman"'>Value: Authentication Cell</span></a></span><span
! style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:
! "Times New Roman";mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:
! minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662302"><span style='mso-fareast-font-family:
! "Times New Roman"'>Regkey: [HKCU\SOFTWARE\OpenAFS\Client\Reminders]</span></a></span><span
! style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:
! "Times New Roman";mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:
! minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662303"><span style='mso-fareast-font-family:
! "Times New Roman"'>Value: &quot;afs cell name&quot;</span></a></span><span
! style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:
! "Times New Roman";mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:
! minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662304"><span style='mso-fareast-font-family:
! "Times New Roman"'>Regkey: [HKCU\SOFTWARE\OpenAFS\Client\Active Maps]</span></a></span><span
! style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:
! "Times New Roman";mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:
! minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662305"><span style='mso-fareast-font-family:
! "Times New Roman"'>Value: &quot;upper case drive letter&quot;</span></a></span><span
! style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:
! "Times New Roman";mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:
! minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662306"><span style='mso-fareast-font-family:
! "Times New Roman"'>Regkey: [HKCU\SOFTWARE\OpenAFS\Client\Mappings]</span></a></span><span
! style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:
! "Times New Roman";mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:
! minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662307"><span style='mso-fareast-font-family:
! "Times New Roman"'>Value: &quot;upper case drive letter&quot;</span></a></span><span
! style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:
! "Times New Roman";mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:
! minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662308"><span lang=FR style='mso-fareast-font-family:
  "Times New Roman";mso-ansi-language:FR'>A.4 OpenAFS Client Service Environment
! Variables</span></a></span><span lang=FR style='font-size:11.0pt;font-family:
! "Calibri","sans-serif";mso-fareast-font-family:"Times New Roman";mso-bidi-font-family:
! "Times New Roman";mso-bidi-theme-font:minor-bidi;mso-ansi-language:FR;
! mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662309"><span style='mso-fareast-font-family:
! "Times New Roman"'>Variable: AFS_RPC_ENCRYPT</span></a></span><span
! style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:
! "Times New Roman";mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:
! minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span style='mso-no-proof:
! yes'><a href="relnotes.htm#_Toc191662310"><span style='mso-fareast-font-family:
! "Times New Roman"'>Variable: AFS_RPC_PROTSEQ</span></a></span><span
! style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-fareast-font-family:
! "Times New Roman";mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:
! minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoNormal><o:p>&nbsp;</o:p></p>
  
  <p class=MsoNormal><o:p>&nbsp;</o:p></p>
  
  </div>
Index: openafs/src/WINNT/install/NSIS/CellServDB
diff -c openafs/src/WINNT/install/NSIS/CellServDB:1.6.4.5 openafs/src/WINNT/install/NSIS/CellServDB:1.6.4.6
*** openafs/src/WINNT/install/NSIS/CellServDB:1.6.4.5	Wed Apr 23 23:08:31 2008
--- openafs/src/WINNT/install/NSIS/CellServDB	Fri Nov  7 21:29:26 2008
***************
*** 1,4 ****
! >grand.central.org      #GCO Public CellServDB 23 Apr 2008
  18.92.0.108                     #grand-opening.mit.edu
  128.2.203.61                    #penn.central.org
  130.237.48.87                   #andrew.e.kth.se
--- 1,4 ----
! >grand.central.org      #GCO Public CellServDB 07 Nov 2008
  18.92.0.108                     #grand-opening.mit.edu
  128.2.203.61                    #penn.central.org
  130.237.48.87                   #andrew.e.kth.se
***************
*** 11,19 ****
  193.170.243.12                  #baloo.oeaw.ac.at
  193.170.243.14                  #akela.oeaw.ac.at
  >cgv.tugraz.at          #CGV cell
! 129.27.224.133                  #phobos.cgv.tugraz.at
! 129.27.224.134                  #deimos.cgv.tugraz.at
! 129.27.224.210                  #trinculo.cgv.tugraz.at
  >itp.tugraz.at          #Institute of Theoretical and Computational Physics, TU Graz, Aus
  129.27.161.7                    #faepafs1.tu-graz.ac.at
  129.27.161.15                   #faepafs2.tu-graz.ac.at
--- 11,19 ----
  193.170.243.12                  #baloo.oeaw.ac.at
  193.170.243.14                  #akela.oeaw.ac.at
  >cgv.tugraz.at          #CGV cell
! 129.27.218.30                   #phobos.cgv.tugraz.at
! 129.27.218.31                   #deimos.cgv.tugraz.at
! 129.27.218.32                   #trinculo.cgv.tugraz.at
  >itp.tugraz.at          #Institute of Theoretical and Computational Physics, TU Graz, Aus
  129.27.161.7                    #faepafs1.tu-graz.ac.at
  129.27.161.15                   #faepafs2.tu-graz.ac.at
***************
*** 44,49 ****
--- 44,51 ----
  129.129.190.142                 #afs02.psi.ch
  >extundo.com            #Simon Josefsson's cell
  195.42.214.241                  #slipsten.extundo.com
+ >freedaemon.com         #Free Daemon Consulting, Oklahoma City, OK, USA
+ 66.210.104.254                  #afs0.freedaemon.com
  >membrain.com           #membrain.com
  66.93.118.125                   #stormy
  130.85.24.11                    #weasel
***************
*** 57,64 ****
  195.113.0.36                    #asterix.ruk.cuni.cz
  195.113.0.37                    #obelix.ruk.cuni.cz
  195.113.0.40                    #sal.ruk.cuni.cz
  >desy.de                #Deutsches Elektronen-Synchrotron
! 131.169.40.62                   #vayu.desy.de
  131.169.244.60                  #solar00.desy.de
  >gppc.de                #GPP Chemnitz mbH
  213.187.92.33                   #gpp1.gppc.de
--- 59,75 ----
  195.113.0.36                    #asterix.ruk.cuni.cz
  195.113.0.37                    #obelix.ruk.cuni.cz
  195.113.0.40                    #sal.ruk.cuni.cz
+ >ics.muni.cz            #Masaryk university
+ 147.251.3.11                    #grond.ics.muni.cz
+ 147.251.3.15                    #nimloth.ics.muni.cz
+ 147.251.3.19                    #sirion.ics.muni.cz
+ >zcu.cz                 #University of West Bohemia, Czech Republic
+ 147.228.10.18                   #sauron.zcu.cz
+ 147.228.52.10                   #oknos.zcu.cz
+ 147.228.52.17                   #nic.zcu.cz
  >desy.de                #Deutsches Elektronen-Synchrotron
! 131.169.2.19                    #afsdb2.desy.de
! 131.169.2.20                    #afsdb3.desy.de
  131.169.244.60                  #solar00.desy.de
  >gppc.de                #GPP Chemnitz mbH
  213.187.92.33                   #gpp1.gppc.de
***************
*** 155,160 ****
--- 166,175 ----
  129.219.10.70                   #authen1.asu.edu
  129.219.10.72                   #authen3.asu.edu
  129.219.100.16                  #authen4.asu.edu
+ >mars.asu.edu           #Mars Space Flight Facility - ASU Mars Research
+ 149.169.146.57                  #kdc1.mars.asu.edu
+ 149.169.146.58                  #kdc2.mars.asu.edu
+ 149.169.146.59                  #kdc3.mars.asu.edu
  >eecs.berkeley.edu      #University of California, Berkeley - EECS Dept.
  128.32.139.34                   #greed.eecs.berkeley.edu
  128.32.139.35                   #gluttony.eecs.berkeley.edu
***************
*** 223,242 ****
  129.186.6.243                   #afsdb-2.iastate.edu
  129.186.142.243                 #afsdb-3.iastate.edu
  >athena.mit.edu         #MIT/Athena cell
! 18.7.1.66                       #paris.mit.edu.
! 18.7.1.74                       #chimera.mit.edu.
! 18.158.0.37                     #prill.mit.edu.
  >dev.mit.edu            #MIT/IS Development cell
! 18.7.1.70                       #wham.mit.edu.
! 18.92.1.219                     #click.mit.edu.
! 18.92.1.220                     #whirr.mit.edu.
  >net.mit.edu            #MIT/Network Group cell
  18.7.7.73                       #gracie.mit.edu
  18.7.21.95                      #george.mit.edu
  >sipb.mit.edu           #MIT/SIPB cell
! 18.181.0.19                     #reynelda.mit.edu.
! 18.181.0.22                     #rosebud.mit.edu.
! 18.181.0.23                     #ronald-ann.mit.edu.
  >soap.mit.edu           #MIT School Of Architecture & Planning
  18.89.1.204                     #crypt.mit.edu
  18.89.1.209                     #grotto.mit.edu
--- 238,257 ----
  129.186.6.243                   #afsdb-2.iastate.edu
  129.186.142.243                 #afsdb-3.iastate.edu
  >athena.mit.edu         #MIT/Athena cell
! 18.7.1.66                       #paris.mit.edu
! 18.7.1.74                       #chimera.mit.edu
! 18.158.0.37                     #prill.mit.edu
  >dev.mit.edu            #MIT/IS Development cell
! 18.7.1.70                       #wham.mit.edu
! 18.92.1.219                     #click.mit.edu
! 18.92.1.220                     #whirr.mit.edu
  >net.mit.edu            #MIT/Network Group cell
  18.7.7.73                       #gracie.mit.edu
  18.7.21.95                      #george.mit.edu
  >sipb.mit.edu           #MIT/SIPB cell
! 18.181.0.19                     #reynelda.mit.edu
! 18.181.0.22                     #rosebud.mit.edu
! 18.181.0.23                     #ronald-ann.mit.edu
  >soap.mit.edu           #MIT School Of Architecture & Planning
  18.89.1.204                     #crypt.mit.edu
  18.89.1.209                     #grotto.mit.edu
***************
*** 342,351 ****
  141.211.43.104                  #linat04.grid.umich.edu
  >citi.umich.edu         #Center for Information Technology Integration
  141.211.133.5                   #babylon.citi.umich.edu
- >lsa.umich.edu          #University of Michigan - College of LS&A
- 141.211.211.53                  #gerow.lsa.umich.edu
- 141.211.211.72                  #collines.lsa.umich.edu
- 141.211.211.153                 #hodges.lsa.umich.edu
  >sph.umich.edu          #University of Michigan -- School of Public  Health
  141.211.51.137                  #afssph7.sph.umich.edu
  141.211.51.139                  #afssph0.sph.umich.edu
--- 357,362 ----
***************
*** 377,382 ****
--- 388,395 ----
  144.92.13.16                    #moe.cae.wisc.edu
  >hep.wisc.edu           #University of Wisconsin -- High Energy Physics
  128.104.28.219                  #anise.hep.wisc.edu
+ 144.92.180.7                    #rosemary.hep.wisc.edu
+ 144.92.180.30                   #fennel.hep.wisc.edu
  >physics.wisc.edu       #Univ. of Wisconsin-Madison, Physics Department
  128.104.160.13                  #kendra.physics.wisc.edu
  128.104.160.14                  #fray.physics.wisc.edu
***************
*** 398,403 ****
--- 411,418 ----
  >grif.fr                #GRIF cell
  192.54.208.18                   #node03.datagrid.cea.fr
  >in2p3.fr               #IN2P3 production cell
+ 134.158.104.11                  #ccafsdb01.in2p3.fr
+ 134.158.104.12                  #ccafsdb02.in2p3.fr
  134.158.232.11                  #ccafsdb1.in2p3.fr
  134.158.232.12                  #ccafsdb2.in2p3.fr
  134.158.232.13                  #ccafsdb3.in2p3.fr
***************
*** 431,436 ****
--- 446,453 ----
  128.55.128.250                  #mars.nersc.gov
  128.55.128.252                  #alfred.nersc.gov
  128.55.128.254                  #lurch.nersc.gov
+ >doe.atomki.hu          #Institute of Nuclear Research (MTA ATOMKI), Debrecen, Hungary
+ 193.6.179.31                    #afs.doe.atomki.hu
  >bme.hu                 #Budapest University of Technology and Economics
  152.66.241.6                    #afs.iit.bme.hu
  >kfki.hu                #Research Institute for Nuclear and Particle Physics - Budapest,H
***************
*** 474,479 ****
--- 491,498 ----
  >pi.infn.it             #INFN, Sezione di Pisa
  131.114.134.26                  #unknownhost.pi.infn.it
  192.84.133.50                   #aix1.pi.infn.it
+ >roma3.infn.it          #Istituto Nazionale di Fisica Nucleare (INFN), Italia
+ 193.205.159.17                  #afsrm3.roma3.infn.it
  >psm.it                 #Progetto San Marco, Universita' di Roma-1
  151.100.1.65                    #atlante.psm.uniroma1.it
  >tgrid.it               #CASPUR-CILEA-CINECA Grid Cell
***************
*** 514,522 ****
  >slackers.net           #The Slackers' Network
  199.4.150.159                   #alexandria.slackers.net
  >tproa.net              #The People's Republic of Ames
! 72.13.4.23                      #service-3.tproa.net
! 72.13.4.24                      #service-4.tproa.net
! 72.13.4.25                      #service-5.tproa.net
  >interdose.net          #Interdose Ltd. & Co. KG, Germany
  80.190.171.42                   #bfd9000.tow5.interdose.net
  217.111.69.188                  #bfd9001.z2.interdose.net
--- 533,541 ----
  >slackers.net           #The Slackers' Network
  199.4.150.159                   #alexandria.slackers.net
  >tproa.net              #The People's Republic of Ames
! 204.11.35.83                    #service-3.tproa.net
! 204.11.35.84                    #service-4.tproa.net
! 204.11.35.85                    #service-5.tproa.net
  >interdose.net          #Interdose Ltd. & Co. KG, Germany
  80.190.171.42                   #bfd9000.tow5.interdose.net
  217.111.69.188                  #bfd9001.z2.interdose.net
***************
*** 544,552 ****
--- 563,576 ----
  128.2.120.138                   #kurma.sys.hackish.org
  >idahofuturetruck.org   #University of Idaho hybrid vehicle development
  12.18.238.210                   #dsle210.fsr.net
+ >mrow.org               #MROW.ORG and RITLUG Cell
+ 88.198.46.111                   #mrow.org
+ 129.21.205.119                  #mirror.rit.edu
  >mrph.org               #Mrph
  66.207.133.1                    #sanber.mrph.org
  128.2.99.209                    #hernandarias.mrph.org
+ >mstacm.org             #Missouri Science & Technology - ACM
+ 131.151.88.2                    #acmwork.device.mst.edu
  >nimlabs.org            #Nimlabs, Ink. Cell.
  18.238.1.103                    #olfin.nimlabs.org
  18.238.1.105                    #caerbanog.nimlabs.org
***************
*** 567,582 ****
  130.237.24.104                  #afs2.hallf.kth.se
  >isk.kth.se             #Royal Institute of Technology, ISK
  130.237.209.5                   #afsdb2.isk.kth.se
- 130.237.209.9                   #afsdb3.isk.kth.se
  130.237.216.17                  #afsdb1.isk.kth.se
  >it.kth.se              #Royal Institute of Technology, IT
  130.237.212.15                  #ptah.it.kth.se
  130.237.212.16                  #toth.it.kth.se
  130.237.215.7                   #isis.it.kth.se
  >md.kth.se              #Royal Institute of Technology, MMK
  130.237.57.68                   #trinity.md.kth.se
  130.237.57.72                   #morpheus.md.kth.se
- 130.237.67.230                  #neo.speech.kth.se
  >mech.kth.se            #Royal Institute of Technology, MECH
  130.237.233.142                 #matterhorn.mech.kth.se
  130.237.233.143                 #castor.mech.kth.se
--- 591,605 ----
  130.237.24.104                  #afs2.hallf.kth.se
  >isk.kth.se             #Royal Institute of Technology, ISK
  130.237.209.5                   #afsdb2.isk.kth.se
  130.237.216.17                  #afsdb1.isk.kth.se
  >it.kth.se              #Royal Institute of Technology, IT
  130.237.212.15                  #ptah.it.kth.se
  130.237.212.16                  #toth.it.kth.se
  130.237.215.7                   #isis.it.kth.se
  >md.kth.se              #Royal Institute of Technology, MMK
+ 130.237.57.21                   #euler.md.kth.se
  130.237.57.68                   #trinity.md.kth.se
  130.237.57.72                   #morpheus.md.kth.se
  >mech.kth.se            #Royal Institute of Technology, MECH
  130.237.233.142                 #matterhorn.mech.kth.se
  130.237.233.143                 #castor.mech.kth.se
***************
*** 627,629 ****
--- 650,655 ----
  194.36.2.5                      #afs3.hep.man.ac.uk
  >rl.ac.uk               #Rutherford Appleton Lab, England
  130.246.183.164                 #wallace.cc.rl.ac.uk
+ 130.246.183.203                 #afs1.gridpp.rl.ac.uk
+ 130.246.183.204                 #afs2.gridpp.rl.ac.uk
+ 130.246.183.205                 #afs3.gridpp.rl.ac.uk
Index: openafs/src/WINNT/install/NSIS/OpenAFS.nsi
diff -c openafs/src/WINNT/install/NSIS/OpenAFS.nsi:1.88.4.20 openafs/src/WINNT/install/NSIS/OpenAFS.nsi:1.88.4.21
*** openafs/src/WINNT/install/NSIS/OpenAFS.nsi:1.88.4.20	Tue Jul 15 19:59:33 2008
--- openafs/src/WINNT/install/NSIS/OpenAFS.nsi	Thu Oct 16 21:41:37 2008
***************
*** 50,56 ****
  VIAddVersionKey "ProductVersion" ${AFS_VERSION}
  VIAddVersionKey "FileVersion" ${AFS_VERSION}
  VIAddVersionKey "FileDescription" "OpenAFS for Windows Installer"
! VIAddVersionKey "LegalCopyright" "(C)2000-2007"
  !ifdef DEBUG
  VIAddVersionKey "PrivateBuild" "Checked/Debug"
  !endif               ; End DEBUG
--- 50,56 ----
  VIAddVersionKey "ProductVersion" ${AFS_VERSION}
  VIAddVersionKey "FileVersion" ${AFS_VERSION}
  VIAddVersionKey "FileDescription" "OpenAFS for Windows Installer"
! VIAddVersionKey "LegalCopyright" "(C)2000-2008"
  !ifdef DEBUG
  VIAddVersionKey "PrivateBuild" "Checked/Debug"
  !endif               ; End DEBUG
***************
*** 575,589 ****
    !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afslogon.dll" "$INSTDIR\Client\Program\afslogon.dll" "$INSTDIR"
    File "${AFS_CLIENT_BUILDDIR}\afscpcc.exe"
  
! !ifdef AFSIFS
!   SetOutPath "$SYSDIR"
! !ifndef DEBUG
!   !insertmacro ReplaceDLL "..\..\afsrdr\objfre_w2K_x86\i386\afsrdr.sys" "$SYSDIR\DRIVERS\afsrdr.sys" "$INSTDIR"
! !else
!   !insertmacro ReplaceDLL "..\..\afsrdr\objchk_w2K_x86\i386\afsrdr.sys" "$SYSDIR\DRIVERS\afsrdr.sys" "$INSTDIR"
! !endif
! !endif
!    
     Call AFSLangFiles
  
    ; Get AFS CellServDB file
--- 575,586 ----
    !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afslogon.dll" "$INSTDIR\Client\Program\afslogon.dll" "$INSTDIR"
    File "${AFS_CLIENT_BUILDDIR}\afscpcc.exe"
  
!   ; Remove the binaries from the old location if present
!   Delete /REBOOTOK "$SYSDIR\afslogon.dll"
!   Delete "$SYSDIR\afscpcc.exe"
!   Delete "$SYSDIR\afslogon.pdb"
!   Delete "$SYSDIR\afscpcc.pdb"
! 
     Call AFSLangFiles
  
    ; Get AFS CellServDB file
***************
*** 790,796 ****
    ; WinLogon Event Notification
    WriteRegDWORD HKLM "Software\Microsoft\Windows NT\CurrentVersion\WinLogon\Notify\AfsLogon" "Asynchronous" 0
    WriteRegDWORD HKLM "Software\Microsoft\Windows NT\CurrentVersion\WinLogon\Notify\AfsLogon" "Impersonate"  1
!   WriteRegStr HKLM "Software\Microsoft\Windows NT\CurrentVersion\WinLogon\Notify\AfsLogon" "DLLName" "afslogon.dll"
    WriteRegStr HKLM "Software\Microsoft\Windows NT\CurrentVersion\WinLogon\Notify\AfsLogon" "Logon" "AFS_Logon_Event"
    WriteRegStr HKLM "Software\Microsoft\Windows NT\CurrentVersion\WinLogon\Notify\AfsLogon" "Logoff" "AFS_Logoff_Event"
    WriteRegStr HKLM "Software\Microsoft\Windows NT\CurrentVersion\WinLogon\Notify\AfsLogon" "Startup" "AFS_Startup_Event"
--- 787,793 ----
    ; WinLogon Event Notification
    WriteRegDWORD HKLM "Software\Microsoft\Windows NT\CurrentVersion\WinLogon\Notify\AfsLogon" "Asynchronous" 0
    WriteRegDWORD HKLM "Software\Microsoft\Windows NT\CurrentVersion\WinLogon\Notify\AfsLogon" "Impersonate"  1
!   WriteRegStr HKLM "Software\Microsoft\Windows NT\CurrentVersion\WinLogon\Notify\AfsLogon" "DLLName" "$INSTDIR\Client\Program\afslogon.dll"
    WriteRegStr HKLM "Software\Microsoft\Windows NT\CurrentVersion\WinLogon\Notify\AfsLogon" "Logon" "AFS_Logon_Event"
    WriteRegStr HKLM "Software\Microsoft\Windows NT\CurrentVersion\WinLogon\Notify\AfsLogon" "Logoff" "AFS_Logoff_Event"
    WriteRegStr HKLM "Software\Microsoft\Windows NT\CurrentVersion\WinLogon\Notify\AfsLogon" "Startup" "AFS_Startup_Event"
Index: openafs/src/WINNT/install/wix/CellServDB
diff -c openafs/src/WINNT/install/wix/CellServDB:1.6.4.5 openafs/src/WINNT/install/wix/CellServDB:1.6.4.6
*** openafs/src/WINNT/install/wix/CellServDB:1.6.4.5	Wed Apr 23 23:08:35 2008
--- openafs/src/WINNT/install/wix/CellServDB	Fri Nov  7 21:29:30 2008
***************
*** 1,4 ****
! >grand.central.org      #GCO Public CellServDB 23 Apr 2008
  18.92.0.108                     #grand-opening.mit.edu
  128.2.203.61                    #penn.central.org
  130.237.48.87                   #andrew.e.kth.se
--- 1,4 ----
! >grand.central.org      #GCO Public CellServDB 07 Nov 2008
  18.92.0.108                     #grand-opening.mit.edu
  128.2.203.61                    #penn.central.org
  130.237.48.87                   #andrew.e.kth.se
***************
*** 11,19 ****
  193.170.243.12                  #baloo.oeaw.ac.at
  193.170.243.14                  #akela.oeaw.ac.at
  >cgv.tugraz.at          #CGV cell
! 129.27.224.133                  #phobos.cgv.tugraz.at
! 129.27.224.134                  #deimos.cgv.tugraz.at
! 129.27.224.210                  #trinculo.cgv.tugraz.at
  >itp.tugraz.at          #Institute of Theoretical and Computational Physics, TU Graz, Aus
  129.27.161.7                    #faepafs1.tu-graz.ac.at
  129.27.161.15                   #faepafs2.tu-graz.ac.at
--- 11,19 ----
  193.170.243.12                  #baloo.oeaw.ac.at
  193.170.243.14                  #akela.oeaw.ac.at
  >cgv.tugraz.at          #CGV cell
! 129.27.218.30                   #phobos.cgv.tugraz.at
! 129.27.218.31                   #deimos.cgv.tugraz.at
! 129.27.218.32                   #trinculo.cgv.tugraz.at
  >itp.tugraz.at          #Institute of Theoretical and Computational Physics, TU Graz, Aus
  129.27.161.7                    #faepafs1.tu-graz.ac.at
  129.27.161.15                   #faepafs2.tu-graz.ac.at
***************
*** 44,49 ****
--- 44,51 ----
  129.129.190.142                 #afs02.psi.ch
  >extundo.com            #Simon Josefsson's cell
  195.42.214.241                  #slipsten.extundo.com
+ >freedaemon.com         #Free Daemon Consulting, Oklahoma City, OK, USA
+ 66.210.104.254                  #afs0.freedaemon.com
  >membrain.com           #membrain.com
  66.93.118.125                   #stormy
  130.85.24.11                    #weasel
***************
*** 57,64 ****
  195.113.0.36                    #asterix.ruk.cuni.cz
  195.113.0.37                    #obelix.ruk.cuni.cz
  195.113.0.40                    #sal.ruk.cuni.cz
  >desy.de                #Deutsches Elektronen-Synchrotron
! 131.169.40.62                   #vayu.desy.de
  131.169.244.60                  #solar00.desy.de
  >gppc.de                #GPP Chemnitz mbH
  213.187.92.33                   #gpp1.gppc.de
--- 59,75 ----
  195.113.0.36                    #asterix.ruk.cuni.cz
  195.113.0.37                    #obelix.ruk.cuni.cz
  195.113.0.40                    #sal.ruk.cuni.cz
+ >ics.muni.cz            #Masaryk university
+ 147.251.3.11                    #grond.ics.muni.cz
+ 147.251.3.15                    #nimloth.ics.muni.cz
+ 147.251.3.19                    #sirion.ics.muni.cz
+ >zcu.cz                 #University of West Bohemia, Czech Republic
+ 147.228.10.18                   #sauron.zcu.cz
+ 147.228.52.10                   #oknos.zcu.cz
+ 147.228.52.17                   #nic.zcu.cz
  >desy.de                #Deutsches Elektronen-Synchrotron
! 131.169.2.19                    #afsdb2.desy.de
! 131.169.2.20                    #afsdb3.desy.de
  131.169.244.60                  #solar00.desy.de
  >gppc.de                #GPP Chemnitz mbH
  213.187.92.33                   #gpp1.gppc.de
***************
*** 155,160 ****
--- 166,175 ----
  129.219.10.70                   #authen1.asu.edu
  129.219.10.72                   #authen3.asu.edu
  129.219.100.16                  #authen4.asu.edu
+ >mars.asu.edu           #Mars Space Flight Facility - ASU Mars Research
+ 149.169.146.57                  #kdc1.mars.asu.edu
+ 149.169.146.58                  #kdc2.mars.asu.edu
+ 149.169.146.59                  #kdc3.mars.asu.edu
  >eecs.berkeley.edu      #University of California, Berkeley - EECS Dept.
  128.32.139.34                   #greed.eecs.berkeley.edu
  128.32.139.35                   #gluttony.eecs.berkeley.edu
***************
*** 223,242 ****
  129.186.6.243                   #afsdb-2.iastate.edu
  129.186.142.243                 #afsdb-3.iastate.edu
  >athena.mit.edu         #MIT/Athena cell
! 18.7.1.66                       #paris.mit.edu.
! 18.7.1.74                       #chimera.mit.edu.
! 18.158.0.37                     #prill.mit.edu.
  >dev.mit.edu            #MIT/IS Development cell
! 18.7.1.70                       #wham.mit.edu.
! 18.92.1.219                     #click.mit.edu.
! 18.92.1.220                     #whirr.mit.edu.
  >net.mit.edu            #MIT/Network Group cell
  18.7.7.73                       #gracie.mit.edu
  18.7.21.95                      #george.mit.edu
  >sipb.mit.edu           #MIT/SIPB cell
! 18.181.0.19                     #reynelda.mit.edu.
! 18.181.0.22                     #rosebud.mit.edu.
! 18.181.0.23                     #ronald-ann.mit.edu.
  >soap.mit.edu           #MIT School Of Architecture & Planning
  18.89.1.204                     #crypt.mit.edu
  18.89.1.209                     #grotto.mit.edu
--- 238,257 ----
  129.186.6.243                   #afsdb-2.iastate.edu
  129.186.142.243                 #afsdb-3.iastate.edu
  >athena.mit.edu         #MIT/Athena cell
! 18.7.1.66                       #paris.mit.edu
! 18.7.1.74                       #chimera.mit.edu
! 18.158.0.37                     #prill.mit.edu
  >dev.mit.edu            #MIT/IS Development cell
! 18.7.1.70                       #wham.mit.edu
! 18.92.1.219                     #click.mit.edu
! 18.92.1.220                     #whirr.mit.edu
  >net.mit.edu            #MIT/Network Group cell
  18.7.7.73                       #gracie.mit.edu
  18.7.21.95                      #george.mit.edu
  >sipb.mit.edu           #MIT/SIPB cell
! 18.181.0.19                     #reynelda.mit.edu
! 18.181.0.22                     #rosebud.mit.edu
! 18.181.0.23                     #ronald-ann.mit.edu
  >soap.mit.edu           #MIT School Of Architecture & Planning
  18.89.1.204                     #crypt.mit.edu
  18.89.1.209                     #grotto.mit.edu
***************
*** 342,351 ****
  141.211.43.104                  #linat04.grid.umich.edu
  >citi.umich.edu         #Center for Information Technology Integration
  141.211.133.5                   #babylon.citi.umich.edu
- >lsa.umich.edu          #University of Michigan - College of LS&A
- 141.211.211.53                  #gerow.lsa.umich.edu
- 141.211.211.72                  #collines.lsa.umich.edu
- 141.211.211.153                 #hodges.lsa.umich.edu
  >sph.umich.edu          #University of Michigan -- School of Public  Health
  141.211.51.137                  #afssph7.sph.umich.edu
  141.211.51.139                  #afssph0.sph.umich.edu
--- 357,362 ----
***************
*** 377,382 ****
--- 388,395 ----
  144.92.13.16                    #moe.cae.wisc.edu
  >hep.wisc.edu           #University of Wisconsin -- High Energy Physics
  128.104.28.219                  #anise.hep.wisc.edu
+ 144.92.180.7                    #rosemary.hep.wisc.edu
+ 144.92.180.30                   #fennel.hep.wisc.edu
  >physics.wisc.edu       #Univ. of Wisconsin-Madison, Physics Department
  128.104.160.13                  #kendra.physics.wisc.edu
  128.104.160.14                  #fray.physics.wisc.edu
***************
*** 398,403 ****
--- 411,418 ----
  >grif.fr                #GRIF cell
  192.54.208.18                   #node03.datagrid.cea.fr
  >in2p3.fr               #IN2P3 production cell
+ 134.158.104.11                  #ccafsdb01.in2p3.fr
+ 134.158.104.12                  #ccafsdb02.in2p3.fr
  134.158.232.11                  #ccafsdb1.in2p3.fr
  134.158.232.12                  #ccafsdb2.in2p3.fr
  134.158.232.13                  #ccafsdb3.in2p3.fr
***************
*** 431,436 ****
--- 446,453 ----
  128.55.128.250                  #mars.nersc.gov
  128.55.128.252                  #alfred.nersc.gov
  128.55.128.254                  #lurch.nersc.gov
+ >doe.atomki.hu          #Institute of Nuclear Research (MTA ATOMKI), Debrecen, Hungary
+ 193.6.179.31                    #afs.doe.atomki.hu
  >bme.hu                 #Budapest University of Technology and Economics
  152.66.241.6                    #afs.iit.bme.hu
  >kfki.hu                #Research Institute for Nuclear and Particle Physics - Budapest,H
***************
*** 474,479 ****
--- 491,498 ----
  >pi.infn.it             #INFN, Sezione di Pisa
  131.114.134.26                  #unknownhost.pi.infn.it
  192.84.133.50                   #aix1.pi.infn.it
+ >roma3.infn.it          #Istituto Nazionale di Fisica Nucleare (INFN), Italia
+ 193.205.159.17                  #afsrm3.roma3.infn.it
  >psm.it                 #Progetto San Marco, Universita' di Roma-1
  151.100.1.65                    #atlante.psm.uniroma1.it
  >tgrid.it               #CASPUR-CILEA-CINECA Grid Cell
***************
*** 514,522 ****
  >slackers.net           #The Slackers' Network
  199.4.150.159                   #alexandria.slackers.net
  >tproa.net              #The People's Republic of Ames
! 72.13.4.23                      #service-3.tproa.net
! 72.13.4.24                      #service-4.tproa.net
! 72.13.4.25                      #service-5.tproa.net
  >interdose.net          #Interdose Ltd. & Co. KG, Germany
  80.190.171.42                   #bfd9000.tow5.interdose.net
  217.111.69.188                  #bfd9001.z2.interdose.net
--- 533,541 ----
  >slackers.net           #The Slackers' Network
  199.4.150.159                   #alexandria.slackers.net
  >tproa.net              #The People's Republic of Ames
! 204.11.35.83                    #service-3.tproa.net
! 204.11.35.84                    #service-4.tproa.net
! 204.11.35.85                    #service-5.tproa.net
  >interdose.net          #Interdose Ltd. & Co. KG, Germany
  80.190.171.42                   #bfd9000.tow5.interdose.net
  217.111.69.188                  #bfd9001.z2.interdose.net
***************
*** 544,552 ****
--- 563,576 ----
  128.2.120.138                   #kurma.sys.hackish.org
  >idahofuturetruck.org   #University of Idaho hybrid vehicle development
  12.18.238.210                   #dsle210.fsr.net
+ >mrow.org               #MROW.ORG and RITLUG Cell
+ 88.198.46.111                   #mrow.org
+ 129.21.205.119                  #mirror.rit.edu
  >mrph.org               #Mrph
  66.207.133.1                    #sanber.mrph.org
  128.2.99.209                    #hernandarias.mrph.org
+ >mstacm.org             #Missouri Science & Technology - ACM
+ 131.151.88.2                    #acmwork.device.mst.edu
  >nimlabs.org            #Nimlabs, Ink. Cell.
  18.238.1.103                    #olfin.nimlabs.org
  18.238.1.105                    #caerbanog.nimlabs.org
***************
*** 567,582 ****
  130.237.24.104                  #afs2.hallf.kth.se
  >isk.kth.se             #Royal Institute of Technology, ISK
  130.237.209.5                   #afsdb2.isk.kth.se
- 130.237.209.9                   #afsdb3.isk.kth.se
  130.237.216.17                  #afsdb1.isk.kth.se
  >it.kth.se              #Royal Institute of Technology, IT
  130.237.212.15                  #ptah.it.kth.se
  130.237.212.16                  #toth.it.kth.se
  130.237.215.7                   #isis.it.kth.se
  >md.kth.se              #Royal Institute of Technology, MMK
  130.237.57.68                   #trinity.md.kth.se
  130.237.57.72                   #morpheus.md.kth.se
- 130.237.67.230                  #neo.speech.kth.se
  >mech.kth.se            #Royal Institute of Technology, MECH
  130.237.233.142                 #matterhorn.mech.kth.se
  130.237.233.143                 #castor.mech.kth.se
--- 591,605 ----
  130.237.24.104                  #afs2.hallf.kth.se
  >isk.kth.se             #Royal Institute of Technology, ISK
  130.237.209.5                   #afsdb2.isk.kth.se
  130.237.216.17                  #afsdb1.isk.kth.se
  >it.kth.se              #Royal Institute of Technology, IT
  130.237.212.15                  #ptah.it.kth.se
  130.237.212.16                  #toth.it.kth.se
  130.237.215.7                   #isis.it.kth.se
  >md.kth.se              #Royal Institute of Technology, MMK
+ 130.237.57.21                   #euler.md.kth.se
  130.237.57.68                   #trinity.md.kth.se
  130.237.57.72                   #morpheus.md.kth.se
  >mech.kth.se            #Royal Institute of Technology, MECH
  130.237.233.142                 #matterhorn.mech.kth.se
  130.237.233.143                 #castor.mech.kth.se
***************
*** 627,629 ****
--- 650,655 ----
  194.36.2.5                      #afs3.hep.man.ac.uk
  >rl.ac.uk               #Rutherford Appleton Lab, England
  130.246.183.164                 #wallace.cc.rl.ac.uk
+ 130.246.183.203                 #afs1.gridpp.rl.ac.uk
+ 130.246.183.204                 #afs2.gridpp.rl.ac.uk
+ 130.246.183.205                 #afs3.gridpp.rl.ac.uk
Index: openafs/src/WINNT/netidmgr_plugin/afsfuncs.c
diff -c openafs/src/WINNT/netidmgr_plugin/afsfuncs.c:1.1.2.18 openafs/src/WINNT/netidmgr_plugin/afsfuncs.c:1.1.2.21
*** openafs/src/WINNT/netidmgr_plugin/afsfuncs.c:1.1.2.18	Sat Mar 29 23:36:57 2008
--- openafs/src/WINNT/netidmgr_plugin/afsfuncs.c	Fri Nov  7 13:19:51 2008
***************
*** 22,28 ****
   * SOFTWARE.
   */
  
! /* $Id: afsfuncs.c,v 1.1.2.18 2008/03/30 03:36:57 jaltman Exp $ */
  
  /* Disable the 'macro redefinition' warning which is getting
     triggerred by a redefinition of the ENCRYPT and DECRYPT macros. */
--- 22,28 ----
   * SOFTWARE.
   */
  
! /* $Id: afsfuncs.c,v 1.1.2.21 2008/11/07 18:19:51 jaltman Exp $ */
  
  /* Disable the 'macro redefinition' warning which is getting
     triggerred by a redefinition of the ENCRYPT and DECRYPT macros. */
***************
*** 728,741 ****
           char *realm,
           int LifeTime,
           afs_tk_method method,
!          time_t * tok_expiration) {
  
      long	rc;
      CREDENTIALS	creds;
      struct ktc_principal	aserver;
      struct ktc_principal	aclient;
!     char	realm_of_user[REALM_SZ]; /* Kerberos realm of user */
!     char	realm_of_cell[REALM_SZ]; /* Kerberos realm of cell */
      char	local_cell[MAXCELLCHARS+1];
      char	Dmycell[MAXCELLCHARS+1];
      struct ktc_token	atoken;
--- 728,742 ----
           char *realm,
           int LifeTime,
           afs_tk_method method,
!          time_t * tok_expiration,
!          char *linkedCell) {
  
      long	rc;
      CREDENTIALS	creds;
      struct ktc_principal	aserver;
      struct ktc_principal	aclient;
!     char	realm_of_user[MAXKTCREALMLEN]; /* Kerberos realm of user */
!     char	realm_of_cell[MAXKTCREALMLEN]; /* Kerberos realm of cell */
      char	local_cell[MAXCELLCHARS+1];
      char	Dmycell[MAXCELLCHARS+1];
      struct ktc_token	atoken;
***************
*** 763,768 ****
--- 764,770 ----
      if ( !cell )    cell = "";
      if ( !service ) service = "";
  
+     memset(&ak_cellconfig, 0, sizeof(ak_cellconfig));
      memset(RealmName, '\0', sizeof(RealmName));
      memset(CellName, '\0', sizeof(CellName));
      memset(ServiceName, '\0', sizeof(ServiceName));
***************
*** 784,789 ****
--- 786,795 ----
          return(rc);
      }
  
+     if (linkedCell && ak_cellconfig.linkedCell)
+         StringCbCopyA(linkedCell, MAXCELLCHARS, 
+                       ak_cellconfig.linkedCell);
+ 
      StringCbCopyA(realm_of_cell, sizeof(realm_of_cell), 
                    afs_realm_of_cell(&ak_cellconfig, FALSE));
  
***************
*** 831,838 ****
  
              pkrb5_cc_get_principal(context, k5cc, &client_principal);
              i = krb5_princ_realm(context, client_principal)->length;
!             if (i > REALM_SZ-1) 
!                 i = REALM_SZ-1;
              StringCchCopyNA(realm_of_user, ARRAYLENGTH(realm_of_user),
                              krb5_princ_realm(context, client_principal)->data,
                              i);
--- 837,844 ----
  
              pkrb5_cc_get_principal(context, k5cc, &client_principal);
              i = krb5_princ_realm(context, client_principal)->length;
!             if (i > MAXKTCREALMLEN-1) 
!                 i = MAXKTCREALMLEN-1;
              StringCchCopyNA(realm_of_user, ARRAYLENGTH(realm_of_user),
                              krb5_princ_realm(context, client_principal)->data,
                              i);
***************
*** 1061,1067 ****
  
              _reportf(L"Same token already exists");
              
!             return 0;
          }
  
          // * Reset the "aclient" structure before we call ktc_SetToken.
--- 1067,1074 ----
  
              _reportf(L"Same token already exists");
              
!             rc = 0;
!             goto cleanup;
          }
  
          // * Reset the "aclient" structure before we call ktc_SetToken.
***************
*** 1105,1111 ****
              if (context)
                  pkrb5_free_context(context);
              
!             return 0;
          }
  
          _reportf(L"SetToken returns code %d", rc);
--- 1112,1118 ----
              if (context)
                  pkrb5_free_context(context);
              
!             goto cleanup;
          }
  
          _reportf(L"SetToken returns code %d", rc);
***************
*** 1151,1156 ****
--- 1158,1164 ----
          _reportf(L"Kerberos 4 not configured");
  
      if (!bGotCreds && supports_krb4 && 
+         strlen(RealmName) < REALM_SZ && 
          (method == AFS_TOKEN_AUTO ||
           method == AFS_TOKEN_KRB4)) {
  
***************
*** 1238,1244 ****
              !memcmp(atoken.ticket, btoken.ticket, atoken.ticketLen)) {
  
              /* success! */
!             return(0);
          }
  
          // Reset the "aclient" structure before we call ktc_SetToken.
--- 1246,1253 ----
              !memcmp(atoken.ticket, btoken.ticket, atoken.ticketLen)) {
  
              /* success! */
!             rc = 0;
!             goto cleanup;
          }
  
          // Reset the "aclient" structure before we call ktc_SetToken.
***************
*** 1263,1269 ****
  
          if (rc = ktc_SetToken(&aserver, &atoken, &aclient, 0)) {
              afs_report_error(rc, "ktc_SetToken()");
!             return(rc);
          }
      } else if (method == AFS_TOKEN_AUTO ||
                 method >= AFS_TOKEN_USER) {
--- 1272,1278 ----
  
          if (rc = ktc_SetToken(&aserver, &atoken, &aclient, 0)) {
              afs_report_error(rc, "ktc_SetToken()");
!             goto cleanup;
          }
      } else if (method == AFS_TOKEN_AUTO ||
                 method >= AFS_TOKEN_USER) {
***************
*** 1293,1298 ****
--- 1302,1311 ----
          }
      }
  
+   cleanup:
+     if (ak_cellconfig.linkedCell)
+         free(ak_cellconfig.linkedCell);
+ 
      return rc;
  }
  
***************
*** 1303,1309 ****
  afs_realm_of_cell(afs_conf_cell *cellconfig, BOOL referral_fallback)
  {
      char krbhst[MAX_HSTNM]="";
!     static char krbrlm[REALM_SZ+1]="";
      krb5_context  ctx = 0;
      char ** realmlist=NULL;
      krb5_error_code r = 0;
--- 1316,1322 ----
  afs_realm_of_cell(afs_conf_cell *cellconfig, BOOL referral_fallback)
  {
      char krbhst[MAX_HSTNM]="";
!     static char krbrlm[MAXKTCREALMLEN+1]="";
      krb5_context  ctx = 0;
      char ** realmlist=NULL;
      krb5_error_code r = 0;
***************
*** 1384,1390 ****
      if (strlen(cell) == 0)
          StringCbCopyA(cell, (MAXCELLCHARS+1) * sizeof(char), local_cell);
  
!     /* WIN32: cm_SearchCellFile(cell, pcallback, pdata) */
      StringCbCopyA(cellconfig->name, (MAXCELLCHARS+1) * sizeof(char), cell);
  
      rc = cm_SearchCellFile(cell, NULL, afs_get_cellconfig_callback, 
--- 1397,1403 ----
      if (strlen(cell) == 0)
          StringCbCopyA(cell, (MAXCELLCHARS+1) * sizeof(char), local_cell);
  
!     /* WIN32: cm_SearchCellFile(cell, newcell, pcallback, pdata) */
      StringCbCopyA(cellconfig->name, (MAXCELLCHARS+1) * sizeof(char), cell);
  
      rc = cm_SearchCellFile(cell, NULL, afs_get_cellconfig_callback, 
***************
*** 1592,1603 ****
--- 1605,1619 ----
      int rc;
  
      ZeroMemory(local_cell, sizeof(local_cell));
+     ZeroMemory(&cellconfig, sizeof(cellconfig));
  
      rc = afs_get_cellconfig(cell, &cellconfig, local_cell);
      if (rc)
          return FALSE;
  
      realm = afs_realm_of_cell(&cellconfig, FALSE);
+     if (cellconfig.linkedCell)
+         free(cellconfig.linkedCell);
      if (realm == NULL)
          return FALSE;
  
Index: openafs/src/WINNT/netidmgr_plugin/afsfuncs.h
diff -c openafs/src/WINNT/netidmgr_plugin/afsfuncs.h:1.1.2.5 openafs/src/WINNT/netidmgr_plugin/afsfuncs.h:1.1.2.6
*** openafs/src/WINNT/netidmgr_plugin/afsfuncs.h:1.1.2.5	Sat May  5 17:14:48 2007
--- openafs/src/WINNT/netidmgr_plugin/afsfuncs.h	Fri Nov  7 11:36:03 2008
***************
*** 22,28 ****
   * SOFTWARE.
   */
  
! /* $Id: afsfuncs.h,v 1.1.2.5 2007/05/05 21:14:48 jaltman Exp $ */
  
  #ifndef __KHIMAIRA_AFSFUNCS_H
  #define __KHIMAIRA_AFSFUNCS_H
--- 22,28 ----
   * SOFTWARE.
   */
  
! /* $Id: afsfuncs.h,v 1.1.2.6 2008/11/07 16:36:03 jaltman Exp $ */
  
  #ifndef __KHIMAIRA_AFSFUNCS_H
  #define __KHIMAIRA_AFSFUNCS_H
***************
*** 50,57 ****
           char *realm,
           int LifeTime,
           afs_tk_method method,
!          time_t * tok_expiration /* OUT: expiration time of new
!                                     token */
           );
  
  int
--- 50,57 ----
           char *realm,
           int LifeTime,
           afs_tk_method method,
!          time_t * tok_expiration,/* OUT: expiration time of new token */
!          char *linkedCell        /* OUT: name of linkedCell (if any) */
           );
  
  int
Index: openafs/src/WINNT/netidmgr_plugin/afsnewcreds.c
diff -c openafs/src/WINNT/netidmgr_plugin/afsnewcreds.c:1.1.2.7 openafs/src/WINNT/netidmgr_plugin/afsnewcreds.c:1.1.2.9
*** openafs/src/WINNT/netidmgr_plugin/afsnewcreds.c:1.1.2.7	Tue Jan  8 12:06:39 2008
--- openafs/src/WINNT/netidmgr_plugin/afsnewcreds.c	Fri Nov  7 13:19:51 2008
***************
*** 22,28 ****
   * SOFTWARE.
   */
  
! /* $Id: afsnewcreds.c,v 1.1.2.7 2008/01/08 17:06:39 jaltman Exp $ */
  
  #include<afscred.h>
  #include<commctrl.h>
--- 22,28 ----
   * SOFTWARE.
   */
  
! /* $Id: afsnewcreds.c,v 1.1.2.9 2008/11/07 18:19:51 jaltman Exp $ */
  
  #include<afscred.h>
  #include<commctrl.h>
***************
*** 1563,1568 ****
--- 1563,1572 ----
              SendDlgItemMessage(hwnd, IDC_NCAFS_OBTAIN, 
                                 BM_SETCHECK, BST_CHECKED, 0);
  
+             SendDlgItemMessage(hwnd, IDC_NCAFS_CELL, CB_LIMITTEXT, MAXCELLCHARS-1, 0);
+             SendDlgItemMessage(hwnd, IDC_NCAFS_REALM, CB_LIMITTEXT, MAXKTCREALMLEN-1, 0);
+             SendDlgItemMessage(hwnd, IDC_NCAFS_METHOD, CB_LIMITTEXT, KCDB_MAXCCH_NAME-1, 0);
+ 
              LeaveCriticalSection(&d->cs);
  
              /* the cells and realms combo boxes need to be filled
***************
*** 2654,2660 ****
              for(i=0; i<l->n_rows; i++) {
                  int code;
                  char cell[MAXCELLCHARS];
!                 char realm[MAXCELLCHARS];
                  khm_handle ctoken;
                  FILETIME ft_old;
                  FILETIME ft_new;
--- 2658,2665 ----
              for(i=0; i<l->n_rows; i++) {
                  int code;
                  char cell[MAXCELLCHARS];
!                 char realm[MAXKTCREALMLEN];
!                 char linkedCell[MAXCELLCHARS]="";
                  khm_handle ctoken;
                  FILETIME ft_old;
                  FILETIME ft_new;
***************
*** 2662,2667 ****
--- 2667,2673 ----
                  khm_size cb;
                  khm_int32 method = AFS_TOKEN_AUTO;
                  khm_handle csp_cell = NULL;
+                 BOOL bgetLinked = 0;
  
                  if (l->rows[i].flags &
                      (DLGROW_FLAG_DONE | DLGROW_FLAG_DELETED))
***************
*** 2709,2724 ****
                      method = l->rows[i].method;
                  }
  
                  _report_cs3(KHERR_INFO,
                              L"Getting tokens for cell %1!S! with realm %2!S! using method %3!d!",
!                             _cstr(cell),
                              _cstr(realm),
                              _int32(method));
                  _resolve();
  
                  /* make the call */
!                 code = afs_klog(ident, "", cell, realm, 0, 
!                                 method, &new_exp);
  
                  _report_cs1(KHERR_INFO,
                              L"klog returns code %1!d!",
--- 2715,2734 ----
                      method = l->rows[i].method;
                  }
  
+               getLinked:
                  _report_cs3(KHERR_INFO,
                              L"Getting tokens for cell %1!S! with realm %2!S! using method %3!d!",
!                             _cstr((bgetLinked ? linkedCell: cell)),
                              _cstr(realm),
                              _int32(method));
                  _resolve();
  
                  /* make the call */
!                 code = afs_klog(ident, "", 
!                                 bgetLinked ? linkedCell : cell, 
!                                 realm, 0,
!                                 method, &new_exp, 
!                                 bgetLinked ? NULL :linkedCell);
  
                  _report_cs1(KHERR_INFO,
                              L"klog returns code %1!d!",
***************
*** 2769,2774 ****
--- 2779,2789 ----
                              ident_renew_triggered = TRUE;
                          }
                      }
+ 
+                     if ( !bgetLinked && linkedCell[0] ) {
+                         bgetLinked = TRUE;
+                         goto getLinked;
+                     }
                  }
              }
  
Index: openafs/src/WINNT/netidmgr_plugin/afspext.h
diff -c openafs/src/WINNT/netidmgr_plugin/afspext.h:1.1.2.3 openafs/src/WINNT/netidmgr_plugin/afspext.h:1.1.2.4
*** openafs/src/WINNT/netidmgr_plugin/afspext.h:1.1.2.3	Mon Oct 16 09:55:35 2006
--- openafs/src/WINNT/netidmgr_plugin/afspext.h	Fri Nov  7 13:19:51 2008
***************
*** 22,28 ****
   * SOFTWARE.
   */
  
! /* $Id: afspext.h,v 1.1.2.3 2006/10/16 13:55:35 jaltman Exp $ */
  
  #ifndef __AFSPLUGIN_EXT_H
  #define __AFSPLUGIN_EXT_H
--- 22,28 ----
   * SOFTWARE.
   */
  
! /* $Id: afspext.h,v 1.1.2.4 2008/11/07 18:19:51 jaltman Exp $ */
  
  #ifndef __AFSPLUGIN_EXT_H
  #define __AFSPLUGIN_EXT_H
***************
*** 40,47 ****
  
    @{*/
  
! #define MAXCELLCHARS   64
! #define MAXHOSTCHARS   64
  #define MAXHOSTSPERCELL 8
  
  #define TRANSARCAFSDAEMON "TransarcAFSDaemon"
--- 40,47 ----
  
    @{*/
  
! #define MAXCELLCHARS   256
! #define MAXHOSTCHARS   256
  #define MAXHOSTSPERCELL 8
  
  #define TRANSARCAFSDAEMON "TransarcAFSDaemon"
Index: openafs/src/WINNT/netidmgr_plugin/lang/en_us/langres.rc
diff -c openafs/src/WINNT/netidmgr_plugin/lang/en_us/langres.rc:1.1.2.6 openafs/src/WINNT/netidmgr_plugin/lang/en_us/langres.rc:1.1.2.7
*** openafs/src/WINNT/netidmgr_plugin/lang/en_us/langres.rc:1.1.2.6	Thu Apr 12 10:13:48 2007
--- openafs/src/WINNT/netidmgr_plugin/lang/en_us/langres.rc	Fri Nov  7 13:19:51 2008
***************
*** 61,71 ****
      CONTROL         "Obtain &AFS credentials",IDC_NCAFS_OBTAIN,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,19,140,12
      GROUPBOX        "Credential for",IDC_STATIC,7,32,286,54
      LTEXT           "&Cell",IDC_STATIC,12,41,42,10
!     COMBOBOX        IDC_NCAFS_CELL,57,38,152,48,CBS_DROPDOWN | CBS_SORT | WS_VSCROLL | WS_TABSTOP
      LTEXT           "&Realm",IDC_STATIC,12,57,42,10
!     COMBOBOX        IDC_NCAFS_REALM,57,54,152,48,CBS_DROPDOWN | CBS_SORT | WS_VSCROLL | WS_TABSTOP
      LTEXT           "&Method",IDC_STATIC,12,73,42,10
!     COMBOBOX        IDC_NCAFS_METHOD,57,70,152,48,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
      PUSHBUTTON      "&Add/Update",IDC_NCAFS_ADD_TOKEN,213,38,77,13,BS_NOTIFY
      PUSHBUTTON      "&Delete",IDC_NCAFS_DELETE_TOKEN,213,70,77,13,BS_NOTIFY
      CONTROL         "",IDC_NCAFS_TOKENLIST,"SysListView32",LVS_REPORT | LVS_SHOWSELALWAYS | LVS_SORTASCENDING | LVS_ALIGNLEFT | WS_BORDER | WS_TABSTOP,7,88,286,71
--- 61,71 ----
      CONTROL         "Obtain &AFS credentials",IDC_NCAFS_OBTAIN,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,19,140,12
      GROUPBOX        "Credential for",IDC_STATIC,7,32,286,54
      LTEXT           "&Cell",IDC_STATIC,12,41,42,10
!     COMBOBOX        IDC_NCAFS_CELL,57,38,152,48,CBS_DROPDOWN | CBS_AUTOHSCROLL | CBS_SORT | WS_VSCROLL | WS_TABSTOP
      LTEXT           "&Realm",IDC_STATIC,12,57,42,10
!     COMBOBOX        IDC_NCAFS_REALM,57,54,152,48,CBS_DROPDOWN | CBS_AUTOHSCROLL | CBS_SORT | WS_VSCROLL | WS_TABSTOP
      LTEXT           "&Method",IDC_STATIC,12,73,42,10
!     COMBOBOX        IDC_NCAFS_METHOD,57,70,152,48,CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP
      PUSHBUTTON      "&Add/Update",IDC_NCAFS_ADD_TOKEN,213,38,77,13,BS_NOTIFY
      PUSHBUTTON      "&Delete",IDC_NCAFS_DELETE_TOKEN,213,70,77,13,BS_NOTIFY
      CONTROL         "",IDC_NCAFS_TOKENLIST,"SysListView32",LVS_REPORT | LVS_SHOWSELALWAYS | LVS_SORTASCENDING | LVS_ALIGNLEFT | WS_BORDER | WS_TABSTOP,7,88,286,71
***************
*** 88,98 ****
      CONTROL         "Obtain &AFS credentials",IDC_NCAFS_OBTAIN,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,7,140,12
      GROUPBOX        "Credential for",IDC_STATIC,7,18,221,56
      LTEXT           "&Cell",IDC_STATIC,13,28,42,10
!     COMBOBOX        IDC_NCAFS_CELL,57,25,109,48,CBS_DROPDOWN | CBS_SORT | WS_VSCROLL | WS_TABSTOP
      LTEXT           "&Realm",IDC_STATIC,13,44,42,10
!     COMBOBOX        IDC_NCAFS_REALM,57,41,109,48,CBS_DROPDOWN | CBS_SORT | WS_VSCROLL | WS_TABSTOP
      LTEXT           "&Method",IDC_STATIC,13,60,42,10
!     COMBOBOX        IDC_NCAFS_METHOD,57,57,109,48,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
      PUSHBUTTON      "&Add/Update",IDC_NCAFS_ADD_TOKEN,174,26,50,13,BS_NOTIFY
      PUSHBUTTON      "&Delete",IDC_NCAFS_DELETE_TOKEN,174,56,50,13,BS_NOTIFY
      CONTROL         "",IDC_NCAFS_TOKENLIST,"SysListView32",LVS_REPORT | LVS_SHOWSELALWAYS | LVS_SORTASCENDING | LVS_ALIGNLEFT | WS_BORDER | WS_TABSTOP,7,75,221,69
--- 88,98 ----
      CONTROL         "Obtain &AFS credentials",IDC_NCAFS_OBTAIN,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,7,140,12
      GROUPBOX        "Credential for",IDC_STATIC,7,18,221,56
      LTEXT           "&Cell",IDC_STATIC,13,28,42,10
!     COMBOBOX        IDC_NCAFS_CELL,57,25,109,48,CBS_DROPDOWN | CBS_AUTOHSCROLL | CBS_SORT | WS_VSCROLL | WS_TABSTOP
      LTEXT           "&Realm",IDC_STATIC,13,44,42,10
!     COMBOBOX        IDC_NCAFS_REALM,57,41,109,48,CBS_DROPDOWN | CBS_AUTOHSCROLL | CBS_SORT | WS_VSCROLL | WS_TABSTOP
      LTEXT           "&Method",IDC_STATIC,13,60,42,10
!     COMBOBOX        IDC_NCAFS_METHOD,57,57,109,48,CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP
      PUSHBUTTON      "&Add/Update",IDC_NCAFS_ADD_TOKEN,174,26,50,13,BS_NOTIFY
      PUSHBUTTON      "&Delete",IDC_NCAFS_DELETE_TOKEN,174,56,50,13,BS_NOTIFY
      CONTROL         "",IDC_NCAFS_TOKENLIST,"SysListView32",LVS_REPORT | LVS_SHOWSELALWAYS | LVS_SORTASCENDING | LVS_ALIGNLEFT | WS_BORDER | WS_TABSTOP,7,75,221,69
Index: openafs/src/WINNT/pthread/pthread.c
diff -c openafs/src/WINNT/pthread/pthread.c:1.11.2.1 openafs/src/WINNT/pthread/pthread.c:1.11.2.2
*** openafs/src/WINNT/pthread/pthread.c:1.11.2.1	Tue Dec 25 18:06:14 2007
--- openafs/src/WINNT/pthread/pthread.c	Fri Oct 17 16:24:49 2008
***************
*** 33,38 ****
--- 33,39 ----
  #include <stdlib.h>
  #include <stdio.h>
  #include <string.h>
+ #include <process.h>
  #include <errno.h>
  #include <sys/timeb.h>
  
***************
*** 213,218 ****
--- 214,414 ----
      return rc;
  }
  
+ int pthread_rwlock_destroy(pthread_rwlock_t *rwp)
+ {
+     int rc = 0;
+ 
+     if (rwp != NULL) {
+         pthread_mutex_destroy(&rwp->read_access_completion_mutex);
+         pthread_mutex_destroy(&rwp->write_access_mutex);
+         pthread_cond_destroy(&rwp->read_access_completion_wait);
+     } else {
+ #ifdef PTHREAD_DEBUG
+         DebugBreak();
+ #endif
+ 	rc = EINVAL;
+     }
+ 
+     return rc;
+ }
+ 
+ int pthread_rwlock_init(pthread_rwlock_t *rwp, const pthread_rwlockattr_t *attr)
+ {
+     int rc = 0;
+ 
+     if (rwp == NULL)
+         return EINVAL;
+ 
+     rwp->readers = 0;
+ 
+     rc = pthread_mutex_init(&rwp->write_access_mutex, NULL);
+     if (rc)
+         return rc;
+ 
+     rc = pthread_mutex_init(&rwp->read_access_completion_mutex, NULL);
+     if (rc)
+         goto error1;
+ 
+     rc = pthread_cond_init(&rwp->read_access_completion_wait, NULL);
+     if (rc == 0)
+         return 0;       /* success */
+ 
+     pthread_mutex_destroy(&rwp->read_access_completion_mutex);
+ 
+   error1:
+     pthread_mutex_destroy(&rwp->write_access_mutex);
+ 
+     return rc;
+ }
+ 
+ int pthread_rwlock_wrlock(pthread_rwlock_t *rwp)
+ {
+     int rc = 0;
+ 
+     if (rwp == NULL)
+         return EINVAL;
+ 
+     if ((rc = pthread_mutex_lock(&rwp->write_access_mutex)) != 0)
+         return rc;
+ 
+     if ((rc = pthread_mutex_lock(&rwp->read_access_completion_mutex)) != 0)
+     {
+         pthread_mutex_unlock(&rwp->write_access_mutex);
+         return rc;
+     }
+ 
+     while (rc == 0 && rwp->readers > 0) {
+         rc = pthread_cond_wait( &rwp->read_access_completion_wait, 
+                                 &rwp->read_access_completion_mutex);
+     }
+ 
+     pthread_mutex_unlock(&rwp->read_access_completion_mutex);
+ 
+     if (rc)
+         pthread_mutex_unlock(&rwp->write_access_mutex);
+ 
+     return rc;
+ }
+ 
+ int pthread_rwlock_rdlock(pthread_rwlock_t *rwp)
+ {
+     int rc = 0;
+ 
+     if (rwp == NULL)
+         return EINVAL;
+ 
+     if ((rc = pthread_mutex_lock(&rwp->write_access_mutex)) != 0)
+         return rc;
+ 
+     if ((rc = pthread_mutex_lock(&rwp->read_access_completion_mutex)) != 0)
+     {
+         pthread_mutex_unlock(&rwp->write_access_mutex);
+         return rc;
+     }
+ 
+     rwp->readers++;
+ 
+     pthread_mutex_unlock(&rwp->read_access_completion_mutex);
+ 
+     pthread_mutex_unlock(&rwp->write_access_mutex);
+ 
+     return rc;
+         
+ }
+ 
+ int pthread_rwlock_tryrdlock(pthread_rwlock_t *rwp)
+ {
+     int rc = 0;
+ 
+     if (rwp == NULL)
+         return EINVAL;
+ 
+     if ((rc = pthread_mutex_trylock(&rwp->write_access_mutex)) != 0)
+         return rc;
+ 
+     if ((rc = pthread_mutex_trylock(&rwp->read_access_completion_mutex)) != 0) {
+         pthread_mutex_unlock(&rwp->write_access_mutex);
+         return rc;
+     }
+ 
+     rwp->readers++;
+ 
+     pthread_mutex_unlock(&rwp->read_access_completion_mutex);
+ 
+     pthread_mutex_unlock(&rwp->write_access_mutex);
+ 
+     return rc;
+ }
+ 
+ int pthread_rwlock_trywrlock(pthread_rwlock_t *rwp)
+ {
+     int rc = 0;
+ 
+     if (rwp == NULL)
+         return EINVAL;
+ 
+     if ((rc = pthread_mutex_trylock(&rwp->write_access_mutex)) != 0)
+         return rc;
+ 
+     if ((rc = pthread_mutex_trylock(&rwp->read_access_completion_mutex)) != 0)
+     {
+         pthread_mutex_unlock(&rwp->write_access_mutex);
+         return rc;
+     }
+ 
+     if (rwp->readers > 0)
+         rc = EBUSY;
+ 
+     pthread_mutex_unlock(&rwp->read_access_completion_mutex);
+ 
+     if (rc)
+         pthread_mutex_unlock(&rwp->write_access_mutex);
+ 
+     return rc;
+ }
+ 
+ int pthread_rwlock_unlock(pthread_rwlock_t *rwp)
+ {
+     int rc = 0;
+ 
+     if (rwp == NULL)
+         return EINVAL;
+ 
+     rc = pthread_mutex_trylock(&rwp->write_access_mutex);
+     if (rc != EDEADLK)
+     {
+         /* unlock a read lock */
+         if (rc == 0)
+             pthread_mutex_unlock(&rwp->write_access_mutex);
+         
+         if ((rc = pthread_mutex_lock(&rwp->read_access_completion_mutex)) != 0)
+         {
+             pthread_mutex_unlock(&rwp->write_access_mutex);
+             return rc;
+         }
+ 
+         if (rwp->readers <= 0)
+         {
+             rc = EINVAL;
+         }
+         else 
+         {
+             if (--rwp->readers == 0) 
+                 pthread_cond_broadcast(&rwp->read_access_completion_wait);
+         }
+ 
+         pthread_mutex_unlock(&rwp->read_access_completion_mutex);
+     } 
+     else
+     {
+         /* unlock a write lock */
+         rc = pthread_mutex_unlock(&rwp->write_access_mutex);
+     }
+ 
+     return rc;
+ }
+ 
+ 
  /*
   * keys is used to keep track of which keys are currently
   * in use by the threads library.  pthread_tsd_mutex is used
Index: openafs/src/WINNT/pthread/pthread.def
diff -c openafs/src/WINNT/pthread/pthread.def:1.2 openafs/src/WINNT/pthread/pthread.def:1.2.2.1
*** openafs/src/WINNT/pthread/pthread.def:1.2	Mon Apr 24 10:25:12 2006
--- openafs/src/WINNT/pthread/pthread.def	Fri Oct 17 16:24:49 2008
***************
*** 26,28 ****
--- 26,35 ----
  	pthread_attr_setdetachstate			@24
  	pthread_exit					@25
  	DllMain						@26
+         pthread_rwlock_destroy                          @27
+         pthread_rwlock_init                             @28
+         pthread_rwlock_rdlock                           @29
+         pthread_rwlock_wrlock                           @30
+         pthread_rwlock_tryrdlock                        @31
+         pthread_rwlock_trywrlock                        @32
+         pthread_rwlock_unlock                           @33
Index: openafs/src/WINNT/pthread/pthread.h
diff -c openafs/src/WINNT/pthread/pthread.h:1.2 openafs/src/WINNT/pthread/pthread.h:1.2.32.1
*** openafs/src/WINNT/pthread/pthread.h:1.2	Sat Nov  4 05:03:05 2000
--- openafs/src/WINNT/pthread/pthread.h	Fri Oct 17 16:24:49 2008
***************
*** 31,36 ****
--- 31,37 ----
  
  typedef int pthread_condattr_t;
  typedef int pthread_mutexattr_t;
+ typedef int pthread_rwlockattr_t;
  typedef int pthread_key_t;
  typedef void *pthread_t;
  
***************
*** 56,61 ****
--- 57,69 ----
      struct rx_queue waiting_threads;
  } pthread_cond_t;
  
+ typedef struct {
+     pthread_mutex_t write_access_mutex;
+     pthread_mutex_t read_access_completion_mutex;
+     pthread_cond_t  read_access_completion_wait;
+     int readers;
+ } pthread_rwlock_t;
+ 
  #define PTHREAD_ONCE_INIT {0,1}
  
  extern int pthread_cond_broadcast(pthread_cond_t *cond);
***************
*** 69,79 ****
--- 77,97 ----
  extern int pthread_join(pthread_t target_thread, void **status);
  extern int pthread_key_create(pthread_key_t *keyp, void (*destructor)(void *value));
  extern int pthread_key_delete(pthread_key_t key);
+ 
  extern int pthread_mutex_destroy(pthread_mutex_t *mp);
  extern int pthread_mutex_init(pthread_mutex_t *mp, const pthread_mutexattr_t *attr);
  extern int pthread_mutex_lock(pthread_mutex_t *mp);
  extern int pthread_mutex_trylock(pthread_mutex_t *mp);
  extern int pthread_mutex_unlock(pthread_mutex_t *mp);
+ 
+ extern int pthread_rwlock_destroy(pthread_rwlock_t *rwp);
+ extern int pthread_rwlock_init(pthread_rwlock_t *rwp, const pthread_rwlockattr_t *attr);
+ extern int pthread_rwlock_rdlock(pthread_rwlock_t *rwp);
+ extern int pthread_rwlock_wrlock(pthread_rwlock_t *rwp);
+ extern int pthread_rwlock_tryrdlock(pthread_rwlock_t *rwp);
+ extern int pthread_rwlock_trywrlock(pthread_rwlock_t *rwp);
+ extern int pthread_rwlock_unlock(pthread_rwlock_t *rwp);
+ 
  extern int pthread_once(pthread_once_t *once_control, void (*init_routine)(void));
  extern int pthread_setspecific(pthread_key_t key, const void *value);
  extern pthread_t pthread_self(void);
Index: openafs/src/afs/afs.h
diff -c openafs/src/afs/afs.h:1.85.2.10 openafs/src/afs/afs.h:1.85.2.14
*** openafs/src/afs/afs.h:1.85.2.10	Mon Sep 22 15:35:26 2008
--- openafs/src/afs/afs.h	Sat Nov  8 11:34:42 2008
***************
*** 187,193 ****
      afs_int32 uid;		/* user id making the request */
      afs_int32 busyCount;	/* how many busies we've seen so far */
      afs_int32 flags;		/* things like O_SYNC, O_NONBLOCK go here */
!     char initd;			/* if non-zero, non-uid fields meaningful */
      char accessError;		/* flags for overriding error return code */
      char volumeError;		/* encountered a missing or busy volume */
      char networkError;		/* encountered network problems */
--- 187,193 ----
      afs_int32 uid;		/* user id making the request */
      afs_int32 busyCount;	/* how many busies we've seen so far */
      afs_int32 flags;		/* things like O_SYNC, O_NONBLOCK go here */
!     char initd;			/* if non-zero, Error fields meaningful */
      char accessError;		/* flags for overriding error return code */
      char volumeError;		/* encountered a missing or busy volume */
      char networkError;		/* encountered network problems */
***************
*** 562,568 ****
--- 562,572 ----
  #define CUnlinkedDel	0x00040000
  #define CVFlushed	0x00080000
  #define CCore1		0x00100000	/* osf1 core file; not same as CCore above */
+ #ifdef AFS_LINUX22_ENV
+ #define CPageWrite      0x00200000      /* to detect vm deadlock - linux */
+ #else
  #define CWritingUFS	0x00200000	/* to detect vm deadlock - used by sgi */
+ #endif
  #define CCreating	0x00400000	/* avoid needless store after open truncate */
  #define CPageHog	0x00800000	/* AIX - dumping large cores is a page hog. */
  #define CDCLock		0x02000000	/* Vnode lock held over call to GetDownD */
***************
*** 1001,1006 ****
--- 1005,1014 ----
    afs_int32 fid;              /* is adc->index, the cache file number */
    afs_inode_t inode;          /* is adc->f.inode, the inode number of the cac\
  				 he file */
+ #if defined(LINUX_USE_FH)
+   struct fid fh;		/* Opaque file handle */
+   int fh_type;			/* Opaque file handle type */
+ #endif
    afs_int32 page;
    afs_int32 accesstime;
    struct buffer *hashNext;
***************
*** 1023,1028 ****
--- 1031,1040 ----
      afs_inode_t inode;		/* Unix inode for this chunk */
      afs_int32 chunkBytes;	/* Num bytes in this chunk */
      char states;		/* Has this chunk been modified? */
+ #if defined(LINUX_USE_FH)
+     struct fid fh;		/* File handle */
+     int fh_type;		/* File handle type */
+ #endif
  };
  #endif
  
Index: openafs/src/afs/afs_analyze.c
diff -c openafs/src/afs/afs_analyze.c:1.22.14.9 openafs/src/afs/afs_analyze.c:1.22.14.12
*** openafs/src/afs/afs_analyze.c:1.22.14.9	Fri Aug 22 14:52:57 2008
--- openafs/src/afs/afs_analyze.c	Mon Oct 27 19:53:44 2008
***************
*** 14,20 ****
  #include "afs/param.h"
  
  RCSID
!     ("$Header: /cvs/openafs/src/afs/afs_analyze.c,v 1.22.14.9 2008/08/22 18:52:57 shadow Exp $");
  
  #include "afs/stds.h"
  #include "afs/sysincludes.h"	/* Standard vendor system headers */
--- 14,20 ----
  #include "afs/param.h"
  
  RCSID
!     ("$Header: /cvs/openafs/src/afs/afs_analyze.c,v 1.22.14.12 2008/10/27 23:53:44 shadow Exp $");
  
  #include "afs/stds.h"
  #include "afs/sysincludes.h"	/* Standard vendor system headers */
***************
*** 255,275 ****
  		    areq->skipserver[i] = 1;
  		}
  		if (tvp->serverHost[i] &&
! 		    !(tvp->serverHost[i]->addr->sa_flags & 
  		      SRVR_ISDOWN)) {
  		    areq->skipserver[i] = 1;
  		}
  	    }
  	    afs_PutVolume(tvp, READ_LOCK);
  	}
      }
!     for (i = 0; i < MAXHOSTS; i++) {
! 	if (areq->skipserver[i] == 0) {
! 	    serversleft = 1;
! 	    break;
! 	}
!     }
!     return serversleft;
  }
  
  
--- 255,276 ----
  		    areq->skipserver[i] = 1;
  		}
  		if (tvp->serverHost[i] &&
! 		    (tvp->serverHost[i]->addr->sa_flags & 
  		      SRVR_ISDOWN)) {
  		    areq->skipserver[i] = 1;
  		}
  	    }
  	    afs_PutVolume(tvp, READ_LOCK);
+ 	    for (i = 0; i < MAXHOSTS; i++) {
+ 	        if (tvp->serverHost[i] && areq->skipserver[i] == 0) {
+ 		    serversleft = 1;
+ 		    break;
+ 		}
+ 	    }
+ 	    return serversleft;
  	}
      }
!     return 1;
  }
  
  
Index: openafs/src/afs/afs_buffer.c
diff -c openafs/src/afs/afs_buffer.c:1.22.4.1 openafs/src/afs/afs_buffer.c:1.22.4.3
*** openafs/src/afs/afs_buffer.c:1.22.4.1	Thu Dec 13 14:18:29 2007
--- openafs/src/afs/afs_buffer.c	Sat Nov  8 11:34:42 2008
***************
*** 11,17 ****
  #include "afs/param.h"
  
  RCSID
!     ("$Header: /cvs/openafs/src/afs/afs_buffer.c,v 1.22.4.1 2007/12/13 19:18:29 shadow Exp $");
  
  #include "afs/sysincludes.h"
  #include "afsincludes.h"
--- 11,17 ----
  #include "afs/param.h"
  
  RCSID
!     ("$Header: /cvs/openafs/src/afs/afs_buffer.c,v 1.22.4.3 2008/11/08 16:34:42 shadow Exp $");
  
  #include "afs/sysincludes.h"
  #include "afsincludes.h"
***************
*** 232,238 ****
--- 232,242 ----
  	MReleaseWriteLock(&tb->lock);
  	return NULL;
      }
+ #if defined(LINUX_USE_FH)
+     tfile = afs_CFileOpen(&adc->f.fh, adc->f.fh_type);
+ #else
      tfile = afs_CFileOpen(adc->f.inode);
+ #endif
      code =
  	afs_CFileRead(tfile, tb->page * AFS_BUFFER_PAGESIZE, tb->data,
  		      AFS_BUFFER_PAGESIZE);
***************
*** 344,350 ****
  
      if (lp->dirty) {
  	/* see DFlush for rationale for not getting and locking the dcache */
! 	tfile = afs_CFileOpen(lp->inode);
  	afs_CFileWrite(tfile, lp->page * AFS_BUFFER_PAGESIZE, lp->data,
  		       AFS_BUFFER_PAGESIZE);
  	lp->dirty = 0;
--- 348,358 ----
  
      if (lp->dirty) {
  	/* see DFlush for rationale for not getting and locking the dcache */
! #if defined(LINUX_USE_FH)
!         tfile = afs_CFileOpen(&lp->fh, lp->fh_type);
! #else
!         tfile = afs_CFileOpen(lp->inode);
! #endif
  	afs_CFileWrite(tfile, lp->page * AFS_BUFFER_PAGESIZE, lp->data,
  		       AFS_BUFFER_PAGESIZE);
  	lp->dirty = 0;
***************
*** 354,360 ****
--- 362,373 ----
  
      /* Now fill in the header. */
      lp->fid = adc->index;
+ #if defined(LINUX_USE_FH)
+     memcpy(&lp->fh, &adc->f.fh, sizeof(struct fid));
+     lp->fh_type = adc->f.fh_type;
+ #else
      lp->inode = adc->f.inode;
+ #endif
      lp->page = apage;
      lp->accesstime = timecounter++;
      FixupBucket(lp);		/* move to the right hash bucket */
***************
*** 430,440 ****
      return AFS_BUFFER_PAGESIZE * bp->page + (int)(((char *)ap) - bp->data);
  }
  
! /* 1/1/91 - I've modified the hash function to take the page as well
   * as the *fid, so that lookup will be a bit faster.  That presents some
   * difficulties for Zap, which now has to have some knowledge of the nature
   * of the hash function.  Oh well.  This should use the list traversal 
   * method of DRead...
   */
  void
  DZap(struct dcache *adc)
--- 443,458 ----
      return AFS_BUFFER_PAGESIZE * bp->page + (int)(((char *)ap) - bp->data);
  }
  
! /*! 
!  * Zap one dcache entry: destroy one FID's buffers.
!  *
!  * 1/1/91 - I've modified the hash function to take the page as well
   * as the *fid, so that lookup will be a bit faster.  That presents some
   * difficulties for Zap, which now has to have some knowledge of the nature
   * of the hash function.  Oh well.  This should use the list traversal 
   * method of DRead...
+  *
+  * \param adc The dcache entry to be zapped.
   */
  void
  DZap(struct dcache *adc)
***************
*** 486,492 ****
--- 504,514 ----
  		 * we cannot lock afs_xdcache). In addition, we cannot obtain
  		 * a dcache lock while holding the tb->lock of the same file
  		 * since that can deadlock with DRead/DNew */
+ #if defined(LINUX_USE_FH)
+ 		tfile = afs_CFileOpen(&tb->fh, tb->fh_type);
+ #else
  		tfile = afs_CFileOpen(tb->inode);
+ #endif
  		afs_CFileWrite(tfile, tb->page * AFS_BUFFER_PAGESIZE,
  			       tb->data, AFS_BUFFER_PAGESIZE);
  		tb->dirty = 0;	/* Clear the dirty flag */
Index: openafs/src/afs/afs_cell.c
diff -c openafs/src/afs/afs_cell.c:1.34.4.7 openafs/src/afs/afs_cell.c:1.34.4.9
*** openafs/src/afs/afs_cell.c:1.34.4.7	Sun Jan 27 20:39:18 2008
--- openafs/src/afs/afs_cell.c	Sat Nov  8 11:34:42 2008
***************
*** 14,20 ****
  #include "afs/param.h"
  
  RCSID
!     ("$Header: /cvs/openafs/src/afs/afs_cell.c,v 1.34.4.7 2008/01/28 01:39:18 shadow Exp $");
  
  #include "afs/stds.h"
  #include "afs/sysincludes.h"	/* Standard vendor system headers */
--- 14,20 ----
  #include "afs/param.h"
  
  RCSID
!     ("$Header: /cvs/openafs/src/afs/afs_cell.c,v 1.34.4.9 2008/11/08 16:34:42 shadow Exp $");
  
  #include "afs/stds.h"
  #include "afs/sysincludes.h"	/* Standard vendor system headers */
***************
*** 50,55 ****
--- 50,58 ----
      char *cellname;
  } afsdb_req;
  
+ /*!
+  * Terminate the AFSDB handler, used on shutdown.
+  */
  void
  afs_StopAFSDB()
  {
***************
*** 61,66 ****
--- 64,77 ----
      }
  }
  
+ /*!
+  * \brief Entry point for user-space AFSDB request handler.
+  * Reads cell data from kerlenMsg and add new cell, or alias.
+  * \param acellName Cell name. If a cell is found, it's name will be filled in here.
+  * \param acellNameLen Cell name length.
+  * \param kernelMsg Buffer containing data about host count, time out, and cell hosts ids.
+  * \return 0 for success, < 0 for error.
+  */
  int
  afs_AFSDBHandler(char *acellName, int acellNameLen, afs_int32 * kernelMsg)
  {
***************
*** 135,140 ****
--- 146,156 ----
      return 0;
  }
  
+ /*!
+  * \brief Query the AFSDB handler and wait for response.
+  * \param  acellName
+  * \return 0 for success. < 0 is error.
+  */
  static int
  afs_GetCellHostsAFSDB(char *acellName)
  {
***************
*** 168,173 ****
--- 184,194 ----
  }
  #endif
  
+ 
+ /*! 
+  * Look up AFSDB for given cell name and create locally.
+  * \param acellName Cell name. 
+  */
  void
  afs_LookupAFSDB(char *acellName)
  {
***************
*** 194,204 ****
--- 215,237 ----
   */
  
  struct cell_name *afs_cellname_head;	/* Export for kdump */
+ #if defined(LINUX_USE_FH)
+ struct fid afs_cellname_fh;
+ int afs_cellname_fh_type;
+ static int afs_cellname_fh_set;
+ #else
  static ino_t afs_cellname_inode;
  static int afs_cellname_inode_set;
+ #endif
  static int afs_cellname_dirty;
  static afs_int32 afs_cellnum_next;
  
+ /*!
+  * Create a new cell name, optional cell number.
+  * \param  name Name of cell.
+  * \param cellnum Cellname number.
+  * \return Initialized structure.
+  */
  static struct cell_name *
  afs_cellname_new(char *name, afs_int32 cellnum)
  {
***************
*** 220,225 ****
--- 253,263 ----
      return cn;
  }
  
+ /*!
+  * Look up a cell name by id.
+  * \param cellnum
+  * \return 
+  */
  static struct cell_name *
  afs_cellname_lookup_id(afs_int32 cellnum)
  {
***************
*** 232,237 ****
--- 270,280 ----
      return NULL;
  }
  
+ /*!
+  * Look up a cell name.
+  * \param name Cell name.
+  * \return 
+  */
  static struct cell_name *
  afs_cellname_lookup_name(char *name)
  {
***************
*** 244,249 ****
--- 287,296 ----
      return NULL;
  }
  
+ /*!
+  * Note that this cell name was referenced somewhere.
+  * \param  cn
+  */
  static void
  afs_cellname_ref(struct cell_name *cn)
  {
***************
*** 253,260 ****
--- 300,317 ----
      }
  }
  
+ /*!
+  * \brief Load the list of cells from given inode.
+  * \param inode Source inode.
+  * \param lookupcode 
+  * \return 0 for success. < 0 for error.
+  */
  int
+ #if defined(LINUX_USE_FH)
+ afs_cellname_init(struct fid *fh, int fh_type, int lookupcode)
+ #else
  afs_cellname_init(ino_t inode, int lookupcode)
+ #endif
  {
      struct osi_file *tfile;
      int cc, off = 0;
***************
*** 273,286 ****
--- 330,353 ----
  	return lookupcode;
      }
  
+ #if defined(LINUX_USE_FH)
+     tfile = osi_UFSOpen_fh(fh, fh_type);
+ #else
      tfile = osi_UFSOpen(inode);
+ #endif
      if (!tfile) {
  	ReleaseWriteLock(&afs_xcell);
  	return EIO;
      }
  
+ #if defined(LINUX_USE_FH)
+     memcpy(&afs_cellname_fh, fh, sizeof(struct fid));
+     afs_cellname_fh_type = fh_type;
+     afs_cellname_fh_set = 1;
+ #else
      afs_cellname_inode = inode;
      afs_cellname_inode_set = 1;
+ #endif
  
      while (1) {
  	afs_int32 cellnum, clen, magic;
***************
*** 331,336 ****
--- 398,406 ----
      return 0;
  }
  
+ /*!
+  * Write in-kernel list of cells to disk.
+  */
  int
  afs_cellname_write(void)
  {
***************
*** 338,344 ****
--- 408,418 ----
      struct cell_name *cn;
      int off;
  
+ #if defined(LINUX_USE_FH)
+     if (!afs_cellname_dirty || !afs_cellname_fh_set)
+ #else
      if (!afs_cellname_dirty || !afs_cellname_inode_set)
+ #endif
  	return 0;
      if (afs_initState != 300)
  	return 0;
***************
*** 346,352 ****
--- 420,430 ----
      ObtainWriteLock(&afs_xcell, 693);
      afs_cellname_dirty = 0;
      off = 0;
+ #if defined(LINUX_USE_FH)
+     tfile = osi_UFSOpen_fh(&afs_cellname_fh, afs_cellname_fh_type);
+ #else
      tfile = osi_UFSOpen(afs_cellname_inode);
+ #endif
      if (!tfile) {
  	ReleaseWriteLock(&afs_xcell);
  	return EIO;
***************
*** 401,406 ****
--- 479,489 ----
  static afs_int32 afs_cellalias_index;
  static int afs_CellOrAliasExists_nl(char *aname);	/* Forward declaration */
  
+ /*!
+  * Look up cell alias by alias name.
+  * \param  alias 
+  * \return Found struct or NULL.
+  */
  static struct cell_alias *
  afs_FindCellAlias(char *alias)
  {
***************
*** 412,417 ****
--- 495,505 ----
      return tc;
  }
  
+ /*!
+  * Get cell alias by index (starting at 0).
+  * \param index Cell index. 
+  * \return Found struct or null.
+  */
  struct cell_alias *
  afs_GetCellAlias(int index)
  {
***************
*** 426,437 ****
--- 514,537 ----
      return tc;
  }
  
+ 
+  /*!
+   * Put back a cell alias returned by Find or Get.
+   * \param a Alias. 
+   * \return 
+   */
  void
  afs_PutCellAlias(struct cell_alias *a)
  {
      return;
  }
  
+ /*!
+  * Create new cell alias entry and update dynroot vnode.
+  * \param alias
+  * \param cell
+  * \return 
+  */
  afs_int32
  afs_NewCellAlias(char *alias, char *cell)
  {
***************
*** 485,490 ****
--- 585,594 ----
  static char *afs_thiscell;
  afs_int32 afs_cellindex;	/* Export for kdump */
  
+ /*!
+  * Bump given cell up to the front of the LRU queue.
+  * \param c Cell to set. 
+  */
  static void
  afs_UpdateCellLRU(struct cell *c)
  {
***************
*** 494,499 ****
--- 598,608 ----
      ReleaseWriteLock(&afs_xcell);
  }
  
+ /*!
+  * Look up cell information in AFSDB if timeout expired
+  * \param ac Cell to be refreshed.
+  * \return 
+  */
  static void
  afs_RefreshCell(struct cell *ac)
  {
***************
*** 503,508 ****
--- 612,625 ----
  	afs_LookupAFSDB(ac->cellName);
  }
  
+ /*! 
+  * Execute a callback for each existing cell, without a lock on afs_xcell.
+  * Iterate on CellLRU, and execute a callback for each cell until given arguments are met.
+  * \see afs_TraverseCells
+  * \param cb Traversal callback for each cell.
+  * \param arg Callback arguments.
+  * \return Found data or NULL.
+  */
  static void *
  afs_TraverseCells_nl(void *(*cb) (struct cell *, void *), void *arg)
  {
***************
*** 528,533 ****
--- 645,657 ----
      return ret;
  }
  
+ /*!
+  * Execute a callback for each existing cell, with a lock on afs_xcell.
+  * \see afs_TraverseCells_nl
+  * \param cb Traversal callback for each cell.
+  * \param arg 
+  * \return Found data or NULL.
+  */
  void *
  afs_TraverseCells(void *(*cb) (struct cell *, void *), void *arg)
  {
***************
*** 540,545 ****
--- 664,675 ----
      return ret;
  }
  
+ /*!
+  * Useful traversal callback: Match by name.
+  * \param cell 
+  * \param arg Cell name (compared with cell->cellName).
+  * \return Returns found cell or NULL.
+  */
  static void *
  afs_choose_cell_by_name(struct cell *cell, void *arg)
  {
***************
*** 551,556 ****
--- 681,692 ----
      }
  }
  
+ /*!
+  * Useful traversal callback: Match by handle.
+  * \param cell 
+  * \param arg Cell handle (compared with cell->cellHandle).
+  * \return Returns found cell or NULL.
+  */
  static void *
  afs_choose_cell_by_handle(struct cell *cell, void *arg)
  {
***************
*** 562,591 ****
--- 698,759 ----
      }
  }
  
+ /*!
+  * Useful traversal callback: Match by cell number.
+  * \param cell 
+  * \param arg Cell number (compared with cell->cellNum).
+  * \return Returns found cell or NULL.
+  */
  static void *
  afs_choose_cell_by_num(struct cell *cell, void *arg)
  {
      return (cell->cellNum == *((afs_int32 *) arg)) ? cell : NULL;
  }
  
+ /*!
+  * Useful traversal callback: Match by index.
+  * \param cell 
+  * \param arg Cell index (compared with cell->cellIndex).
+  * \return Returns found cell or NULL.
+  */
  static void *
  afs_choose_cell_by_index(struct cell *cell, void *arg)
  {
      return (cell->cellIndex == *((afs_int32 *) arg)) ? cell : NULL;
  }
  
+ /*!
+  * Return a cell with a given name, if it exists. No lock version.
+  * Does not check AFSDB.
+  * \param acellName Cell name.
+  * \param locktype Type of lock to be used (not used).
+  * \return 
+  */
  static struct cell *
  afs_FindCellByName_nl(char *acellName, afs_int32 locktype)
  {
      return afs_TraverseCells_nl(&afs_choose_cell_by_name, acellName);
  }
  
+ /*!
+  * Return a cell with a given name, if it exists.It uses locks.
+  * Does not check AFSDB.
+  * \param acellName Cell name.
+  * \param locktype Type of lock to be used.
+  * \return 
+  */
  static struct cell *
  afs_FindCellByName(char *acellName, afs_int32 locktype)
  {
      return afs_TraverseCells(&afs_choose_cell_by_name, acellName);
  }
  
+ /*!
+  * Same as FindCellByName but tries AFSDB if not found.
+  * \param acellName Cell name.
+  * \param locktype Type of lock to be used.
+  * \return 
+  */
  struct cell *
  afs_GetCellByName(char *acellName, afs_int32 locktype)
  {
***************
*** 605,610 ****
--- 773,784 ----
      return tc;
  }
  
+ /*!
+  * Return a cell with a given cell number.
+  * \param cellnum Cell number.
+  * \param locktype Lock to be used. 
+  * \return 
+  */
  struct cell *
  afs_GetCell(afs_int32 cellnum, afs_int32 locktype)
  {
***************
*** 624,629 ****
--- 798,809 ----
      return tc;
  }
  
+ /*!
+  * Same as GetCell, but does not try to refresh the data.
+  * \param cellnum Cell number.
+  * \param locktype What lock should be used.
+  * \return 
+  */
  struct cell *
  afs_GetCellStale(afs_int32 cellnum, afs_int32 locktype)
  {
***************
*** 637,642 ****
--- 817,828 ----
      return tc;
  }
  
+ /*!
+  * Return a cell with a given index number (starting at 0). Update CellLRU as well.
+  * \param index
+  * \param locktype Type of lock used.
+  * \return 
+  */
  struct cell *
  afs_GetCellByIndex(afs_int32 index, afs_int32 locktype)
  {
***************
*** 648,653 ****
--- 834,845 ----
      return tc;
  }
  
+ /*!
+  * Return a cell with a given handle..
+  * \param index
+  * \param locktype Type of lock used.
+  * \return 
+  */
  struct cell *
  afs_GetCellByHandle(void *handle, afs_int32 locktype)
  {
***************
*** 659,670 ****
--- 851,872 ----
      return tc;
  }
  
+ /*!
+  * Return primary cell, if any.
+  * \param locktype Type of lock used.
+  * \return 
+  */
  struct cell *
  afs_GetPrimaryCell(afs_int32 locktype)
  {
      return afs_GetCellByName(afs_thiscell, locktype);
  }
  
+ /*!
+  * Returns true if the given cell is the primary cell.
+  * \param cell
+  * \return 
+  */
  int
  afs_IsPrimaryCell(struct cell *cell)
  {
***************
*** 682,687 ****
--- 884,894 ----
      }
  }
  
+ /*!
+  * Returns afs_IsPrimaryCell(afs_GetCell(cellnum)).
+  * \param cellnum 
+  * \return 
+  */
  int
  afs_IsPrimaryCellNum(afs_int32 cellnum)
  {
***************
*** 697,702 ****
--- 904,914 ----
      return primary;
  }
  
+ /*!
+  * Set the primary cell name to the given cell name.
+  * \param acellName Cell name. 
+  * \return 0 for success, < 0 for error.
+  */
  afs_int32
  afs_SetPrimaryCell(char *acellName)
  {
***************
*** 708,713 ****
--- 920,936 ----
      return 0;
  }
  
+ /*!
+  * Create or update a cell entry. 
+  * \param acellName Name of cell.
+  * \param acellHosts Array of hosts that this cell has.
+  * \param aflags Cell flags.
+  * \param linkedcname 
+  * \param fsport File server port.
+  * \param vlport Volume server port.
+  * \param timeout Cell timeout value, 0 means static AFSDB entry.
+  * \return 
+  */
  afs_int32
  afs_NewCell(char *acellName, afs_int32 * acellHosts, int aflags,
  	    char *linkedcname, u_short fsport, u_short vlport, int timeout)
***************
*** 780,788 ****
      }
      tc->states |= aflags;
      tc->timeout = timeout;
! 
      memset((char *)tc->cellHosts, 0, sizeof(tc->cellHosts));
      for (i = 0; i < MAXCELLHOSTS; i++) {
  	struct server *ts;
  	afs_uint32 temp = acellHosts[i];
  	if (!temp)
--- 1003,1012 ----
      }
      tc->states |= aflags;
      tc->timeout = timeout;
!     
      memset((char *)tc->cellHosts, 0, sizeof(tc->cellHosts));
      for (i = 0; i < MAXCELLHOSTS; i++) {
+ 	/* Get server for each host and link this cell in.*/	
  	struct server *ts;
  	afs_uint32 temp = acellHosts[i];
  	if (!temp)
***************
*** 790,800 ****
  	ts = afs_GetServer(&temp, 1, 0, tc->vlport, WRITE_LOCK, NULL, 0);
  	ts->cell = tc;
  	ts->flags &= ~SRVR_ISGONE;
  	tc->cellHosts[i] = ts;
  	afs_PutServer(ts, WRITE_LOCK);
      }
      afs_SortServers(tc->cellHosts, MAXCELLHOSTS);	/* randomize servers */
! 
      if (newc) {
  	struct cell_name *cn;
  
--- 1014,1026 ----
  	ts = afs_GetServer(&temp, 1, 0, tc->vlport, WRITE_LOCK, NULL, 0);
  	ts->cell = tc;
  	ts->flags &= ~SRVR_ISGONE;
+ 	/* Set the server as a host of the new cell. */
  	tc->cellHosts[i] = ts;
  	afs_PutServer(ts, WRITE_LOCK);
      }
      afs_SortServers(tc->cellHosts, MAXCELLHOSTS);	/* randomize servers */
! 	
!     /* New cell: Build and add to LRU cell queue. */
      if (newc) {
  	struct cell_name *cn;
  
***************
*** 836,841 ****
--- 1062,1070 ----
   * afs_CellNumValid: check if a cell number is valid (also set the used flag)
   */
  
+ /*!
+  * Perform whatever initialization is necessary.
+  */
  void
  afs_CellInit()
  {
***************
*** 850,855 ****
--- 1079,1087 ----
      afs_cellalias_index = 0;
  }
  
+ /*!
+  * Called on shutdown, should deallocate memory, etc.
+  */
  void
  shutdown_cell()
  {
***************
*** 880,885 ****
--- 1112,1122 ----
  }
  }
  
+ /*!
+  * Remove a server from a cell's server list.
+  * \param srvp Server to be removed.
+  * \return 
+  */
  void
  afs_RemoveCellEntry(struct server *srvp)
  {
***************
*** 908,913 ****
--- 1145,1155 ----
      ReleaseWriteLock(&tc->lock);
  }
  
+ /*!
+  * Check if the given name exists as a cell or alias. Does not lock afs_xcell.
+  * \param aname 
+  * \return 
+  */
  static int
  afs_CellOrAliasExists_nl(char *aname)
  {
***************
*** 929,934 ****
--- 1171,1181 ----
      return 0;
  }
  
+ /*!
+  * Check if the given name exists as a cell or alias. Locks afs_xcell.
+  * \param aname
+  * \return 
+  */
  int
  afs_CellOrAliasExists(char *aname)
  {
***************
*** 941,946 ****
--- 1188,1198 ----
      return ret;
  }
  
+ /*!
+  * Check if a cell number is valid (also set the used flag).
+  * \param cellnum 
+  * \return 1 - true, 0 - false
+  */
  int
  afs_CellNumValid(afs_int32 cellnum)
  {
Index: openafs/src/afs/afs_chunkops.h
diff -c openafs/src/afs/afs_chunkops.h:1.7 openafs/src/afs/afs_chunkops.h:1.7.4.1
*** openafs/src/afs/afs_chunkops.h:1.7	Wed Aug 17 12:16:50 2005
--- openafs/src/afs/afs_chunkops.h	Sat Nov  8 11:34:42 2008
***************
*** 55,62 ****
--- 55,66 ----
  #if defined(AFS_SUN57_64BIT_ENV) || defined(AFS_SGI62_ENV)
      void *(*open) (ino_t ainode);
  #else
+ #if defined(LINUX_USE_FH)
+     void *(*open) (struct fid *fh, int fh_type);
+ #else
      void *(*open) (afs_int32 ainode);
  #endif
+ #endif
      int (*truncate) (struct osi_file * fp, afs_int32 len);
      int (*fread) (struct osi_file * fp, int offset, void *buf, afs_int32 len);
      int (*fwrite) (struct osi_file * fp, afs_int32 offset, void *buf,
***************
*** 84,90 ****
--- 88,98 ----
  };
  
  /* Ideally we should have used consistent naming - like COP_OPEN, COP_TRUNCATE, etc. */
+ #if defined(LINUX_USE_FH)
+ #define	afs_CFileOpen(fh, fh_type)	      (void *)(*(afs_cacheType->open))(fh, fh_type)
+ #else
  #define	afs_CFileOpen(inode)	      (void *)(*(afs_cacheType->open))(inode)
+ #endif
  #define	afs_CFileTruncate(handle, size)	(*(afs_cacheType->truncate))((handle), size)
  #define	afs_CFileRead(file, offset, data, size) (*(afs_cacheType->fread))(file, offset, data, size)
  #define	afs_CFileWrite(file, offset, data, size) (*(afs_cacheType->fwrite))(file, offset, data, size)
Index: openafs/src/afs/afs_conn.c
diff -c openafs/src/afs/afs_conn.c:1.14.8.4 openafs/src/afs/afs_conn.c:1.14.8.7
*** openafs/src/afs/afs_conn.c:1.14.8.4	Mon Sep 22 15:29:54 2008
--- openafs/src/afs/afs_conn.c	Mon Oct 20 12:40:48 2008
***************
*** 14,20 ****
  #include "afs/param.h"
  
  RCSID
!     ("$Header: /cvs/openafs/src/afs/afs_conn.c,v 1.14.8.4 2008/09/22 19:29:54 shadow Exp $");
  
  #include "afs/stds.h"
  #include "afs/sysincludes.h"	/* Standard vendor system headers */
--- 14,20 ----
  #include "afs/param.h"
  
  RCSID
!     ("$Header: /cvs/openafs/src/afs/afs_conn.c,v 1.14.8.7 2008/10/20 16:40:48 shadow Exp $");
  
  #include "afs/stds.h"
  #include "afs/sysincludes.h"	/* Standard vendor system headers */
***************
*** 52,57 ****
--- 52,68 ----
  
  
  unsigned int VNOSERVERS = 0;
+ 
+ /**
+  * Try setting up a connection to the server containing the specified fid.
+  * Gets the volume, checks if it's up and does the connection by server address.
+  *
+  * @param afid 
+  * @param areq Request filled in by the caller.
+  * @param locktype Type of lock that will be used.
+  *
+  * @return The conn struct, or NULL.
+  */
  struct conn *
  afs_Conn(register struct VenusFid *afid, register struct vrequest *areq,
  	 afs_int32 locktype)
***************
*** 66,71 ****
--- 77,83 ----
      struct srvAddr *sa1p;
  
      AFS_STATCNT(afs_Conn);
+     /* Get fid's volume. */
      tv = afs_GetVolume(afid, areq, READ_LOCK);
      if (!tv) {
  	if (areq) {
***************
*** 132,137 ****
--- 144,162 ----
  }				/*afs_Conn */
  
  
+ /**
+  * Connects to a server by it's server address.
+  *
+  * @param sap Server address.
+  * @param aport Server port.
+  * @param acell
+  * @param tu Connect as this user.
+  * @param force_if_down
+  * @param create
+  * @param locktype Specifies type of lock to be used for this function.
+  *
+  * @return The new connection.
+  */
  struct conn *
  afs_ConnBySA(struct srvAddr *sap, unsigned short aport, afs_int32 acell,
  	     struct unixuser *tu, int force_if_down, afs_int32 create,
***************
*** 148,153 ****
--- 173,179 ----
      }
  
      ObtainSharedLock(&afs_xconn, 15);
+     /* Get conn by port and user. */
      for (tc = sap->conns; tc; tc = tc->next) {
  	if (tc->user == tu && tc->port == aport) {
  	    break;
***************
*** 155,160 ****
--- 181,187 ----
      }
  
      if (!tc && !create) {
+ 	/* Not found and can't create a new one. */
  	ReleaseSharedLock(&afs_xconn);
  	return NULL;
      }
***************
*** 187,193 ****
  	afs_ActivateServer(sap);
  
  	ConvertWToSLock(&afs_xconn);
!     }
      tc->refCount++;
  
      if (tu->states & UTokensBad) {
--- 214,220 ----
  	afs_ActivateServer(sap);
  
  	ConvertWToSLock(&afs_xconn);
!     } /* end of if (!tc) */
      tc->refCount++;
  
      if (tu->states & UTokensBad) {
***************
*** 251,270 ****
  	if (csec)
  	    rxs_Release(csec);
  	ConvertWToSLock(&afs_xconn);
!     }
  
      ReleaseSharedLock(&afs_xconn);
      return tc;
  }
  
! /*
!  * afs_ConnByHost
!  *
   * forceConnectFS is set whenever we must recompute the connection. UTokensBad
   * is true only if we know that the tokens are bad.  We thus clear this flag
   * when we get a new set of tokens..
   * Having force... true and UTokensBad true simultaneously means that the tokens
   * went bad and we're supposed to create a new, unauthenticated, connection.
   */
  struct conn *
  afs_ConnByHost(struct server *aserver, unsigned short aport, afs_int32 acell,
--- 278,304 ----
  	if (csec)
  	    rxs_Release(csec);
  	ConvertWToSLock(&afs_xconn);
!     } /* end of if (tc->forceConnectFS)*/
  
      ReleaseSharedLock(&afs_xconn);
      return tc;
  }
  
! /**
   * forceConnectFS is set whenever we must recompute the connection. UTokensBad
   * is true only if we know that the tokens are bad.  We thus clear this flag
   * when we get a new set of tokens..
   * Having force... true and UTokensBad true simultaneously means that the tokens
   * went bad and we're supposed to create a new, unauthenticated, connection.
+  *
+  * @param aserver Server to connect to.
+  * @param aport Connection port.
+  * @param acell The cell where all of this happens.
+  * @param areq The request.
+  * @param aforce Force connection?
+  * @param locktype Type of lock to be used.
+  *
+  * @return The established connection.
   */
  struct conn *
  afs_ConnByHost(struct server *aserver, unsigned short aport, afs_int32 acell,
***************
*** 313,318 ****
--- 347,364 ----
  }				/*afs_ConnByHost */
  
  
+ /**
+  * Connect by multiple hosts.
+  * Try to connect to one of the hosts from the ahosts array.
+  *
+  * @param ahosts Multiple hosts to connect to.
+  * @param aport Connection port.
+  * @param acell The cell where all of this happens.
+  * @param areq The request.
+  * @param locktype Type of lock to be used.
+  *
+  * @return The established connection or NULL.
+  */
  struct conn *
  afs_ConnByMHosts(struct server *ahosts[], unsigned short aport,
  		 afs_int32 acell, register struct vrequest *areq,
***************
*** 337,342 ****
--- 383,393 ----
  }				/*afs_ConnByMHosts */
  
  
+ /**
+  * Decrement reference count to this connection.
+  * @param ac
+  * @param locktype
+  */
  void
  afs_PutConn(register struct conn *ac, afs_int32 locktype)
  {
***************
*** 345,354 ****
  }				/*afs_PutConn */
  
  
! /* for multi homed clients, an RPC may timeout because of a
! client network interface going down. We need to reopen new 
! connections in this case
! */
  void
  ForceNewConnections(struct srvAddr *sap)
  {
--- 396,408 ----
  }				/*afs_PutConn */
  
  
! /** 
!  * For multi homed clients, a RPC may timeout because of a 
!  * client network interface going down. We need to reopen new 
!  * connections in this case.
!  *
!  * @param sap Server address.
!  */
  void
  ForceNewConnections(struct srvAddr *sap)
  {
Index: openafs/src/afs/afs_dcache.c
diff -c openafs/src/afs/afs_dcache.c:1.64.4.11 openafs/src/afs/afs_dcache.c:1.64.4.13
*** openafs/src/afs/afs_dcache.c:1.64.4.11	Mon Sep 22 15:35:26 2008
--- openafs/src/afs/afs_dcache.c	Sat Nov  8 11:34:42 2008
***************
*** 14,20 ****
  #include "afs/param.h"
  
  RCSID
!     ("$Header: /cvs/openafs/src/afs/afs_dcache.c,v 1.64.4.11 2008/09/22 19:35:26 shadow Exp $");
  
  #include "afs/sysincludes.h"	/*Standard vendor system headers */
  #include "afsincludes.h"	/*AFS-based standard headers */
--- 14,20 ----
  #include "afs/param.h"
  
  RCSID
!     ("$Header: /cvs/openafs/src/afs/afs_dcache.c,v 1.64.4.13 2008/11/08 16:34:42 shadow Exp $");
  
  #include "afs/sysincludes.h"	/*Standard vendor system headers */
  #include "afsincludes.h"	/*AFS-based standard headers */
***************
*** 38,85 ****
   * --------------------- Exported definitions ---------------------
   */
  /* For split cache */
! afs_int32 afs_blocksUsed_0;    /*1K blocks in cache - in theory is zero */
! afs_int32 afs_blocksUsed_1;    /*1K blocks in cache */
! afs_int32 afs_blocksUsed_2;    /*1K blocks in cache */
  afs_int32 afs_pct1 = -1;
  afs_int32 afs_pct2 = -1;
  afs_uint32 afs_tpct1 = 0;
  afs_uint32 afs_tpct2 = 0;
  afs_uint32 splitdcache = 0;
  
! afs_lock_t afs_xdcache;		/*Lock: alloc new disk cache entries */
! afs_int32 afs_freeDCList;	/*Free list for disk cache entries */
! afs_int32 afs_freeDCCount;	/*Count of elts in freeDCList */
! afs_int32 afs_discardDCList;	/*Discarded disk cache entries */
! afs_int32 afs_discardDCCount;	/*Count of elts in discardDCList */
! struct dcache *afs_freeDSList;	/*Free list for disk slots */
! struct dcache *afs_Initial_freeDSList;	/*Initial list for above */
! ino_t cacheInode;		/*Inode for CacheItems file */
! struct osi_file *afs_cacheInodep = 0;	/* file for CacheItems inode */
! struct afs_q afs_DLRU;		/*dcache LRU */
  afs_int32 afs_dhashsize = 1024;
! afs_int32 *afs_dvhashTbl;	/*Data cache hash table */
! afs_int32 *afs_dchashTbl;	/*Data cache hash table */
! afs_int32 *afs_dvnextTbl;	/*Dcache hash table links */
! afs_int32 *afs_dcnextTbl;	/*Dcache hash table links */
! struct dcache **afs_indexTable;	/*Pointers to dcache entries */
! afs_hyper_t *afs_indexTimes;	/*Dcache entry Access times */
! afs_int32 *afs_indexUnique;	/*dcache entry Fid.Unique */
! unsigned char *afs_indexFlags;	/*(only one) Is there data there? */
! afs_hyper_t afs_indexCounter;	/*Fake time for marking index
  				 * entries */
! afs_int32 afs_cacheFiles = 0;	/*Size of afs_indexTable */
! afs_int32 afs_cacheBlocks;	/*1K blocks in cache */
! afs_int32 afs_cacheStats;	/*Stat entries in cache */
! afs_int32 afs_blocksUsed;	/*Number of blocks in use */
! afs_int32 afs_blocksDiscarded;	/*Blocks freed but not truncated */
! afs_int32 afs_fsfragsize = 1023;	/*Underlying Filesystem minimum unit 
  					 *of disk allocation usually 1K
  					 *this value is (truefrag -1 ) to
  					 *save a bunch of subtracts... */
  #ifdef AFS_64BIT_CLIENT
  #ifdef AFS_VM_RDWR_ENV
! afs_size_t afs_vmMappingEnd;	/* for large files (>= 2GB) the VM
  				 * mapping an 32bit addressing machines
  				 * can only be used below the 2 GB
  				 * line. From this point upwards we
--- 38,90 ----
   * --------------------- Exported definitions ---------------------
   */
  /* For split cache */
! afs_int32 afs_blocksUsed_0;    /*!< 1K blocks in cache - in theory is zero */
! afs_int32 afs_blocksUsed_1;    /*!< 1K blocks in cache */
! afs_int32 afs_blocksUsed_2;    /*!< 1K blocks in cache */
  afs_int32 afs_pct1 = -1;
  afs_int32 afs_pct2 = -1;
  afs_uint32 afs_tpct1 = 0;
  afs_uint32 afs_tpct2 = 0;
  afs_uint32 splitdcache = 0;
  
! afs_lock_t afs_xdcache;		/*!< Lock: alloc new disk cache entries */
! afs_int32 afs_freeDCList;	/*!< Free list for disk cache entries */
! afs_int32 afs_freeDCCount;	/*!< Count of elts in freeDCList */
! afs_int32 afs_discardDCList;	/*!< Discarded disk cache entries */
! afs_int32 afs_discardDCCount;	/*!< Count of elts in discardDCList */
! struct dcache *afs_freeDSList;	/*!< Free list for disk slots */
! struct dcache *afs_Initial_freeDSList;	/*!< Initial list for above */
! #if defined(LINUX_USE_FH)
! struct fid cacheitems_fh;
! int cacheitems_fh_type;
! #else
! ino_t cacheInode;               /*!< Inode for CacheItems file */
! #endif
! struct osi_file *afs_cacheInodep = 0;	/*!< file for CacheItems inode */
! struct afs_q afs_DLRU;		/*!< dcache LRU */
  afs_int32 afs_dhashsize = 1024;
! afs_int32 *afs_dvhashTbl;	/*!< Data cache hash table: hashed by FID + chunk number. */
! afs_int32 *afs_dchashTbl;	/*!< Data cache hash table: hashed by FID. */
! afs_int32 *afs_dvnextTbl;	/*!< Dcache hash table links */
! afs_int32 *afs_dcnextTbl;	/*!< Dcache hash table links */
! struct dcache **afs_indexTable;	/*!< Pointers to dcache entries */
! afs_hyper_t *afs_indexTimes;	/*!< Dcache entry Access times */
! afs_int32 *afs_indexUnique;	/*!< dcache entry Fid.Unique */
! unsigned char *afs_indexFlags;	/*!< (only one) Is there data there? */
! afs_hyper_t afs_indexCounter;	/*!< Fake time for marking index
  				 * entries */
! afs_int32 afs_cacheFiles = 0;	/*!< Size of afs_indexTable */
! afs_int32 afs_cacheBlocks;	/*!< 1K blocks in cache */
! afs_int32 afs_cacheStats;	/*!< Stat entries in cache */
! afs_int32 afs_blocksUsed;	/*!< Number of blocks in use */
! afs_int32 afs_blocksDiscarded;	/*!<Blocks freed but not truncated */
! afs_int32 afs_fsfragsize = 1023;	/*!< Underlying Filesystem minimum unit 
  					 *of disk allocation usually 1K
  					 *this value is (truefrag -1 ) to
  					 *save a bunch of subtracts... */
  #ifdef AFS_64BIT_CLIENT
  #ifdef AFS_VM_RDWR_ENV
! afs_size_t afs_vmMappingEnd;	/* !< For large files (>= 2GB) the VM
  				 * mapping an 32bit addressing machines
  				 * can only be used below the 2 GB
  				 * line. From this point upwards we
***************
*** 96,109 ****
  int afs_TruncateDaemonRunning = 0;
  int afs_CacheTooFull = 0;
  
! afs_int32 afs_dcentries;	/* In-memory dcache entries */
  
  
  int dcacheDisabled = 0;
  
  static int afs_UFSCacheFetchProc(), afs_UFSCacheStoreProc();
  struct afs_cacheOps afs_UfsCacheOps = {
      osi_UFSOpen,
      osi_UFSTruncate,
      afs_osi_Read,
      afs_osi_Write,
--- 101,118 ----
  int afs_TruncateDaemonRunning = 0;
  int afs_CacheTooFull = 0;
  
! afs_int32 afs_dcentries;	/*!< In-memory dcache entries */
  
  
  int dcacheDisabled = 0;
  
  static int afs_UFSCacheFetchProc(), afs_UFSCacheStoreProc();
  struct afs_cacheOps afs_UfsCacheOps = {
+ #if defined(LINUX_USE_FH)
+     osi_UFSOpen_fh,
+ #else
      osi_UFSOpen,
+ #endif
      osi_UFSTruncate,
      afs_osi_Read,
      afs_osi_Write,
***************
*** 135,140 ****
--- 144,156 ----
  int cacheDiskType;		/*Type of backing disk for cache */
  struct afs_cacheOps *afs_cacheType;
  
+ /*!
+  * Where is this vcache's entry associated dcache located/
+  * \param avc The vcache entry.
+  * \return Bucket index:
+  *  	1 : main
+  *  	2 : RO
+  */
  static afs_int32
  afs_DCGetBucket(struct vcache *avc) 
  {
***************
*** 153,158 ****
--- 169,182 ----
      return 1;
  }
  
+ /*!
+  * Readjust a dcache's size.
+  *
+  * \param adc The dcache to be adjusted.
+  * \param oldSize Old size for the dcache.
+  * \param newSize The new size to be adjusted to.
+  *
+  */
  static void 
  afs_DCAdjustSize(struct dcache *adc, afs_int32 oldSize, afs_int32 newSize)
  {
***************
*** 180,191 ****
--- 204,224 ----
      return;
  }
  
+ /*!
+  * Move a dcache from one bucket to another.
+  * 
+  * \param adc Operate on this dcache.
+  * \param size Size in bucket (?).
+  * \param newBucket Destination bucket.
+  *
+  */
  static void 
  afs_DCMoveBucket(struct dcache *adc, afs_int32 size, afs_int32 newBucket)
  {
      if (!splitdcache) 
  	return;
  
+     /* Substract size from old bucket. */	
      switch (adc->bucket) 
      {
      case 0:
***************
*** 199,204 ****
--- 232,238 ----
  	break;
      }
  
+     /* Set new bucket and increase destination bucket size. */
      adc->bucket = newBucket;
  
      switch (adc->bucket) 
***************
*** 217,228 ****
--- 251,270 ----
      return;
  }
  
+ /*!
+  * Init split caches size.
+  */
  static void 
  afs_DCSizeInit(void) 
  {
      afs_blocksUsed_0 = afs_blocksUsed_1 = afs_blocksUsed_2 = 0;
  }
  
+ 
+ /*!
+  * \param phase
+  * \param bucket
+  */
  static afs_int32
  afs_DCWhichBucket(afs_int32 phase, afs_int32 bucket) 
  {
***************
*** 244,264 ****
  }
  
  
! /*
!  * afs_StoreWarn
   *
!  * Description:
!  *	Warn about failing to store a file.
   *
!  * Parameters:
!  *	acode   : Associated error code.
!  *	avolume : Volume involved.
!  *	aflags  : How to handle the output:
!  *			aflags & 1: Print out on console
!  *			aflags & 2: Print out on controlling tty
!  *
!  * Environment:
!  *	Call this from close call when vnodeops is RCS unlocked.
   */
  
  void
--- 286,301 ----
  }
  
  
! /*!
!  * Warn about failing to store a file.
   *
!  * \param acode Associated error code.
!  * \param avolume Volume involved.
!  * \param aflags How to handle the output:
!  *	aflags & 1: Print out on console
!  *	aflags & 2: Print out on controlling tty
   *
!  * \note Environment: Call this from close call when vnodeops is RCS unlocked.
   */
  
  void
***************
*** 316,321 ****
--- 353,361 ----
      }
  }				/*afs_StoreWarn */
  
+ /*!
+  * Try waking up truncation daemon, if it's worth it.
+  */
  void
  afs_MaybeWakeupTruncateDaemon(void)
  {
***************
*** 329,335 ****
      }
  }
  
! /* Keep statistics on run time for afs_CacheTruncateDaemon. This is a
   * struct so we need only export one symbol for AIX.
   */
  static struct CTD_stats {
--- 369,378 ----
      }
  }
  
! /*!
!  * /struct CTD_stats
!  *
!  * Keep statistics on run time for afs_CacheTruncateDaemon. This is a
   * struct so we need only export one symbol for AIX.
   */
  static struct CTD_stats {
***************
*** 341,346 ****
--- 384,395 ----
  } CTD_stats;
  
  u_int afs_min_cache = 0;
+ 
+ /*!
+  * Keeps the cache clean and free by truncating uneeded files, when used.
+  * \param  
+  * \return 
+  */
  void
  afs_CacheTruncateDaemon(void)
  {
***************
*** 374,380 ****
  	    }
  	    if (!afs_CacheIsTooFull())
  		afs_CacheTooFull = 0;
! 	}
  	MReleaseWriteLock(&afs_xdcache);
  
  	/*
--- 423,429 ----
  	    }
  	    if (!afs_CacheIsTooFull())
  		afs_CacheTooFull = 0;
! 	}	/* end of cache cleanup */
  	MReleaseWriteLock(&afs_xdcache);
  
  	/*
***************
*** 431,450 ****
  }
  
  
! /*
!  * afs_AdjustSize
!  *
!  * Description:
!  * 	Make adjustment for the new size in the disk cache entry
   *
!  * Major Assumptions Here:
   *      Assumes that frag size is an integral power of two, less one,
   *      and that this is a two's complement machine.  I don't
   *      know of any filesystems which violate this assumption...
   *
!  * Parameters:
!  *	adc	 : Ptr to dcache entry.
!  *	anewsize : New size desired.
   */
  
  void
--- 480,496 ----
  }
  
  
! /*!
!  * Make adjustment for the new size in the disk cache entry
   *
!  * \note Major Assumptions Here:
   *      Assumes that frag size is an integral power of two, less one,
   *      and that this is a two's complement machine.  I don't
   *      know of any filesystems which violate this assumption...
   *
!  * \param adc Ptr to dcache entry.
!  * \param anewsize New size desired.
!  *
   */
  
  void
***************
*** 471,488 ****
  }
  
  
! /*
!  * afs_GetDownD
!  *
!  * Description:
!  *	This routine is responsible for moving at least one entry (but up
!  *	to some number of them) from the LRU queue to the free queue.
   *
!  * Parameters:
!  *	anumber	   : Number of entries that should ideally be moved.
!  *	aneedSpace : How much space we need (1K blocks);
   *
!  * Environment:
   *	The anumber parameter is just a hint; at least one entry MUST be
   *	moved, or we'll panic.  We must be called with afs_xdcache
   *	write-locked.  We should try to satisfy both anumber and aneedspace,
--- 517,530 ----
  }
  
  
! /*!
!  * This routine is responsible for moving at least one entry (but up
!  * to some number of them) from the LRU queue to the free queue.
   *
!  * \param anumber Number of entries that should ideally be moved.
!  * \param aneedSpace How much space we need (1K blocks);
   *
!  * \note Environment:
   *	The anumber parameter is just a hint; at least one entry MUST be
   *	moved, or we'll panic.  We must be called with afs_xdcache
   *	write-locked.  We should try to satisfy both anumber and aneedspace,
***************
*** 491,497 ****
   *          the whole set of MAXATONCE.
   *      2.  dynamically choose MAXATONCE to reflect severity of
   *          demand: something like (*aneedSpace >> (logChunk - 9)) 
!  *  N.B. if we're called with aneedSpace <= 0 and anumber > 0, that
   *  indicates that the cache is not properly configured/tuned or
   *  something. We should be able to automatically correct that problem.
   */
--- 533,540 ----
   *          the whole set of MAXATONCE.
   *      2.  dynamically choose MAXATONCE to reflect severity of
   *          demand: something like (*aneedSpace >> (logChunk - 9)) 
!  *
!  *  \note N.B. if we're called with aneedSpace <= 0 and anumber > 0, that
   *  indicates that the cache is not properly configured/tuned or
   *  something. We should be able to automatically correct that problem.
   */
***************
*** 793,799 ****
  		}
  	    }
  	    afs_PutDCache(tdc);
! 	}
  
  	if (phase < 5) {
  	    /* Phase is 0 and no one was found, so try phase 1 (ignore
--- 836,842 ----
  		}
  	    }
  	    afs_PutDCache(tdc);
! 	} 			/* end of for victims loop */
  
  	if (phase < 5) {
  	    /* Phase is 0 and no one was found, so try phase 1 (ignore
***************
*** 820,833 ****
  }				/*afs_GetDownD */
  
  
! /*
!  * Description: remove adc from any hash tables that would allow it to be located
   * again by afs_FindDCache or afs_GetDCache.
   *
!  * Parameters: adc -- pointer to dcache entry to remove from hash tables.
!  *	       zap -- zap the given dcache ?
   *
-  * Locks: Must have the afs_xdcache lock write-locked to call this function.
   */
  int
  afs_HashOutDCache(struct dcache *adc, int zap)
--- 863,876 ----
  }				/*afs_GetDownD */
  
  
! /*!
!  * Remove adc from any hash tables that would allow it to be located
   * again by afs_FindDCache or afs_GetDCache.
   *
!  * \param adc Pointer to dcache entry to remove from hash tables.
!  *
!  * \note Locks: Must have the afs_xdcache lock write-locked to call this function.
   *
   */
  int
  afs_HashOutDCache(struct dcache *adc, int zap)
***************
*** 895,915 ****
      return 0;
  }				/*afs_HashOutDCache */
  
! /*
!  * afs_FlushDCache
!  *
!  * Description:
!  *	Flush the given dcache entry, pulling it from hash chains
!  *	and truncating the associated cache file.
   *
!  * Arguments:
!  *	adc: Ptr to dcache entry to flush.
   *
!  * Environment:
   *	This routine must be called with the afs_xdcache lock held
!  *	(in write mode)
   */
- 
  void
  afs_FlushDCache(register struct dcache *adc)
  {
--- 938,953 ----
      return 0;
  }				/*afs_HashOutDCache */
  
! /*!
!  * Flush the given dcache entry, pulling it from hash chains
!  * and truncating the associated cache file.
   *
!  * \param adc Ptr to dcache entry to flush.
   *
!  * \note Environment:
   *	This routine must be called with the afs_xdcache lock held
!  *	(in write mode).
   */
  void
  afs_FlushDCache(register struct dcache *adc)
  {
***************
*** 944,957 ****
  }				/*afs_FlushDCache */
  
  
! /*
!  * afs_FreeDCache
!  *
!  * Description: put a dcache entry on the free dcache entry list.
   *
!  * Parameters: adc -- dcache entry to free
   *
!  * Environment: called with afs_xdcache lock write-locked.
   */
  static void
  afs_FreeDCache(register struct dcache *adc)
--- 982,993 ----
  }				/*afs_FlushDCache */
  
  
! /*!
!  * Put a dcache entry on the free dcache entry list.
   *
!  * \param adc dcache entry to free.
   *
!  * \note Environment: called with afs_xdcache lock write-locked.
   */
  static void
  afs_FreeDCache(register struct dcache *adc)
***************
*** 974,998 ****
  	    afs_osi_Wakeup(&afs_WaitForCacheDrain);
  	}
      }
! }
  
! /*
!  * afs_DiscardDCache
!  *
!  * Description:
!  * 	Discard the cache element by moving it to the discardDCList.
!  *      This puts the cache element into a quasi-freed state, where
!  *      the space may be reused, but the file has not been truncated.
   *
!  * Major Assumptions Here:
   *      Assumes that frag size is an integral power of two, less one,
   *      and that this is a two's complement machine.  I don't
   *      know of any filesystems which violate this assumption...
   *
!  * Parameters:
!  *	adc	 : Ptr to dcache entry.
   *
!  * Environment:
   *	Must be called with afs_xdcache write-locked.
   */
  
--- 1010,1030 ----
  	    afs_osi_Wakeup(&afs_WaitForCacheDrain);
  	}
      }
! }				/* afs_FreeDCache */
  
! /*!
!  * Discard the cache element by moving it to the discardDCList.
!  * This puts the cache element into a quasi-freed state, where
!  * the space may be reused, but the file has not been truncated.
   *
!  * \note Major Assumptions Here:
   *      Assumes that frag size is an integral power of two, less one,
   *      and that this is a two's complement machine.  I don't
   *      know of any filesystems which violate this assumption...
   *
!  * \param adr Ptr to dcache entry.
   *
!  * \note Environment:
   *	Must be called with afs_xdcache write-locked.
   */
  
***************
*** 1027,1037 ****
  
  }				/*afs_DiscardDCache */
  
! /*
!  * afs_FreeDiscardedDCache
!  *
!  * Description:
!  *     Free the next element on the list of discarded cache elements.
   */
  static void
  afs_FreeDiscardedDCache(void)
--- 1059,1066 ----
  
  }				/*afs_DiscardDCache */
  
! /*!
!  * Free the next element on the list of discarded cache elements.
   */
  static void
  afs_FreeDiscardedDCache(void)
***************
*** 1068,1074 ****
--- 1097,1107 ----
      /*
       * Truncate the element to reclaim its space
       */
+ #if defined(LINUX_USE_FH)
+     tfile = afs_CFileOpen(&tdc->f.fh, tdc->f.fh_type);
+ #else
      tfile = afs_CFileOpen(tdc->f.inode);
+ #endif
      afs_CFileTruncate(tfile, 0);
      afs_CFileClose(tfile);
      afs_AdjustSize(tdc, 0);
***************
*** 1086,1100 ****
      MReleaseWriteLock(&afs_xdcache);
  }
  
! /*
!  * afs_MaybeFreeDiscardedDCache
!  *
!  * Description:
!  *      Free as many entries from the list of discarded cache elements
!  *      as we need to get the free space down below CM_WAITFORDRAINPCT (98%).
   *
!  * Parameters:
!  *      None
   */
  int
  afs_MaybeFreeDiscardedDCache(void)
--- 1119,1129 ----
      MReleaseWriteLock(&afs_xdcache);
  }
  
! /*!
!  * Free as many entries from the list of discarded cache elements
!  * as we need to get the free space down below CM_WAITFORDRAINPCT (98%).
   *
!  * \return 0
   */
  int
  afs_MaybeFreeDiscardedDCache(void)
***************
*** 1110,1126 ****
      return 0;
  }
  
! /*
!  * afs_GetDownDSlot
!  *
!  * Description:
!  *	Try to free up a certain number of disk slots.
   *
!  * Parameters:
!  *	anumber : Targeted number of disk slots to free up.
   *
!  * Environment:
   *	Must be called with afs_xdcache write-locked.
   */
  static void
  afs_GetDownDSlot(int anumber)
--- 1139,1152 ----
      return 0;
  }
  
! /*!
!  * Try to free up a certain number of disk slots.
   *
!  * \param anumber Targeted number of disk slots to free up.
   *
!  * \note Environment:
   *	Must be called with afs_xdcache write-locked.
+  *
   */
  static void
  afs_GetDownDSlot(int anumber)
***************
*** 1703,1709 ****
--- 1729,1739 ----
  	afs_stats_cmperf.cacheBlocksDiscarded = afs_blocksDiscarded;
  	if (lock & 2) {
  	    /* Truncate the chunk so zeroes get filled properly */
+ #if defined(LINUX_USE_FH)
+ 	    file = afs_CFileOpen(&tdc->f.fh, tdc->f.fh_type);
+ #else
  	    file = afs_CFileOpen(tdc->f.inode);
+ #endif
  	    afs_CFileTruncate(file, 0);
  	    afs_CFileClose(file);
  	    afs_AdjustSize(tdc, 0);
***************
*** 2121,2127 ****
--- 2151,2161 ----
  	    /* no data in file to read at this position */
  	    UpgradeSToWLock(&tdc->lock, 607);
  
+ #if defined(LINUX_USE_FH)
+ 	    file = afs_CFileOpen(&tdc->f.fh, tdc->f.fh_type);
+ #else
  	    file = afs_CFileOpen(tdc->f.inode);
+ #endif
  	    afs_CFileTruncate(file, 0);
  	    afs_CFileClose(file);
  	    afs_AdjustSize(tdc, 0);
***************
*** 2308,2314 ****
--- 2342,2352 ----
  	 * fetch the whole file.
  	 */
  	DZap(tdc);	/* pages in cache may be old */
+ #if defined(LINUX_USE_FH)
+ 	file = afs_CFileOpen(&tdc->f.fh, tdc->f.fh_type);
+ #else
  	file = afs_CFileOpen(tdc->f.inode);
+ #endif
  	afs_RemoveVCB(&avc->fid);
  	tdc->f.states |= DWriting;
  	tdc->dflags |= DFFetching;
***************
*** 3188,3205 ****
  
  
  
! /*
!  * afs_WriteDCache
!  *
!  * Description:
!  *	write a particular dcache entry back to its home in the
!  *	CacheInfo file.
   *
!  * Parameters:
!  *	adc   : Pointer to the dcache entry to write.
!  *	atime : If true, set the modtime on the file to the current time.
   *
!  * Environment:
   *	Must be called with the afs_xdcache lock at least read-locked,
   *	and dcache entry at least read-locked.
   *	The reference count is not changed.
--- 3226,3239 ----
  
  
  
! /*!
!  * Write a particular dcache entry back to its home in the
!  * CacheInfo file.
   *
!  * \param adc Pointer to the dcache entry to write.
!  * \param atime If true, set the modtime on the file to the current time.
   *
!  * \note Environment:
   *	Must be called with the afs_xdcache lock at least read-locked,
   *	and dcache entry at least read-locked.
   *	The reference count is not changed.
***************
*** 3232,3251 ****
  
  
  
! /*
!  * afs_wakeup
!  *
!  * Description:
!  *	Wake up users of a particular file waiting for stores to take
!  *	place.
   *
!  * Parameters:
!  *	avc : Ptr to related vcache entry.
   *
!  * Environment:
   *	Nothing interesting.
   */
- 
  int
  afs_wakeup(register struct vcache *avc)
  {
--- 3266,3280 ----
  
  
  
! /*!
!  * Wake up users of a particular file waiting for stores to take
!  * place.
   *
!  * \param avc Ptr to related vcache entry.
   *
!  * \note Environment:
   *	Nothing interesting.
   */
  int
  afs_wakeup(register struct vcache *avc)
  {
***************
*** 3281,3302 ****
  }
  
  
! /*
!  * afs_InitCacheFile
!  *
!  * Description:
!  *	Given a file name and inode, set up that file to be an
!  *	active member in the AFS cache.  This also involves checking
!  *	the usability of its data.
   *
!  * Parameters:
!  *	afile  : Name of the cache file to initialize.
!  *	ainode : Inode of the file.
   *
!  * Environment:
   *	This function is called only during initialization.
   */
- 
  int
  afs_InitCacheFile(char *afile, ino_t ainode)
  {
--- 3310,3326 ----
  }
  
  
! /*!
!  * Given a file name and inode, set up that file to be an
!  * active member in the AFS cache.  This also involves checking
!  * the usability of its data.
   *
!  * \param afile Name of the cache file to initialize.
!  * \param ainode Inode of the file.
   *
!  * \note Environment:
   *	This function is called only during initialization.
   */
  int
  afs_InitCacheFile(char *afile, ino_t ainode)
  {
***************
*** 3311,3316 ****
--- 3335,3343 ----
      struct osi_file *tfile;
      struct osi_stat tstat;
      register struct dcache *tdc;
+ #if defined(LINUX_USE_FH)
+     int max_len = sizeof(struct fid);
+ #endif
  
      AFS_STATCNT(afs_InitCacheFile);
      index = afs_stats_cmperf.cacheNumEntries;
***************
*** 3338,3345 ****
  	 * UFS file system, and just record the inode number.
  	 */
  #ifdef AFS_LINUX22_ENV
! 	tdc->f.inode = VTOI(filevp->d_inode)->i_number;
! 	dput(filevp);
  #else
  	tdc->f.inode = afs_vnodeToInumber(filevp);
  	AFS_RELE(filevp);
--- 3365,3375 ----
  	 * UFS file system, and just record the inode number.
  	 */
  #ifdef AFS_LINUX22_ENV
! #if defined(LINUX_USE_FH)
!         tdc->f.fh_type = osi_get_fh(filevp, &tdc->f.fh, &max_len);
! #else
!         tdc->f.inode = VTOI(filevp->d_inode)->i_number;
! #endif
  #else
  	tdc->f.inode = afs_vnodeToInumber(filevp);
  	AFS_RELE(filevp);
***************
*** 3350,3356 ****
      fileIsBad = 0;
      if ((tdc->f.states & DWriting) || tdc->f.fid.Fid.Volume == 0)
  	fileIsBad = 1;
!     tfile = osi_UFSOpen(tdc->f.inode);
      code = afs_osi_Stat(tfile, &tstat);
      if (code)
  	osi_Panic("initcachefile stat");
--- 3380,3390 ----
      fileIsBad = 0;
      if ((tdc->f.states & DWriting) || tdc->f.fid.Fid.Volume == 0)
  	fileIsBad = 1;
! #if defined(LINUX_USE_FH)
!     tfile = osi_UFSOpen_fh(&tdc->f.fh, tdc->f.fh_type);
! #else
!     tfile = osi_UFSOpen(ainode);
! #endif
      code = afs_osi_Stat(tfile, &tstat);
      if (code)
  	osi_Panic("initcachefile stat");
***************
*** 3436,3446 ****
   */
  #define DDSIZE 200
  
! /* 
!  * afs_dcacheInit
   *
-  * Description:
-  *	Initialize dcache related variables.
   */
  void
  afs_dcacheInit(int afiles, int ablocks, int aDentries, int achunk, int aflags)
--- 3470,3484 ----
   */
  #define DDSIZE 200
  
! /*!
!  * Initialize dcache related variables.
!  *
!  * \param afiles
!  * \param ablocks 
!  * \param aDentries
!  * \param achunk
!  * \param aflags
   *
   */
  void
  afs_dcacheInit(int afiles, int ablocks, int aDentries, int achunk, int aflags)
***************
*** 3564,3571 ****
      QInit(&afs_DLRU);
  }
  
! /*
!  * shutdown_dcache
   *
   */
  void
--- 3602,3609 ----
      QInit(&afs_DLRU);
  }
  
! /*!
!  * Shuts down the cache.
   *
   */
  void
Index: openafs/src/afs/afs_init.c
diff -c openafs/src/afs/afs_init.c:1.37.4.8 openafs/src/afs/afs_init.c:1.37.4.9
*** openafs/src/afs/afs_init.c:1.37.4.8	Mon Sep 22 15:29:54 2008
--- openafs/src/afs/afs_init.c	Sat Nov  8 11:34:42 2008
***************
*** 17,23 ****
  #include "afs/param.h"
  
  RCSID
!     ("$Header: /cvs/openafs/src/afs/afs_init.c,v 1.37.4.8 2008/09/22 19:29:54 shadow Exp $");
  
  #include "afs/stds.h"
  #include "afs/sysincludes.h"	/* Standard vendor system headers */
--- 17,23 ----
  #include "afs/param.h"
  
  RCSID
!     ("$Header: /cvs/openafs/src/afs/afs_init.c,v 1.37.4.9 2008/11/08 16:34:42 shadow Exp $");
  
  #include "afs/stds.h"
  #include "afs/sysincludes.h"	/* Standard vendor system headers */
***************
*** 252,260 ****
--- 252,270 ----
  {
      ino_t inode;
      int code;
+ #if defined(LINUX_USE_FH)
+     struct fid fh;
+     int fh_type;
+     int max_len = sizeof(struct fid);
+     struct dentry *dp;
+ #endif
  
  #ifdef AFS_CACHE_VNODE_PATH
      return afs_cellname_init(AFS_CACHE_CELLS_INODE, code);
+ #elif defined(LINUX_USE_FH)
+     code = gop_lookupname(afile, AFS_UIOSYS, 0, &dp);
+     fh_type = osi_get_fh(dp, &fh, &max_len);
+     return afs_cellname_init(&fh, fh_type, code);
  #else
      code = LookupInodeByPath(afile, &inode, NULL);
      return afs_cellname_init(inode, code);
***************
*** 282,287 ****
--- 292,301 ----
  {
      int code;
      struct osi_file *tfile;
+ #if defined(LINUX_USE_FH)
+     int max_len = sizeof(struct fid);
+     struct dentry *dp;
+ #endif
  
      AFS_STATCNT(afs_InitVolumeInfo);
  #if defined(AFS_XBSD_ENV)
***************
*** 301,312 ****
--- 315,333 ----
      code = LookupInodeByPath(afile, &volumeInode, &volumeVnode);
  #elif defined(AFS_CACHE_VNODE_PATH)
      volumeInode = AFS_CACHE_VOLUME_INODE;
+ #elif defined(LINUX_USE_FH)
+     code = gop_lookupname(afile, AFS_UIOSYS, 0, &dp);
+     volumeinfo_fh_type = osi_get_fh(dp, &volumeinfo_fh, &max_len);
  #else
      code = LookupInodeByPath(afile, &volumeInode, NULL);
  #endif
      if (code)
  	return code;
+ #if defined(LINUX_USE_FH)
+     tfile = osi_UFSOpen_fh(&volumeinfo_fh, volumeinfo_fh_type);
+ #else
      tfile = afs_CFileOpen(volumeInode);
+ #endif
      afs_CFileTruncate(tfile, 0);
      afs_CFileClose(tfile);
      return 0;
***************
*** 443,449 ****
--- 464,474 ----
  #endif /* AFS_LINUX20_ENV */
      AFS_RELE(filevp);
  #endif /* AFS_LINUX22_ENV */
+ #if defined(LINUX_USE_FH)
+     tfile = osi_UFSOpen_fh(&cacheitems_fh, cacheitems_fh_type);
+ #else
      tfile = osi_UFSOpen(cacheInode);
+ #endif
      afs_osi_Stat(tfile, &tstat);
      cacheInfoModTime = tstat.mtime;
      code = afs_osi_Read(tfile, -1, &theader, sizeof(theader));
***************
*** 668,675 ****
  	    cacheDev.held_vnode = NULL;
  	}
  #endif
  	cacheInode = volumeInode = (ino_t) 0;
! 
  	cacheInfoModTime = 0;
  
  	afs_fsfragsize = 1023;
--- 693,701 ----
  	    cacheDev.held_vnode = NULL;
  	}
  #endif
+ #if !defined(LINUX_USE_FH)
  	cacheInode = volumeInode = (ino_t) 0;
! #endif
  	cacheInfoModTime = 0;
  
  	afs_fsfragsize = 1023;
Index: openafs/src/afs/afs_osi_gcpags.c
diff -c openafs/src/afs/afs_osi_gcpags.c:1.1.2.6 openafs/src/afs/afs_osi_gcpags.c:1.1.2.8
*** openafs/src/afs/afs_osi_gcpags.c:1.1.2.6	Tue Apr  3 14:54:15 2007
--- openafs/src/afs/afs_osi_gcpags.c	Sun Oct 12 14:44:36 2008
***************
*** 11,17 ****
  #include "afs/param.h"
  
  RCSID
!     ("$Header: /cvs/openafs/src/afs/afs_osi_gcpags.c,v 1.1.2.6 2007/04/03 18:54:15 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/afs_osi_gcpags.c,v 1.1.2.8 2008/10/12 18:44:36 shadow Exp $");
  
  #include "afs/sysincludes.h"	/* Standard vendor system headers */
  #include "afsincludes.h"	/* Afs-based standard headers */
***************
*** 234,250 ****
  {
  #if !defined(LINUX_KEYRING_SUPPORT)
      struct task_struct *p;
! #ifdef EXPORTED_TASKLIST_LOCK
      if (&tasklist_lock)
!        read_lock(&tasklist_lock);
! #endif
! #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,16)
! #ifdef EXPORTED_TASKLIST_LOCK
      else
! #endif
  	rcu_read_lock();
! #endif
! 
  #ifdef DEFINED_FOR_EACH_PROCESS
      for_each_process(p) if (p->pid) {
  #ifdef STRUCT_TASK_STRUCT_HAS_EXIT_STATE
--- 234,251 ----
  {
  #if !defined(LINUX_KEYRING_SUPPORT)
      struct task_struct *p;
! 
! #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,18) && defined(EXPORTED_TASKLIST_LOCK)
      if (&tasklist_lock)
! 	read_lock(&tasklist_lock);
! #endif /* EXPORTED_TASKLIST_LOCK */
! #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,16) 
! #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,18) && defined(EXPORTED_TASKLIST_LOCK)
      else
! #endif /* EXPORTED_TASKLIST_LOCK && LINUX_VERSION_CODE < KERNEL_VERSION(2,6,18) */
  	rcu_read_lock();
! #endif /* LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,16) */
!     
  #ifdef DEFINED_FOR_EACH_PROCESS
      for_each_process(p) if (p->pid) {
  #ifdef STRUCT_TASK_STRUCT_HAS_EXIT_STATE
***************
*** 268,283 ****
  	afs_GCPAGs_perproc_func(p);
      }
  #endif
! #ifdef EXPORTED_TASKLIST_LOCK
      if (&tasklist_lock)
!        read_unlock(&tasklist_lock);
! #endif
! #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,16)
! #ifdef EXPORTED_TASKLIST_LOCK
      else
! #endif
  	rcu_read_unlock();
! #endif
  #endif
  }
  #endif
--- 269,284 ----
  	afs_GCPAGs_perproc_func(p);
      }
  #endif
! #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,18) && defined(EXPORTED_TASKLIST_LOCK)
      if (&tasklist_lock)
! 	read_unlock(&tasklist_lock);
! #endif /* EXPORTED_TASKLIST_LOCK */
! #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,16) 
! #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,18) && defined(EXPORTED_TASKLIST_LOCK)
      else
! #endif /* EXPORTED_TASKLIST_LOCK && LINUX_VERSION_CODE < KERNEL_VERSION(2,6,18) */
  	rcu_read_unlock();
! #endif /* LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,16) */
  #endif
  }
  #endif
Index: openafs/src/afs/afs_osi_pag.c
diff -c openafs/src/afs/afs_osi_pag.c:1.29.4.12 openafs/src/afs/afs_osi_pag.c:1.29.4.14
*** openafs/src/afs/afs_osi_pag.c:1.29.4.12	Fri Jan  4 13:38:34 2008
--- openafs/src/afs/afs_osi_pag.c	Mon Oct 20 15:29:36 2008
***************
*** 23,29 ****
  #include "afs/param.h"
  
  RCSID
!     ("$Header: /cvs/openafs/src/afs/afs_osi_pag.c,v 1.29.4.12 2008/01/04 18:38:34 shadow Exp $");
  
  #include "afs/sysincludes.h"	/* Standard vendor system headers */
  #include "afsincludes.h"	/* Afs-based standard headers */
--- 23,29 ----
  #include "afs/param.h"
  
  RCSID
!     ("$Header: /cvs/openafs/src/afs/afs_osi_pag.c,v 1.29.4.14 2008/10/20 19:29:36 shadow Exp $");
  
  #include "afs/sysincludes.h"	/* Standard vendor system headers */
  #include "afsincludes.h"	/* Afs-based standard headers */
***************
*** 430,441 ****
--- 430,448 ----
  afs_InitReq(register struct vrequest *av, struct AFS_UCRED *acred)
  {
      int code;
+     int i = 0;
  
      AFS_STATCNT(afs_InitReq);
      memset(av, 0, sizeof(*av));
      if (afs_shuttingdown)
  	return EIO;
  
+     av->idleError = 0;
+     av->tokenError = 0;
+     while (i < MAXHOSTS) {
+       av->skipserver[i] = 0;
+       i++;
+     }
  #ifdef AFS_LINUX26_ENV
  #if !defined(AFS_NONFSTRANS)
      if (osi_linux_nfs_initreq(av, acred, &code))
Index: openafs/src/afs/afs_osidnlc.c
diff -c openafs/src/afs/afs_osidnlc.c:1.13.2.2 openafs/src/afs/afs_osidnlc.c:1.13.2.3
*** openafs/src/afs/afs_osidnlc.c:1.13.2.2	Tue Aug 26 10:01:31 2008
--- openafs/src/afs/afs_osidnlc.c	Fri Oct 10 19:24:28 2008
***************
*** 11,17 ****
  #include "afs/param.h"
  
  RCSID
!     ("$Header: /cvs/openafs/src/afs/afs_osidnlc.c,v 1.13.2.2 2008/08/26 14:01:31 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/afs_osidnlc.c,v 1.13.2.3 2008/10/10 23:24:28 shadow Exp $");
  
  #include "afs/sysincludes.h"	/*Standard vendor system headers */
  #include "afsincludes.h"	/*AFS-based standard headers */
***************
*** 25,31 ****
   *    look into interactions of dnlc and readdir.
   *    cache larger names, perhaps by using a better,longer key (SHA) and discarding
   *    the actual name itself.
!  *    precompute a key and stuff for @sys, and combine the HandleAtName function with
   *    this, since we're looking at the name anyway.  
   */
  
--- 25,31 ----
   *    look into interactions of dnlc and readdir.
   *    cache larger names, perhaps by using a better,longer key (SHA) and discarding
   *    the actual name itself.
!  *    precompute a key and stuff for \sys, and combine the HandleAtName function with
   *    this, since we're looking at the name anyway.  
   */
  
***************
*** 412,421 ****
      return 0;
  }
  
! /* remove anything pertaining to this directory.  I can invalidate
   * things without the lock, since I am just looking through the array,
   * but to move things off the lists or into the freelist, I need the
!  * write lock */
  int
  osi_dnlc_purgedp(struct vcache *adp)
  {
--- 412,426 ----
      return 0;
  }
  
! /*! 
!  * Remove anything pertaining to this directory.  I can invalidate
   * things without the lock, since I am just looking through the array,
   * but to move things off the lists or into the freelist, I need the
!  * write lock 
!  *
!  * \param adp vcache entry for the directory to be purged.
!  * \return 0
!  */
  int
  osi_dnlc_purgedp(struct vcache *adp)
  {
***************
*** 454,460 ****
      return 0;
  }
  
! /* remove anything pertaining to this file */
  int
  osi_dnlc_purgevp(struct vcache *avc)
  {
--- 459,470 ----
      return 0;
  }
  
! /*! 
!  * Remove anything pertaining to this file 
!  *
!  * \param File vcache entry.
!  * \return 0
!  */
  int
  osi_dnlc_purgevp(struct vcache *avc)
  {
Index: openafs/src/afs/afs_pioctl.c
diff -c openafs/src/afs/afs_pioctl.c:1.110.2.20 openafs/src/afs/afs_pioctl.c:1.110.2.21
*** openafs/src/afs/afs_pioctl.c:1.110.2.20	Mon Sep 22 15:35:26 2008
--- openafs/src/afs/afs_pioctl.c	Fri Oct 10 19:27:02 2008
***************
*** 11,17 ****
  #include "afs/param.h"
  
  RCSID
!     ("$Header: /cvs/openafs/src/afs/afs_pioctl.c,v 1.110.2.20 2008/09/22 19:35:26 shadow Exp $");
  
  #include "afs/sysincludes.h"	/* Standard vendor system headers */
  #ifdef AFS_OBSD_ENV
--- 11,17 ----
  #include "afs/param.h"
  
  RCSID
!     ("$Header: /cvs/openafs/src/afs/afs_pioctl.c,v 1.110.2.21 2008/10/10 23:27:02 shadow Exp $");
  
  #include "afs/sysincludes.h"	/* Standard vendor system headers */
  #ifdef AFS_OBSD_ENV
***************
*** 41,46 ****
--- 41,61 ----
  afs_int32 afs_in_sync = 0;
  #endif
  
+ /*!
+  * \defgroup pioctl Path IOCTL functions
+  *
+  * DECL_PIOCTL is a macro defined to contain the following parameters for functions:
+  *
+  * \param[in] avc	the AFS vcache structure in use by pioctl
+  * \param[in] afun	not in use
+  * \param[in] areq	the AFS vrequest structure
+  * \param[in] ain	as defined by the function
+  * \param[in] aout	as defined by the function
+  * \param[in] ainSize	size of ain
+  * \param[in] aoutSize	size of aout
+  * \param[in] acred	UNIX credentials structure underlying the operation
+  */
+ 
  #define DECL_PIOCTL(x) static int x(struct vcache *avc, int afun, struct vrequest *areq, \
  	char *ain, char *aout, afs_int32 ainSize, afs_int32 *aoutSize, \
  	struct AFS_UCRED **acred)
***************
*** 1127,1132 ****
--- 1142,1159 ----
      return afs_CheckCode(code, &treq, 41);
  }
  
+ /*!
+  * VIOCETFID (22) - Get file ID quickly
+  *
+  * \ingroup pioctl
+  *
+  * \param[in] ain	not in use
+  * \param[out] aout	not in use
+  *
+  * \retval EINVAL	Error if some of the initial arguments aren't set
+  *
+  * \post get the file id of some file
+  */
  DECL_PIOCTL(PGetFID)
  {
      AFS_STATCNT(PGetFID);
***************
*** 1137,1142 ****
--- 1164,1186 ----
      return 0;
  }
  
+ /*!
+  * VIOCSETAL (1) - Set access control list
+  *
+  * \ingroup pioctl
+  *
+  * \param[in] ain	the ACL being set
+  * \param[out] aout	the ACL being set returned
+  *
+  * \retval EINVAL	Error if some of the standard args aren't set
+  *
+  * \post Changed ACL, via direct writing to the wire
+  */
+ int dummy_PSetAcl(char *ain, char *aout)
+ {
+     return 0;
+ }
+ 
  DECL_PIOCTL(PSetAcl)
  {
      register afs_int32 code;
***************
*** 1182,1187 ****
--- 1226,1244 ----
  
  int afs_defaultAsynchrony = 0;
  
+ /*!
+  * VIOC_STOREBEHIND (47) Adjust store asynchrony
+  *
+  * \ingroup pioctl
+  *
+  * \param[in] ain	sbstruct (store behind structure) input
+  * \param[out] aout	resulting sbstruct
+  *
+  * \retval EPERM	Error if the user doesn't have super-user credentials
+  * \retval EACCES	Error if there isn't enough access to not check the mode bits
+  *
+  * \post sets asynchrony based on a file, from a struct sbstruct "I THINK"
+  */
  DECL_PIOCTL(PStoreBehind)
  {
      afs_int32 code = 0;
***************
*** 1213,1218 ****
--- 1270,1287 ----
      return code;
  }
  
+ /*!
+  * VIOC_GCPAGS (48) - Disable automatic PAG gc'ing
+  *
+  * \ingroup pioctl
+  *
+  * \param[in] ain	not in use
+  * \param[out] aout	not in use
+  *
+  * \retval EACCES	Error if the user doesn't have super-user credentials
+  *
+  * \post set the gcpags to GCPAGS_USERDISABLED
+  */
  DECL_PIOCTL(PGCPAGs)
  {
      if (!afs_osi_suser(*acred)) {
***************
*** 1222,1227 ****
--- 1291,1312 ----
      return 0;
  }
  
+ /*!
+  * VIOCGETAL (2) - Get access control list
+  *
+  * \ingroup pioctl
+  *
+  * \param[in] ain	not in use
+  * \param[out] aout	the ACL
+  *
+  * \retval EINVAL	Error if some of the standard args aren't set
+  * \retval ERANGE	Error if the vnode of the file id is too large
+  * \retval -1		Error if getting the ACL failed
+  *
+  * \post Obtain the ACL, based on file ID
+  *
+  * \notes there is a hack to tell which type of ACL is being returned, checks the top 2-bytes to judge what type of ACL it is, only for dfs xlat or ACLs
+  */
  DECL_PIOCTL(PGetAcl)
  {
      struct AFSOpaque acl;
***************
*** 1272,1289 ****
--- 1357,1403 ----
      return code;
  }
  
+ /*!
+  * PNoop returns success.  Used for functions which are not implemented or are no longer in use.
+  *
+  * \ingroup pioctl
+  *
+  * \notes Functions involved in this: 17 (VIOCENGROUP) -- used to be enable group; 18 (VIOCDISGROUP) -- used to be disable group; 2 (?) -- get/set cache-bypass size threshold
+  */
  DECL_PIOCTL(PNoop)
  {
      AFS_STATCNT(PNoop);
      return 0;
  }
  
+ /*!
+  * PBogus returns fail.  Used for functions which are not implemented or are no longer in use.
+  *
+  * \ingroup pioctl
+  *
+  * \retval EINVAL	Error if some of the standard args aren't set
+  *
+  * \notes Functions involved in this: 0 (?); 4 (?); 6 (?); 7 (VIOCSTAT); 8 (?); 13 (VIOCGETTIME) -- used to be quick check time; 15 (VIOCPREFETCH) -- prefetch is now special-cased; see pioctl code!; 16 (VIOCNOP) -- used to be testing code; 19 (VIOCLISTGROUPS) -- used to be list group; 23 (VIOCWAITFOREVER) -- used to be waitforever; 57 (VIOC_FPRIOSTATUS) -- arla: set file prio; 58 (VIOC_FHGET) -- arla: fallback getfh; 59 (VIOC_FHOPEN) -- arla: fallback fhopen; 60 (VIOC_XFSDEBUG) -- arla: controls xfsdebug; 61 (VIOC_ARLADEBUG) -- arla: controls arla debug; 62 (VIOC_AVIATOR) -- arla: debug interface; 63 (VIOC_XFSDEBUG_PRINT) -- arla: print xfs status; 64 (VIOC_CALCULATE_CACHE) -- arla: force cache check; 65 (VIOC_BREAKCELLBACK) -- arla: break callback; 68 (?) -- arla: fetch stats;
+  */
  DECL_PIOCTL(PBogus)
  {
      AFS_STATCNT(PBogus);
      return EINVAL;
  }
  
+ /*!
+  * VIOC_FILE_CELL_NAME (30) - Get cell in which file lives
+  *
+  * \ingroup pioctl
+  *
+  * \param[in] ain	not in use (avc used to pass in file id)
+  * \param[out] aout	cell name
+  *
+  * \retval EINVAL	Error if some of the standard args aren't set
+  * \retval ESRCH	Error if the file isn't part of a cell
+  *
+  * \post Get a cell based on a passed in file id
+  */
  DECL_PIOCTL(PGetFileCell)
  {
      register struct cell *tcell;
***************
*** 1300,1305 ****
--- 1414,1432 ----
      return 0;
  }
  
+ /*!
+  * VIOC_GET_WS_CELL (31) - Get cell in which workstation lives
+  *
+  * \ingroup pioctl
+  *
+  * \param[in] ain	not in use
+  * \param[out] aout	cell name
+  *
+  * \retval EIO		Error if the afs daemon hasn't started yet
+  * \retval ESRCH	Error if the machine isn't part of a cell, for whatever reason
+  *
+  * \post Get the primary cell that the machine is a part of.
+  */
  DECL_PIOCTL(PGetWSCell)
  {
      struct cell *tcell = NULL;
***************
*** 1317,1322 ****
--- 1444,1461 ----
      return 0;
  }
  
+ /*!
+  * VIOC_GET_PRIMARY_CELL (33) - Get primary cell for caller
+  *
+  * \ingroup pioctl
+  *
+  * \param[in] ain	not in use (user id found via areq)
+  * \param[out] aout	cell name
+  *
+  * \retval ESRCH	Error if the user id doesn't have a primary cell specified
+  *
+  * \post Get the primary cell for a certain user, based on the user's uid
+  */
  DECL_PIOCTL(PGetUserCell)
  {
      register afs_int32 i;
***************
*** 1355,1360 ****
--- 1494,1514 ----
      return 0;
  }
  
+ /*!
+  * VIOCSETTOK (3) - Set authentication tokens
+  *
+  * \ingroup pioctl
+  *
+  * \param[in] ain	the krb tickets from which to set the afs tokens
+  * \param[out] aout	not in use
+  *
+  * \retval EINVAL	Error if the ticket is either too long or too short
+  * \retval EIO		Error if the AFS initState is below 101
+  * \retval ESRCH	Error if the cell for which the Token is being set can't be found
+  *
+  * \post Set the Tokens for a specific cell name, unless there is none set, then default to primary
+  *
+  */
  DECL_PIOCTL(PSetTokens)
  {
      afs_int32 i;
***************
*** 1469,1474 ****
--- 1623,1640 ----
      }
  }
  
+ /*!
+  * VIOCGETVOLSTAT (4) - Get volume status
+  *
+  * \ingroup pioctl
+  *
+  * \param[in] ain	not in use
+  * \param[out] aout	status of the volume
+  *
+  * \retval EINVAL	Error if some of the standard args aren't set
+  *
+  * \post The status of a volume (based on the FID of the volume), or an offline message /motd
+  */
  DECL_PIOCTL(PGetVolumeStatus)
  {
      char volName[32];
***************
*** 1524,1529 ****
--- 1690,1710 ----
      return code;
  }
  
+ /*!
+  * VIOCSETVOLSTAT (5) - Set volume status
+  *
+  * \ingroup pioctl
+  *
+  * \param[in] ain	values to set the status at, offline message, message of the day, volume name, minimum quota, maximum quota
+  * \param[out] aout	status of a volume, offlines messages, minimum quota, maximumm quota
+  *
+  * \retval EINVAL	Error if some of the standard args aren't set
+  * \retval EROFS	Error if the volume is read only, or a backup volume
+  * \retval ENODEV	Error if the volume can't be accessed
+  * \retval E2BIG	Error if the volume name, offline message, and motd are too big
+  *
+  * \post Set the status of a volume, including any offline messages, a minimum quota, and a maximum quota
+  */
  DECL_PIOCTL(PSetVolumeStatus)
  {
      char volName[32];
***************
*** 1621,1626 ****
--- 1802,1819 ----
      return code;
  }
  
+ /*!
+  * VIOCFLUSH (6) - Invalidate cache entry
+  *
+  * \ingroup pioctl
+  *
+  * \param[in] ain	not in use
+  * \param[out] aout	not in use
+  *
+  * \retval EINVAL	Error if some of the standard args aren't set
+  *
+  * \post Flush any information the cache manager has on an entry
+  */
  DECL_PIOCTL(PFlush)
  {
      AFS_STATCNT(PFlush);
***************
*** 1648,1653 ****
--- 1841,1860 ----
      return 0;
  }
  
+ /*!
+  * VIOC_AFS_STAT_MT_PT (29) - Stat mount point
+  *
+  * \ingroup pioctl
+  *
+  * \param[in] ain	the last component in a path, related to mountpoint that we're looking for information about
+  * \param[out] aout	volume, cell, link data 
+  *
+  * \retval EINVAL	Error if some of the standard args aren't set
+  * \retval ENOTDIR	Error if the 'mount point' argument isn't a directory
+  * \retval EIO		Error if the link data can't be accessed
+  *
+  * \post Get the volume, and cell, as well as the link data for a mount point
+  */
  DECL_PIOCTL(PNewStatMount)
  {
      register afs_int32 code;
***************
*** 1719,1724 ****
--- 1926,1948 ----
      return code;
  }
  
+ /*!
+  * VIOCGETTOK (8) - Get authentication tokens
+  *  
+  * \ingroup pioctl
+  *      
+  * \param[in] ain       userid
+  * \param[out] aout     token
+  * 
+  * \retval EIO		Error if the afs daemon hasn't started yet
+  * \retval EDOM		Error if the input parameter is out of the bounds of the available tokens
+  * \retval ENOTCONN	Error if there aren't tokens for this cell
+  *  
+  * \post If the input paramater exists, get the token that corresponds to the parameter value, if there is no token at this value, get the token for the first cell
+  *
+  * \notes "it's a weird interface (from comments in the code)"
+  */
+ 
  DECL_PIOCTL(PGetTokens)
  {
      register struct cell *tcell;
***************
*** 1806,1811 ****
--- 2030,2050 ----
      return 0;
  }
  
+ /*!
+  * VIOCUNLOG (9) - Invalidate tokens
+  *
+  * \ingroup pioctl
+  *
+  * \param[in] ain	not in use
+  * \param[out] aout	not in use
+  *
+  * \retval EIO	Error if the afs daemon hasn't been started yet
+  *
+  * \post remove tokens from a user, specified by the user id
+  *
+  * \notes sets the token's time to 0, which then causes it to be removed
+  * \notes Unlog is the same as un-pag in OpenAFS
+  */
  DECL_PIOCTL(PUnlog)
  {
      register afs_int32 i;
***************
*** 1849,1854 ****
--- 2088,2105 ----
      return 0;
  }
  
+ /*!
+  * VIOC_AFS_MARINER_HOST (32) - Get/set mariner (cache manager monitor) host
+  *
+  * \ingroup pioctl
+  *
+  * \param[in] ain	host address to be set
+  * \param[out] aout	old host address
+  *
+  * \post depending on whether or not a variable is set, either get the host for the cache manager monitor, or set the old address and give it a new address
+  *
+  * \notes Errors turn off mariner
+  */
  DECL_PIOCTL(PMariner)
  {
      afs_int32 newHostAddr;
***************
*** 1874,1879 ****
--- 2125,2144 ----
      return 0;
  }
  
+ /*!
+  * VIOCCKSERV (10) - Check that servers are up
+  *
+  * \ingroup pioctl
+  *
+  * \param[in] ain	name of the cell
+  * \param[out] aout	current down server list
+  *
+  * \retval EIO		Error if the afs daemon hasn't started yet
+  * \retval EACCES	Error if the user doesn't have super-user credentials
+  * \retval ENOENT	Error if we are unable to obtain the cell
+  *
+  * \post Either a fast check (where it doesn't contact servers) or a local check (checks local cell only)
+  */
  DECL_PIOCTL(PCheckServers)
  {
      register char *cp = 0;
***************
*** 1952,1957 ****
--- 2217,2234 ----
      return 0;
  }
  
+ /*!
+  * VIOCCKBACK (11) - Check backup volume mappings
+  *
+  * \ingroup pioctl
+  *
+  * \param[in] ain	not in use
+  * \param[out] aout	not in use
+  *
+  * \retval EIO		Error if the afs daemon hasn't started yet
+  *
+  * \post Check the root volume, and then check the names if the volume check variable is set to force, has expired, is busy, or if the mount points variable is set
+  */
  DECL_PIOCTL(PCheckVolNames)
  {
      AFS_STATCNT(PCheckVolNames);
***************
*** 1964,1969 ****
--- 2241,2260 ----
      return 0;
  }
  
+ /*!
+  * VIOCCKCONN (12) - Check connections for a user
+  *
+  * \ingroup pioctl
+  *
+  * \param[in] ain	not in use
+  * \param[out] aout	not in use
+  *
+  * \retval EACCESS Error if no user is specififed, the user has no tokens set, or if the user's tokens are bad
+  *
+  * \post check to see if a user has the correct authentication.  If so, allow access.
+  *
+  * \notes Check the connections to all the servers specified
+  */
  DECL_PIOCTL(PCheckAuth)
  {
      int i;
***************
*** 2036,2041 ****
--- 2327,2347 ----
      return 0;
  }
  
+ /*!
+  * VIOCWHEREIS (14) - Find out where a volume is located
+  *
+  * \ingroup pioctl
+  *
+  * \param[in] ain	not in use
+  * \param[out] aout	volume location
+  *
+  * \retval EINVAL	Error if some of the default arguments don't exist
+  * \retval ENODEV	Error if there is no such volume
+  *
+  * \post fine a volume, based on a volume file id
+  *
+  * \notes check each of the servers specified
+  */
  DECL_PIOCTL(PFindVolume)
  {
      register struct volume *tvp;
***************
*** 2069,2074 ****
--- 2375,2393 ----
      return ENODEV;
  }
  
+ /*!
+  * VIOCACCESS (20) - Access using PRS_FS bits
+  *
+  * \ingroup pioctl
+  *
+  * \param[in] ain	PRS_FS bits
+  * \param[out] aout	not in use
+  *
+  * \retval EINVAL	Error if some of the initial arguments aren't set
+  * \retval EACCES	Error if access is denied
+  *
+  * \post check to make sure access is allowed
+  */
  DECL_PIOCTL(PViceAccess)
  {
      register afs_int32 code;
***************
*** 2100,2105 ****
--- 2419,2439 ----
      return 0;
  }
  
+ /*!
+  * VIOCSETCACHESIZE (24) - Set venus cache size in 1000 units
+  *
+  * \ingroup pioctl
+  *
+  * \param[in] ain	the size the venus cache should be set to
+  * \param[out] aout	not in use
+  *
+  * \retval EACCES	Error if the user doesn't have super-user credentials
+  * \retval EROFS	Error if the cache is set to be in memory
+  *
+  * \post Set the cache size based on user input.  If no size is given, set it to the default OpenAFS cache size.
+  *
+  * \notes recompute the general cache parameters for every single block allocated
+  */
  DECL_PIOCTL(PSetCacheSize)
  {
      afs_int32 newValue;
***************
*** 2131,2136 ****
--- 2465,2480 ----
  }
  
  #define MAXGCSTATS	16
+ /*!
+  * VIOCGETCACHEPARMS (40) - Get cache stats
+  *
+  * \ingroup pioctl
+  *
+  * \param[in] ain	afs index flags
+  * \param[out] aout	cache blocks, blocks used, blocks files (in an array)
+  *
+  * \post Get the cache blocks, and how many of the cache blocks there are
+  */
  DECL_PIOCTL(PGetCacheSize)
  {
      afs_int32 results[MAXGCSTATS];
***************
*** 2184,2189 ****
--- 2528,2546 ----
      return 0;
  }
  
+ /*!
+  * VIOCFLUSHCB (25) - Flush callback only
+  *
+  * \ingroup pioctl
+  *
+  * \param[in] ain	not in use
+  * \param[out] aout	not in use
+  *
+  * \retval EINVAL	Error if some of the standard args aren't set
+  * \retval 0		0 returned if the volume is set to read-only
+  *
+  * \post Flushes callbacks, by setting the length of callbacks to one, setting the next callback to be sent to the CB_DROPPED value, and then dequeues everything else.
+  */
  DECL_PIOCTL(PRemoveCallBack)
  {
      register struct conn *tc;
***************
*** 2231,2236 ****
--- 2588,2607 ----
      return 0;
  }
  
+ /*!
+  * VIOCNEWCELL (26) - Configure new cell
+  *
+  * \ingroup pioctl
+  *
+  * \param[in] ain	the name of the cell, the hosts that will be a part of the cell, whether or not it's linked with another cell, the other cell it's linked with, the file server port, and the volume server port
+  * \param[out] aout	not in use
+  *
+  * \retval EIO		Error if the afs daemon hasn't started yet
+  * \retval EACCES	Error if the user doesn't have super-user cedentials
+  * \retval EINVAL	Error if some 'magic' var doesn't have a certain bit set
+  *
+  * \post creates a new cell
+  */
  DECL_PIOCTL(PNewCell)
  {
      /* create a new cell */
***************
*** 2307,2312 ****
--- 2678,2696 ----
      return code;
  }
  
+ /*!
+  * VIOCGETCELL (27) - Get cell info
+  *
+  * \ingroup pioctl
+  *
+  * \param[in] ain	The cell index of a specific cell
+  * \param[out] aout	list of servers in the cell
+  *
+  * \retval EIO		Error if the afs daemon hasn't started yet
+  * \retval EDOM		Error if there is no cell asked about
+  *
+  * \post Lists the cell's server names and and addresses
+  */
  DECL_PIOCTL(PListCells)
  {
      afs_int32 whichCell;
***************
*** 2373,2378 ****
--- 2757,2776 ----
  	return EDOM;
  }
  
+ /*!
+  * VIOC_AFS_DELETE_MT_PT (28) - Delete mount point
+  *
+  * \ingroup pioctl
+  *
+  * \param[in] ain 	the name of the file in this dir to remove
+  * \param[out] aout	not in use
+  *
+  * \retval EINVAL	Error if some of the standard args aren't set
+  * \retval ENOTDIR	Error if the argument to remove is not a directory
+  * \retval ENOENT	Error if there is no cache to remove the mount point from or if a vcache doesn't exist
+  *
+  * \post Ensure that everything is OK before deleting the mountpoint.  If not, don't delete.  Delete a mount point based on a file id.
+  */
  DECL_PIOCTL(PRemoveMount)
  {
      register afs_int32 code;
***************
*** 2494,2504 ****
--- 2892,2924 ----
      return code;
  }
  
+ /*!
+  * VIOC_VENUSLOG (34) - Enable/Disable venus logging
+  *
+  * \ingroup pioctl
+  *
+  * \retval EINVAL	Error if some of the standard args aren't set
+  *
+  * \notes Obsoleted, perhaps should be PBogus
+  */
  DECL_PIOCTL(PVenusLogging)
  {
      return EINVAL;		/* OBSOLETE */
  }
  
+ /*!
+  * VIOC_GETCELLSTATUS (35) - Get cell status info
+  *
+  * \ingroup pioctl
+  *
+  * \param[in] ain	The cell you want status information on
+  * \param[out] aout	cell state (as a struct)
+  *
+  * \retval EIO		Error if the afs daemon hasn't started yet
+  * \retval ENOENT	Error if the cell doesn't exist
+  *
+  * \post Returns the state of the cell as defined in a struct cell
+  */
  DECL_PIOCTL(PGetCellStatus)
  {
      register struct cell *tcell;
***************
*** 2518,2523 ****
--- 2938,2956 ----
      return 0;
  }
  
+ /*!
+  * VIOC_SETCELLSTATUS (36) - Set corresponding info
+  *
+  * \ingroup pioctl
+  *
+  * \param[in] ain	The cell you want to set information about, and the values you want to set
+  * \param[out] aout	not in use
+  *
+  * \retval EIO		Error if the afs daemon hasn't started yet
+  * \retval EACCES	Error if the user doesn't have super-user credentials
+  *
+  * \post Set the state of the cell in a defined struct cell, based on whether or not SetUID is allowed
+  */
  DECL_PIOCTL(PSetCellStatus)
  {
      register struct cell *tcell;
***************
*** 2540,2545 ****
--- 2973,2993 ----
      return 0;
  }
  
+ /*!
+  * VIOC_FLUSHVOLUME (37) - Flush whole volume's data
+  *
+  * \ingroup pioctl
+  *
+  * \param[in] ain	not in use (args in avc)
+  * \param[out] aout	not in use
+  *
+  * \retval EINVAL	Error if some of the standard args aren't set
+  * \retval EIO		Error if the afs daemon hasn't started yet
+  *
+  * \post Wipe everything on the volume.  This is done dependent on which platform this is for.
+  *
+  * \notes Does not flush a file that a user has open and is using, because it will be re-created on next write.  Also purges the dnlc, because things are screwed up.
+  */
  DECL_PIOCTL(PFlushVolumeData)
  {
      register afs_int32 i;
***************
*** 2678,2684 ****
  }
  
  
! 
  DECL_PIOCTL(PGetVnodeXStatus)
  {
      register afs_int32 code;
--- 3126,3144 ----
  }
  
  
! /*!
!  * VIOCGETVCXSTATUS (41) - gets vnode x status
!  *
!  * \ingroup pioctl
!  *
!  * \param[in] ain 	not in use (avc used)
!  * \param[out] aout	vcxstat: the file id, the data version, any lock, the parent vnode, the parent unique id, the trunc position, the callback, cbExpires, what access is being made, what files are open, any users executing/writing, the flock ount, the states, the move stat
!  *
!  * \retval EINVAL	Error if some of the initial default arguments aren't set
!  * \retval EACCES	Error if access to check the mode bits is denied
!  *
!  * \post gets stats for the vnode, a struct listed in vcxstat
!  */
  DECL_PIOCTL(PGetVnodeXStatus)
  {
      register afs_int32 code;
***************
*** 2759,2768 ****
      return 0;
  }
  
! /* We require root for local sysname changes, but not for remote */
! /* (since we don't really believe remote uids anyway) */
!  /* outname[] shouldn't really be needed- this is left as an excercise */
!  /* for the reader.  */
  DECL_PIOCTL(PSetSysName)
  {
      char *cp, *cp2 = NULL, inname[MAXSYSNAME], outname[MAXSYSNAME];
--- 3219,3241 ----
      return 0;
  }
  
! 
! /*!
!  * VIOC_AFS_SYSNAME (38) - Change @sys value
!  *
!  * \ingroup pioctl
!  *
!  * \param[in] ain	new value for @sys
!  * \param[out] aout	count, entry, list (debug values?)
!  *
!  * \retval EINVAL	Error if afsd isn't running, the new sysname is too large, the new sysname causes issues (starts with a .0 or ..0), there is no PAG set in the credentials, the user of a PAG can't be found, (!(exporter = au->exporter)) "NOT SURE ON THIS"
!  * \retval ENODEV 	Error if there isn't already a system named that ("I THINK")
!  * \retval EACCES	Error if the user doesn't have super-user credentials
!  *
!  * \post Set the value of @sys if these things work: if the input isn't too long or if input doesn't start with .0 or ..0
!  *
!  * \notes We require root for local sysname changes, but not for remote (since we don't really believe remote uids anyway) outname[] shouldn't really be needed- this is left as an exercise for the reader.
!  */
  DECL_PIOCTL(PSetSysName)
  {
      char *cp, *cp2 = NULL, inname[MAXSYSNAME], outname[MAXSYSNAME];
***************
*** 3039,3046 ****
      return 0;
  }
  
!  /* Note that this may only be performed by the local root user.
!   */
  DECL_PIOCTL(PSetSPrefs)
  {
      struct setspref *ssp;
--- 3512,3529 ----
      return 0;
  }
  
! /*!
!  * VIOC_SETPREFS (46) - Set server ranks
!  *
!  * \param[in] ain	the sprefs value you want the sprefs to be set to
!  * \param[out] aout	not in use
!  *
!  * \retval EIO		Error if the afs daemon hasn't started yet
!  * \retval EACCES	Error if the user doesn't have super-user credentials
!  * \retval EINVAL	Error if the struct setsprefs is too large or if it multiplied by the number of servers is too large
!  *
!  * \post set the sprefs using the afs_setsprefs() function
!  */
  DECL_PIOCTL(PSetSPrefs)
  {
      struct setspref *ssp;
***************
*** 3064,3069 ****
--- 3547,3565 ----
      return 0;
  }
  
+ /* 
+  * VIOC_SETPREFS33 (42) - Set server ranks (deprecated)
+  *
+  * \param[in] ain	the server preferences to be set
+  * \param[out] aout	not in use
+  *
+  * \retval EIO		Error if the afs daemon hasn't started yet
+  * \retval EACCES	Error if the user doesn't have super-user credentials
+  *
+  * \post set the server preferences, calling a function
+  *
+  * \notes this may only be performed by the local root user.
+  */
  DECL_PIOCTL(PSetSPrefs33)
  {
      struct spref *sp;
***************
*** 3080,3091 ****
      return 0;
  }
  
! /* some notes on the following code...
!  * in the hash table of server structs, all servers with the same IP address
!  * will be on the same overflow chain.
!  * This could be sped slightly in some circumstances by having it cache the
!  * immediately previous slot in the hash table and some supporting information
!  * Only reports file servers now.
   */
  DECL_PIOCTL(PGetSPrefs)
  {
--- 3576,3595 ----
      return 0;
  }
  
! /* 
!  * VIOC_GETSPREFS (43) - Get server ranks
!  *
!  * \ingroup pioctl
!  *
!  * \param[in] ain	the server preferences to get
!  * \param[out] aout	the server preferences information
!  *
!  * \retval EIO		Error if the afs daemon hasn't started yet
!  * \retval ENOENT	Error if the sprefrequest is too large
!  *
!  * \post Get the sprefs
!  *
!  * \notes in the hash table of server structs, all servers with the same IP address; will be on the same overflow chain; This could be sped slightly in some circumstances by having it cache the immediately previous slot in the hash table and some supporting information; Only reports file servers now.
   */
  DECL_PIOCTL(PGetSPrefs)
  {
***************
*** 3160,3165 ****
--- 3664,3684 ----
  
  /* Enable/Disable the specified exporter. Must be root to disable an exporter */
  int afs_NFSRootOnly = 1;
+ /*!
+  * VIOC_EXPORTAFS (39) - Export afs to nfs clients
+  *
+  * \ingroup pioctl
+  *
+  * \param[in] ain	a struct Vic * EIOctl containing export values needed to change between nfs and afs
+  * \param[out] aout	a struct of the exporter states (exporter->exp_states)
+  *
+  * \retval ENODEV	Error if the exporter doesn't exist
+  * \retval EACCES	Error if the user doesn't have super-user credentials
+  *
+  * \post Changes the state of various values to reflect the change of the export values between nfs and afs.
+  *
+  * \notes Legacy code obtained from IBM.
+  */
  DECL_PIOCTL(PExportAfs)
  {
      afs_int32 export, newint =
***************
*** 3270,3275 ****
--- 3789,3806 ----
      return 0;
  }
  
+ /*!
+  * VIOC_GAG (44) - Silence Cache Manager
+  *
+  * \ingroup pioctl
+  *
+  * \param[in] ain	the flags to either gag or de-gag the cache manager
+  * \param[out] aout	not in use
+  *
+  * \retval EACCES	Error if the user doesn't have super-user credentials
+  *
+  * \post set the gag flags, then show these flags
+  */
  DECL_PIOCTL(PGag)
  {
      struct gaginfo *gagflags;
***************
*** 3283,3289 ****
      return 0;
  }
  
! 
  DECL_PIOCTL(PTwiddleRx)
  {
      struct rxparams *rxp;
--- 3814,3831 ----
      return 0;
  }
  
! /*!
!  * VIOC_TWIDDLE (45) - Adjust RX knobs
!  *
!  * \ingroup pioctl
!  *
!  * \param[in] ain	the previous settings of the 'knobs'
!  * \param[out] aout	not in use
!  *
!  * \retval EACCES	Error if the user doesn't have super-user credentials
!  *
!  * \post build out the struct rxp, from a struct rx
!  */
  DECL_PIOCTL(PTwiddleRx)
  {
      struct rxparams *rxp;
***************
*** 3317,3322 ****
--- 3859,3876 ----
      return 0;
  }
  
+ /*!
+  * VIOC_GETINITPARAMS (49) - Get initial cache manager parameters
+  *
+  * \ingroup pioctl
+  *
+  * \param[in] ain	not in use
+  * \param[out] aout	initial cache manager params
+  *
+  * \retval E2BIG	Error if the initial parameters are bigger than some PIGGYSIZE
+  *
+  * \post return the initial cache manager parameters
+  */
  DECL_PIOCTL(PGetInitParams)
  {
      if (sizeof(struct cm_initparams) > PIGGYSIZE)
***************
*** 3342,3347 ****
--- 3896,3911 ----
  }
  #endif
  
+ /*!
+  * VIOC_GETRXKCRYPT (55) - Get rxkad encryption flag
+  *
+  * \ingroup pioctl
+  *
+  * \param[in] ain	not in use
+  * \param[out] aout	value of cryptall
+  *
+  * \post get the value of cryptall (presumably whether or not things should be encrypted)
+  */
  DECL_PIOCTL(PGetRxkcrypt)
  {
      memcpy(aout, (char *)&cryptall, sizeof(afs_int32));
***************
*** 3349,3354 ****
--- 3913,3933 ----
      return 0;
  }
  
+ /*!
+  * VIOC_SETRXKCRYPT (56) - Set rxkad encryption flag
+  *
+  * \ingroup pioctl
+  *
+  * \param[in] ain	the argument whether or not things should be encrypted
+  * \param[out] aout	not in use
+  *
+  * \retval EPERM	Error if the user doesn't have super-user credentials
+  * \retval EINVAL	Error if the input is too big, or if the input is outside the bounds of what it can be set to
+  *
+  * \post set whether or not things should be encrypted
+  *
+  * \notes may need to be modified at a later date to take into account other values for cryptall (beyond true or false)
+  */
  DECL_PIOCTL(PSetRxkcrypt)
  {
      afs_int32 tmpval;
***************
*** 3527,3534 ****
  }
  #endif /* AFS_NEED_CLIENTCONTEXT */
  
- /* get all interface addresses of this client */
  
  DECL_PIOCTL(PGetCPrefs)
  {
      struct sprefrequest *spin;	/* input */
--- 4106,4125 ----
  }
  #endif /* AFS_NEED_CLIENTCONTEXT */
  
  
+ /*! 
+  * VIOC_GETCPREFS (50) - Get client interface
+  *
+  * \ingroup pioctl
+  *
+  * \param[in] ain	sprefrequest input
+  * \param[out] aout	spref information
+  *
+  * \retval EIO		Error if the afs daemon hasn't started yet
+  * \retval EINVAL	Error if some of the standard args aren't set
+  *
+  * \post get all interface addresses and other information of the client interface
+  */
  DECL_PIOCTL(PGetCPrefs)
  {
      struct sprefrequest *spin;	/* input */
***************
*** 3571,3576 ****
--- 4162,4181 ----
      return 0;
  }
  
+ /*!
+  * VIOC_SETCPREFS (51) - Set client interface
+  *
+  * \ingroup pioctl
+  *
+  * \param[in] ain	the interfaces you want set
+  * \param[out] aout	not in use
+  *
+  * \retval EIO		Error if the afs daemon hasn't started yet
+  * \retval EINVAL	Error if the input is too large for the struct
+  * \retval ENOMEM	Error if there are too many servers
+  *
+  * \post set the callbak interfaces addresses to those of the hosts
+  */
  DECL_PIOCTL(PSetCPrefs)
  {
      struct setspref *sin;
***************
*** 3600,3605 ****
--- 4205,4224 ----
      return 0;
  }
  
+ /*!
+  * VIOC_AFS_FLUSHMOUNT (52) - Flush mount symlink data
+  *
+  * \ingroup pioctl
+  *
+  * \param[in] ain	the last part of a path to a mount point, which tells us what to flush
+  * \param[out] aout	not in use
+  *
+  * \retval EINVAL	Error if some of the initial arguments aren't set
+  * \retval ENOTDIR	Error if the initial argument for the mount point isn't a directory
+  * \retval ENOENT	Error if the dcache entry isn't set
+  *
+  * \post remove all of the mount data from the dcache regarding a certain mount point
+  */
  DECL_PIOCTL(PFlushMount)
  {
      register afs_int32 code;
***************
*** 3675,3680 ****
--- 4294,4312 ----
      return code;
  }
  
+ /*!
+  * VIOC_RXSTAT_PROC (53) - Control process RX statistics
+  *
+  * \ingroup pioctl
+  *
+  * \param[in] ain	the flags that control which stats to use
+  * \param[out] aout	not in use
+  *
+  * \retval EACCES	Error if the user doesn't have super-user credentials
+  * \retval EINVAL	Error if the flag input is too long
+  *
+  * \post either enable process RPCStats, disable process RPCStats, or clear the process RPCStats
+  */
  DECL_PIOCTL(PRxStatProc)
  {
      int code = 0;
***************
*** 3708,3713 ****
--- 4340,4358 ----
  }
  
  
+ /*!
+  * VIOC_RXSTAT_PEER (54) - Control peer RX statistics
+  *
+  * \ingroup pioctl
+  *
+  * \param[in] ain 	the flags that control which statistics to use
+  * \param[out] aout	not in use
+  *
+  * \retval EACCES	Error if the user doesn't have super-user credentials
+  * \retval EINVAL	Error if the flag input is too long
+  *
+  * \post either enable peer RPCStatws, disable peer RPCStats, or clear the peer RPCStats
+  */
  DECL_PIOCTL(PRxStatPeer)
  {
      int code = 0;
Index: openafs/src/afs/afs_prototypes.h
diff -c openafs/src/afs/afs_prototypes.h:1.74.2.18 openafs/src/afs/afs_prototypes.h:1.74.2.19
*** openafs/src/afs/afs_prototypes.h:1.74.2.18	Mon Sep 22 15:29:54 2008
--- openafs/src/afs/afs_prototypes.h	Sat Nov  8 11:34:42 2008
***************
*** 129,135 ****
--- 129,139 ----
  
  extern void afs_CellInit(void);
  extern void shutdown_cell(void);
+ #if defined(LINUX_USE_FH)
+ extern int afs_cellname_init(struct fid *fh, int fh_type, int lookupcode);
+ #else
  extern int afs_cellname_init(ino_t inode, int lookupcode);
+ #endif
  extern int afs_cellname_write(void);
  extern afs_int32 afs_NewCell(char *acellName, afs_int32 * acellHosts,
  			     int aflags, char *linkedcname, u_short fsport,
***************
*** 231,237 ****
--- 235,246 ----
  extern afs_uint32 afs_tpct1, afs_tpct2, splitdcache;
  extern unsigned char *afs_indexFlags;
  extern struct afs_cacheOps *afs_cacheType;
+ #if defined(LINUX_USE_FH)
+ extern struct fid cacheitems_fh;
+ extern int cacheitems_fh_type;
+ #else
  extern ino_t cacheInode;
+ #endif
  extern struct osi_file *afs_cacheInodep;
  extern void afs_dcacheInit(int afiles, int ablocks, int aDentries, int achunk,
  			   int aflags);
***************
*** 627,634 ****
--- 636,648 ----
  #if defined(AFS_SUN57_64BIT_ENV) || defined(AFS_SGI62_ENV)
  extern void *osi_UFSOpen(ino_t ainode);
  #else
+ #if defined(LINUX_USE_FH)
+ extern void *osi_UFSOpen_fh(struct fid *fh, int fh_type);
+ extern int osi_get_fh(struct dentry *dp, struct fid *fh, int *max_len);
+ #else
  extern void *osi_UFSOpen(afs_int32 ainode);
  #endif
+ #endif
  extern int afs_osi_Stat(register struct osi_file *afile,
  			register struct osi_stat *astat);
  extern int osi_UFSClose(register struct osi_file *afile);
***************
*** 1111,1117 ****
--- 1125,1136 ----
  extern afs_int32 afs_volCounter;
  extern afs_rwlock_t afs_xvolume;
  extern struct volume *afs_volumes[NVOLS];
+ #if defined(LINUX_USE_FH)
+ extern struct fid volumeinfo_fh;
+ extern int volumeinfo_fh_type;
+ #else
  extern ino_t volumeInode;
+ #endif
  extern struct volume *afs_FindVolume(struct VenusFid *afid,
  				     afs_int32 locktype);
  extern struct volume *afs_freeVolList;
Index: openafs/src/afs/afs_segments.c
diff -c openafs/src/afs/afs_segments.c:1.22.8.3 openafs/src/afs/afs_segments.c:1.22.8.4
*** openafs/src/afs/afs_segments.c:1.22.8.3	Mon Sep 22 15:29:54 2008
--- openafs/src/afs/afs_segments.c	Sat Nov  8 11:34:42 2008
***************
*** 14,20 ****
  #include "afs/param.h"
  
  RCSID
!     ("$Header: /cvs/openafs/src/afs/afs_segments.c,v 1.22.8.3 2008/09/22 19:29:54 shadow Exp $");
  
  #include "afs/sysincludes.h"	/*Standard vendor system headers */
  #include "afsincludes.h"	/*AFS-based standard headers */
--- 14,20 ----
  #include "afs/param.h"
  
  RCSID
!     ("$Header: /cvs/openafs/src/afs/afs_segments.c,v 1.22.8.4 2008/11/08 16:34:42 shadow Exp $");
  
  #include "afs/sysincludes.h"	/*Standard vendor system headers */
  #include "afsincludes.h"	/*AFS-based standard headers */
***************
*** 432,438 ****
--- 432,442 ----
  				    shouldwake = &nomore;
  				}
  			    }
+ #if defined(LINUX_USE_FH)
+ 			    tfile = afs_CFileOpen(&tdc->f.fh, tdc->f.fh_type);
+ #else
  			    tfile = afs_CFileOpen(tdc->f.inode);
+ #endif
  #ifndef AFS_NOSTATS
  			    xferP =
  				&(afs_stats_cmfullperf.rpc.
***************
*** 1045,1051 ****
--- 1049,1059 ----
  	ObtainSharedLock(&tdc->lock, 672);
  	if (newSize < tdc->f.chunkBytes) {
  	    UpgradeSToWLock(&tdc->lock, 673);
+ #if defined(LINUX_USE_FH)
+ 	    tfile = afs_CFileOpen(&tdc->f.fh, tdc->f.fh_type);
+ #else
  	    tfile = afs_CFileOpen(tdc->f.inode);
+ #endif
  	    afs_CFileTruncate(tfile, newSize);
  	    afs_CFileClose(tfile);
  	    afs_AdjustSize(tdc, newSize);
Index: openafs/src/afs/afs_vcache.c
diff -c openafs/src/afs/afs_vcache.c:1.114.2.12 openafs/src/afs/afs_vcache.c:1.114.2.14
*** openafs/src/afs/afs_vcache.c:1.114.2.12	Mon Sep 22 15:35:26 2008
--- openafs/src/afs/afs_vcache.c	Sun Oct 12 14:07:01 2008
***************
*** 41,47 ****
  #include "afs/param.h"
  
  RCSID
!     ("$Header: /cvs/openafs/src/afs/afs_vcache.c,v 1.114.2.12 2008/09/22 19:35:26 shadow Exp $");
  
  #include "afs/sysincludes.h"	/*Standard vendor system headers */
  #include "afsincludes.h"	/*AFS-based standard headers */
--- 41,47 ----
  #include "afs/param.h"
  
  RCSID
!     ("$Header: /cvs/openafs/src/afs/afs_vcache.c,v 1.114.2.14 2008/10/12 18:07:01 shadow Exp $");
  
  #include "afs/sysincludes.h"	/*Standard vendor system headers */
  #include "afsincludes.h"	/*AFS-based standard headers */
***************
*** 83,92 ****
  /* Forward declarations */
  static afs_int32 afs_QueueVCB(struct vcache *avc);
  
! /*
!  * afs_HashCBRFid
!  *
   * Generate an index into the hash table for a given Fid.
   */
  static int
  afs_HashCBRFid(struct AFSFid *fid)
--- 83,92 ----
  /* Forward declarations */
  static afs_int32 afs_QueueVCB(struct vcache *avc);
  
! /*!
   * Generate an index into the hash table for a given Fid.
+  * \param fid 
+  * \return The hash value.
   */
  static int
  afs_HashCBRFid(struct AFSFid *fid)
***************
*** 94,104 ****
      return (fid->Volume + fid->Vnode + fid->Unique) % CBRSIZE;
  }
  
! /*
!  * afs_InsertHashCBR
!  *
   * Insert a CBR entry into the hash table.
   * Must be called with afs_xvcb held.
   */
  static void
  afs_InsertHashCBR(struct afs_cbr *cbr)
--- 94,104 ----
      return (fid->Volume + fid->Vnode + fid->Unique) % CBRSIZE;
  }
  
! /*!
   * Insert a CBR entry into the hash table.
   * Must be called with afs_xvcb held.
+  * \param cbr
+  * \return
   */
  static void
  afs_InsertHashCBR(struct afs_cbr *cbr)
***************
*** 113,127 ****
      afs_cbrHashT[slot] = cbr;
  }
  
! /*
!  * afs_FlushVCache
!  *
!  * Description:
!  *	Flush the given vcache entry.
   *
!  * Parameters:
!  *	avc : Pointer to vcache entry to flush.
!  *	slept : Pointer to int to set 1 if we sleep/drop locks, 0 if we don't.
   *
   * Environment:
   *	afs_xvcache lock must be held for writing upon entry to
--- 113,121 ----
      afs_cbrHashT[slot] = cbr;
  }
  
! /*!
   *
!  * Flush the given vcache entry.
   *
   * Environment:
   *	afs_xvcache lock must be held for writing upon entry to
***************
*** 130,137 ****
   * LOCK: afs_FlushVCache afs_xvcache W
   * REFCNT: vcache ref count must be zero on entry except for osf1
   * RACE: lock is dropped and reobtained, permitting race in caller
   */
- 
  int
  afs_FlushVCache(struct vcache *avc, int *slept)
  {				/*afs_FlushVCache */
--- 124,134 ----
   * LOCK: afs_FlushVCache afs_xvcache W
   * REFCNT: vcache ref count must be zero on entry except for osf1
   * RACE: lock is dropped and reobtained, permitting race in caller
+  *
+  * \param avc Pointer to vcache entry to flush.
+  * \param slept Pointer to int to set 1 if we sleep/drop locks, 0 if we don't.
+  *
   */
  int
  afs_FlushVCache(struct vcache *avc, int *slept)
  {				/*afs_FlushVCache */
***************
*** 279,288 ****
  }				/*afs_FlushVCache */
  
  #ifndef AFS_SGI_ENV
! /*
!  * afs_InactiveVCache
   *
!  * The core of the inactive vnode op for all but IRIX.
   */
  void
  afs_InactiveVCache(struct vcache *avc, struct AFS_UCRED *acred)
--- 276,286 ----
  }				/*afs_FlushVCache */
  
  #ifndef AFS_SGI_ENV
! /*!
!  *  The core of the inactive vnode op for all but IRIX.
   *
!  * \param avc 
!  * \param acred
   */
  void
  afs_InactiveVCache(struct vcache *avc, struct AFS_UCRED *acred)
***************
*** 305,318 ****
  }
  #endif
  
! /*
!  * afs_AllocCBR
!  *
!  * Description: allocate a callback return structure from the
   * free list and return it.
   *
!  * Env: The alloc and free routines are both called with the afs_xvcb lock
   * held, so we don't have to worry about blocking in osi_Alloc.
   */
  static struct afs_cbr *afs_cbrSpace = 0;
  struct afs_cbr *
--- 303,316 ----
  }
  #endif
  
! /*!
!  *   Allocate a callback return structure from the
   * free list and return it.
   *
!  * Environment: The alloc and free routines are both called with the afs_xvcb lock
   * held, so we don't have to worry about blocking in osi_Alloc.
+  *
+  * \return The allocated afs_cbr.
   */
  static struct afs_cbr *afs_cbrSpace = 0;
  struct afs_cbr *
***************
*** 344,358 ****
      return tsp;
  }
  
! /*
!  * afs_FreeCBR
   *
!  * Description: free a callback return structure, removing it from all lists.
   *
!  * Parameters:
!  *	asp -- the address of the structure to free.
   *
!  * Environment: the xvcb lock is held over these calls.
   */
  int
  afs_FreeCBR(register struct afs_cbr *asp)
--- 342,355 ----
      return tsp;
  }
  
! /*!
!  * Free a callback return structure, removing it from all lists.
   *
!  * Environment: the xvcb lock is held over these calls.
   *
!  * \param asp The address of the structure to free.
   *
!  * \rerurn 0
   */
  int
  afs_FreeCBR(register struct afs_cbr *asp)
***************
*** 370,384 ****
      return 0;
  }
  
! /*
!  * afs_FlushVCBs
!  *
!  * Description: flush all queued callbacks to all servers.
!  *
!  * Parameters: none.
   *
   * Environment: holds xvcb lock over RPC to guard against race conditions
   *	when a new callback is granted for the same file later on.
   */
  afs_int32
  afs_FlushVCBs(afs_int32 lockit)
--- 367,379 ----
      return 0;
  }
  
! /*!
!  *   Flush all queued callbacks to all servers.
   *
   * Environment: holds xvcb lock over RPC to guard against race conditions
   *	when a new callback is granted for the same file later on.
+  *
+  * \return 0 for success.
   */
  afs_int32
  afs_FlushVCBs(afs_int32 lockit)
***************
*** 492,509 ****
      return 0;
  }
  
! /*
!  * afs_QueueVCB
!  *
!  * Description:
!  *	Queue a callback on the given fid.
!  *
!  * Parameters:
!  *	avc: vcache entry
   *
   * Environment:
   *	Locks the xvcb lock.
   *	Called when the xvcache lock is already held.
   */
  
  static afs_int32
--- 487,501 ----
      return 0;
  }
  
! /*!
!  *  Queue a callback on the given fid.
   *
   * Environment:
   *	Locks the xvcb lock.
   *	Called when the xvcache lock is already held.
+  *
+  * \param avc vcache entry
+  * \return 0 for success < 0 otherwise.
   */
  
  static afs_int32
***************
*** 538,556 ****
  }
  
  
! /*
!  * afs_RemoveVCB
!  *
!  * Description:
!  *	Remove a queued callback for a given Fid.
!  *
!  * Parameters:
!  *	afid: The fid we want cleansed of queued callbacks.
   *
   * Environment:
   *	Locks xvcb and xserver locks.
   *	Typically called with xdcache, xvcache and/or individual vcache
   *	entries locked.
   */
  
  void
--- 530,545 ----
  }
  
  
! /*!
!  *   Remove a queued callback for a given Fid.
   *
   * Environment:
   *	Locks xvcb and xserver locks.
   *	Typically called with xdcache, xvcache and/or individual vcache
   *	entries locked.
+  *
+  * \param afid The fid we want cleansed of queued callbacks.
+  *
   */
  
  void
***************
*** 623,643 ****
  #endif
  }
  
! /*
!  * afs_NewVCache
   *
!  * Description:
!  *	This routine is responsible for allocating a new cache entry
!  *	from the free list.  It formats the cache entry and inserts it
!  *	into the appropriate hash tables.  It must be called with
!  *	afs_xvcache write-locked so as to prevent several processes from
!  *	trying to create a new cache entry simultaneously.
   *
!  * Parameters:
!  *	afid  : The file id of the file whose cache entry is being
!  *		created.
   */
- /* LOCK: afs_NewVCache  afs_xvcache W */
  struct vcache *
  afs_NewVCache(struct VenusFid *afid, struct server *serverp)
  {
--- 612,630 ----
  #endif
  }
  
! /*!
!  *   This routine is responsible for allocating a new cache entry
!  * from the free list.  It formats the cache entry and inserts it
!  * into the appropriate hash tables.  It must be called with
!  * afs_xvcache write-locked so as to prevent several processes from
!  * trying to create a new cache entry simultaneously.
   *
!  * LOCK: afs_NewVCache  afs_xvcache W
   *
!  * \param afid The file id of the file whose cache entry is being created.
!  *
!  * \return The new vcache struct.
   */
  struct vcache *
  afs_NewVCache(struct VenusFid *afid, struct server *serverp)
  {
***************
*** 754,761 ****
  		return NULL;
  	    }
  	}
!     }
  
  #if defined(AFS_LINUX22_ENV)
  {
      struct inode *ip;
--- 741,749 ----
  		return NULL;
  	    }
  	}
!     } /* finished freeing up space */
  
+ /* Alloc new vnode. */
  #if defined(AFS_LINUX22_ENV)
  {
      struct inode *ip;
***************
*** 870,876 ****
  	    if (tq == uq)
  		break;
  	}
!     }
      if (!freeVCList) {
  	/* none free, making one is better than a panic */
  	afs_stats_cmperf.vcacheXAllocs++;	/* count in case we have a leak */
--- 858,865 ----
  	    if (tq == uq)
  		break;
  	}
!     } /* end of if (!freeVCList) */
! 
      if (!freeVCList) {
  	/* none free, making one is better than a panic */
  	afs_stats_cmperf.vcacheXAllocs++;	/* count in case we have a leak */
***************
*** 903,909 ****
  	tvc = freeVCList;	/* take from free list */
  	freeVCList = tvc->nextfree;
  	tvc->nextfree = NULL;
!     }
  #endif /* AFS_OSF_ENV */
  
  #if defined(AFS_XBSD_ENV) || defined(AFS_DARWIN_ENV)
--- 892,899 ----
  	tvc = freeVCList;	/* take from free list */
  	freeVCList = tvc->nextfree;
  	tvc->nextfree = NULL;
!     } /* end of if (!freeVCList) */
! 
  #endif /* AFS_OSF_ENV */
  
  #if defined(AFS_XBSD_ENV) || defined(AFS_DARWIN_ENV)
***************
*** 1170,1185 ****
  }				/*afs_NewVCache */
  
  
! /*
!  * afs_FlushActiveVcaches
   *
!  * Description:
!  *	???
   *
!  * Parameters:
!  *	doflocks : Do we handle flocks?
   */
- /* LOCK: afs_FlushActiveVcaches afs_xvcache N */
  void
  afs_FlushActiveVcaches(register afs_int32 doflocks)
  {
--- 1160,1172 ----
  }				/*afs_NewVCache */
  
  
! /*!
!  * ???
   *
!  * LOCK: afs_FlushActiveVcaches afs_xvcache N
   *
!  * \param doflocks : Do we handle flocks?
   */
  void
  afs_FlushActiveVcaches(register afs_int32 doflocks)
  {
***************
*** 1327,1337 ****
  
  
  
! /*
!  * afs_VerifyVCache
!  *
!  * Description:
!  *	Make sure a cache entry is up-to-date status-wise.
   *
   * NOTE: everywhere that calls this can potentially be sped up
   *       by checking CStatd first, and avoiding doing the InitReq
--- 1314,1321 ----
  
  
  
! /*!
!  *   Make sure a cache entry is up-to-date status-wise.
   *
   * NOTE: everywhere that calls this can potentially be sped up
   *       by checking CStatd first, and avoiding doing the InitReq
***************
*** 1340,1350 ****
   *  Anymore, the only places that call this KNOW already that the
   *  vcache is not up-to-date, so we don't screw around.
   *
!  * Parameters:
!  *	avc  : Ptr to vcache entry to verify.
!  *	areq : ???
   */
  
  int
  afs_VerifyVCache2(struct vcache *avc, struct vrequest *areq)
  {
--- 1324,1349 ----
   *  Anymore, the only places that call this KNOW already that the
   *  vcache is not up-to-date, so we don't screw around.
   *
!  * \param avc  : Ptr to vcache entry to verify.
!  * \param areq : ???
   */
  
+ /*!
+  * 
+  *   Make sure a cache entry is up-to-date status-wise.
+  *   
+  *   NOTE: everywhere that calls this can potentially be sped up
+  *       by checking CStatd first, and avoiding doing the InitReq
+  *       if this is up-to-date.
+  *
+  *   Anymore, the only places that call this KNOW already that the
+  * vcache is not up-to-date, so we don't screw around.
+  *
+  * \param avc Pointer to vcache entry to verify.
+  * \param areq
+  *
+  * \return 0 for success or other error codes.
+  */
  int
  afs_VerifyVCache2(struct vcache *avc, struct vrequest *areq)
  {
***************
*** 1394,1413 ****
  }				/*afs_VerifyVCache */
  
  
! /*
!  * afs_SimpleVStat
   *
!  * Description:
!  *	Simple copy of stat info into cache.
   *
!  * Parameters:
!  *	avc   : Ptr to vcache entry involved.
!  *	astat : Ptr to stat info to copy.
   *
-  * Environment:
-  *	Nothing interesting.
-  *
-  * Callers:  as of 1992-04-29, only called by WriteVCache
   */
  static void
  afs_SimpleVStat(register struct vcache *avc,
--- 1393,1406 ----
  }				/*afs_VerifyVCache */
  
  
! /*!
!  * Simple copy of stat info into cache.
   *
!  * Callers:as of 1992-04-29, only called by WriteVCache
   *
!  * \param avc   Ptr to vcache entry involved.
!  * \param astat Ptr to stat info to copy.
   *
   */
  static void
  afs_SimpleVStat(register struct vcache *avc,
***************
*** 1490,1509 ****
  }				/*afs_SimpleVStat */
  
  
! /*
!  * afs_WriteVCache
   *
!  * Description:
!  *	Store the status info *only* back to the server for a
!  *	fid/vrequest.
   *
!  * Parameters:
!  *	avc	: Ptr to the vcache entry.
!  *	astatus	: Ptr to the status info to store.
!  *	areq	: Ptr to the associated vrequest.
   *
!  * Environment:
!  *	Must be called with a shared lock held on the vnode.
   */
  
  int
--- 1483,1499 ----
  }				/*afs_SimpleVStat */
  
  
! /*!
!  * Store the status info *only* back to the server for a
!  * fid/vrequest.
   *
!  * Environment: Must be called with a shared lock held on the vnode.
   *
!  * \param avc Ptr to the vcache entry.
!  * \param astatus Ptr to the status info to store.
!  * \param areq Ptr to the associated vrequest.
   *
!  * \return Operation status.
   */
  
  int
***************
*** 1651,1673 ****
  
  #endif
  
! /*
!  * afs_ProcessFS
   *
!  * Description:
!  *	Copy astat block into vcache info
   *
!  * Parameters:
!  *	avc   : Ptr to vcache entry.
!  *	astat : Ptr to stat block to copy in.
!  *	areq  : Ptr to associated request.
   *
!  * Environment:
!  *	Must be called under a write lock
!  *
!  * Note: this code may get dataversion and length out of sync if the file has
!  *       been modified.  This is less than ideal.  I haven't thought about
!  *       it sufficiently to be certain that it is adequate.
   */
  void
  afs_ProcessFS(register struct vcache *avc,
--- 1641,1658 ----
  
  #endif
  
! /*!
!  * Copy astat block into vcache info
   *
!  * \note This code may get dataversion and length out of sync if the file has
!  * been modified.  This is less than ideal.  I haven't thought about it sufficiently 
!  * to be certain that it is adequate.
   *
!  * \note Environment: Must be called under a write lock
   *
!  * \param avc  Ptr to vcache entry.
!  * \param astat Ptr to stat block to copy in.
!  * \param areq Ptr to associated request.
   */
  void
  afs_ProcessFS(register struct vcache *avc,
***************
*** 1753,1758 ****
--- 1738,1756 ----
  }				/*afs_ProcessFS */
  
  
+ /*!
+  * Get fid from server.
+  *
+  * \param afid 
+  * \param areq Request to be passed on.
+  * \param name Name of ?? to lookup.
+  * \param OutStatus Fetch status.
+  * \param CallBackp 
+  * \param serverp
+  * \param tsyncp
+  *
+  * \return Success status of operation.
+  */
  int
  afs_RemoteLookup(register struct VenusFid *afid, struct vrequest *areq,
  		 char *name, struct VenusFid *nfid,
***************
*** 1791,1811 ****
  }
  
  
! /*
   * afs_GetVCache
   *
!  * Description:
!  *	Given a file id and a vrequest structure, fetch the status
!  *	information associated with the file.
   *
!  * Parameters:
!  *	afid : File ID.
!  *	areq : Ptr to associated vrequest structure, specifying the
!  *		user whose authentication tokens will be used.
!  *      avc  : caller may already have a vcache for this file, which is
!  *             already held.
   *
!  * Environment:
   *	The cache entry is returned with an increased vrefCount field.
   *	The entry must be discarded by calling afs_PutVCache when you
   *	are through using the pointer to the cache entry.
--- 1789,1807 ----
  }
  
  
! /*!
   * afs_GetVCache
   *
!  * Given a file id and a vrequest structure, fetch the status
!  * information associated with the file.
   *
!  * \param afid File ID.
!  * \param areq Ptr to associated vrequest structure, specifying the
!  *  user whose authentication tokens will be used.
!  * \param avc Caller may already have a vcache for this file, which is
!  *  already held.
   *
!  * \note Environment:
   *	The cache entry is returned with an increased vrefCount field.
   *	The entry must be discarded by calling afs_PutVCache when you
   *	are through using the pointer to the cache entry.
***************
*** 1821,1831 ****
   *	of a parent dir cache entry, given a file (to check its access
   *	control list).  It also allows renames to be handled easily by
   *	locking directories in a constant order.
!  * NB.  NewVCache -> FlushVCache presently (4/10/95) drops the xvcache lock.
   */
-    /* might have a vcache structure already, which must
-     * already be held by the caller */
- 
  struct vcache *
  afs_GetVCache(register struct VenusFid *afid, struct vrequest *areq,
  	      afs_int32 * cached, struct vcache *avc)
--- 1817,1828 ----
   *	of a parent dir cache entry, given a file (to check its access
   *	control list).  It also allows renames to be handled easily by
   *	locking directories in a constant order.
!  * 
!  * \note NB.  NewVCache -> FlushVCache presently (4/10/95) drops the xvcache lock.
!  *
!  * \note Might have a vcache structure already, which must
!  *  already be held by the caller 
   */
  struct vcache *
  afs_GetVCache(register struct VenusFid *afid, struct vrequest *areq,
  	      afs_int32 * cached, struct vcache *avc)
***************
*** 2024,2035 ****
  
  	    if (AFS_IS_DISCONNECTED) {
  		if (AFS_IS_DISCON_RW) {
! 		    /* Seek the vnode manually. */
! 		    ObtainSharedLock(&afs_xvcache, 738);
! 		    avc = afs_FindVCache(afid, NULL, 1);
! 		    ReleaseSharedLock(&afs_xvcache);
! 
! 		    if (vType(avc) == VDIR)
  		    	OutStatus.FileType = Directory;
  
  		    code = tvc?0:ENOENT;
--- 2021,2027 ----
  
  	    if (AFS_IS_DISCONNECTED) {
  		if (AFS_IS_DISCON_RW) {
! 		    if (vType(tvc) == VDIR)
  		    	OutStatus.FileType = Directory;
  
  		    code = tvc?0:ENOENT;
***************
*** 2071,2076 ****
--- 2063,2081 ----
  
  
  
+ /*!
+  * Lookup a vcache by fid. Look inside the cache first, if not
+  * there, lookup the file on the server, and then get it's fresh
+  * cache entry.
+  * 
+  * \param afid
+  * \param areq 
+  * \param cached Is element cached? If NULL, don't answer.
+  * \param adp
+  * \param aname
+  *
+  * \return The found element or NULL.
+  */
  struct vcache *
  afs_LookupVCache(struct VenusFid *afid, struct vrequest *areq,
  		 afs_int32 * cached, struct vcache *adp, char *aname)
***************
*** 2552,2559 ****
  
  }
  
! /*
!  * must be called with avc write-locked
   * don't absolutely have to invalidate the hint unless the dv has
   * changed, but be sure to get it right else there will be consistency bugs.
   */
--- 2557,2564 ----
  
  }
  
! /*!
!  * Must be called with avc write-locked
   * don't absolutely have to invalidate the hint unless the dv has
   * changed, but be sure to get it right else there will be consistency bugs.
   */
***************
*** 2752,2768 ****
  }				/*afs_StuffVcache */
  #endif
  
! /*
!  * afs_PutVCache
!  *
!  * Description:
!  *	Decrements the reference count on a cache entry.
   *
!  * Parameters:
!  *	avc : Pointer to the cache entry to decrement.
   *
!  * Environment:
!  *	Nothing interesting.
   */
  void
  afs_PutVCache(register struct vcache *avc)
--- 2757,2768 ----
  }				/*afs_StuffVcache */
  #endif
  
! /*!
!  * Decrements the reference count on a cache entry.
   *
!  * \param avc Pointer to the cache entry to decrement.
   *
!  * \note Environment: Nothing interesting.
   */
  void
  afs_PutVCache(register struct vcache *avc)
***************
*** 2782,2787 ****
--- 2782,2796 ----
  }				/*afs_PutVCache */
  
  
+ /*!
+  * Sleepa when searching for a vcache. Releases all the pending locks,
+  * sleeps then obtains the previously released locks.
+  *
+  * \param vcache Enter sleep state.
+  * \param flag Determines what locks to use.
+  *
+  * \return 
+  */
  static void findvc_sleep(struct vcache *avc, int flag) {
      if (flag & IS_SLOCK) {
  	    ReleaseSharedLock(&afs_xvcache);
***************
*** 2803,2825 ****
  	}
      }
  }
! /*
!  * afs_FindVCache
!  *
!  * Description:
!  *	Find a vcache entry given a fid.
!  *
!  * Parameters:
!  *	afid : Pointer to the fid whose cache entry we desire.
!  *      retry: (SGI-specific) tell the caller to drop the lock on xvcache,
!  *             unlock the vnode, and try again.
!  *      flags: bit 1 to specify whether to compute hit statistics.  Not
!  *             set if FindVCache is called as part of internal bookkeeping.
   *
!  * Environment:
!  *	Must be called with the afs_xvcache lock at least held at
!  *	the read level.  In order to do the VLRU adjustment, the xvcache lock
!  *      must be shared-- we upgrade it here.
   */
  
  struct vcache *
--- 2812,2829 ----
  	}
      }
  }
! /*!
!  * Find a vcache entry given a fid.
   *
!  * \param afid Pointer to the fid whose cache entry we desire.
!  * \param retry (SGI-specific) tell the caller to drop the lock on xvcache,
!  *  unlock the vnode, and try again.
!  * \param flag Bit 1 to specify whether to compute hit statistics.  Not
!  *  set if FindVCache is called as part of internal bookkeeping.
!  *
!  * \note Environment: Must be called with the afs_xvcache lock at least held at
!  * the read level.  In order to do the VLRU adjustment, the xvcache lock
!  * must be shared-- we upgrade it here.
   */
  
  struct vcache *
***************
*** 2935,2962 ****
      return tvc;
  }				/*afs_FindVCache */
  
! /*
!  * afs_NFSFindVCache
!  *
!  * Description:
!  *	Find a vcache entry given a fid. Does a wildcard match on what we
!  *	have for the fid. If more than one entry, don't return anything.
   *
!  * Parameters:
!  *	avcp : Fill in pointer if we found one and only one.
!  *	afid : Pointer to the fid whose cache entry we desire.
!  *      retry: (SGI-specific) tell the caller to drop the lock on xvcache,
   *             unlock the vnode, and try again.
!  *      flags: bit 1 to specify whether to compute hit statistics.  Not
   *             set if FindVCache is called as part of internal bookkeeping.
   *
!  * Environment:
!  *	Must be called with the afs_xvcache lock at least held at
!  *	the read level.  In order to do the VLRU adjustment, the xvcache lock
!  *      must be shared-- we upgrade it here.
   *
!  * Return value:
!  *	number of matches found.
   */
  
  int afs_duplicate_nfs_fids = 0;
--- 2939,2960 ----
      return tvc;
  }				/*afs_FindVCache */
  
! /*!
!  * Find a vcache entry given a fid. Does a wildcard match on what we
!  * have for the fid. If more than one entry, don't return anything.
   *
!  * \param avcp Fill in pointer if we found one and only one.
!  * \param afid Pointer to the fid whose cache entry we desire.
!  * \param retry (SGI-specific) tell the caller to drop the lock on xvcache,
   *             unlock the vnode, and try again.
!  * \param flags bit 1 to specify whether to compute hit statistics.  Not
   *             set if FindVCache is called as part of internal bookkeeping.
   *
!  * \note Environment: Must be called with the afs_xvcache lock at least held at
!  *  the read level.  In order to do the VLRU adjustment, the xvcache lock
!  *  must be shared-- we upgrade it here.
   *
!  * \return Number of matches found.
   */
  
  int afs_duplicate_nfs_fids = 0;
***************
*** 3109,3118 ****
  
  
  
! /*
!  * afs_vcacheInit
!  *
   * Initialize vcache related variables
   */
  void
  afs_vcacheInit(int astatSize)
--- 3107,3116 ----
  
  
  
! /*!
   * Initialize vcache related variables
+  *
+  * \param astatSize
   */
  void
  afs_vcacheInit(int astatSize)
***************
*** 3177,3185 ****
  	QInit(&afs_vhashTV[i]);
  }
  
! /*
!  * shutdown_vcache
!  *
   */
  void
  shutdown_vcache(void)
--- 3175,3182 ----
  	QInit(&afs_vhashTV[i]);
  }
  
! /*!
!  * Shutdown vcache.
   */
  void
  shutdown_vcache(void)
Index: openafs/src/afs/afs_volume.c
diff -c openafs/src/afs/afs_volume.c:1.31.2.6 openafs/src/afs/afs_volume.c:1.31.2.8
*** openafs/src/afs/afs_volume.c:1.31.2.6	Fri May 23 10:25:16 2008
--- openafs/src/afs/afs_volume.c	Sat Nov  8 11:34:42 2008
***************
*** 19,25 ****
  #include "afs/param.h"
  
  RCSID
!     ("$Header: /cvs/openafs/src/afs/afs_volume.c,v 1.31.2.6 2008/05/23 14:25:16 shadow Exp $");
  
  #include "afs/stds.h"
  #include "afs/sysincludes.h"	/* Standard vendor system headers */
--- 19,25 ----
  #include "afs/param.h"
  
  RCSID
!     ("$Header: /cvs/openafs/src/afs/afs_volume.c,v 1.31.2.8 2008/11/08 16:34:42 shadow Exp $");
  
  #include "afs/stds.h"
  #include "afs/sysincludes.h"	/* Standard vendor system headers */
***************
*** 58,68 ****
  #endif /* vlserver error base define */
  
  /* Exported variables */
! ino_t volumeInode;		/*Inode for VolumeItems file */
! afs_rwlock_t afs_xvolume;	/* allocation lock for volumes */
  struct volume *afs_freeVolList;
  struct volume *afs_volumes[NVOLS];
! afs_int32 afs_volCounter = 1;	/* for allocating volume indices */
  afs_int32 fvTable[NFENTRIES];
  
  /* Forward declarations */
--- 58,73 ----
  #endif /* vlserver error base define */
  
  /* Exported variables */
! #if defined(LINUX_USE_FH)
! struct fid volumeinfo_fh;     /* File handle for VolumeItems file */
! int volumeinfo_fh_type;
! #else
! ino_t volumeInode;            /* Inode for VolumeItems file */
! #endif
! afs_rwlock_t afs_xvolume;	/** allocation lock for volumes */
  struct volume *afs_freeVolList;
  struct volume *afs_volumes[NVOLS];
! afs_int32 afs_volCounter = 1;	/** for allocating volume indices */
  afs_int32 fvTable[NFENTRIES];
  
  /* Forward declarations */
***************
*** 74,80 ****
  		     afs_int32 * cID);
  
  
! /* Convert a volume name to a #; return 0 if can't parse as a number */
  static int
  afs_vtoi(register char *aname)
  {
--- 79,90 ----
  		     afs_int32 * cID);
  
  
! 
! /**
!  * Convert a volume name to a number; 
!  * @param aname Volume name.
!  * @return return 0 if can't parse as a number.
!  */
  static int
  afs_vtoi(register char *aname)
  {
***************
*** 93,99 ****
  }				/*afs_vtoi */
  
  
! /*
   * All of the vol cache routines must be called with the afs_xvolume
   * lock held in exclusive mode, since they use static variables.
   * In addition, we don't want two people adding the same volume
--- 103,109 ----
  }				/*afs_vtoi */
  
  
! /**
   * All of the vol cache routines must be called with the afs_xvolume
   * lock held in exclusive mode, since they use static variables.
   * In addition, we don't want two people adding the same volume
***************
*** 103,110 ****
  static struct fvolume staticFVolume;
  afs_int32 afs_FVIndex = -1;
  
! /* UFS specific version of afs_GetVolSlot */
! 
  struct volume *
  afs_UFSGetVolSlot(void)
  {
--- 113,122 ----
  static struct fvolume staticFVolume;
  afs_int32 afs_FVIndex = -1;
  
! /** 
!  * UFS specific version of afs_GetVolSlot 
!  * @return
!  */
  struct volume *
  afs_UFSGetVolSlot(void)
  {
***************
*** 152,158 ****
--- 164,174 ----
  	     * next chain
  	     */
  	    if (afs_FVIndex != tv->vtix) {
+ #if defined(LINUX_USE_FH)
+ 		tfile = osi_UFSOpen_fh(&volumeinfo_fh, volumeinfo_fh_type);
+ #else
  		tfile = osi_UFSOpen(volumeInode);
+ #endif
  		code =
  		    afs_osi_Read(tfile, sizeof(struct fvolume) * tv->vtix,
  				 &staticFVolume, sizeof(struct fvolume));
***************
*** 169,175 ****
--- 185,195 ----
  	staticFVolume.dotdot = tv->dotdot;
  	staticFVolume.rootVnode = tv->rootVnode;
  	staticFVolume.rootUnique = tv->rootUnique;
+ #if defined(LINUX_USE_FH)
+ 	tfile = osi_UFSOpen_fh(&volumeinfo_fh, volumeinfo_fh_type);
+ #else
  	tfile = osi_UFSOpen(volumeInode);
+ #endif
  	code =
  	    afs_osi_Write(tfile, sizeof(struct fvolume) * afs_FVIndex,
  			  &staticFVolume, sizeof(struct fvolume));
***************
*** 185,190 ****
--- 205,215 ----
  }				/*afs_UFSGetVolSlot */
  
  
+ /**
+  *   Get an available volume list slot. If the list does not exist, 
+  * create one containing a single element.
+  * @return 
+  */
  struct volume *
  afs_MemGetVolSlot(void)
  {
***************
*** 205,213 ****
  
  }				/*afs_MemGetVolSlot */
  
! /* afs_ResetVolumes()
!  * Reset volume inforamation for all volume structs that
   * point to a speicific server.
   */
  void
  afs_ResetVolumes(struct server *srvp)
--- 230,239 ----
  
  }				/*afs_MemGetVolSlot */
  
! /** 
!  *   Reset volume information for all volume structs that
   * point to a speicific server.
+  * @param srvp
   */
  void
  afs_ResetVolumes(struct server *srvp)
***************
*** 230,236 ****
  }
  
  
! /* reset volume name to volume id mapping  cache */
  void
  afs_CheckVolumeNames(int flags)
  {
--- 256,265 ----
  }
  
  
! /** 
!  *   Reset volume name to volume id mapping cache.
!  * @param flags
!  */
  void
  afs_CheckVolumeNames(int flags)
  {
***************
*** 276,281 ****
--- 305,311 ----
  		    continue;
  		}
  	    }
+ 	    /* ??? */
  	    if (flags & (AFS_VOLCHECK_BUSY | AFS_VOLCHECK_FORCE)) {
  		for (j = 0; j < MAXHOSTS; j++)
  		    tv->status[j] = not_busy;
***************
*** 369,374 ****
--- 399,412 ----
  }				/*afs_CheckVolumeNames */
  
  
+ /**
+  * Check if volume is in the specified list.
+  * @param fid File FID.
+  * @param nvols Nomber of volumes???
+  * @param vID Array of volume IDs.
+  * @param cID Array of cache IDs.
+  * @return 1 - true, 0 - false.
+  */
  static int
  inVolList(struct VenusFid *fid, afs_int32 nvols, afs_int32 * vID,
  	  afs_int32 * cID)
***************
*** 390,399 ****
  /* afs_PutVolume is now a macro in afs.h */
  
  
! /* afs_FindVolume()
!  *  return volume struct if we have it cached and it's up-to-date
!  *
!  *  Environment:  Must be called with afs_xvolume unlocked.
   */
  struct volume *
  afs_FindVolume(struct VenusFid *afid, afs_int32 locktype)
--- 428,439 ----
  /* afs_PutVolume is now a macro in afs.h */
  
  
! /** 
!  *    Return volume struct if we have it cached and it's up-to-date.
!  *  Environment: Must be called with afs_xvolume unlocked.
!  *  @param afid Volume FID.
!  *  @param locktype
!  *  @return Volume or NULL if no result.
   */
  struct volume *
  afs_FindVolume(struct VenusFid *afid, afs_int32 locktype)
***************
*** 419,427 ****
  
  
  
! /*
!  * Note that areq may be null, in which case we don't bother to set any
   * request status information.
   */
  struct volume *
  afs_GetVolume(struct VenusFid *afid, struct vrequest *areq,
--- 459,471 ----
  
  
  
! /**
!  *   Note that areq may be null, in which case we don't bother to set any
   * request status information.
+  * @param afid Volume FID.
+  * @param areq Request type.
+  * @param locktype Lock to be used.
+  * @return Volume or NULL if no result.
   */
  struct volume *
  afs_GetVolume(struct VenusFid *afid, struct vrequest *areq,
***************
*** 433,438 ****
--- 477,483 ----
  
      tv = afs_FindVolume(afid, locktype);
      if (!tv) {
+ 	/* Do a dynroot check and add dynroot volume if found. */
  	if (afs_IsDynrootAnyFid(afid)) {
  	    tv = afs_NewDynrootVolume(afid);
  	} else {
***************
*** 445,450 ****
--- 490,506 ----
  
  
  
+ /**
+  * 
+  * @param volid Volume ID. If it's 0, get it from the name.
+  * @param aname Volume name.
+  * @param ve Volume entry.
+  * @param tcell The cell containing this volume.
+  * @param agood 
+  * @param type Type of volume.
+  * @param areq Request.
+  * @return Volume or NULL if failure.
+  */
  static struct volume *
  afs_SetupVolume(afs_int32 volid, char *aname, void *ve, struct cell *tcell,
  		afs_int32 agood, afs_int32 type, struct vrequest *areq)
***************
*** 477,485 ****
  		volid = nve->volumeId[whichType];
  	    } else {
  		volid = ove->volumeId[whichType];
! 	    }
! 	}
!     }
  
  
      ObtainWriteLock(&afs_xvolume, 108);
--- 533,541 ----
  		volid = nve->volumeId[whichType];
  	    } else {
  		volid = ove->volumeId[whichType];
! 	    } 
! 	} /* end of if (volid == 0) */
!     } /* end of if (!volid) */
  
  
      ObtainWriteLock(&afs_xvolume, 108);
***************
*** 502,508 ****
  	for (j = fvTable[FVHash(tv->cell, volid)]; j != 0; j = tf->next) {
  	    if (afs_FVIndex != j) {
  		struct osi_file *tfile;
! 		tfile = osi_UFSOpen(volumeInode);
  		err =
  		    afs_osi_Read(tfile, sizeof(struct fvolume) * j,
  				 &staticFVolume, sizeof(struct fvolume));
--- 558,568 ----
  	for (j = fvTable[FVHash(tv->cell, volid)]; j != 0; j = tf->next) {
  	    if (afs_FVIndex != j) {
  		struct osi_file *tfile;
! #if defined(LINUX_USE_FH)
! 	        tfile = osi_UFSOpen_fh(&volumeinfo_fh, volumeinfo_fh_type);
! #else
! 	        tfile = osi_UFSOpen(volumeInode);
! #endif
  		err =
  		    afs_osi_Read(tfile, sizeof(struct fvolume) * j,
  				 &staticFVolume, sizeof(struct fvolume));
***************
*** 556,561 ****
--- 616,631 ----
  }
  
  
+ /**
+  * Seek volume by it's name and attributes.
+  * If volume not found, try to add one.
+  * @param aname Volume name.
+  * @param acell Cell 
+  * @param agood
+  * @param areq
+  * @param locktype Type of lock to be used.
+  * @return 
+  */
  struct volume *
  afs_GetVolumeByName(register char *aname, afs_int32 acell, int agood,
  		    struct vrequest *areq, afs_int32 locktype)
***************
*** 585,590 ****
--- 655,665 ----
      return (tv);
  }
  
+ /**
+  *   Init a new dynroot volume.
+  * @param Volume FID. 
+  * @return Volume or NULL if not found.
+  */
  static struct volume *
  afs_NewDynrootVolume(struct VenusFid *fid)
  {
***************
*** 613,618 ****
--- 688,702 ----
  }
  
  int lastnvcode;
+ 
+ /**
+  * @param aname Volume name.
+  * @param acell Cell id.
+  * @param agood 
+  * @param areq Request type.
+  * @param locktype Type of lock to be used.
+  * @return Volume or NULL if failure.
+  */
  static struct volume *
  afs_NewVolumeByName(char *aname, afs_int32 acell, int agood,
  		    struct vrequest *areq, afs_int32 locktype)
***************
*** 759,765 ****
  
  
  
! /* call this with the volume structure locked; used for new-style vldb requests */
  void
  InstallVolumeEntry(struct volume *av, struct vldbentry *ve, int acell)
  {
--- 843,854 ----
  
  
  
! /** 
!  *   Call this with the volume structure locked; used for new-style vldb requests.
!  * @param av Volume 
!  * @param ve
!  * @param acell
!  */
  void
  InstallVolumeEntry(struct volume *av, struct vldbentry *ve, int acell)
  {
***************
*** 1052,1057 ****
--- 1141,1151 ----
  }				/*InstallVolumeEntry */
  
  
+ /**
+  *   Reset volume info for the specified volume strecture. Mark volume 
+  * to be rechecked next time.
+  * @param tv 
+  */
  void
  afs_ResetVolumeInfo(struct volume *tv)
  {
Index: openafs/src/afs/exporter.h
diff -c openafs/src/afs/exporter.h:1.8.14.3 openafs/src/afs/exporter.h:1.8.14.4
*** openafs/src/afs/exporter.h:1.8.14.3	Mon Jul 31 17:27:39 2006
--- openafs/src/afs/exporter.h	Sat Oct 25 20:45:55 2008
***************
*** 107,113 ****
  #define	EXP_CHECKHOST(EXP, HOST)	\
          (*(EXP)->exp_op->export_checkhost)(EXP, HOST)
  #define	EXP_GETHOST(EXP)	\
!         (*(EXP)->exp_op->export_checkhost)(EXP)
  
  struct afs3_fid {
      u_short len;
--- 107,113 ----
  #define	EXP_CHECKHOST(EXP, HOST)	\
          (*(EXP)->exp_op->export_checkhost)(EXP, HOST)
  #define	EXP_GETHOST(EXP)	\
!         (*(EXP)->exp_op->export_gethost)(EXP)
  
  struct afs3_fid {
      u_short len;
Index: openafs/src/afs/sysincludes.h
diff -c openafs/src/afs/sysincludes.h:1.40.2.6 openafs/src/afs/sysincludes.h:1.40.2.7
*** openafs/src/afs/sysincludes.h:1.40.2.6	Sat Aug 16 15:42:58 2008
--- openafs/src/afs/sysincludes.h	Sat Nov  8 11:34:42 2008
***************
*** 120,125 ****
--- 120,128 ----
  #ifdef COMPLETION_H_EXISTS
  #include <linux/completion.h>
  #endif
+ #if defined(LINUX_USE_FH)
+ #include <linux/exportfs.h>
+ #endif
  
  #else /* AFS_LINUX22_ENV */
  #if defined(AFS_DARWIN_ENV)
Index: openafs/src/afs/HPUX/osi_machdep.h
diff -c openafs/src/afs/HPUX/osi_machdep.h:1.14.4.1 openafs/src/afs/HPUX/osi_machdep.h:1.14.4.2
*** openafs/src/afs/HPUX/osi_machdep.h:1.14.4.1	Thu Nov  9 19:11:06 2006
--- openafs/src/afs/HPUX/osi_machdep.h	Thu Oct  9 14:56:53 2008
***************
*** 30,35 ****
--- 30,37 ----
  #define osi_vnhold(avc, r)  do { VN_HOLD(AFSTOV(avc)); } while(0)
  #define gop_rdwr(rw,gp,base,len,offset,segflg,unit,aresid) \
    vn_rdwr((rw),(gp),(base),(len),(offset),(segflg),(unit),(aresid),0)
+ #define gop_lookupname(fnamep,segflg,followlink,compvpp) \
+   lookupname((fnamep),(segflg),(followlink),NULL,(compvpp))
  
  #undef	afs_suser
  
Index: openafs/src/afs/LINUX/osi_file.c
diff -c openafs/src/afs/LINUX/osi_file.c:1.28.2.10 openafs/src/afs/LINUX/osi_file.c:1.28.2.11
*** openafs/src/afs/LINUX/osi_file.c:1.28.2.10	Wed Mar 26 00:10:39 2008
--- openafs/src/afs/LINUX/osi_file.c	Sat Nov  8 11:34:42 2008
***************
*** 11,17 ****
  #include "afs/param.h"
  
  RCSID
!     ("$Header: /cvs/openafs/src/afs/LINUX/osi_file.c,v 1.28.2.10 2008/03/26 04:10:39 shadow Exp $");
  
  #ifdef AFS_LINUX24_ENV
  #include "h/module.h" /* early to avoid printf->printk mapping */
--- 11,17 ----
  #include "afs/param.h"
  
  RCSID
!     ("$Header: /cvs/openafs/src/afs/LINUX/osi_file.c,v 1.28.2.11 2008/11/08 16:34:42 shadow Exp $");
  
  #ifdef AFS_LINUX24_ENV
  #include "h/module.h" /* early to avoid printf->printk mapping */
***************
*** 36,49 ****
  
  #if defined(AFS_LINUX26_ENV) 
  void *
  osi_UFSOpen(afs_int32 ainode)
  {
      register struct osi_file *afile = NULL;
      extern int cacheDiskType;
      struct inode *tip = NULL;
      struct dentry *dp = NULL;
      struct file *filp = NULL;
! #if !defined(HAVE_IGET)
      struct fid fid;
  #endif
      AFS_STATCNT(osi_UFSOpen);
--- 36,53 ----
  
  #if defined(AFS_LINUX26_ENV) 
  void *
+ #if defined(LINUX_USE_FH)
+ osi_UFSOpen_fh(struct fid *fh, int fh_type)
+ #else
  osi_UFSOpen(afs_int32 ainode)
+ #endif
  {
      register struct osi_file *afile = NULL;
      extern int cacheDiskType;
      struct inode *tip = NULL;
      struct dentry *dp = NULL;
      struct file *filp = NULL;
! #if !defined(HAVE_IGET) || defined(LINUX_USE_FH)
      struct fid fid;
  #endif
      AFS_STATCNT(osi_UFSOpen);
***************
*** 70,93 ****
  
      dp = d_alloc_anon(tip);
  #else
      fid.i32.ino = ainode;
      fid.i32.gen = 0;
      dp = afs_cacheSBp->s_export_op->fh_to_dentry(afs_cacheSBp, &fid, sizeof(fid), FILEID_INO32_GEN);
      if (!dp) 
!            osi_Panic("Can't get dentry for inode %d\n", ainode);          
      tip = dp->d_inode;
  #endif
      tip->i_flags |= MS_NOATIME;	/* Disable updating access times. */
  
      filp = dentry_open(dp, mntget(afs_cacheMnt), O_RDWR);
      if (IS_ERR(filp))
  	osi_Panic("Can't open inode %d\n", ainode);
      afile->filp = filp;
      afile->size = FILE_INODE(filp)->i_size;
      AFS_GLOCK();
      afile->offset = 0;
      afile->proc = (int (*)())0;
      afile->inum = ainode;	/* for hint validity checking */
      return (void *)afile;
  }
  #else
--- 74,109 ----
  
      dp = d_alloc_anon(tip);
  #else
+ #if defined(LINUX_USE_FH)
+     dp = afs_cacheSBp->s_export_op->fh_to_dentry(afs_cacheSBp, fh, sizeof(struct fid), fh_type);
+ #else
      fid.i32.ino = ainode;
      fid.i32.gen = 0;
      dp = afs_cacheSBp->s_export_op->fh_to_dentry(afs_cacheSBp, &fid, sizeof(fid), FILEID_INO32_GEN);
+ #endif
      if (!dp) 
!            osi_Panic("Can't get dentry\n");          
      tip = dp->d_inode;
  #endif
      tip->i_flags |= MS_NOATIME;	/* Disable updating access times. */
  
      filp = dentry_open(dp, mntget(afs_cacheMnt), O_RDWR);
      if (IS_ERR(filp))
+ #if defined(LINUX_USE_FH)
+ 	osi_Panic("Can't open file\n");
+ #else
  	osi_Panic("Can't open inode %d\n", ainode);
+ #endif
      afile->filp = filp;
      afile->size = FILE_INODE(filp)->i_size;
      AFS_GLOCK();
      afile->offset = 0;
      afile->proc = (int (*)())0;
+ #if defined(LINUX_USE_FH)
+     afile->inum = tip->i_ino;	/* for hint validity checking */
+ #else
      afile->inum = ainode;	/* for hint validity checking */
+ #endif
      return (void *)afile;
  }
  #else
***************
*** 143,148 ****
--- 159,181 ----
  }
  #endif
  
+ #if defined(LINUX_USE_FH)
+ int
+ osi_get_fh(struct dentry *dp, struct fid *fh, int *max_len) {
+     int fh_type;
+ 
+     if (dp->d_sb->s_export_op->encode_fh) {
+            fh_type = dp->d_sb->s_export_op->encode_fh(dp, (__u32 *)fh, max_len, 0);
+     } else {
+            fh_type = FILEID_INO32_GEN;
+            fh->i32.ino = dp->d_inode->i_ino;
+            fh->i32.gen = dp->d_inode->i_generation;
+     }
+     dput(dp);
+     return(fh_type);
+ }
+ #endif
+ 
  int
  afs_osi_Stat(register struct osi_file *afile, register struct osi_stat *astat)
  {
***************
*** 372,377 ****
--- 405,415 ----
  osi_InitCacheInfo(char *aname)
  {
      int code;
+ #if defined(LINUX_USE_FH)
+     int max_len = sizeof(struct fid);
+ #else
+     extern ino_t cacheInode;
+ #endif
      struct dentry *dp;
      extern ino_t cacheInode;
      extern struct osi_dev cacheDev;
***************
*** 382,388 ****
--- 420,436 ----
      if (code)
  	return ENOENT;
  
+ #if defined(LINUX_USE_FH)
+     if (dp->d_sb->s_export_op->encode_fh) {
+ 	cacheitems_fh_type = dp->d_sb->s_export_op->encode_fh(dp, (__u32 *)&cacheitems_fh, &max_len, 0);
+     } else {
+         cacheitems_fh_type = FILEID_INO32_GEN;
+ 	cacheitems_fh.i32.ino = dp->d_inode->i_ino;
+         cacheitems_fh.i32.gen = dp->d_inode->i_generation;
+     }
+ #else
      cacheInode = dp->d_inode->i_ino;
+ #endif
      cacheDev.dev = dp->d_inode->i_sb->s_dev;
      afs_fsfragsize = dp->d_inode->i_sb->s_blocksize - 1;
      afs_cacheSBp = dp->d_inode->i_sb;
Index: openafs/src/afs/LINUX/osi_vfsops.c
diff -c openafs/src/afs/LINUX/osi_vfsops.c:1.42.4.22 openafs/src/afs/LINUX/osi_vfsops.c:1.42.4.23
*** openafs/src/afs/LINUX/osi_vfsops.c:1.42.4.22	Mon Jun 30 23:35:23 2008
--- openafs/src/afs/LINUX/osi_vfsops.c	Sat Nov  8 11:14:01 2008
***************
*** 16,22 ****
  #include "afs/param.h"
  
  RCSID
!     ("$Header: /cvs/openafs/src/afs/LINUX/osi_vfsops.c,v 1.42.4.22 2008/07/01 03:35:23 shadow Exp $");
  
  #define __NO_VERSION__		/* don't define kernel_version in module.h */
  #include <linux/module.h> /* early to avoid printf->printk mapping */
--- 16,22 ----
  #include "afs/param.h"
  
  RCSID
!     ("$Header: /cvs/openafs/src/afs/LINUX/osi_vfsops.c,v 1.42.4.23 2008/11/08 16:14:01 shadow Exp $");
  
  #define __NO_VERSION__		/* don't define kernel_version in module.h */
  #include <linux/module.h> /* early to avoid printf->printk mapping */
***************
*** 149,154 ****
--- 149,157 ----
  #if defined(AFS_LINUX26_ENV) && !defined(AFS_NONFSTRANS)
      sb->s_export_op = &afs_export_ops;
  #endif
+ #if defined(HAVE_BDI_INIT)
+     bdi_init(&afs_backing_dev_info);
+ #endif
  #if defined(MAX_NON_LFS)
  #ifdef AFS_64BIT_CLIENT
  #if !defined(MAX_LFS_FILESIZE)
***************
*** 400,405 ****
--- 403,411 ----
  #endif
  
      osi_linux_verify_alloced_memory();
+ #if defined(HAVE_BDI_INIT)
+     bdi_destroy(&afs_backing_dev_info);
+ #endif
      AFS_GUNLOCK();
  
      sbp->s_dev = 0;
Index: openafs/src/afs/LINUX/osi_vm.c
diff -c openafs/src/afs/LINUX/osi_vm.c:1.17 openafs/src/afs/LINUX/osi_vm.c:1.17.4.1
*** openafs/src/afs/LINUX/osi_vm.c:1.17	Mon Jul 11 14:45:51 2005
--- openafs/src/afs/LINUX/osi_vm.c	Mon Oct 20 08:09:43 2008
***************
*** 11,17 ****
  #include "afs/param.h"
  
  RCSID
!     ("$Header: /cvs/openafs/src/afs/LINUX/osi_vm.c,v 1.17 2005/07/11 18:45:51 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/LINUX/osi_vm.c,v 1.17.4.1 2008/10/20 12:09:43 shadow Exp $");
  
  #include "afs/sysincludes.h"	/* Standard vendor system headers */
  #include "afsincludes.h"	/* Afs-based standard headers */
***************
*** 102,107 ****
--- 102,112 ----
  {
      struct inode *ip = AFSTOV(avc);
  
+     if (!avc->states & CPageWrite)
+ 	avc->states |= CPageWrite;
+     else 
+ 	return; /* someone already writing */
+ 
  #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,4,5)
      /* filemap_fdatasync() only exported in 2.4.5 and above */
      ReleaseWriteLock(&avc->lock);
***************
*** 115,120 ****
--- 120,126 ----
      AFS_GLOCK();
      ObtainWriteLock(&avc->lock, 121);
  #endif
+     avc->states &= ~CPageWrite;
  }
  
  /* Purge VM for a file when its callback is revoked.
Index: openafs/src/afs/LINUX/osi_vnodeops.c
diff -c openafs/src/afs/LINUX/osi_vnodeops.c:1.126.2.33 openafs/src/afs/LINUX/osi_vnodeops.c:1.126.2.38
*** openafs/src/afs/LINUX/osi_vnodeops.c:1.126.2.33	Tue Oct  7 15:00:42 2008
--- openafs/src/afs/LINUX/osi_vnodeops.c	Sat Nov  8 11:49:45 2008
***************
*** 22,28 ****
  #include "afs/param.h"
  
  RCSID
!     ("$Header: /cvs/openafs/src/afs/LINUX/osi_vnodeops.c,v 1.126.2.33 2008/10/07 19:00:42 shadow Exp $");
  
  #include "afs/sysincludes.h"
  #include "afsincludes.h"
--- 22,28 ----
  #include "afs/param.h"
  
  RCSID
!     ("$Header: /cvs/openafs/src/afs/LINUX/osi_vnodeops.c,v 1.126.2.38 2008/11/08 16:49:45 shadow Exp $");
  
  #include "afs/sysincludes.h"
  #include "afsincludes.h"
***************
*** 53,61 ****
--- 53,63 ----
  #if defined(AFS_LINUX26_ENV)
  #define LockPage(pp) lock_page(pp)
  #define UnlockPage(pp) unlock_page(pp)
+ extern struct backing_dev_info afs_backing_dev_info;
  #endif
  
  extern struct vcache *afs_globalVp;
+ extern int afs_notify_change(struct dentry *dp, struct iattr *iattrp);
  #if defined(AFS_LINUX26_ENV)
  /* Some uses of BKL are perhaps not needed for bypass or memcache--
   * why don't we try it out? */
***************
*** 94,114 ****
      if (code)
  	code = -code;
      else {
!         isize = (i_size_read(fp->f_mapping->host) - 1) >> PAGE_CACHE_SHIFT;
          offindex = *offp >> PAGE_CACHE_SHIFT;
          if(offindex > isize) {
              code=0;
              goto done;
          }
! 
! 	    osi_FlushPages(vcp, credp);	/* ensure stale pages are gone */
! 	    AFS_GUNLOCK();
  #ifdef DO_SYNC_READ
! 	    code = do_sync_read(fp, buf, count, offp);
  #else
! 	    code = generic_file_read(fp, buf, count, offp);
  #endif
! 	    AFS_GLOCK();
      }
  
      afs_Trace4(afs_iclSetp, CM_TRACE_READOP, ICL_TYPE_POINTER, vcp,
--- 96,119 ----
      if (code)
  	code = -code;
      else {
! #if defined(AFS_CACHE_BYPASS)
! #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0)
! 	isize = (i_size_read(fp->f_mapping->host) - 1) >> PAGE_CACHE_SHIFT;
          offindex = *offp >> PAGE_CACHE_SHIFT;
          if(offindex > isize) {
              code=0;
              goto done;
          }
! #endif
! #endif
! 	osi_FlushPages(vcp, credp);	/* ensure stale pages are gone */
! 	AFS_GUNLOCK();
  #ifdef DO_SYNC_READ
! 	code = do_sync_read(fp, buf, count, offp);
  #else
! 	code = generic_file_read(fp, buf, count, offp);
  #endif
! 	AFS_GLOCK();
      }
  
      afs_Trace4(afs_iclSetp, CM_TRACE_READOP, ICL_TYPE_POINTER, vcp,
***************
*** 1734,1739 ****
--- 1739,1746 ----
  	 set_bit(PG_locked, &pp->flags);	/* other bits? See mm.h */
  	 clear_bit(PG_error, &pp->flags);
  #endif
+ #if defined(AFS_CACHE_BYPASS)
+ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0)
  	 /* If the page is past the end of the file, skip it */
  	 isize = (i_size_read(fp->f_mapping->host) - 1) >> PAGE_CACHE_SHIFT;
  	 if(pp->index > isize) {
***************
*** 1741,1746 ****
--- 1748,1755 ----
  			   UnlockPage(pp);
  		  goto done;
  	 }
+ #endif
+ #endif
  	 /* if bypasscache, receiver frees, else we do */
  	 auio = osi_Alloc(sizeof(uio_t));
  	 iovecp = osi_Alloc(sizeof(struct iovec));
***************
*** 1887,1892 ****
--- 1896,1921 ----
  	       ICL_TYPE_POINTER, pp, ICL_TYPE_INT32, page_count(pp),
  	       ICL_TYPE_INT32, 99999);
  
+     ObtainReadLock(&vcp->lock);
+     if (vcp->states & CPageWrite) {
+ 	ReleaseReadLock(&vcp->lock);
+ 	AFS_GUNLOCK();
+ 	maybe_unlock_kernel();
+ 	crfree(credp);
+ 	kunmap(pp);
+ #ifdef AFS_LINUX26_ENV
+ #if defined(WRITEPAGE_ACTIVATE)
+ 	return WRITEPAGE_ACTIVATE;
+ #else
+ 	return AOP_WRITEPAGE_ACTIVATE;
+ #endif
+ #else
+ 	/* should mark it dirty? */
+ 	return(0); 
+ #endif
+     }
+     ReleaseReadLock(&vcp->lock);
+ 
      setup_uio(&tuio, &iovec, buffer, base, count, UIO_WRITE, AFS_UIOSYS);
  
      code = afs_write(vcp, &tuio, f_flags, credp, 0);
***************
*** 2048,2054 ****
      return -code;
  }
  
! #if defined(AFS_LINUX24_ENV)
  static int
  afs_linux_commit_write(struct file *file, struct page *page, unsigned offset,
  		       unsigned to)
--- 2077,2083 ----
      return -code;
  }
  
! #if defined(AFS_LINUX24_ENV) && !defined(HAVE_WRITE_BEGIN)
  static int
  afs_linux_commit_write(struct file *file, struct page *page, unsigned offset,
  		       unsigned to)
***************
*** 2075,2084 ****
  #endif
      return 0;
  }
  
! extern int afs_notify_change(struct dentry *dp, struct iattr *iattrp);
  #endif
  
  static struct inode_operations afs_file_iops = {
  #if defined(AFS_LINUX26_ENV)
    .permission =		afs_linux_permission,
--- 2104,2143 ----
  #endif
      return 0;
  }
+ #endif
  
! #if defined(HAVE_WRITE_BEGIN)
! static int
! afs_linux_write_end(struct file *file, struct address_space *mapping,
!                                 loff_t pos, unsigned len, unsigned copied,
!                                 struct page *page, void *fsdata)
! {
!     int code;
!     pgoff_t index = pos >> PAGE_CACHE_SHIFT;
!     unsigned from = pos & (PAGE_CACHE_SIZE - 1);
! 
!     code = afs_linux_writepage_sync(file->f_dentry->d_inode, page,
!                                     from, copied);
!     unlock_page(page);
!     page_cache_release(page);
!     return code;
! }
! 
! static int
! afs_linux_write_begin(struct file *file, struct address_space *mapping,
!                                 loff_t pos, unsigned len, unsigned flags,
!                                 struct page **pagep, void **fsdata)
! {
!     struct page *page;
!     pgoff_t index = pos >> PAGE_CACHE_SHIFT;
!     page = __grab_cache_page(mapping, index);
!     *pagep = page;
! 
!     return 0;
! }
  #endif
  
+ 
  static struct inode_operations afs_file_iops = {
  #if defined(AFS_LINUX26_ENV)
    .permission =		afs_linux_permission,
***************
*** 2103,2110 ****
    .readpages =		afs_linux_readpages,
  #endif  
    .writepage =		afs_linux_writepage,
!   .commit_write =	afs_linux_commit_write,
!   .prepare_write =	afs_linux_prepare_write,
  };
  #endif
  
--- 2162,2174 ----
    .readpages =		afs_linux_readpages,
  #endif  
    .writepage =		afs_linux_writepage,
! #if defined (HAVE_WRITE_BEGIN)
!   .write_begin =        afs_linux_write_begin,
!   .write_end =          afs_linux_write_end,
! #else
!   .commit_write =       afs_linux_commit_write,
!   .prepare_write =      afs_linux_prepare_write,
! #endif
  };
  #endif
  
***************
*** 2204,2209 ****
--- 2268,2274 ----
      if (vattr)
  	vattr2inode(ip, vattr);
  
+     ip->i_mapping->backing_dev_info = &afs_backing_dev_info;
  /* Reset ops if symlink or directory. */
      if (S_ISREG(ip->i_mode)) {
  	ip->i_op = &afs_file_iops;
Index: openafs/src/afs/SOLARIS/osi_machdep.h
diff -c openafs/src/afs/SOLARIS/osi_machdep.h:1.11.4.4 openafs/src/afs/SOLARIS/osi_machdep.h:1.11.4.5
*** openafs/src/afs/SOLARIS/osi_machdep.h:1.11.4.4	Fri Oct  5 18:18:35 2007
--- openafs/src/afs/SOLARIS/osi_machdep.h	Thu Oct  9 14:54:17 2008
***************
*** 59,64 ****
--- 59,66 ----
  #define osi_vnhold(avc, r)  do { VN_HOLD(AFSTOV(avc)); } while(0)
  #define gop_rdwr(rw,gp,base,len,offset,segflg,ioflag,ulimit,cr,aresid) \
    vn_rdwr((rw),(gp),(base),(len),(offset),(segflg),(ioflag),(ulimit),(cr),(aresid))
+ #define gop_lookupname(fnamep,segflg,followlink,compvpp) \
+   lookupname((fnamep),(segflg),(followlink),NULL,(compvpp))
  
  
  #if defined(AFS_SUN510_ENV)
Index: openafs/src/afs/UKERNEL/afs_usrops.c
diff -c openafs/src/afs/UKERNEL/afs_usrops.c:1.30.6.8 openafs/src/afs/UKERNEL/afs_usrops.c:1.30.6.9
*** openafs/src/afs/UKERNEL/afs_usrops.c:1.30.6.8	Tue Jul  1 16:56:38 2008
--- openafs/src/afs/UKERNEL/afs_usrops.c	Mon Oct 27 19:53:46 2008
***************
*** 15,21 ****
  #include "afs/param.h"
  
  RCSID
!     ("$Header: /cvs/openafs/src/afs/UKERNEL/afs_usrops.c,v 1.30.6.8 2008/07/01 20:56:38 shadow Exp $");
  
  
  #ifdef	UKERNEL
--- 15,21 ----
  #include "afs/param.h"
  
  RCSID
!     ("$Header: /cvs/openafs/src/afs/UKERNEL/afs_usrops.c,v 1.30.6.9 2008/10/27 23:53:46 shadow Exp $");
  
  
  #ifdef	UKERNEL
***************
*** 2201,2207 ****
  uafs_LookupName(char *path, struct usr_vnode *parentVp,
  		struct usr_vnode **vpp, int follow, int no_eval_mtpt)
  {
!     int code;
      int linkCount;
      struct usr_vnode *vp;
      struct usr_vnode *nextVp;
--- 2201,2207 ----
  uafs_LookupName(char *path, struct usr_vnode *parentVp,
  		struct usr_vnode **vpp, int follow, int no_eval_mtpt)
  {
!     int code = 0;
      int linkCount;
      struct usr_vnode *vp;
      struct usr_vnode *nextVp;
Index: openafs/src/afs/VNOPS/afs_vnop_dirops.c
diff -c openafs/src/afs/VNOPS/afs_vnop_dirops.c:1.21.4.3 openafs/src/afs/VNOPS/afs_vnop_dirops.c:1.21.4.4
*** openafs/src/afs/VNOPS/afs_vnop_dirops.c:1.21.4.3	Mon Sep 22 15:29:55 2008
--- openafs/src/afs/VNOPS/afs_vnop_dirops.c	Sun Oct 12 14:10:14 2008
***************
*** 21,27 ****
  #include "afs/param.h"
  
  RCSID
!     ("$Header: /cvs/openafs/src/afs/VNOPS/afs_vnop_dirops.c,v 1.21.4.3 2008/09/22 19:29:55 shadow Exp $");
  
  #include "afs/sysincludes.h"	/* Standard vendor system headers */
  #include "afsincludes.h"	/* Afs-based standard headers */
--- 21,27 ----
  #include "afs/param.h"
  
  RCSID
!     ("$Header: /cvs/openafs/src/afs/VNOPS/afs_vnop_dirops.c,v 1.21.4.4 2008/10/12 18:10:14 shadow Exp $");
  
  #include "afs/sysincludes.h"	/* Standard vendor system headers */
  #include "afsincludes.h"	/* Afs-based standard headers */
***************
*** 435,442 ****
  	    	ObtainSharedLock(&tdc->lock, 732);
  	}
  
! 	if (!tvc->ddirty_flags ||
! 		(tvc->ddirty_flags == VDisconShadowed)) {
  	    /* Put it in the list only if it's fresh or has only been shadowed. */
  	    ObtainWriteLock(&afs_DDirtyVCListLock, 728);
  	    AFS_DISCON_ADD_DIRTY(tvc);
--- 435,441 ----
  	    	ObtainSharedLock(&tdc->lock, 732);
  	}
  
! 	if (!tvc->ddirty_flags) {
  	    /* Put it in the list only if it's fresh or has only been shadowed. */
  	    ObtainWriteLock(&afs_DDirtyVCListLock, 728);
  	    AFS_DISCON_ADD_DIRTY(tvc);
Index: openafs/src/afs/VNOPS/afs_vnop_lookup.c
diff -c openafs/src/afs/VNOPS/afs_vnop_lookup.c:1.72.2.9 openafs/src/afs/VNOPS/afs_vnop_lookup.c:1.72.2.10
*** openafs/src/afs/VNOPS/afs_vnop_lookup.c:1.72.2.9	Mon Sep 22 15:29:55 2008
--- openafs/src/afs/VNOPS/afs_vnop_lookup.c	Mon Oct 27 19:41:43 2008
***************
*** 18,24 ****
  #include "afs/param.h"
  
  RCSID
!     ("$Header: /cvs/openafs/src/afs/VNOPS/afs_vnop_lookup.c,v 1.72.2.9 2008/09/22 19:29:55 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.72.2.10 2008/10/27 23:41:43 shadow Exp $");
  
  #include "afs/sysincludes.h"	/* Standard vendor system headers */
  #include "afsincludes.h"	/* Afs-based standard headers */
***************
*** 664,670 ****
      afs_int32 retry;		/* handle low-level SGI MP race conditions */
      long volStates;		/* flags from vol structure */
      struct volume *volp = 0;	/* volume ptr */
!     struct VenusFid dotdot;
      int flagIndex = 0;		/* First file with bulk fetch flag set */
      int inlinebulk = 0;		/* Did we use InlineBulk RPC or not? */
      XSTATS_DECLS;
--- 664,670 ----
      afs_int32 retry;		/* handle low-level SGI MP race conditions */
      long volStates;		/* flags from vol structure */
      struct volume *volp = 0;	/* volume ptr */
!     struct VenusFid dotdot = {0, 0, 0};
      int flagIndex = 0;		/* First file with bulk fetch flag set */
      int inlinebulk = 0;		/* Did we use InlineBulk RPC or not? */
      XSTATS_DECLS;
Index: openafs/src/afs/VNOPS/afs_vnop_read.c
diff -c openafs/src/afs/VNOPS/afs_vnop_read.c:1.34.2.6 openafs/src/afs/VNOPS/afs_vnop_read.c:1.34.2.7
*** openafs/src/afs/VNOPS/afs_vnop_read.c:1.34.2.6	Mon Sep 22 15:29:55 2008
--- openafs/src/afs/VNOPS/afs_vnop_read.c	Sat Nov  8 11:34:42 2008
***************
*** 19,25 ****
  #include "afs/param.h"
  
  RCSID
!     ("$Header: /cvs/openafs/src/afs/VNOPS/afs_vnop_read.c,v 1.34.2.6 2008/09/22 19:29:55 shadow Exp $");
  
  #include "afs/sysincludes.h"	/* Standard vendor system headers */
  #include "afsincludes.h"	/* Afs-based standard headers */
--- 19,25 ----
  #include "afs/param.h"
  
  RCSID
!     ("$Header: /cvs/openafs/src/afs/VNOPS/afs_vnop_read.c,v 1.34.2.7 2008/11/08 16:34:42 shadow Exp $");
  
  #include "afs/sysincludes.h"	/* Standard vendor system headers */
  #include "afsincludes.h"	/* Afs-based standard headers */
***************
*** 806,813 ****
  		usedihint++;
  	    } else
  #endif /* IHINT */
! 
  		tfile = (struct osi_file *)osi_UFSOpen(tdc->f.inode);
  #ifdef AFS_DARWIN80_ENV
  	    trimlen = len;
              tuiop = afsio_darwin_partialcopy(auio, trimlen);
--- 806,816 ----
  		usedihint++;
  	    } else
  #endif /* IHINT */
! #if defined(LINUX_USE_FH)
! 		tfile = (struct osi_file *)osi_UFSOpen_fh(&tdc->f.fh, tdc->f.fh_type);
! #else
  		tfile = (struct osi_file *)osi_UFSOpen(tdc->f.inode);
+ #endif
  #ifdef AFS_DARWIN80_ENV
  	    trimlen = len;
              tuiop = afsio_darwin_partialcopy(auio, trimlen);
Index: openafs/src/afs/VNOPS/afs_vnop_symlink.c
diff -c openafs/src/afs/VNOPS/afs_vnop_symlink.c:1.24.4.6 openafs/src/afs/VNOPS/afs_vnop_symlink.c:1.24.4.7
*** openafs/src/afs/VNOPS/afs_vnop_symlink.c:1.24.4.6	Sun Jun  8 23:30:30 2008
--- openafs/src/afs/VNOPS/afs_vnop_symlink.c	Sat Nov  8 11:34:42 2008
***************
*** 22,28 ****
  #include "afs/param.h"
  
  RCSID
!     ("$Header: /cvs/openafs/src/afs/VNOPS/afs_vnop_symlink.c,v 1.24.4.6 2008/06/09 03:30:30 shadow Exp $");
  
  #include "afs/sysincludes.h"	/* Standard vendor system headers */
  #include "afsincludes.h"	/* Afs-based standard headers */
--- 22,28 ----
  #include "afs/param.h"
  
  RCSID
!     ("$Header: /cvs/openafs/src/afs/VNOPS/afs_vnop_symlink.c,v 1.24.4.7 2008/11/08 16:34:42 shadow Exp $");
  
  #include "afs/sysincludes.h"	/* Standard vendor system headers */
  #include "afsincludes.h"	/* Afs-based standard headers */
***************
*** 336,342 ****
--- 336,346 ----
  	rbuf = (char *)osi_AllocLargeSpace(AFS_LRALLOCSIZ);
  	tlen = len;
  	ObtainReadLock(&tdc->lock);
+ #if defined(LINUX_USE_FH)
+ 	tfile = osi_UFSOpen_fh(&tdc->f.fh, tdc->f.fh_type);
+ #else
  	tfile = osi_UFSOpen(tdc->f.inode);
+ #endif
  	code = afs_osi_Read(tfile, -1, rbuf, tlen);
  	osi_UFSClose(tfile);
  	ReleaseReadLock(&tdc->lock);
Index: openafs/src/afs/VNOPS/afs_vnop_write.c
diff -c openafs/src/afs/VNOPS/afs_vnop_write.c:1.50.2.4 openafs/src/afs/VNOPS/afs_vnop_write.c:1.50.2.5
*** openafs/src/afs/VNOPS/afs_vnop_write.c:1.50.2.4	Mon Sep 22 15:29:55 2008
--- openafs/src/afs/VNOPS/afs_vnop_write.c	Sat Nov  8 11:34:42 2008
***************
*** 21,27 ****
  #include "afs/param.h"
  
  RCSID
!     ("$Header: /cvs/openafs/src/afs/VNOPS/afs_vnop_write.c,v 1.50.2.4 2008/09/22 19:29:55 shadow Exp $");
  
  #include "afs/sysincludes.h"	/* Standard vendor system headers */
  #include "afsincludes.h"	/* Afs-based standard headers */
--- 21,27 ----
  #include "afs/param.h"
  
  RCSID
!     ("$Header: /cvs/openafs/src/afs/VNOPS/afs_vnop_write.c,v 1.50.2.5 2008/11/08 16:34:42 shadow Exp $");
  
  #include "afs/sysincludes.h"	/* Standard vendor system headers */
  #include "afsincludes.h"	/* Afs-based standard headers */
***************
*** 543,549 ****
--- 543,553 ----
  	    tdc->f.states |= DWriting;
  	    tdc->dflags |= DFEntryMod;
  	}
+ #if defined(LINUX_USE_FH)
+ 	tfile = (struct osi_file *)osi_UFSOpen_fh(&tdc->f.fh, tdc->f.fh_type);
+ #else
  	tfile = (struct osi_file *)osi_UFSOpen(tdc->f.inode);
+ #endif
  	len = totalLength;	/* write this amount by default */
  	offset = filePos - AFS_CHUNKTOBASE(tdc->f.chunk);
  	max = AFS_CHUNKTOSIZE(tdc->f.chunk);	/* max size of this chunk */
Index: openafs/src/afsd/afsd.c
diff -c openafs/src/afsd/afsd.c:1.60.2.11 openafs/src/afsd/afsd.c:1.60.2.12
*** openafs/src/afsd/afsd.c:1.60.2.11	Mon Sep 22 15:35:27 2008
--- openafs/src/afsd/afsd.c	Sat Nov  8 11:34:42 2008
***************
*** 58,64 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/afsd/afsd.c,v 1.60.2.11 2008/09/22 19:35:27 shadow Exp $");
  
  #define VFS 1
  
--- 58,64 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/afsd/afsd.c,v 1.60.2.12 2008/11/08 16:34:42 shadow Exp $");
  
  #define VFS 1
  
***************
*** 339,345 ****
  				 * -2: file exists in top-level
  				 * >=0: file exists in Dxxx
  				 */
! #ifndef AFS_CACHE_VNODE_PATH
  AFSD_INO_T *inode_for_V;	/* Array of inodes for desired
  				 * cache files */
  #endif
--- 339,345 ----
  				 * -2: file exists in top-level
  				 * >=0: file exists in Dxxx
  				 */
! #if !defined(AFS_CACHE_VNODE_PATH) && !defined(LINUX_USE_FH)
  AFSD_INO_T *inode_for_V;	/* Array of inodes for desired
  				 * cache files */
  #endif
***************
*** 1014,1020 ****
  	     * file's inode, directory, and bump the number of files found
  	     * total and in this directory.
  	     */
! #ifndef AFS_CACHE_VNODE_PATH
  	    inode_for_V[vFileNum] = currp->d_ino;
  #endif
  	    dir_for_V[vFileNum] = dirNum;	/* remember this directory */
--- 1014,1020 ----
  	     * file's inode, directory, and bump the number of files found
  	     * total and in this directory.
  	     */
! #if !defined(AFS_CACHE_VNODE_PATH) && !defined(LINUX_USE_FH)
  	    inode_for_V[vFileNum] = currp->d_ino;
  #endif
  	    dir_for_V[vFileNum] = dirNum;	/* remember this directory */
***************
*** 1153,1159 ****
  			   vFileNum);
  		else {
  		    struct stat statb;
! #ifndef AFS_CACHE_VNODE_PATH
  		    assert(inode_for_V[vFileNum] == (AFSD_INO_T) 0);
  #endif
  		    sprintf(vFilePtr, "D%d/V%d", thisDir, vFileNum);
--- 1153,1159 ----
  			   vFileNum);
  		else {
  		    struct stat statb;
! #if !defined(AFS_CACHE_VNODE_PATH) && !defined(LINUX_USE_FH)
  		    assert(inode_for_V[vFileNum] == (AFSD_INO_T) 0);
  #endif
  		    sprintf(vFilePtr, "D%d/V%d", thisDir, vFileNum);
***************
*** 1166,1172 ****
  		    if (CreateCacheFile(fullpn_VFile, &statb))
  			printf("%s: Can't create '%s'\n", rn, fullpn_VFile);
  		    else {
! #ifndef AFS_CACHE_VNODE_PATH
  			inode_for_V[vFileNum] = statb.st_ino;
  #endif
  			dir_for_V[vFileNum] = thisDir;
--- 1166,1172 ----
  		    if (CreateCacheFile(fullpn_VFile, &statb))
  			printf("%s: Can't create '%s'\n", rn, fullpn_VFile);
  		    else {
! #if !defined(AFS_CACHE_VNODE_PATH) && !defined(LINUX_USE_FH)
  			inode_for_V[vFileNum] = statb.st_ino;
  #endif
  			dir_for_V[vFileNum] = thisDir;
***************
*** 1268,1273 ****
--- 1268,1274 ----
  	if (res != 0) {
  	    return "unable to statfs cache base directory";
  	}
+ #if !defined(LINUX_USE_FH)
  	if (statfsbuf.f_type == 0x52654973) {	/* REISERFS_SUPER_MAGIC */
  	    return "cannot use reiserfs as cache partition";
  	} else if (statfsbuf.f_type == 0x58465342) {	/* XFS_SUPER_MAGIC */
***************
*** 1277,1282 ****
--- 1278,1284 ----
          } else if (statfsbuf.f_type != 0xEF53) {
              return "must use ext2 or ext3 for cache partition";
  	}
+ #endif
      }
  #endif
  
***************
*** 1936,1942 ****
  		   cacheStatEntries);
      }
  
! #ifndef AFS_CACHE_VNODE_PATH
      /*
       * Create and zero the inode table for the desired cache files.
       */
--- 1938,1944 ----
  		   cacheStatEntries);
      }
  
! #if !defined(AFS_CACHE_VNODE_PATH) && !defined(LINUX_USE_FH)
      /*
       * Create and zero the inode table for the desired cache files.
       */
***************
*** 2307,2314 ****
--- 2309,2321 ----
  			 (afs_uint32) (inode_for_V[currVFile] >> 32),
  			 (afs_uint32) (inode_for_V[currVFile] & 0xffffffff));
  #else
+ #if defined(LINUX_USE_FH)
+ 	    sprintf(fullpn_VFile, "%s/D%d/V%d", cacheBaseDir, dir_for_V[currVFile], currVFile);
+ 	    call_syscall(AFSOP_CACHEFILE, fullpn_VFile);
+ #else
  	    call_syscall(AFSOP_CACHEINODE, inode_for_V[currVFile]);
  #endif
+ #endif
  	}
  #endif
  
Index: openafs/src/aklog/aklog_main.c
diff -c openafs/src/aklog/aklog_main.c:1.12.2.15 openafs/src/aklog/aklog_main.c:1.12.2.17
*** openafs/src/aklog/aklog_main.c:1.12.2.15	Tue Apr  1 14:15:40 2008
--- openafs/src/aklog/aklog_main.c	Wed Oct 29 15:43:53 2008
***************
*** 1,5 ****
  /* 
!  * $Id: aklog_main.c,v 1.12.2.15 2008/04/01 18:15:40 shadow Exp $
   *
   * Copyright 1990,1991 by the Massachusetts Institute of Technology
   * For distribution and copying rights, see the file "mit-copyright.h"
--- 1,5 ----
  /* 
!  * $Id: aklog_main.c,v 1.12.2.17 2008/10/29 19:43:53 shadow Exp $
   *
   * Copyright 1990,1991 by the Massachusetts Institute of Technology
   * For distribution and copying rights, see the file "mit-copyright.h"
***************
*** 36,42 ****
  
  #include <afsconfig.h>
  RCSID
!      ("$Header: /cvs/openafs/src/aklog/aklog_main.c,v 1.12.2.15 2008/04/01 18:15:40 shadow Exp $");
  #include <stdio.h>
  #include <string.h>
  #include <ctype.h>
--- 36,42 ----
  
  #include <afsconfig.h>
  RCSID
!      ("$Header: /cvs/openafs/src/aklog/aklog_main.c,v 1.12.2.17 2008/10/29 19:43:53 shadow Exp $");
  #include <stdio.h>
  #include <string.h>
  #include <ctype.h>
***************
*** 463,469 ****
  	retry = 1;
  	
  	while(retry) {
! 	    
  	    /* Cell on command line - use that one */
  	    if (realm && realm[0]) {
  		realm_of_cell = realm;
--- 463,489 ----
  	retry = 1;
  	
  	while(retry) {
! 
! 	    /* This code tries principals in the following, much debated,
! 	     * order:
! 	     * 
! 	     * If the realm is specified on the command line we do
! 	     *    - afs/cell@COMMAND-LINE-REALM
! 	     *    - afs@COMMAND-LINE-REALM
! 	     * 
! 	     * Otherwise, we do
! 	     *    - afs/cell@REALM-FROM-USERS-PRINCIPAL
! 	     *    - afs/cell@krb5_get_host_realm(db-server)
! 	     *   Then, if krb5_get_host_realm(db-server) is non-empty
! 	     *      - afs@ krb5_get_host_realm(db-server)
! 	     *   Otherwise
! 	     *      - afs/cell@ upper-case-domain-of-db-server
! 	     *      - afs@ upper-case-domain-of-db-server
! 	     * 
! 	     * In all cases, the 'afs@' variant is only tried where the
! 	     * cell and the realm match case-insensitively.
! 	     */
! 		
  	    /* Cell on command line - use that one */
  	    if (realm && realm[0]) {
  		realm_of_cell = realm;
***************
*** 528,535 ****
  				    "%s.\n", progname, cell_to_use);
  			    exit(AKLOG_MISC);
  			}
! 			printf("We've deduced that we need to authenticate to"
! 			       " realm %s.\n", realm_of_cell);
  		    }
  		    status = get_credv5(context, AFSKEY, cell_to_use, 
  				        realm_of_cell, &v5cred);
--- 548,557 ----
  				    "%s.\n", progname, cell_to_use);
  			    exit(AKLOG_MISC);
  			}
! 			if (dflag) {
! 			    printf("We've deduced that we need to authenticate"
! 			           " to realm %s.\n", realm_of_cell);
! 			}
  		    }
  		    status = get_credv5(context, AFSKEY, cell_to_use, 
  				        realm_of_cell, &v5cred);
Index: openafs/src/bozo/bosserver.c
diff -c openafs/src/bozo/bosserver.c:1.32.2.11 openafs/src/bozo/bosserver.c:1.32.2.12
*** openafs/src/bozo/bosserver.c:1.32.2.11	Wed Sep 24 17:36:54 2008
--- openafs/src/bozo/bosserver.c	Sat Oct 18 11:09:07 2008
***************
*** 11,17 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/bozo/bosserver.c,v 1.32.2.11 2008/09/24 21:36:54 shadow Exp $");
  
  #include <afs/stds.h>
  #include <sys/types.h>
--- 11,17 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/bozo/bosserver.c,v 1.32.2.12 2008/10/18 15:09:07 jaltman Exp $");
  
  #include <afs/stds.h>
  #include <sys/types.h>
***************
*** 825,836 ****
  	else if (strcmp(argv[code], "-allow-dotted-principals") == 0) {
  	    rxkadDisableDotCheck = 1;
  	}
! 	else if (!strcmp(argv[i], "-rxmaxmtu")) {
! 	    if ((i + 1) >= argc) {
  		fprintf(stderr, "missing argument for -rxmaxmtu\n"); 
  		exit(1); 
  	    }
! 	    rxMaxMTU = atoi(argv[++i]);
  	    if ((rxMaxMTU < RX_MIN_PACKET_SIZE) || 
  		(rxMaxMTU > RX_MAX_PACKET_DATA_SIZE)) {
  		printf("rxMaxMTU %d invalid; must be between %d-%d\n",
--- 825,836 ----
  	else if (strcmp(argv[code], "-allow-dotted-principals") == 0) {
  	    rxkadDisableDotCheck = 1;
  	}
! 	else if (!strcmp(argv[code], "-rxmaxmtu")) {
! 	    if ((code + 1) >= argc) {
  		fprintf(stderr, "missing argument for -rxmaxmtu\n"); 
  		exit(1); 
  	    }
! 	    rxMaxMTU = atoi(argv[++code]);
  	    if ((rxMaxMTU < RX_MIN_PACKET_SIZE) || 
  		(rxMaxMTU > RX_MAX_PACKET_DATA_SIZE)) {
  		printf("rxMaxMTU %d invalid; must be between %d-%d\n",
Index: openafs/src/bucoord/commands.c
diff -c openafs/src/bucoord/commands.c:1.18.2.6 openafs/src/bucoord/commands.c:1.18.2.7
*** openafs/src/bucoord/commands.c:1.18.2.6	Mon Nov 26 16:08:41 2007
--- openafs/src/bucoord/commands.c	Mon Oct 27 19:41:45 2008
***************
*** 11,17 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/bucoord/commands.c,v 1.18.2.6 2007/11/26 21:08:41 shadow Exp $");
  
  #include <afs/stds.h>
  #if defined(AFS_LINUX24_ENV)
--- 11,17 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/bucoord/commands.c,v 1.18.2.7 2008/10/27 23:41:45 shadow Exp $");
  
  #include <afs/stds.h>
  #if defined(AFS_LINUX24_ENV)
***************
*** 431,444 ****
      struct bc_volumeDump *tvd;	/*Ptr to new dump instance */
      struct bc_volumeEntry *tve, *ctve;	/*Ptr to new volume entry instance */
      char patt[256];		/*Composite regex; also, target string */
!     int volType;		/*Type of volume that worked */
      afs_int32 index;		/*Current VLDB entry index */
      afs_int32 count;		/*Needed by VL_ListEntry() */
      afs_int32 next_index;	/*Next index to list */
      struct vldbentry entry;	/*VLDB entry */
      int srvpartpair;		/*Loop counter: server/partition pair */
      afs_int32 total = 0;
!     int found, foundentry;
      struct serversort *servers = 0, *ss = 0;
      struct partitionsort *ps = 0;
  
--- 431,445 ----
      struct bc_volumeDump *tvd;	/*Ptr to new dump instance */
      struct bc_volumeEntry *tve, *ctve;	/*Ptr to new volume entry instance */
      char patt[256];		/*Composite regex; also, target string */
!     int volType = 0;		/*Type of volume that worked */
      afs_int32 index;		/*Current VLDB entry index */
      afs_int32 count;		/*Needed by VL_ListEntry() */
      afs_int32 next_index;	/*Next index to list */
      struct vldbentry entry;	/*VLDB entry */
      int srvpartpair;		/*Loop counter: server/partition pair */
      afs_int32 total = 0;
!     int found;
!     int foundentry = 0;
      struct serversort *servers = 0, *ss = 0;
      struct partitionsort *ps = 0;
  
***************
*** 1602,1610 ****
  bc_DumpCmd(struct cmd_syndesc *as, void *arock)
  {				/*bc_DumpCmd */
      static char rn[] = "bc_DumpCmd";	/*Routine name */
!     char *dumpPath, *vsName;	/*Ptrs to various names */
!     struct bc_volumeSet *tvs;	/*Ptr to list of generated volume info */
!     struct bc_dumpSchedule *tds, *baseds;	/*Ptr to dump schedule node */
      struct bc_volumeDump *tve, *volsToDump;	/*Ptr to individual vols to be dumped */
      struct budb_dumpEntry dumpEntry, de, fde;	/* dump entry */
      afs_uint32 d;
--- 1603,1613 ----
  bc_DumpCmd(struct cmd_syndesc *as, void *arock)
  {				/*bc_DumpCmd */
      static char rn[] = "bc_DumpCmd";	/*Routine name */
!     char *dumpPath = NULL;
!     char *vsName = NULL;      /*Ptrs to various names */
!     struct bc_volumeSet *tvs = NULL; /*Ptr to list of generated volume info */
!     struct bc_dumpSchedule *tds;
!     struct bc_dumpSchedule *baseds = NULL; /*Ptr to dump schedule node */
      struct bc_volumeDump *tve, *volsToDump;	/*Ptr to individual vols to be dumped */
      struct budb_dumpEntry dumpEntry, de, fde;	/* dump entry */
      afs_uint32 d;
***************
*** 1618,1624 ****
      afs_int32 doAt, atTime;	/* Time a timed-dump is to start at */
      afs_int32 length;
      char *timeString;
!     int doAppend;		/* Append the dump to dump set */
      afs_int32 code;		/* Return code */
      int loadfile;		/* whether to load a file or not */
  
--- 1621,1627 ----
      afs_int32 doAt, atTime;	/* Time a timed-dump is to start at */
      afs_int32 length;
      char *timeString;
!     int doAppend = 0;		/* Append the dump to dump set */
      afs_int32 code;		/* Return code */
      int loadfile;		/* whether to load a file or not */
  
Index: openafs/src/bucoord/restore.c
diff -c openafs/src/bucoord/restore.c:1.10.6.7 openafs/src/bucoord/restore.c:1.10.6.8
*** openafs/src/bucoord/restore.c:1.10.6.7	Mon Nov 26 16:08:41 2007
--- openafs/src/bucoord/restore.c	Sat Oct 18 11:23:24 2008
***************
*** 15,21 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/bucoord/restore.c,v 1.10.6.7 2007/11/26 21:08:41 shadow Exp $");
  
  #include <afs/stds.h>
  #include <sys/types.h>
--- 15,21 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/bucoord/restore.c,v 1.10.6.8 2008/10/18 15:23:24 jaltman Exp $");
  
  #include <afs/stds.h>
  #include <sys/types.h>
***************
*** 164,170 ****
      afs_int32 tapedumpid, parent;
  
      afs_int32 nentries = 0;
!     afs_int32 last, next, ve, vecount;
      struct bc_tapeItem *ti, *pti, *nti;
      struct bc_tapeList *tapeList = (struct bc_tapeList *)0;
      struct bc_tapeList *tle, *ptle, *ntle;
--- 164,171 ----
      afs_int32 tapedumpid, parent;
  
      afs_int32 nentries = 0;
!     afs_int32 last = 0;
!     afs_int32 next, ve, vecount;
      struct bc_tapeItem *ti, *pti, *nti;
      struct bc_tapeList *tapeList = (struct bc_tapeList *)0;
      struct bc_tapeList *tle, *ptle, *ntle;
Index: openafs/src/budb/db_hash.c
diff -c openafs/src/budb/db_hash.c:1.8.14.2 openafs/src/budb/db_hash.c:1.8.14.3
*** openafs/src/budb/db_hash.c:1.8.14.2	Tue Oct 30 11:16:37 2007
--- openafs/src/budb/db_hash.c	Mon Oct 27 19:41:45 2008
***************
*** 11,17 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/budb/db_hash.c,v 1.8.14.2 2007/10/30 15:16:37 shadow Exp $");
  
  #ifdef AFS_NT40_ENV
  #include <winsock2.h>
--- 11,17 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/budb/db_hash.c,v 1.8.14.3 2008/10/27 23:41:45 shadow Exp $");
  
  #ifdef AFS_NT40_ENV
  #include <winsock2.h>
***************
*** 266,272 ****
      int n;
      int i;
      int length;
!     dbadr ta;
  
      if ((mht == 0)
  	|| ((ht = mht->ht) == 0)
--- 266,272 ----
      int n;
      int i;
      int length;
!     dbadr ta = NULL;
  
      if ((mht == 0)
  	|| ((ht = mht->ht) == 0)
Index: openafs/src/butc/lwps.c
diff -c openafs/src/butc/lwps.c:1.14.4.5 openafs/src/butc/lwps.c:1.14.4.6
*** openafs/src/butc/lwps.c:1.14.4.5	Wed Apr  9 12:39:59 2008
--- openafs/src/butc/lwps.c	Mon Oct 27 19:41:45 2008
***************
*** 11,17 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/butc/lwps.c,v 1.14.4.5 2008/04/09 16:39:59 shadow Exp $");
  
  #include <sys/types.h>
  #include <string.h>
--- 11,17 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/butc/lwps.c,v 1.14.4.6 2008/10/27 23:41:45 shadow Exp $");
  
  #include <sys/types.h>
  #include <string.h>
***************
*** 1245,1251 ****
  {
      afs_int32 curChunk;
      afs_uint32 totalWritten = 0;
!     afs_int32 code;
      afs_int32 headBytes, tailBytes, w;
      afs_int32 taskId;
      afs_int32 nbytes;		/* # bytes data in last tape block read */
--- 1245,1251 ----
  {
      afs_int32 curChunk;
      afs_uint32 totalWritten = 0;
!     afs_int32 code = 0;
      afs_int32 headBytes, tailBytes, w;
      afs_int32 taskId;
      afs_int32 nbytes;		/* # bytes data in last tape block read */
Index: openafs/src/butc/read_tape.c
diff -c openafs/src/butc/read_tape.c:1.7.14.3 openafs/src/butc/read_tape.c:1.7.14.4
*** openafs/src/butc/read_tape.c:1.7.14.3	Mon Nov 26 16:08:41 2007
--- openafs/src/butc/read_tape.c	Mon Oct 27 19:41:45 2008
***************
*** 11,17 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/butc/read_tape.c,v 1.7.14.3 2007/11/26 21:08:41 shadow Exp $");
  
  #include <afs/cmd.h>
  #include <lock.h>
--- 11,17 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/butc/read_tape.c,v 1.7.14.4 2008/10/27 23:41:45 shadow Exp $");
  
  #include <afs/cmd.h>
  #include <lock.h>
***************
*** 285,291 ****
      struct volumeHeader vh;
      char trailer[12];
      struct blockMark *bmark, *bmark2;
!     char *data, *data2;
      int count, count2;
      int tlen, skip, pos;
  
--- 285,292 ----
      struct volumeHeader vh;
      char trailer[12];
      struct blockMark *bmark, *bmark2;
!     char *data;
!     char *data2 = NULL;
      int count, count2;
      int tlen, skip, pos;
  
***************
*** 396,402 ****
      char *data;
      char *tblock;
      afs_int32 code;
!     struct volumeHeader *volheaderPtr;
      int eod = 1;
      int rc;
      char *nextblock;		/* We cycle through three tape blocks so we  */
--- 397,403 ----
      char *data;
      char *tblock;
      afs_int32 code;
!     struct volumeHeader *volheaderPtr = NULL;
      int eod = 1;
      int rc;
      char *nextblock;		/* We cycle through three tape blocks so we  */
Index: openafs/src/butc/tcprocs.c
diff -c openafs/src/butc/tcprocs.c:1.14.6.5 openafs/src/butc/tcprocs.c:1.14.6.6
*** openafs/src/butc/tcprocs.c:1.14.6.5	Mon Mar 10 18:32:33 2008
--- openafs/src/butc/tcprocs.c	Mon Oct 27 19:41:45 2008
***************
*** 13,19 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/butc/tcprocs.c,v 1.14.6.5 2008/03/10 22:32:33 shadow Exp $");
  
  #include <sys/types.h>
  #include <errno.h>
--- 13,19 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/butc/tcprocs.c,v 1.14.6.6 2008/10/27 23:41:45 shadow Exp $");
  
  #include <sys/types.h>
  #include <errno.h>
***************
*** 572,578 ****
      PROCESS pid;
  #endif
      struct scanTapeIf *ptr;
!     statusP statusPtr;
      afs_int32 code = 0;
  
      extern afs_int32 allocTaskId();
--- 572,578 ----
      PROCESS pid;
  #endif
      struct scanTapeIf *ptr;
!     statusP statusPtr = NULL;
      afs_int32 code = 0;
  
      extern afs_int32 allocTaskId();
Index: openafs/src/butc/tcudbprocs.c
diff -c openafs/src/butc/tcudbprocs.c:1.15.6.7 openafs/src/butc/tcudbprocs.c:1.15.6.8
*** openafs/src/butc/tcudbprocs.c:1.15.6.7	Fri Apr 18 09:57:13 2008
--- openafs/src/butc/tcudbprocs.c	Mon Oct 27 19:41:45 2008
***************
*** 11,17 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/butc/tcudbprocs.c,v 1.15.6.7 2008/04/18 13:57:13 shadow Exp $");
  
  #include <sys/types.h>
  #ifdef AFS_NT40_ENV
--- 11,17 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/butc/tcudbprocs.c,v 1.15.6.8 2008/10/27 23:41:45 shadow Exp $");
  
  #include <sys/types.h>
  #ifdef AFS_NT40_ENV
***************
*** 392,398 ****
      char *writeBufPtr;
      afs_int32 transferSize;
  
!     char *readBufPtr;
      afs_int32 maxReadSize;
  
      charListT charList;
--- 392,398 ----
      char *writeBufPtr;
      afs_int32 transferSize;
  
!     char *readBufPtr = NULL;
      afs_int32 maxReadSize;
  
      charListT charList;
Index: openafs/src/cf/fdsetsize.m4
diff -c /dev/null openafs/src/cf/fdsetsize.m4:1.1.2.3
*** /dev/null	Sun Nov  9 00:08:13 2008
--- openafs/src/cf/fdsetsize.m4	Tue Oct 21 14:36:46 2008
***************
*** 0 ****
--- 1,106 ----
+ AC_DEFUN([FD_SET_OBEYS_FD_SETSIZE], [
+ AC_MSG_CHECKING(for default FD_SETSIZE)
+ AC_CACHE_VAL(ac_cv_default_fdsetsize,
+ [
+ AC_TRY_RUN(
+ changequote(<<, >>)dnl
+ <<
+ #include <stdio.h>
+ #include <sys/types.h>
+ #include <unistd.h>
+ #ifdef HAVE_SYS_SELECT_H
+ #include <sys/select.h>
+ #endif
+ int main(int argc, char *argv[])
+ {
+     FILE *fp;
+     int ac_cv_default_fdsetsize;
+ #if defined(FD_SETSIZE)
+     ac_cv_default_fdsetsize = FD_SETSIZE;
+ #else
+     ac_cv_default_fdsetsize = (sizeof(fd_set)*8);
+ #endif
+     if ((fp = fopen("conftestval", "w")) == NULL)
+         exit(1);
+     fprintf(fp, "%d\n", ac_cv_default_fdsetsize);
+     fclose(fp);
+     exit(0);
+ }
+ >>
+ changequote([, ])dnl
+ ,
+ ac_cv_default_fdsetsize=`cat conftestval`,
+ ac_cv_default_fdsetsize=-1,
+ ac_cv_default_fdsetsize=1024
+ )
+ AC_MSG_RESULT([$ac_cv_default_fdsetsize])
+ ])
+ 
+ AC_MSG_CHECKING(for default fd_set size)
+ AC_CACHE_VAL(ac_cv_default_fd_set_size,
+ [
+ AC_TRY_RUN(
+ changequote(<<, >>)dnl
+ <<
+ #include <stdio.h>
+ #include <sys/types.h>
+ #include <unistd.h>
+ #ifdef HAVE_SYS_SELECT_H
+ #include <sys/select.h>
+ #endif
+ int main(int argc, char *argv[])
+ {
+     FILE *fp;
+     int ac_cv_default_fd_set_size;
+     ac_cv_default_fd_set_size = (sizeof(fd_set));
+ 
+     if ((fp = fopen("conftestval", "w")) == NULL)
+         exit(1);
+     fprintf(fp, "%d\n", ac_cv_default_fd_set_size);
+     fclose(fp);
+     exit(0);
+ }
+ >>
+ changequote([, ])dnl
+ ,
+ ac_cv_default_fd_set_size=`cat conftestval`,
+ ac_cv_default_fd_set_size=-1,
+ ac_cv_default_fd_set_size=128
+ )
+ AC_MSG_RESULT([$ac_cv_default_fd_set_size])
+ ])
+ 
+ AC_MSG_CHECKING(for sizeof fd_set obeying FD_SETSIZE)
+ AC_CACHE_VAL(ac_cv_fd_set_size_obeys,
+ [
+ save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="$CPPFLAGS -DORIG_FD_SETSIZE=$ac_cv_default_fdsetsize -DORIG_fd_set_size=$ac_cv_default_fd_set_size"
+ AC_TRY_RUN([
+ #include <stdio.h>
+ #include <sys/types.h>
+ #include <unistd.h>
+ #if (ORIG_FD_SETSIZE < 2048) 
+ #define FD_SETSIZE 2048
+ #define __FD_SETSIZE 2048
+ #else
+ #define FD_SETSIZE 1024
+ #define __FD_SETSIZE 1024
+ #endif
+ #ifdef HAVE_SYS_SELECT_H
+ #include <sys/select.h>
+ #endif
+ int main() {
+     if ((ORIG_fd_set_size < 0) || (ORIG_FD_SETSIZE < 0))
+        exit(1);       
+     exit((sizeof(fd_set) == ORIG_fd_set_size) ? 1 : 0);
+ }
+ ],
+ ac_cv_fd_set_size_obeys=yes,
+ ac_cv_fd_set_size_obeys=no,
+ ac_cv_fd_set_size_obeys=yes)
+ CPPFLAGS=$save_CPPFLAGS
+ AC_MSG_RESULT([$ac_cv_fd_set_size_obeys])
+ ])
+ 
+ ])
+ 
Index: openafs/src/cf/linux-test1.m4
diff -c openafs/src/cf/linux-test1.m4:1.6.4.9 openafs/src/cf/linux-test1.m4:1.6.4.10
*** openafs/src/cf/linux-test1.m4:1.6.4.9	Mon Jan  7 13:33:15 2008
--- openafs/src/cf/linux-test1.m4	Sun Oct 12 14:02:19 2008
***************
*** 27,34 ****
  
  MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
  _ACEOF
!     echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&AS_MESSAGE_LOG_FD &&
!     make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&AS_MESSAGE_LOG_FD 2>conftest.err &&
      ! grep -i "^WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
      then [$3]
      else
--- 27,34 ----
  
  MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
  _ACEOF
!     echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&AS_MESSAGE_LOG_FD &&
!     make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&AS_MESSAGE_LOG_FD 2>conftest.err &&
      ! grep -i "^WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
      then [$3]
      else
Index: openafs/src/cf/linux-test4.m4
diff -c openafs/src/cf/linux-test4.m4:1.29.2.45 openafs/src/cf/linux-test4.m4:1.29.2.47
*** openafs/src/cf/linux-test4.m4:1.29.2.45	Sat Aug 16 15:42:58 2008
--- openafs/src/cf/linux-test4.m4	Sat Nov  8 11:49:43 2008
***************
*** 1092,1094 ****
--- 1092,1119 ----
      AC_DEFINE([LINUX_SEMAPHORE_H], 1, [define if linux/semaphore.h exists])
    fi])
  
+ AC_DEFUN([LINUX_HAVE_BDI_INIT], [
+   AC_MSG_CHECKING([for linux bdi_init()])
+   AC_CACHE_VAL([ac_cv_linux_bdi_init], [
+     AC_TRY_KBUILD(
+ [#include <linux/backing-dev.h>],
+ [bdi_init(NULL);],
+       ac_cv_linux_bdi_init=yes,
+       ac_cv_linux_bdi_init=no)])
+   AC_MSG_RESULT($ac_cv_linux_bdi_init)
+   if test "x$ac_cv_linux_bdi_init" = "xyes"; then
+     AC_DEFINE([HAVE_BDI_INIT], 1, [define if your kernel has a bdi_init()])
+   fi])
+ 
+ AC_DEFUN([LINUX_HAVE_WRITE_BEGIN_AOP], [
+   AC_MSG_CHECKING([for linux write_begin() address space op])
+   AC_CACHE_VAL([ac_cv_linux_write_begin], [
+     AC_TRY_KBUILD(
+ [#include <linux/fs.h>],
+ [simple_write_begin(NULL, NULL, 0, 0, 0, NULL, NULL);],
+       ac_cv_linux_write_begin=yes,
+       ac_cv_linux_write_begin=no)])
+   AC_MSG_RESULT($ac_cv_linux_write_begin)
+   if test "x$ac_cv_linux_write_begin" = "xyes"; then
+     AC_DEFINE([HAVE_WRITE_BEGIN], 1, [define if your kernel has a write_begin() address space op])
+   fi])
Index: openafs/src/cf/linux-test5.m4
diff -c openafs/src/cf/linux-test5.m4:1.3 openafs/src/cf/linux-test5.m4:1.3.14.1
*** openafs/src/cf/linux-test5.m4:1.3	Thu Jun  3 01:13:30 2004
--- openafs/src/cf/linux-test5.m4	Mon Oct 20 08:35:16 2008
***************
*** 3,16 ****
  AC_MSG_CHECKING(if $CC accepts -march=pentium)
  save_CFLAGS="$CFLAGS"
  CFLAGS="-MARCH=pentium"
! AC_CACHE_VAL(openafs_gcc_supports_march,[
  AC_TRY_COMPILE(
  [],
  [int x;],
! openafs_gcc_supports_march=yes,
! openafs_gcc_supports_march=no)])
! AC_MSG_RESULT($openafs_gcc_supports_march)
! if test x$openafs_gcc_supports_march = xyes; then
    P5PLUS_KOPTS="-march=pentium"
  else
    P5PLUS_KOPTS="-m486 -malign-loops=2 -malign-jumps=2 -malign-functions=2"
--- 3,16 ----
  AC_MSG_CHECKING(if $CC accepts -march=pentium)
  save_CFLAGS="$CFLAGS"
  CFLAGS="-MARCH=pentium"
! AC_CACHE_VAL(openafs_cv_gcc_supports_march,[
  AC_TRY_COMPILE(
  [],
  [int x;],
! openafs_cv_gcc_supports_march=yes,
! openafs_cv_gcc_supports_march=no)])
! AC_MSG_RESULT($openafs_cv_gcc_supports_march)
! if test x$openafs_cv_gcc_supports_march = xyes; then
    P5PLUS_KOPTS="-march=pentium"
  else
    P5PLUS_KOPTS="-m486 -malign-loops=2 -malign-jumps=2 -malign-functions=2"
***************
*** 22,35 ****
  AC_MSG_CHECKING(if $CC needs -fno-strict-aliasing)
  save_CFLAGS="$CFLAGS"
  CFLAGS="-fno-strict-aliasing"
! AC_CACHE_VAL(openafs_gcc_needs_no_strict_aliasing,[
  AC_TRY_COMPILE(
  [],
  [int x;],
! openafs_gcc_needs_no_strict_aliasing=yes,
! openafs_gcc_needs_no_strict_aliasing=no)])
! AC_MSG_RESULT($openafs_gcc_needs_no_strict_aliasing)
! if test x$openafs_gcc_needs_no_strict_aliasing = xyes; then
    LINUX_GCC_KOPTS="$LINUX_GCC_KOPTS -fno-strict-aliasing"
  fi
  CFLAGS="$save_CFLAGS"
--- 22,35 ----
  AC_MSG_CHECKING(if $CC needs -fno-strict-aliasing)
  save_CFLAGS="$CFLAGS"
  CFLAGS="-fno-strict-aliasing"
! AC_CACHE_VAL(openafs_cv_gcc_needs_no_strict_aliasing,[
  AC_TRY_COMPILE(
  [],
  [int x;],
! openafs_cv_gcc_needs_no_strict_aliasing=yes,
! openafs_cv_gcc_needs_no_strict_aliasing=no)])
! AC_MSG_RESULT($openafs_cv_gcc_needs_no_strict_aliasing)
! if test x$openafs_cv_gcc_needs_no_strict_aliasing = xyes; then
    LINUX_GCC_KOPTS="$LINUX_GCC_KOPTS -fno-strict-aliasing"
  fi
  CFLAGS="$save_CFLAGS"
***************
*** 39,52 ****
  AC_MSG_CHECKING(if $CC needs -fno-strength-reduce)
  save_CFLAGS="$CFLAGS"
  CFLAGS="-fno-strength-reduce"
! AC_CACHE_VAL(openafs_gcc_needs_no_strength_reduce,[
  AC_TRY_COMPILE(
  [],
  [int x;],
! openafs_gcc_needs_no_strength_reduce=yes,
! openafs_gcc_needs_no_strength_reduce=no)])
! AC_MSG_RESULT($openafs_gcc_needs_no_strength_reduce)
! if test x$openafs_gcc_needs_no_strength_reduce = xyes; then
    LINUX_GCC_KOPTS="$LINUX_GCC_KOPTS -fno-strength-reduce"
  fi
  CFLAGS="$save_CFLAGS"
--- 39,52 ----
  AC_MSG_CHECKING(if $CC needs -fno-strength-reduce)
  save_CFLAGS="$CFLAGS"
  CFLAGS="-fno-strength-reduce"
! AC_CACHE_VAL(openafs_cv_gcc_needs_no_strength_reduce,[
  AC_TRY_COMPILE(
  [],
  [int x;],
! openafs_cv_gcc_needs_no_strength_reduce=yes,
! openafs_cv_gcc_needs_no_strength_reduce=no)])
! AC_MSG_RESULT($openafs_cv_gcc_needs_no_strength_reduce)
! if test x$openafs_cv_gcc_needs_no_strength_reduce = xyes; then
    LINUX_GCC_KOPTS="$LINUX_GCC_KOPTS -fno-strength-reduce"
  fi
  CFLAGS="$save_CFLAGS"
***************
*** 56,69 ****
  AC_MSG_CHECKING(if $CC supports -fno-common)
  save_CFLAGS="$CFLAGS"
  CFLAGS="-fno-common"
! AC_CACHE_VAL(openafs_gcc_supports_no_common,[
  AC_TRY_COMPILE(
  [],
  [int x;],
! openafs_gcc_supports_no_common=yes,
! openafs_gcc_supports_no_common=no)])
! AC_MSG_RESULT($openafs_gcc_supports_no_common)
! if test x$openafs_gcc_supports_no_common = xyes; then
    LINUX_GCC_KOPTS="$LINUX_GCC_KOPTS -fno-common"
  fi
  CFLAGS="$save_CFLAGS"
--- 56,69 ----
  AC_MSG_CHECKING(if $CC supports -fno-common)
  save_CFLAGS="$CFLAGS"
  CFLAGS="-fno-common"
! AC_CACHE_VAL(openafs_cv_gcc_supports_no_common,[
  AC_TRY_COMPILE(
  [],
  [int x;],
! openafs_cv_gcc_supports_no_common=yes,
! openafs_cv_gcc_supports_no_common=no)])
! AC_MSG_RESULT($openafs_cv_gcc_supports_no_common)
! if test x$openafs_cv_gcc_supports_no_common = xyes; then
    LINUX_GCC_KOPTS="$LINUX_GCC_KOPTS -fno-common"
  fi
  CFLAGS="$save_CFLAGS"
***************
*** 73,86 ****
  AC_MSG_CHECKING(if $CC supports -pipe)
  save_CFLAGS="$CFLAGS"
  CFLAGS="-pipe"
! AC_CACHE_VAL(openafs_gcc_supports_pipe,[
  AC_TRY_COMPILE(
  [],
  [int x;],
! openafs_gcc_supports_pipe=yes,
! openafs_gcc_supports_pipe=no)])
! AC_MSG_RESULT($openafs_gcc_supports_pipe)
! if test x$openafs_gcc_supports_pipe = xyes; then
    LINUX_GCC_KOPTS="$LINUX_GCC_KOPTS -pipe"
  fi
  CFLAGS="$save_CFLAGS"
--- 73,86 ----
  AC_MSG_CHECKING(if $CC supports -pipe)
  save_CFLAGS="$CFLAGS"
  CFLAGS="-pipe"
! AC_CACHE_VAL(openafs_cv_gcc_supports_pipe,[
  AC_TRY_COMPILE(
  [],
  [int x;],
! openafs_cv_gcc_supports_pipe=yes,
! openafs_cv_gcc_supports_pipe=no)])
! AC_MSG_RESULT($openafs_cv_gcc_supports_pipe)
! if test x$openafs_cv_gcc_supports_pipe = xyes; then
    LINUX_GCC_KOPTS="$LINUX_GCC_KOPTS -pipe"
  fi
  CFLAGS="$save_CFLAGS"
Index: openafs/src/config/Makefile.config.in
diff -c openafs/src/config/Makefile.config.in:1.12.2.4 openafs/src/config/Makefile.config.in:1.12.2.5
*** openafs/src/config/Makefile.config.in:1.12.2.4	Tue Jul  1 18:51:54 2008
--- openafs/src/config/Makefile.config.in	Sun Oct 12 14:02:19 2008
***************
*** 48,53 ****
--- 48,54 ----
  LIB_AFSDB = @LIB_AFSDB@
  LIBS = @LIBS@
  LINUX_KERNEL_PATH = @LINUX_KERNEL_PATH@
+ LINUX_KERNEL_BUILD = @LINUX_KERNEL_BUILD@
  LINUX_LIBAFS_NAME=@LINUX_LIBAFS_NAME@
  LINUX_KERNEL_PACKAGING=@LINUX_KERNEL_PACKAGING@
  LINUX_VERSION = @LINUX_VERSION@
Index: openafs/src/config/NTMakefile.amd64_w2k
diff -c openafs/src/config/NTMakefile.amd64_w2k:1.24.2.49 openafs/src/config/NTMakefile.amd64_w2k:1.24.2.50
*** openafs/src/config/NTMakefile.amd64_w2k:1.24.2.49	Tue Oct  7 17:56:55 2008
--- openafs/src/config/NTMakefile.amd64_w2k	Fri Nov  7 21:08:36 2008
***************
*** 84,90 ****
  #define used in WinNT/2000 installation and program version display
  AFSPRODUCT_VER_MAJOR=1
  AFSPRODUCT_VER_MINOR=5
! AFSPRODUCT_VER_PATCH=5400
  AFSPRODUCT_VER_BUILD=0
  
  AFSPRODUCT_VERSION=$(AFSPRODUCT_VER_MAJOR).$(AFSPRODUCT_VER_MINOR).$(AFSPRODUCT_VER_PATCH)
--- 84,90 ----
  #define used in WinNT/2000 installation and program version display
  AFSPRODUCT_VER_MAJOR=1
  AFSPRODUCT_VER_MINOR=5
! AFSPRODUCT_VER_PATCH=5500
  AFSPRODUCT_VER_BUILD=0
  
  AFSPRODUCT_VERSION=$(AFSPRODUCT_VER_MAJOR).$(AFSPRODUCT_VER_MINOR).$(AFSPRODUCT_VER_PATCH)
Index: openafs/src/config/NTMakefile.i386_nt40
diff -c openafs/src/config/NTMakefile.i386_nt40:1.84.2.47 openafs/src/config/NTMakefile.i386_nt40:1.84.2.48
*** openafs/src/config/NTMakefile.i386_nt40:1.84.2.47	Tue Oct  7 17:56:55 2008
--- openafs/src/config/NTMakefile.i386_nt40	Fri Nov  7 21:08:36 2008
***************
*** 84,90 ****
  #define used in WinNT/2000 installation and program version display
  AFSPRODUCT_VER_MAJOR=1
  AFSPRODUCT_VER_MINOR=5
! AFSPRODUCT_VER_PATCH=5400
  AFSPRODUCT_VER_BUILD=0
  
  AFSPRODUCT_VERSION=$(AFSPRODUCT_VER_MAJOR).$(AFSPRODUCT_VER_MINOR).$(AFSPRODUCT_VER_PATCH)
--- 84,90 ----
  #define used in WinNT/2000 installation and program version display
  AFSPRODUCT_VER_MAJOR=1
  AFSPRODUCT_VER_MINOR=5
! AFSPRODUCT_VER_PATCH=5500
  AFSPRODUCT_VER_BUILD=0
  
  AFSPRODUCT_VERSION=$(AFSPRODUCT_VER_MAJOR).$(AFSPRODUCT_VER_MINOR).$(AFSPRODUCT_VER_PATCH)
Index: openafs/src/config/NTMakefile.i386_w2k
diff -c openafs/src/config/NTMakefile.i386_w2k:1.23.2.51 openafs/src/config/NTMakefile.i386_w2k:1.23.2.52
*** openafs/src/config/NTMakefile.i386_w2k:1.23.2.51	Tue Oct  7 17:56:55 2008
--- openafs/src/config/NTMakefile.i386_w2k	Fri Nov  7 21:08:36 2008
***************
*** 88,94 ****
  #define used in WinNT/2000 installation and program version display
  AFSPRODUCT_VER_MAJOR=1
  AFSPRODUCT_VER_MINOR=5
! AFSPRODUCT_VER_PATCH=5400
  AFSPRODUCT_VER_BUILD=0
  
  AFSPRODUCT_VERSION=$(AFSPRODUCT_VER_MAJOR).$(AFSPRODUCT_VER_MINOR).$(AFSPRODUCT_VER_PATCH)
--- 88,94 ----
  #define used in WinNT/2000 installation and program version display
  AFSPRODUCT_VER_MAJOR=1
  AFSPRODUCT_VER_MINOR=5
! AFSPRODUCT_VER_PATCH=5500
  AFSPRODUCT_VER_BUILD=0
  
  AFSPRODUCT_VERSION=$(AFSPRODUCT_VER_MAJOR).$(AFSPRODUCT_VER_MINOR).$(AFSPRODUCT_VER_PATCH)
Index: openafs/src/kauth/kalocalcell.c
diff -c openafs/src/kauth/kalocalcell.c:1.9.8.1 openafs/src/kauth/kalocalcell.c:1.9.8.2
*** openafs/src/kauth/kalocalcell.c:1.9.8.1	Tue Oct 30 11:16:39 2007
--- openafs/src/kauth/kalocalcell.c	Mon Oct 27 19:53:46 2008
***************
*** 15,21 ****
  #endif
  
  RCSID
!     ("$Header: /cvs/openafs/src/kauth/kalocalcell.c,v 1.9.8.1 2007/10/30 15:16:39 shadow Exp $");
  
  #if defined(UKERNEL)
  #include "afs/pthread_glock.h"
--- 15,21 ----
  #endif
  
  RCSID
!     ("$Header: /cvs/openafs/src/kauth/kalocalcell.c,v 1.9.8.2 2008/10/27 23:53:46 shadow Exp $");
  
  #if defined(UKERNEL)
  #include "afs/pthread_glock.h"
***************
*** 79,85 ****
  char *
  ka_LocalCell(void)
  {
!     int code;
  
      LOCK_GLOBAL_MUTEX;
      if (conf) {
--- 79,85 ----
  char *
  ka_LocalCell(void)
  {
!     int code = 0;
  
      LOCK_GLOBAL_MUTEX;
      if (conf) {
Index: openafs/src/kauth/knfs.c
diff -c openafs/src/kauth/knfs.c:1.8.14.2 openafs/src/kauth/knfs.c:1.8.14.3
*** openafs/src/kauth/knfs.c:1.8.14.2	Wed Oct 31 00:09:30 2007
--- openafs/src/kauth/knfs.c	Mon Oct 27 19:41:45 2008
***************
*** 15,21 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/kauth/knfs.c,v 1.8.14.2 2007/10/31 04:09:30 shadow Exp $");
  
  #include <stdio.h>
  #include <afs/stds.h>
--- 15,21 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/kauth/knfs.c,v 1.8.14.3 2008/10/27 23:41:45 shadow Exp $");
  
  #include <stdio.h>
  #include <afs/stds.h>
***************
*** 103,109 ****
      struct ViceIoctl iob;
      afs_int32 pheader[6];
      char tbuffer[1024];
!     register afs_int32 code;
      int index, newIndex;
      char *stp;			/* secret token ptr */
      struct ClearToken ct;
--- 103,109 ----
      struct ViceIoctl iob;
      afs_int32 pheader[6];
      char tbuffer[1024];
!     afs_int32 code = 0;
      int index, newIndex;
      char *stp;			/* secret token ptr */
      struct ClearToken ct;
Index: openafs/src/kauth/kpwvalid.c
diff -c openafs/src/kauth/kpwvalid.c:1.6.14.2 openafs/src/kauth/kpwvalid.c:1.6.14.3
*** openafs/src/kauth/kpwvalid.c:1.6.14.2	Mon Nov 26 16:08:42 2007
--- openafs/src/kauth/kpwvalid.c	Mon Oct 27 19:53:46 2008
***************
*** 11,17 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/kauth/kpwvalid.c,v 1.6.14.2 2007/11/26 21:08:42 shadow Exp $");
  
  #include <stdio.h>
  #include <string.h>
--- 11,17 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/kauth/kpwvalid.c,v 1.6.14.3 2008/10/27 23:53:46 shadow Exp $");
  
  #include <stdio.h>
  #include <string.h>
***************
*** 27,33 ****
  {
      char oldpassword[512];
      char password[512];
!     int rc;
  
      if (fgets(oldpassword, 512, stdin))
  	while (fgets(password, 512, stdin)) {
--- 27,33 ----
  {
      char oldpassword[512];
      char password[512];
!     int rc = 1;
  
      if (fgets(oldpassword, 512, stdin))
  	while (fgets(password, 512, stdin)) {
Index: openafs/src/libadmin/cfg/cfgdb.c
diff -c openafs/src/libadmin/cfg/cfgdb.c:1.6 openafs/src/libadmin/cfg/cfgdb.c:1.6.14.1
*** openafs/src/libadmin/cfg/cfgdb.c:1.6	Fri Apr  2 01:54:05 2004
--- openafs/src/libadmin/cfg/cfgdb.c	Mon Oct 27 19:41:45 2008
***************
*** 15,21 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/libadmin/cfg/cfgdb.c,v 1.6 2004/04/02 06:54:05 jaltman Exp $");
  
  #include <afs/stds.h>
  
--- 15,21 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/libadmin/cfg/cfgdb.c,v 1.6.14.1 2008/10/27 23:41:45 shadow Exp $");
  
  #include <afs/stds.h>
  
***************
*** 233,239 ****
  	void *bosHandle;
  	char dbhostName[MAXHOSTSPERCELL][BOS_MAX_NAME_LEN];
  	char dbhostCell[BOS_MAX_NAME_LEN];
! 	int dbhostCount;
  
  	if (!afsclient_NullCellOpen(&cellHandle, &tst2)) {
  	    tst = tst2;
--- 233,239 ----
  	void *bosHandle;
  	char dbhostName[MAXHOSTSPERCELL][BOS_MAX_NAME_LEN];
  	char dbhostCell[BOS_MAX_NAME_LEN];
! 	int dbhostCount = 0;
  
  	if (!afsclient_NullCellOpen(&cellHandle, &tst2)) {
  	    tst = tst2;
***************
*** 488,494 ****
  		free(ctrlBlockp);
  	    } else {
  		/* fill name blocks, handing each to a worker thread */
! 		void *nameBlockIter;
  		short workersStarted = 0;
  
  		if (!NameBlockGetBegin
--- 488,494 ----
  		free(ctrlBlockp);
  	    } else {
  		/* fill name blocks, handing each to a worker thread */
! 		void *nameBlockIter = NULL;
  		short workersStarted = 0;
  
  		if (!NameBlockGetBegin
Index: openafs/src/libadmin/cfg/cfghost.c
diff -c openafs/src/libadmin/cfg/cfghost.c:1.6 openafs/src/libadmin/cfg/cfghost.c:1.6.14.1
*** openafs/src/libadmin/cfg/cfghost.c:1.6	Fri Apr  2 01:54:05 2004
--- openafs/src/libadmin/cfg/cfghost.c	Mon Oct 27 19:41:45 2008
***************
*** 15,21 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/libadmin/cfg/cfghost.c,v 1.6 2004/04/02 06:54:05 jaltman Exp $");
  
  #include <afs/stds.h>
  
--- 15,21 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/libadmin/cfg/cfghost.c,v 1.6.14.1 2008/10/27 23:41:45 shadow Exp $");
  
  #include <afs/stds.h>
  
***************
*** 502,508 ****
      if (tst == 0) {
  	kas_identity_t afsIdentity;
  	kas_encryptionKey_t afsKey;
! 	int afsKvno;
  
  	strcpy(afsIdentity.principal, "afs");
  	afsIdentity.instance[0] = '\0';
--- 502,508 ----
      if (tst == 0) {
  	kas_identity_t afsIdentity;
  	kas_encryptionKey_t afsKey;
! 	int afsKvno = 0;
  
  	strcpy(afsIdentity.principal, "afs");
  	afsIdentity.instance[0] = '\0';
Index: openafs/src/libadmin/cfg/cfgservers.c
diff -c openafs/src/libadmin/cfg/cfgservers.c:1.6 openafs/src/libadmin/cfg/cfgservers.c:1.6.14.1
*** openafs/src/libadmin/cfg/cfgservers.c:1.6	Fri Apr  2 01:54:05 2004
--- openafs/src/libadmin/cfg/cfgservers.c	Mon Oct 27 19:41:45 2008
***************
*** 19,25 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/libadmin/cfg/cfgservers.c,v 1.6 2004/04/02 06:54:05 jaltman Exp $");
  
  #include <afs/stds.h>
  
--- 19,25 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/libadmin/cfg/cfgservers.c,v 1.6.14.1 2008/10/27 23:41:45 shadow Exp $");
  
  #include <afs/stds.h>
  
***************
*** 1938,1944 ****
  
      if (dirp != NULL) {
  	/* check that not a portition of a larger path */
! 	char oneBefore, oneAfter, twoAfter;
  
  	oneBefore = *(dirp - 1);
  	oneAfter = *(dirp + sizeof(AFSDIR_CANONICAL_SERVER_ETC_DIRPATH) - 1);
--- 1938,1945 ----
  
      if (dirp != NULL) {
  	/* check that not a portition of a larger path */
! 	char oneBefore, oneAfter;
! 	char twoAfter = 0;
  
  	oneBefore = *(dirp - 1);
  	oneAfter = *(dirp + sizeof(AFSDIR_CANONICAL_SERVER_ETC_DIRPATH) - 1);
***************
*** 1962,1968 ****
  
      if (dirp != NULL) {
  	/* check that not a portition of a larger path */
! 	char oneBefore, oneAfter, twoAfter;
  
  	oneBefore = *(dirp - 1);
  	oneAfter = *(dirp + sizeof(AFSDIR_CANONICAL_SERVER_BIN_DIRPATH) - 1);
--- 1963,1970 ----
  
      if (dirp != NULL) {
  	/* check that not a portition of a larger path */
! 	char oneBefore, oneAfter;
! 	char twoAfter = 0;
  
  	oneBefore = *(dirp - 1);
  	oneAfter = *(dirp + sizeof(AFSDIR_CANONICAL_SERVER_BIN_DIRPATH) - 1);
***************
*** 2041,2047 ****
  		tst = tst2;
  		dbhostDone = 1;
  	    } else {
! 		short isSyncSite, isWriteReady;
  
  		/* ignore errors fetching Ubik vote status; there might be
  		 * an unreachable dbserver yet a reachable sync site.
--- 2043,2050 ----
  		tst = tst2;
  		dbhostDone = 1;
  	    } else {
! 		short isSyncSite = 0;
! 	        short isWriteReady = 0;
  
  		/* ignore errors fetching Ubik vote status; there might be
  		 * an unreachable dbserver yet a reachable sync site.
Index: openafs/src/libadmin/client/afs_clientAdmin.c
diff -c openafs/src/libadmin/client/afs_clientAdmin.c:1.11.4.3 openafs/src/libadmin/client/afs_clientAdmin.c:1.11.4.4
*** openafs/src/libadmin/client/afs_clientAdmin.c:1.11.4.3	Thu Feb 28 20:27:57 2008
--- openafs/src/libadmin/client/afs_clientAdmin.c	Mon Oct 27 19:41:46 2008
***************
*** 11,17 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/libadmin/client/afs_clientAdmin.c,v 1.11.4.3 2008/02/29 01:27:57 jaltman Exp $");
  
  #include <afs/stds.h>
  #include "afs_clientAdmin.h"
--- 11,17 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/libadmin/client/afs_clientAdmin.c,v 1.11.4.4 2008/10/27 23:41:46 shadow Exp $");
  
  #include <afs/stds.h>
  #include "afs_clientAdmin.h"
***************
*** 1835,1841 ****
  	(afs_admin_iterator_p) malloc(sizeof(afs_admin_iterator_t));
      server_get_p serv = (server_get_p) calloc(1, sizeof(server_get_t));
      server_get_p serv_cache = NULL;
!     const char *cellName;
      void *database_iter;
      util_databaseServerEntry_t database_entry;
      void *fileserver_iter;
--- 1835,1841 ----
  	(afs_admin_iterator_p) malloc(sizeof(afs_admin_iterator_t));
      server_get_p serv = (server_get_p) calloc(1, sizeof(server_get_t));
      server_get_p serv_cache = NULL;
!     const char *cellName = NULL;
      void *database_iter;
      util_databaseServerEntry_t database_entry;
      void *fileserver_iter;
Index: openafs/src/libadmin/test/bos.c
diff -c openafs/src/libadmin/test/bos.c:1.10.14.1 openafs/src/libadmin/test/bos.c:1.10.14.2
*** openafs/src/libadmin/test/bos.c:1.10.14.1	Wed Oct 31 00:09:31 2007
--- openafs/src/libadmin/test/bos.c	Mon Oct 27 19:41:46 2008
***************
*** 15,21 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/libadmin/test/bos.c,v 1.10.14.1 2007/10/31 04:09:31 shadow Exp $");
  
  #include "bos.h"
  
--- 15,21 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/libadmin/test/bos.c,v 1.10.14.2 2008/10/27 23:41:46 shadow Exp $");
  
  #include "bos.h"
  
***************
*** 88,94 ****
  LocalParseLine(char *aline, struct token **alist)
  {
      char tbuffer[256];
!     register char *tptr;
      int inToken;
      struct token *first, *last;
      register struct token *ttok;
--- 88,94 ----
  LocalParseLine(char *aline, struct token **alist)
  {
      char tbuffer[256];
!     char *tptr = NULL;
      int inToken;
      struct token *first, *last;
      register struct token *ttok;
***************
*** 481,487 ****
      const char *process = NULL;
      int stop = 0;
      int run = 0;
!     bos_ProcessExecutionState_t state;
  
      if (as->parms[SERVER].items) {
  	if (!bos_ServerOpen
--- 481,487 ----
      const char *process = NULL;
      int stop = 0;
      int run = 0;
!     bos_ProcessExecutionState_t state = 0;
  
      if (as->parms[SERVER].items) {
  	if (!bos_ServerOpen
***************
*** 532,538 ****
      const char *process = NULL;
      int stop = 0;
      int run = 0;
!     bos_ProcessExecutionState_t state;
  
      if (as->parms[SERVER].items) {
  	if (!bos_ServerOpen
--- 532,538 ----
      const char *process = NULL;
      int stop = 0;
      int run = 0;
!     bos_ProcessExecutionState_t state = 0;
  
      if (as->parms[SERVER].items) {
  	if (!bos_ServerOpen
***************
*** 926,932 ****
      typedef enum { SERVER, ADMIN } DoBosAdminCreate_parm_t;
      afs_status_t st = 0;
      void *bos_server = NULL;
!     const char *admin;
  
      if (as->parms[SERVER].items) {
  	if (!bos_ServerOpen
--- 926,932 ----
      typedef enum { SERVER, ADMIN } DoBosAdminCreate_parm_t;
      afs_status_t st = 0;
      void *bos_server = NULL;
!     const char *admin = NULL;
  
      if (as->parms[SERVER].items) {
  	if (!bos_ServerOpen
***************
*** 954,960 ****
      typedef enum { SERVER, ADMIN } DoBosAdminDelete_parm_t;
      afs_status_t st = 0;
      void *bos_server = NULL;
!     const char *admin;
  
      if (as->parms[SERVER].items) {
  	if (!bos_ServerOpen
--- 954,960 ----
      typedef enum { SERVER, ADMIN } DoBosAdminDelete_parm_t;
      afs_status_t st = 0;
      void *bos_server = NULL;
!     const char *admin = NULL;
  
      if (as->parms[SERVER].items) {
  	if (!bos_ServerOpen
***************
*** 1021,1027 ****
      typedef enum { SERVER, VERSIONNUMBER, KEY } DoBosKeyCreate_parm_t;
      afs_status_t st = 0;
      void *bos_server = NULL;
!     int version_number;
      kas_encryptionKey_t key = { {0, 0, 0, 0, 0, 0, 0, 0} };
      const char *cell;
  
--- 1021,1027 ----
      typedef enum { SERVER, VERSIONNUMBER, KEY } DoBosKeyCreate_parm_t;
      afs_status_t st = 0;
      void *bos_server = NULL;
!     int version_number = 0;
      kas_encryptionKey_t key = { {0, 0, 0, 0, 0, 0, 0, 0} };
      const char *cell;
  
***************
*** 1063,1069 ****
      typedef enum { SERVER, VERSIONNUMBER } DoBosKeyDelete_parm_t;
      afs_status_t st = 0;
      void *bos_server = NULL;
!     int version_number;
  
      if (as->parms[SERVER].items) {
  	if (!bos_ServerOpen
--- 1063,1069 ----
      typedef enum { SERVER, VERSIONNUMBER } DoBosKeyDelete_parm_t;
      afs_status_t st = 0;
      void *bos_server = NULL;
!     int version_number = 0;
  
      if (as->parms[SERVER].items) {
  	if (!bos_ServerOpen
***************
*** 1150,1156 ****
      typedef enum { SERVER, CELL } DoBosCellSet_parm_t;
      afs_status_t st = 0;
      void *bos_server = NULL;
!     const char *cell;
  
      if (as->parms[SERVER].items) {
  	if (!bos_ServerOpen
--- 1150,1156 ----
      typedef enum { SERVER, CELL } DoBosCellSet_parm_t;
      afs_status_t st = 0;
      void *bos_server = NULL;
!     const char *cell = NULL;
  
      if (as->parms[SERVER].items) {
  	if (!bos_ServerOpen
***************
*** 1204,1210 ****
      typedef enum { SERVER, HOST } DoBosHostCreate_parm_t;
      afs_status_t st = 0;
      void *bos_server = NULL;
!     const char *host;
  
      if (as->parms[SERVER].items) {
  	if (!bos_ServerOpen
--- 1204,1210 ----
      typedef enum { SERVER, HOST } DoBosHostCreate_parm_t;
      afs_status_t st = 0;
      void *bos_server = NULL;
!     const char *host = NULL;
  
      if (as->parms[SERVER].items) {
  	if (!bos_ServerOpen
***************
*** 1232,1238 ****
      typedef enum { SERVER, HOST } DoBosHostDelete_parm_t;
      afs_status_t st = 0;
      void *bos_server = NULL;
!     const char *host;
  
      if (as->parms[SERVER].items) {
  	if (!bos_ServerOpen
--- 1232,1238 ----
      typedef enum { SERVER, HOST } DoBosHostDelete_parm_t;
      afs_status_t st = 0;
      void *bos_server = NULL;
!     const char *host = NULL;
  
      if (as->parms[SERVER].items) {
  	if (!bos_ServerOpen
***************
*** 1435,1441 ****
      } DoBosExecutableRestartTimeSet_parm_t;
      afs_status_t st = 0;
      void *bos_server = NULL;
!     bos_Restart_t type;
      int have_daily = 0;
      int have_weekly = 0;
      bos_RestartTime_t time;
--- 1435,1441 ----
      } DoBosExecutableRestartTimeSet_parm_t;
      afs_status_t st = 0;
      void *bos_server = NULL;
!     bos_Restart_t type = 0;
      int have_daily = 0;
      int have_weekly = 0;
      bos_RestartTime_t time;
***************
*** 1534,1540 ****
      } DoBosExecutableRestartTimeGet_parm_t;
      afs_status_t st = 0;
      void *bos_server = NULL;
!     bos_Restart_t type;
      int have_daily = 0;
      int have_weekly = 0;
      bos_RestartTime_t restart_time;
--- 1534,1540 ----
      } DoBosExecutableRestartTimeGet_parm_t;
      afs_status_t st = 0;
      void *bos_server = NULL;
!     bos_Restart_t type = 0;
      int have_daily = 0;
      int have_weekly = 0;
      bos_RestartTime_t restart_time;
***************
*** 1583,1589 ****
      typedef enum { SERVER, LOGFILE } DoBosLogGet_parm_t;
      afs_status_t st = 0;
      void *bos_server = NULL;
!     const char *log_file;
      unsigned long buf_size = INITIAL_BUF_SIZE;
      char *buf = NULL;
  
--- 1583,1589 ----
      typedef enum { SERVER, LOGFILE } DoBosLogGet_parm_t;
      afs_status_t st = 0;
      void *bos_server = NULL;
!     const char *log_file = NULL;
      unsigned long buf_size = INITIAL_BUF_SIZE;
      char *buf = NULL;
  
***************
*** 1631,1637 ****
      typedef enum { SERVER, REQUIREAUTH, DISABLEAUTH } DoBosAuthSet_parm_t;
      afs_status_t st = 0;
      void *bos_server = NULL;
!     bos_Auth_t auth;
      int have_req = 0;
      int have_dis = 0;
  
--- 1631,1637 ----
      typedef enum { SERVER, REQUIREAUTH, DISABLEAUTH } DoBosAuthSet_parm_t;
      afs_status_t st = 0;
      void *bos_server = NULL;
!     bos_Auth_t auth = 0;
      int have_req = 0;
      int have_dis = 0;
  
***************
*** 1675,1681 ****
      typedef enum { SERVER, COMMAND } DoBosCommandExecute_parm_t;
      afs_status_t st = 0;
      void *bos_server = NULL;
!     const char *command;
  
      if (as->parms[SERVER].items) {
  	if (!bos_ServerOpen
--- 1675,1681 ----
      typedef enum { SERVER, COMMAND } DoBosCommandExecute_parm_t;
      afs_status_t st = 0;
      void *bos_server = NULL;
!     const char *command = NULL;
  
      if (as->parms[SERVER].items) {
  	if (!bos_ServerOpen
Index: openafs/src/libadmin/test/client.c
diff -c openafs/src/libadmin/test/client.c:1.8.14.1 openafs/src/libadmin/test/client.c:1.8.14.2
*** openafs/src/libadmin/test/client.c:1.8.14.1	Wed Oct 31 00:09:31 2007
--- openafs/src/libadmin/test/client.c	Mon Oct 27 19:41:46 2008
***************
*** 15,21 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/libadmin/test/client.c,v 1.8.14.1 2007/10/31 04:09:31 shadow Exp $");
  
  #include "client.h"
  #include <afs/cellconfig.h>
--- 15,21 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/libadmin/test/client.c,v 1.8.14.2 2008/10/27 23:41:46 shadow Exp $");
  
  #include "client.h"
  #include <afs/cellconfig.h>
***************
*** 283,290 ****
  	CHECK
      } DoClientMountPointCreate_parm_t;
      afs_status_t st = 0;
!     const char *directory;
!     const char *volume;
      vol_type_t vol_type = READ_ONLY;
      vol_check_t vol_check = DONT_CHECK_VOLUME;
  
--- 283,290 ----
  	CHECK
      } DoClientMountPointCreate_parm_t;
      afs_status_t st = 0;
!     const char *directory = NULL;
!     const char *volume = NULL;
      vol_type_t vol_type = READ_ONLY;
      vol_check_t vol_check = DONT_CHECK_VOLUME;
  
***************
*** 335,341 ****
  {
      typedef enum { SERVER } DoClientAFSServerGet_parm_t;
      afs_status_t st = 0;
!     const char *server;
      afs_serverEntry_t entry;
  
      if (as->parms[SERVER].items) {
--- 335,341 ----
  {
      typedef enum { SERVER } DoClientAFSServerGet_parm_t;
      afs_status_t st = 0;
!     const char *server = NULL;
      afs_serverEntry_t entry;
  
      if (as->parms[SERVER].items) {
***************
*** 486,493 ****
      int servAddr = 0;
      afs_stat_source_t type;
      int srvrPort;
!     int typeIsValid;
!     afs_stat_type_t which;
      afs_RPCStatsState_t state;
  
      if (as->parms[PROCESS].items) {
--- 486,493 ----
      int servAddr = 0;
      afs_stat_source_t type;
      int srvrPort;
!     int typeIsValid = 0;
!     afs_stat_type_t which = 0;
      afs_RPCStatsState_t state;
  
      if (as->parms[PROCESS].items) {
***************
*** 544,551 ****
      int servAddr = 0;
      afs_stat_source_t type;
      int srvrPort;
!     int typeIsValid;
!     afs_stat_type_t which;
  
      if (as->parms[PROCESS].items) {
  	typeIsValid =
--- 544,551 ----
      int servAddr = 0;
      afs_stat_source_t type;
      int srvrPort;
!     int typeIsValid = 0;
!     afs_stat_type_t which = 0;
  
      if (as->parms[PROCESS].items) {
  	typeIsValid =
***************
*** 600,607 ****
      int servAddr = 0;
      afs_stat_source_t type;
      int srvrPort;
!     int typeIsValid;
!     afs_stat_type_t which;
  
      if (as->parms[PROCESS].items) {
  	typeIsValid =
--- 600,607 ----
      int servAddr = 0;
      afs_stat_source_t type;
      int srvrPort;
!     int typeIsValid = 0;
!     afs_stat_type_t which = 0;
  
      if (as->parms[PROCESS].items) {
  	typeIsValid =
***************
*** 702,712 ****
      int servAddr = 0;
      afs_stat_source_t type;
      int srvrPort;
!     int typeIsValid;
!     afs_stat_type_t which;
      afs_RPCStats_t stats;
      void *iter;
!     int i;
  
  #ifdef AFS_NT40_ENV
      (pthread_func_list_done
--- 702,712 ----
      int servAddr = 0;
      afs_stat_source_t type;
      int srvrPort;
!     int typeIsValid = 0;
!     afs_stat_type_t which = 0;
      afs_RPCStats_t stats;
      void *iter;
!     int i = 0;
  
  #ifdef AFS_NT40_ENV
      (pthread_func_list_done
***************
*** 833,840 ****
      int servAddr = 0;
      afs_stat_source_t type;
      int srvrPort;
!     int typeIsValid;
!     afs_stat_type_t which;
      afs_RPCStatsClearFlag_t flag = 0;
      int seen_all = 0;
      int seen_any = 0;
--- 833,840 ----
      int servAddr = 0;
      afs_stat_source_t type;
      int srvrPort;
!     int typeIsValid = 0;
!     afs_stat_type_t which = 0;
      afs_RPCStatsClearFlag_t flag = 0;
      int seen_all = 0;
      int seen_any = 0;
***************
*** 999,1005 ****
      afs_stat_source_t type;
      int servAddr = 0;
      int srvrPort;
!     int typeIsValid;
      afs_RPCStatsVersion_t version;
  
      if (as->parms[PROCESS].items) {
--- 999,1005 ----
      afs_stat_source_t type;
      int servAddr = 0;
      int srvrPort;
!     int typeIsValid = 0;
      afs_RPCStatsVersion_t version;
  
      if (as->parms[PROCESS].items) {
Index: openafs/src/libadmin/test/vos.c
diff -c openafs/src/libadmin/test/vos.c:1.9.4.2 openafs/src/libadmin/test/vos.c:1.9.4.3
*** openafs/src/libadmin/test/vos.c:1.9.4.2	Mon Apr 21 15:40:01 2008
--- openafs/src/libadmin/test/vos.c	Mon Oct 27 19:41:46 2008
***************
*** 21,27 ****
  #endif
  
  RCSID
!     ("$Header: /cvs/openafs/src/libadmin/test/vos.c,v 1.9.4.2 2008/04/21 19:40:01 shadow Exp $");
  
  #include "vos.h"
  
--- 21,27 ----
  #endif
  
  RCSID
!     ("$Header: /cvs/openafs/src/libadmin/test/vos.c,v 1.9.4.3 2008/10/27 23:41:46 shadow Exp $");
  
  #include "vos.h"
  
***************
*** 151,157 ****
  {
      typedef enum { VOLUME } DoVosBackupVolumeCreate_parm_t;
      afs_status_t st = 0;
!     unsigned int volume_id;
  
      if (as->parms[VOLUME].items) {
  	const char *volume = as->parms[VOLUME].items->data;
--- 151,157 ----
  {
      typedef enum { VOLUME } DoVosBackupVolumeCreate_parm_t;
      afs_status_t st = 0;
!     unsigned int volume_id = 0;
  
      if (as->parms[VOLUME].items) {
  	const char *volume = as->parms[VOLUME].items->data;
***************
*** 222,228 ****
      typedef enum { SERVER, PARTITION } DoVosPartitionGet_parm_t;
      afs_status_t st = 0;
      void *vos_server = NULL;
!     unsigned int partition_id;
      vos_partitionEntry_t entry;
  
      if (as->parms[SERVER].items) {
--- 222,228 ----
      typedef enum { SERVER, PARTITION } DoVosPartitionGet_parm_t;
      afs_status_t st = 0;
      void *vos_server = NULL;
!     unsigned int partition_id = 0;
      vos_partitionEntry_t entry;
  
      if (as->parms[SERVER].items) {
***************
*** 318,324 ****
  	NEWADDRESS
      } DoVosFileServerAddressChange_parm_t;
      afs_status_t st = 0;
!     int old_addr, new_addr;
  
      if (as->parms[OLDADDRESS].items) {
  	const char *addr = as->parms[OLDADDRESS].items->data;
--- 318,325 ----
  	NEWADDRESS
      } DoVosFileServerAddressChange_parm_t;
      afs_status_t st = 0;
!     int old_addr = 0;
!     int new_addr = 0;
  
      if (as->parms[OLDADDRESS].items) {
  	const char *addr = as->parms[OLDADDRESS].items->data;
***************
*** 341,347 ****
  {
      typedef enum { ADDRESS } DoVosFileServerAddressRemove_parm_t;
      afs_status_t st = 0;
!     int address;
  
      if (as->parms[ADDRESS].items) {
  	const char *addr = as->parms[ADDRESS].items->data;
--- 342,348 ----
  {
      typedef enum { ADDRESS } DoVosFileServerAddressRemove_parm_t;
      afs_status_t st = 0;
!     int address = 0;
  
      if (as->parms[ADDRESS].items) {
  	const char *addr = as->parms[ADDRESS].items->data;
***************
*** 678,684 ****
  {
      typedef enum { VOLUME } DoVosVLDBEntryLoc_parm_tk;
      afs_status_t st = 0;
!     unsigned int volume_id;
  
      if (as->parms[VOLUME].items) {
  	const char *volume = as->parms[VOLUME].items->data;
--- 679,685 ----
  {
      typedef enum { VOLUME } DoVosVLDBEntryLoc_parm_tk;
      afs_status_t st = 0;
!     unsigned int volume_id = 0;
  
      if (as->parms[VOLUME].items) {
  	const char *volume = as->parms[VOLUME].items->data;
***************
*** 697,703 ****
  {
      typedef enum { VOLUME } DoVosVLDBEntryUnlock_parm_t;
      afs_status_t st = 0;
!     unsigned int volume_id;
  
      if (as->parms[VOLUME].items) {
  	const char *volume = as->parms[VOLUME].items->data;
--- 698,704 ----
  {
      typedef enum { VOLUME } DoVosVLDBEntryUnlock_parm_t;
      afs_status_t st = 0;
!     unsigned int volume_id = 0;
  
      if (as->parms[VOLUME].items) {
  	const char *volume = as->parms[VOLUME].items->data;
***************
*** 719,726 ****
      } DoVosVLDBReadOnlySiteCreate_parm_t;
      afs_status_t st = 0;
      void *vos_server = NULL;
!     unsigned int partition_id;
!     unsigned int volume_id;
  
      if (as->parms[SERVER].items) {
  	if (!vos_ServerOpen
--- 720,727 ----
      } DoVosVLDBReadOnlySiteCreate_parm_t;
      afs_status_t st = 0;
      void *vos_server = NULL;
!     unsigned int partition_id = 0;
!     unsigned int volume_id = 0;
  
      if (as->parms[SERVER].items) {
  	if (!vos_ServerOpen
***************
*** 754,761 ****
      } DoVosVLDBReadOnlySiteDelete_parm_t;
      afs_status_t st = 0;
      void *vos_server = NULL;
!     unsigned int partition_id;
!     unsigned int volume_id;
  
      if (as->parms[SERVER].items) {
  	if (!vos_ServerOpen
--- 755,762 ----
      } DoVosVLDBReadOnlySiteDelete_parm_t;
      afs_status_t st = 0;
      void *vos_server = NULL;
!     unsigned int partition_id = 0;
!     unsigned int volume_id = 0;
  
      if (as->parms[SERVER].items) {
  	if (!vos_ServerOpen
***************
*** 829,838 ****
      } DoVosVolumeCreate_parm_t;
      afs_status_t st = 0;
      void *vos_server = NULL;
!     unsigned int partition_id;
      unsigned int volume_id;
      const char *volume = NULL;
!     unsigned int quota;
  
      if (as->parms[SERVER].items) {
  	if (!vos_ServerOpen
--- 830,839 ----
      } DoVosVolumeCreate_parm_t;
      afs_status_t st = 0;
      void *vos_server = NULL;
!     unsigned int partition_id = 0;
      unsigned int volume_id;
      const char *volume = NULL;
!     unsigned int quota = 0;
  
      if (as->parms[SERVER].items) {
  	if (!vos_ServerOpen
***************
*** 872,879 ****
      typedef enum { SERVER, PARTITION, VOLUME } DoVosVolumeDelete_parm_t;
      afs_status_t st = 0;
      void *vos_server = NULL;
!     unsigned int partition_id;
!     unsigned int volume_id;
  
      if (as->parms[SERVER].items) {
  	if (!vos_ServerOpen
--- 873,880 ----
      typedef enum { SERVER, PARTITION, VOLUME } DoVosVolumeDelete_parm_t;
      afs_status_t st = 0;
      void *vos_server = NULL;
!     unsigned int partition_id = 0;
!     unsigned int volume_id = 0;
  
      if (as->parms[SERVER].items) {
  	if (!vos_ServerOpen
***************
*** 905,912 ****
  {
      typedef enum { OLDVOLUME, NEWVOLUME } DoVosVolumeRename_parm_t;
      afs_status_t st = 0;
!     unsigned int old_volume;
!     const char *new_volume;
  
      if (as->parms[OLDVOLUME].items) {
  	const char *volume = as->parms[OLDVOLUME].items->data;
--- 906,913 ----
  {
      typedef enum { OLDVOLUME, NEWVOLUME } DoVosVolumeRename_parm_t;
      afs_status_t st = 0;
!     unsigned int old_volume = 0;
!     const char *new_volume = 0;
  
      if (as->parms[OLDVOLUME].items) {
  	const char *volume = as->parms[OLDVOLUME].items->data;
***************
*** 935,943 ****
      unsigned int partition_id;
      unsigned int *part_ptr = NULL;
      int have_server = 0;
!     unsigned int volume_id;
!     unsigned int start_time;
!     const char *dumpfile;
  
      if (as->parms[SERVER].items) {
  	if (!vos_ServerOpen
--- 936,944 ----
      unsigned int partition_id;
      unsigned int *part_ptr = NULL;
      int have_server = 0;
!     unsigned int volume_id = 0;
!     unsigned int start_time = 0;
!     const char *dumpfile = NULL;
  
      if (as->parms[SERVER].items) {
  	if (!vos_ServerOpen
***************
*** 988,998 ****
      } DoVosVolumeRestore_parm_t;
      afs_status_t st = 0;
      void *vos_server = NULL;
!     unsigned int partition_id;
      unsigned int volume_id;
      unsigned int *vol_ptr = NULL;
!     const char *dumpfile;
!     const char *volume_name;
      vos_volumeRestoreType_t restore = VOS_RESTORE_INCREMENTAL;
  
      if (as->parms[SERVER].items) {
--- 989,999 ----
      } DoVosVolumeRestore_parm_t;
      afs_status_t st = 0;
      void *vos_server = NULL;
!     unsigned int partition_id = 0;
      unsigned int volume_id;
      unsigned int *vol_ptr = NULL;
!     const char *dumpfile = NULL;
!     const char *volume_name = NULL;
      vos_volumeRestoreType_t restore = VOS_RESTORE_INCREMENTAL;
  
      if (as->parms[SERVER].items) {
***************
*** 1042,1050 ****
      } DoVosVolumeOnline_parm_t;
      afs_status_t st = 0;
      void *vos_server = NULL;
!     unsigned int partition_id;
!     unsigned int volume_id;
!     unsigned int sleep;
      vos_volumeOnlineType_t type = VOS_ONLINE_OFFLINE;
  
      if (as->parms[SERVER].items) {
--- 1043,1051 ----
      } DoVosVolumeOnline_parm_t;
      afs_status_t st = 0;
      void *vos_server = NULL;
!     unsigned int partition_id = 0;
!     unsigned int volume_id = 0;
!     unsigned int sleep = 0;
      vos_volumeOnlineType_t type = VOS_ONLINE_OFFLINE;
  
      if (as->parms[SERVER].items) {
***************
*** 1088,1095 ****
      typedef enum { SERVER, PARTITION, VOLUME } DoVosVolumeOffline_parm_t;
      afs_status_t st = 0;
      void *vos_server = NULL;
!     unsigned int partition_id;
!     unsigned int volume_id;
  
      if (as->parms[SERVER].items) {
  	if (!vos_ServerOpen
--- 1089,1096 ----
      typedef enum { SERVER, PARTITION, VOLUME } DoVosVolumeOffline_parm_t;
      afs_status_t st = 0;
      void *vos_server = NULL;
!     unsigned int partition_id = 0;
!     unsigned int volume_id = 0;
  
      if (as->parms[SERVER].items) {
  	if (!vos_ServerOpen
***************
*** 1345,1352 ****
      typedef enum { SERVER, PARTITION, VOLUME } DoVosVolumeGet_parm_t;
      afs_status_t st = 0;
      void *vos_server = NULL;
!     unsigned int partition_id;
!     unsigned int volume_id;
      vos_volumeEntry_t entry;
  
      if (as->parms[SERVER].items) {
--- 1346,1353 ----
      typedef enum { SERVER, PARTITION, VOLUME } DoVosVolumeGet_parm_t;
      afs_status_t st = 0;
      void *vos_server = NULL;
!     unsigned int partition_id = 0;
!     unsigned int volume_id = 0;
      vos_volumeEntry_t entry;
  
      if (as->parms[SERVER].items) {
***************
*** 1383,1389 ****
      afs_status_t st = 0;
      void *vos_server = NULL;
      void *iter = NULL;
!     unsigned int partition_id;
      vos_volumeEntry_t entry;
  
      if (as->parms[SERVER].items) {
--- 1384,1390 ----
      afs_status_t st = 0;
      void *vos_server = NULL;
      void *iter = NULL;
!     unsigned int partition_id = 0;
      vos_volumeEntry_t entry;
  
      if (as->parms[SERVER].items) {
***************
*** 1431,1439 ****
      afs_status_t st = 0;
      void *from_server = NULL;
      void *to_server = NULL;
!     unsigned int from_partition;
!     unsigned int to_partition;
!     unsigned int volume_id;
  
      if (as->parms[FROMSERVER].items) {
  	if (!vos_ServerOpen
--- 1432,1440 ----
      afs_status_t st = 0;
      void *from_server = NULL;
      void *to_server = NULL;
!     unsigned int from_partition = 0;
!     unsigned int to_partition = 0;
!     unsigned int volume_id = 0;
  
      if (as->parms[FROMSERVER].items) {
  	if (!vos_ServerOpen
***************
*** 1479,1485 ****
  {
      typedef enum { VOLUME, FORCE } DoVosVolumeRelease_parm_t;
      afs_status_t st = 0;
!     unsigned int volume_id;
      vos_force_t force = VOS_NORMAL;
  
      if (as->parms[VOLUME].items) {
--- 1480,1486 ----
  {
      typedef enum { VOLUME, FORCE } DoVosVolumeRelease_parm_t;
      afs_status_t st = 0;
!     unsigned int volume_id = 0;
      vos_force_t force = VOS_NORMAL;
  
      if (as->parms[VOLUME].items) {
***************
*** 1503,1510 ****
      typedef enum { SERVER, PARTITION, VOLUME, FORCE } DoVosVolumeZap_parm_t;
      afs_status_t st = 0;
      void *vos_server = NULL;
!     unsigned int partition_id;
!     unsigned int volume_id;
      vos_force_t force = VOS_NORMAL;
  
      if (as->parms[SERVER].items) {
--- 1504,1511 ----
      typedef enum { SERVER, PARTITION, VOLUME, FORCE } DoVosVolumeZap_parm_t;
      afs_status_t st = 0;
      void *vos_server = NULL;
!     unsigned int partition_id = 0;
!     unsigned int volume_id = 0;
      vos_force_t force = VOS_NORMAL;
  
      if (as->parms[SERVER].items) {
***************
*** 1541,1547 ****
  {
      typedef enum { PARTITION } DoVosPartitionNameToId_parm_t;
      afs_status_t st = 0;
!     unsigned int partition_id;
  
      if (as->parms[PARTITION].items) {
  	partition_id =
--- 1542,1548 ----
  {
      typedef enum { PARTITION } DoVosPartitionNameToId_parm_t;
      afs_status_t st = 0;
!     unsigned int partition_id = 0;
  
      if (as->parms[PARTITION].items) {
  	partition_id =
***************
*** 1559,1565 ****
  {
      typedef enum { PARTITIONID } DoVosPartitionIdToName_parm_t;
      afs_status_t st = 0;
!     unsigned int partition_id;
      char partition[VOS_MAX_PARTITION_NAME_LEN];
  
      if (as->parms[PARTITIONID].items) {
--- 1560,1566 ----
  {
      typedef enum { PARTITIONID } DoVosPartitionIdToName_parm_t;
      afs_status_t st = 0;
!     unsigned int partition_id = 0;
      char partition[VOS_MAX_PARTITION_NAME_LEN];
  
      if (as->parms[PARTITIONID].items) {
***************
*** 1585,1593 ****
      } DoVosVolumeQuotaChange_parm_t;
      afs_status_t st = 0;
      void *vos_server = NULL;
!     unsigned int partition_id;
!     unsigned int volume_id;
!     unsigned int quota;
  
      if (as->parms[SERVER].items) {
  	if (!vos_ServerOpen
--- 1586,1594 ----
      } DoVosVolumeQuotaChange_parm_t;
      afs_status_t st = 0;
      void *vos_server = NULL;
!     unsigned int partition_id = 0;
!     unsigned int volume_id = 0;
!     unsigned int quota = 0;
  
      if (as->parms[SERVER].items) {
  	if (!vos_ServerOpen
***************
*** 1733,1740 ****
      typedef enum { SERVER, PARTITION, VOLUME } DoVosVolumeGet_parm_t;
      afs_status_t st = 0;
      void *vos_server = NULL;
!     afs_uint32 partition_id;
!     afs_uint32 volume_id;
  
  	volintInfo info;
  	memset(&info, 0, sizeof(struct volintInfo));
--- 1734,1741 ----
      typedef enum { SERVER, PARTITION, VOLUME } DoVosVolumeGet_parm_t;
      afs_status_t st = 0;
      void *vos_server = NULL;
!     afs_uint32 partition_id = 0;
!     afs_uint32 volume_id = 0;
  
  	volintInfo info;
  	memset(&info, 0, sizeof(struct volintInfo));
***************
*** 1775,1782 ****
      typedef enum { SERVER, PARTITION, VOLUME } DoVosVolumeGet_parm_t;
      afs_status_t st = 0;
      void *vos_server = NULL;
!     unsigned int partition_id;
!     unsigned int volume_id;
  
      if (as->parms[SERVER].items) {
  	if (!vos_ServerOpen
--- 1776,1783 ----
      typedef enum { SERVER, PARTITION, VOLUME } DoVosVolumeGet_parm_t;
      afs_status_t st = 0;
      void *vos_server = NULL;
!     unsigned int partition_id = 0;
!     unsigned int volume_id = 0;
  
      if (as->parms[SERVER].items) {
  	if (!vos_ServerOpen
Index: openafs/src/libafs/MakefileProto.LINUX.in
diff -c openafs/src/libafs/MakefileProto.LINUX.in:1.54.4.6 openafs/src/libafs/MakefileProto.LINUX.in:1.54.4.7
*** openafs/src/libafs/MakefileProto.LINUX.in:1.54.4.6	Wed Sep  3 12:59:18 2008
--- openafs/src/libafs/MakefileProto.LINUX.in	Sun Oct 12 14:02:19 2008
***************
*** 60,65 ****
--- 60,66 ----
  COMMON_DEFINES=-D__KERNEL__ -DKERNEL -D_KERNEL -DMODULE ${SMP_DEF}
  
  LINUX_KERNEL_PATH=@LINUX_KERNEL_PATH@
+ LINUX_KERNEL_BUILD=@LINUX_KERNEL_BUILD@
  
  # System specific build commands and flags
  <linux26 linux_26>
***************
*** 295,301 ****
  .FORCE:
  ${LINUX_LIBAFS_NAME}.ko afspag.ko: .FORCE
  	env EXTRA_CFLAGS="${EXTRA_CFLAGS}" @TOP_SRCDIR@/libafs/make_kbuild_makefile.pl ${KDIR} $@ @TOP_OBJDIR@/src/config/Makefile.config Makefile.afs Makefile.common
! 	env EXTRA_CFLAGS="${EXTRA_CFLAGS}" $(MAKE) -C ${LINUX_KERNEL_PATH} M=@TOP_OBJDIR@/src/libafs/${KDIR} modules
          
  <all -linux26 -linux_26 -umlinux26>
  ${LIBAFS}: $(AFSAOBJS) $(AFSNONFSOBJS)
--- 296,302 ----
  .FORCE:
  ${LINUX_LIBAFS_NAME}.ko afspag.ko: .FORCE
  	env EXTRA_CFLAGS="${EXTRA_CFLAGS}" @TOP_SRCDIR@/libafs/make_kbuild_makefile.pl ${KDIR} $@ @TOP_OBJDIR@/src/config/Makefile.config Makefile.afs Makefile.common
! 	env EXTRA_CFLAGS="${EXTRA_CFLAGS}" $(MAKE) -C ${LINUX_KERNEL_BUILD} M=@TOP_OBJDIR@/src/libafs/${KDIR} modules
          
  <all -linux26 -linux_26 -umlinux26>
  ${LIBAFS}: $(AFSAOBJS) $(AFSNONFSOBJS)
Index: openafs/src/libafsrpc/afsrpc.def
diff -c openafs/src/libafsrpc/afsrpc.def:1.11.4.8 openafs/src/libafsrpc/afsrpc.def:1.11.4.9
*** openafs/src/libafsrpc/afsrpc.def:1.11.4.8	Tue Oct  7 18:28:49 2008
--- openafs/src/libafsrpc/afsrpc.def	Wed Oct  8 17:15:10 2008
***************
*** 233,238 ****
--- 233,241 ----
          clock_now                               @238
          clock_UpdateTime                        @239
          clock_haveCurrentTime                   @240
+         rx_SetRxDeadTime                        @241
+         rx_GetMinUdpBufSize                     @242
+         rx_SetUdpBufSize                        @243        
  
  ; for performance testing
          rx_TSFPQGlobSize                        @2001 DATA
Index: openafs/src/packaging/RedHat/openafs.spec.in
diff -c openafs/src/packaging/RedHat/openafs.spec.in:1.2.2.26 openafs/src/packaging/RedHat/openafs.spec.in:1.2.2.27
*** openafs/src/packaging/RedHat/openafs.spec.in:1.2.2.26	Tue Aug 26 09:44:43 2008
--- openafs/src/packaging/RedHat/openafs.spec.in	Wed Nov  5 16:29:47 2008
***************
*** 1,4 ****
! # Openafs Spec $Revision: 1.2.2.26 $
  
  %define afsvers @VERSION@
  %define pkgvers @LINUX_PKGVER@
--- 1,4 ----
! # Openafs Spec $Revision: 1.2.2.27 $
  
  %define afsvers @VERSION@
  %define pkgvers @LINUX_PKGVER@
***************
*** 1497,1502 ****
--- 1497,1503 ----
  %{_mandir}/man5/fms.log.*
  %{_mandir}/man5/kaserver.DB0.*
  %{_mandir}/man5/kaserverauxdb.*
+ %{_mandir}/man5/krb.conf.*
  %{_mandir}/man5/prdb.DB0.*
  %{_mandir}/man5/salvage.lock.*
  %{_mandir}/man5/tapeconfig.*
Index: openafs/src/ptserver/db_verify.c
diff -c openafs/src/ptserver/db_verify.c:1.16.14.5 openafs/src/ptserver/db_verify.c:1.16.14.6
*** openafs/src/ptserver/db_verify.c:1.16.14.5	Wed Oct 31 00:09:32 2007
--- openafs/src/ptserver/db_verify.c	Mon Oct 27 19:53:46 2008
***************
*** 12,18 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/ptserver/db_verify.c,v 1.16.14.5 2007/10/31 04:09:32 shadow Exp $");
  
  /*
   *                      (3) Define a structure, idused, instead of an
--- 12,18 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/ptserver/db_verify.c,v 1.16.14.6 2008/10/27 23:53:46 shadow Exp $");
  
  /*
   *                      (3) Define a structure, idused, instead of an
***************
*** 395,402 ****
      struct prentry c;		/* continuation entry */
      afs_int32 na;		/* next thread */
      int ni;
!     afs_int32 eid;
!     int count;			/* number of members */
      int i;
      int noErrors = 1;
      int length;			/* length of chain */
--- 395,403 ----
      struct prentry c;		/* continuation entry */
      afs_int32 na;		/* next thread */
      int ni;
!     afs_int32 eid = 0;
!     int count = 0;		/* number of members, set to > 9999 if */
!     				/* list ends early */
      int i;
      int noErrors = 1;
      int length;			/* length of chain */
***************
*** 410,416 ****
  	head = ntohl(e->next);
  	eid = ntohl(e->id);
  	bit = MAP_CONT;
- 	count = 0;		/* set to >9999 if list ends early */
  #if defined(SUPERGROUPS)
  	sgcount = 0;
  	sghead = ntohl(g->next);
--- 411,416 ----
***************
*** 713,719 ****
      struct prentry c;		/* continuation entry */
      afs_int32 na;		/* next thread */
      int ni;
!     afs_int32 eid;
      int length;			/* length of chain */
  
      if (e) {
--- 713,719 ----
      struct prentry c;		/* continuation entry */
      afs_int32 na;		/* next thread */
      int ni;
!     afs_int32 eid = 0;
      int length;			/* length of chain */
  
      if (e) {
Index: openafs/src/ptserver/pt_util.c
diff -c openafs/src/ptserver/pt_util.c:1.11.4.6 openafs/src/ptserver/pt_util.c:1.11.4.7
*** openafs/src/ptserver/pt_util.c:1.11.4.6	Tue Jul  1 01:57:35 2008
--- openafs/src/ptserver/pt_util.c	Mon Oct 27 19:53:46 2008
***************
*** 1,4 ****
! /* $Id: pt_util.c,v 1.11.4.6 2008/07/01 05:57:35 rra Exp $ */
  
  /*
   *
--- 1,4 ----
! /* $Id: pt_util.c,v 1.11.4.7 2008/10/27 23:53:46 shadow Exp $ */
  
  /*
   *
***************
*** 23,29 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/ptserver/pt_util.c,v 1.11.4.6 2008/07/01 05:57:35 rra Exp $");
  
  #include <afs/cmd.h>		/*Command line parsing */
  #include <afs/afsutil.h>
--- 23,29 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/ptserver/pt_util.c,v 1.11.4.7 2008/10/27 23:53:46 shadow Exp $");
  
  #include <afs/cmd.h>		/*Command line parsing */
  #include <afs/afsutil.h>
***************
*** 133,140 ****
  CommandProc(register struct cmd_syndesc *a_as, void *arock)
  {
      register int i;
!     register long code;
!     long cc, upos, gpos;
      struct prentry uentry, gentry;
      struct ubik_hdr *uh;
      char *dfile = 0;
--- 133,141 ----
  CommandProc(register struct cmd_syndesc *a_as, void *arock)
  {
      register int i;
!     long code = 0;
!     long cc, upos;
!     long gpos = 0;
      struct prentry uentry, gentry;
      struct ubik_hdr *uh;
      char *dfile = 0;
Index: openafs/src/ptserver/ptutils.c
diff -c openafs/src/ptserver/ptutils.c:1.19.6.5 openafs/src/ptserver/ptutils.c:1.19.6.6
*** openafs/src/ptserver/ptutils.c:1.19.6.5	Wed Apr  2 15:51:56 2008
--- openafs/src/ptserver/ptutils.c	Sun Oct 26 03:50:55 2008
***************
*** 24,30 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/ptserver/ptutils.c,v 1.19.6.5 2008/04/02 19:51:56 shadow Exp $");
  
  #include <afs/stds.h>
  #include <sys/types.h>
--- 24,30 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/ptserver/ptutils.c,v 1.19.6.6 2008/10/26 07:50:55 jaltman Exp $");
  
  #include <afs/stds.h>
  #include <sys/types.h>
***************
*** 294,300 ****
  	return 1;
      if (cid == SYSADMINID)
  	return 1;		/* special case fileserver */
!     if (restricted && ((mem == PRP_ADD_MEM) || (mem == any == 0)))
  	return 0;
      if (tentry) {
  	flags = tentry->flags;
--- 294,300 ----
  	return 1;
      if (cid == SYSADMINID)
  	return 1;		/* special case fileserver */
!     if (restricted && ((mem == PRP_ADD_MEM) || (mem == PRP_REMOVE_MEM)) && (any == 0))
  	return 0;
      if (tentry) {
  	flags = tentry->flags;
Index: openafs/src/ptserver/testpt.c
diff -c openafs/src/ptserver/testpt.c:1.14.14.4 openafs/src/ptserver/testpt.c:1.14.14.5
*** openafs/src/ptserver/testpt.c:1.14.14.4	Wed Oct 31 00:09:32 2007
--- openafs/src/ptserver/testpt.c	Mon Oct 27 19:41:46 2008
***************
*** 11,17 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/ptserver/testpt.c,v 1.14.14.4 2007/10/31 04:09:32 shadow Exp $");
  
  #include <ctype.h>
  #include <errno.h>
--- 11,17 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/ptserver/testpt.c,v 1.14.14.5 2008/10/27 23:41:46 shadow Exp $");
  
  #include <ctype.h>
  #include <errno.h>
***************
*** 272,279 ****
      char name[16];
      afs_int32 id = 0;
      afs_int32 flags = PRGRP;
!     afs_int32 owner;
!     char *ownerName;
      int ownerType;		/* type of ownership */
      static char *lastGroupPrefix;	/* prefix used for type==2 */
  
--- 272,279 ----
      char name[16];
      afs_int32 id = 0;
      afs_int32 flags = PRGRP;
!     afs_int32 owner = 0;
!     char *ownerName = NULL;
      int ownerType;		/* type of ownership */
      static char *lastGroupPrefix;	/* prefix used for type==2 */
  
Index: openafs/src/rx/rx_globals.c
diff -c openafs/src/rx/rx_globals.c:1.9.8.3 openafs/src/rx/rx_globals.c:1.9.8.4
*** openafs/src/rx/rx_globals.c:1.9.8.3	Mon Dec 18 22:19:08 2006
--- openafs/src/rx/rx_globals.c	Wed Oct  8 17:15:10 2008
***************
*** 26,32 ****
  #endif
  
  RCSID
!     ("$Header: /cvs/openafs/src/rx/rx_globals.c,v 1.9.8.3 2006/12/19 03:19:08 shadow Exp $");
  
  /* Enable data initialization when the header file is included */
  #define GLOBALSINIT(stuff) = stuff
--- 26,32 ----
  #endif
  
  RCSID
!     ("$Header: /cvs/openafs/src/rx/rx_globals.c,v 1.9.8.4 2008/10/08 21:15:10 jaltman Exp $");
  
  /* Enable data initialization when the header file is included */
  #define GLOBALSINIT(stuff) = stuff
***************
*** 47,49 ****
--- 47,69 ----
  #endif /* KERNEL */
  
  #include "rx_globals.h"
+ 
+ #ifdef AFS_NT40_ENV
+ 
+ void rx_SetRxDeadTime(int seconds)
+ {
+     rx_connDeadTime = seconds;
+ }
+ 
+ int rx_GetMinUdpBufSize(void)
+ {
+     return 64*1024;
+ }
+ 
+ void rx_SetUdpBufSize(int x)
+ {
+     if (x > rx_GetMinUdpBufSize())
+         rx_UdpBufSize = x;
+ }
+ 
+ #endif /* AFS_NT40_ENV */
Index: openafs/src/rx/rx_globals.h
diff -c openafs/src/rx/rx_globals.h:1.21.2.21 openafs/src/rx/rx_globals.h:1.21.2.22
*** openafs/src/rx/rx_globals.h:1.21.2.21	Fri Oct  3 10:57:19 2008
--- openafs/src/rx/rx_globals.h	Wed Oct  8 17:15:10 2008
***************
*** 81,88 ****
--- 81,93 ----
  
  /* Time until an unresponsive connection is declared dead */
  EXT int rx_connDeadTime GLOBALSINIT(12);
+ 
  /* Set rx default connection dead time; set on both services and connections at creation time */
+ #ifdef AFS_NT40_ENV
+ void rx_SetRxDeadTime(int seconds);
+ #else
  #define rx_SetRxDeadTime(seconds)   (rx_connDeadTime = (seconds))
+ #endif
  
  /* Time until we toss an idle connection */
  EXT int rx_idleConnectionTime GLOBALSINIT(700);
***************
*** 94,102 ****
  
  /* UDP rcv buffer size */
  EXT int rx_UdpBufSize GLOBALSINIT(64 * 1024);
  #define rx_GetMinUdpBufSize()   (64*1024)
  #define rx_SetUdpBufSize(x)     (((x)>rx_GetMinUdpBufSize()) ? (rx_UdpBufSize = (x)):0)
! 
  /*
   * Variables to control RX overload management. When the number of calls
   * waiting for a thread exceed the threshold, new calls are aborted
--- 99,111 ----
  
  /* UDP rcv buffer size */
  EXT int rx_UdpBufSize GLOBALSINIT(64 * 1024);
+ #ifdef AFS_NT40_ENV
+ int   rx_GetMinUdpBufSize(void);
+ void  rx_SetUdpBufSize(int x);
+ #else
  #define rx_GetMinUdpBufSize()   (64*1024)
  #define rx_SetUdpBufSize(x)     (((x)>rx_GetMinUdpBufSize()) ? (rx_UdpBufSize = (x)):0)
! #endif
  /*
   * Variables to control RX overload management. When the number of calls
   * waiting for a thread exceed the threshold, new calls are aborted
Index: openafs/src/rx/rx_rdwr.c
diff -c openafs/src/rx/rx_rdwr.c:1.29.2.9 openafs/src/rx/rx_rdwr.c:1.29.2.10
*** openafs/src/rx/rx_rdwr.c:1.29.2.9	Thu Oct  2 07:53:18 2008
--- openafs/src/rx/rx_rdwr.c	Sun Oct 26 17:17:41 2008
***************
*** 15,21 ****
  #endif
  
  RCSID
!     ("$Header: /cvs/openafs/src/rx/rx_rdwr.c,v 1.29.2.9 2008/10/02 11:53:18 jaltman Exp $");
  
  #ifdef KERNEL
  #ifndef UKERNEL
--- 15,21 ----
  #endif
  
  RCSID
!     ("$Header: /cvs/openafs/src/rx/rx_rdwr.c,v 1.29.2.10 2008/10/26 21:17:41 jaltman Exp $");
  
  #ifdef KERNEL
  #ifndef UKERNEL
***************
*** 387,393 ****
  	call->curpos = tcurpos + sizeof(afs_int32);
  	call->curlen = (u_short)(tcurlen - sizeof(afs_int32));
  	call->nLeft = (u_short)(tnLeft - sizeof(afs_int32));
!         if (!call->nLeft) {
              /* out of packet.  Get another one. */
              NETPRI;
              MUTEX_ENTER(&call->lock);
--- 387,393 ----
  	call->curpos = tcurpos + sizeof(afs_int32);
  	call->curlen = (u_short)(tcurlen - sizeof(afs_int32));
  	call->nLeft = (u_short)(tnLeft - sizeof(afs_int32));
!         if (!call->nLeft && call->currentPacket != NULL) {
              /* out of packet.  Get another one. */
              NETPRI;
              MUTEX_ENTER(&call->lock);
Index: openafs/src/rxgen/rpc_parse.c
diff -c openafs/src/rxgen/rpc_parse.c:1.20.4.4 openafs/src/rxgen/rpc_parse.c:1.20.4.5
*** openafs/src/rxgen/rpc_parse.c:1.20.4.4	Thu Nov  1 12:02:29 2007
--- openafs/src/rxgen/rpc_parse.c	Mon Oct 27 19:41:46 2008
***************
*** 36,42 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/rxgen/rpc_parse.c,v 1.20.4.4 2007/11/01 16:02:29 shadow Exp $");
  
  #include <stdlib.h>
  #include <stdio.h>
--- 36,42 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/rxgen/rpc_parse.c,v 1.20.4.5 2008/10/27 23:41:46 shadow Exp $");
  
  #include <stdlib.h>
  #include <stdio.h>
***************
*** 933,939 ****
  handle_split_proc(definition * defp, int multi_flag)
  {
      char *startname = SplitStart, *endname = SplitEnd;
!     int numofparams;
  
      if (!startname)
  	startname = "Start";
--- 933,939 ----
  handle_split_proc(definition * defp, int multi_flag)
  {
      char *startname = SplitStart, *endname = SplitEnd;
!     int numofparams = 0;
  
      if (!startname)
  	startname = "Start";
Index: openafs/src/scout/scout.c
diff -c openafs/src/scout/scout.c:1.10.2.3 openafs/src/scout/scout.c:1.10.2.4
*** openafs/src/scout/scout.c:1.10.2.3	Mon Nov 26 16:08:43 2007
--- openafs/src/scout/scout.c	Mon Oct 27 19:41:46 2008
***************
*** 15,21 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/scout/scout.c,v 1.10.2.3 2007/11/26 21:08:43 shadow Exp $");
  
  #undef	IN
  #ifdef	AFS_AIX32_ENV
--- 15,21 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/scout/scout.c,v 1.10.2.4 2008/10/27 23:41:46 shadow Exp $");
  
  #undef	IN
  #ifdef	AFS_AIX32_ENV
***************
*** 470,476 ****
      int num_src_chars;		/*# of chars in source */
      int true_num_src_chars;	/*# src chars before truncation */
      int trunc_needed;		/*Is truncation needed? */
!     char diskChar;		/*Disk name prefix */
  
      if (scout_debug) {
  	fprintf(scout_debugfd, "[%s] Called with '%s', dest width=%d\n", rn,
--- 470,476 ----
      int num_src_chars;		/*# of chars in source */
      int true_num_src_chars;	/*# src chars before truncation */
      int trunc_needed;		/*Is truncation needed? */
!     char diskChar = 0;		/*Disk name prefix */
  
      if (scout_debug) {
  	fprintf(scout_debugfd, "[%s] Called with '%s', dest width=%d\n", rn,
Index: openafs/src/sys/pioctl_nt.c
diff -c openafs/src/sys/pioctl_nt.c:1.34.4.16 openafs/src/sys/pioctl_nt.c:1.34.4.19
*** openafs/src/sys/pioctl_nt.c:1.34.4.16	Sat Aug 16 12:50:06 2008
--- openafs/src/sys/pioctl_nt.c	Sun Oct 26 17:52:43 2008
***************
*** 11,17 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/sys/pioctl_nt.c,v 1.34.4.16 2008/08/16 16:50:06 jaltman Exp $");
  
  #include <afs/stds.h>
  #include <windows.h>
--- 11,17 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/sys/pioctl_nt.c,v 1.34.4.19 2008/10/26 21:52:43 jaltman Exp $");
  
  #include <afs/stds.h>
  #include <windows.h>
***************
*** 397,402 ****
--- 397,483 ----
      return success;
  }
  
+ static BOOL
+ DriveIsMappedToAFS(char *drivestr, char *NetbiosName)
+ {
+     DWORD dwResult, dwResultEnum;
+     HANDLE hEnum;
+     DWORD cbBuffer = 16384;     // 16K is a good size
+     DWORD cEntries = -1;        // enumerate all possible entries
+     LPNETRESOURCE lpnrLocal;    // pointer to enumerated structures
+     DWORD i;
+     BOOL  bIsAFS = FALSE;
+ 
+     //
+     // Call the WNetOpenEnum function to begin the enumeration.
+     //
+     dwResult = WNetOpenEnum(RESOURCE_CONNECTED,
+                             RESOURCETYPE_DISK,
+                             RESOURCEUSAGE_ALL,
+                             NULL,       // NULL first time the function is called
+                             &hEnum);    // handle to the resource
+ 
+     if (dwResult != NO_ERROR)
+         return FALSE;
+ 
+     //
+     // Call the GlobalAlloc function to allocate resources.
+     //
+     lpnrLocal = (LPNETRESOURCE) GlobalAlloc(GPTR, cbBuffer);
+     if (lpnrLocal == NULL)
+         return FALSE;
+ 
+     do {
+         //
+         // Initialize the buffer.
+         //
+         ZeroMemory(lpnrLocal, cbBuffer);
+         //
+         // Call the WNetEnumResource function to continue
+         //  the enumeration.
+         //
+         cEntries = -1;
+         dwResultEnum = WNetEnumResource(hEnum,          // resource handle
+                                         &cEntries,      // defined locally as -1
+                                         lpnrLocal,      // LPNETRESOURCE
+                                         &cbBuffer);     // buffer size
+         //
+         // If the call succeeds, loop through the structures.
+         //
+         if (dwResultEnum == NO_ERROR) {
+             for (i = 0; i < cEntries; i++) {
+                 if (lpnrLocal[i].lpLocalName &&
+                     toupper(lpnrLocal[i].lpLocalName[0]) == toupper(drivestr[0])) {
+                     //
+                     // Skip the two backslashes at the start of the UNC device name
+                     //
+                     if ( _strnicmp( &(lpnrLocal[i].lpRemoteName[2]), NetbiosName, strlen(NetbiosName)) == 0 )
+                     {
+                         bIsAFS = TRUE;
+                         break;
+                     }
+                 }
+             }
+         }
+         // Process errors.
+         //
+         else if (dwResultEnum != ERROR_NO_MORE_ITEMS)
+             break;
+     }
+     while (dwResultEnum != ERROR_NO_MORE_ITEMS);
+     
+     //
+     // Call the GlobalFree function to free the memory.
+     //
+     GlobalFree((HGLOBAL) lpnrLocal);
+     //
+     // Call WNetCloseEnum to end the enumeration.
+     //
+     dwResult = WNetCloseEnum(hEnum);
+ 
+     return bIsAFS;
+ }
+ 
  static long
  GetIoctlHandle(char *fileNamep, HANDLE * handlep)
  {
***************
*** 424,429 ****
--- 505,513 ----
  	CurrentState != SERVICE_RUNNING)
  	return -1;
  
+     // Populate the Netbios Name
+     lana_GetNetbiosName(netbiosName,LANA_NETBIOS_NAME_FULL);
+ 
      if (fileNamep) {
          drivep = strchr(fileNamep, ':');
          if (drivep && (drivep - fileNamep) >= 1) {
***************
*** 437,443 ****
              switch (driveType) {
              case DRIVE_UNKNOWN:
              case DRIVE_REMOTE:
!                 strcpy(&tbuffer[2], SMB_IOCTL_FILENAME);
                  break;
              default:
                  return -1;
--- 521,530 ----
              switch (driveType) {
              case DRIVE_UNKNOWN:
              case DRIVE_REMOTE:
!                 if (DriveIsMappedToAFS(tbuffer, netbiosName))
!                     strcpy(&tbuffer[2], SMB_IOCTL_FILENAME);
!                 else 
!                     return -1;
                  break;
              default:
                  return -1;
***************
*** 487,493 ****
      }
      if (!tbuffer[0]) {
          /* No file name starting with drive colon specified, use UNC name */
-         lana_GetNetbiosName(netbiosName,LANA_NETBIOS_NAME_FULL);
          sprintf(tbuffer,"\\\\%s\\all%s",netbiosName,SMB_IOCTL_FILENAME);
      }
  
--- 574,579 ----
Index: openafs/src/tbutc/NTMakefile
diff -c openafs/src/tbutc/NTMakefile:1.16.4.5 openafs/src/tbutc/NTMakefile:1.16.4.6
*** openafs/src/tbutc/NTMakefile:1.16.4.5	Tue Oct  7 18:26:44 2008
--- openafs/src/tbutc/NTMakefile	Wed Oct  8 17:15:10 2008
***************
*** 76,86 ****
               $(BUTMLIBS) \
  	     $(DESTDIR)\lib\afs\afsvldb.lib \
  	     $(DESTDIR)\lib\afs\afskauth.lib \
- 	     $(DESTDIR)\lib\afsubik.lib \
  	     $(DESTDIR)\lib\afs\afsauth.lib \
  	     $(DESTDIR)\lib\afsrpc.lib \
               $(DESTDIR)\lib\afsrxkad.lib \
!              $(DESTDIR)\lib\afslwp.lib \
               $(DESTDIR)\lib\afs\afsutil.lib \
               $(DESTDIR)\lib\afs\afsusd.lib \
  	     $(DESTDIR)\lib\afs\afspioctl.lib \
--- 76,85 ----
               $(BUTMLIBS) \
  	     $(DESTDIR)\lib\afs\afsvldb.lib \
  	     $(DESTDIR)\lib\afs\afskauth.lib \
  	     $(DESTDIR)\lib\afs\afsauth.lib \
  	     $(DESTDIR)\lib\afsrpc.lib \
               $(DESTDIR)\lib\afsrxkad.lib \
! 	     $(DESTDIR)\lib\afsubik.lib \
               $(DESTDIR)\lib\afs\afsutil.lib \
               $(DESTDIR)\lib\afs\afsusd.lib \
  	     $(DESTDIR)\lib\afs\afspioctl.lib \
Index: openafs/src/ubik/recovery.c
diff -c openafs/src/ubik/recovery.c:1.14.4.8 openafs/src/ubik/recovery.c:1.14.4.9
*** openafs/src/ubik/recovery.c:1.14.4.8	Sat Jul 19 02:15:02 2008
--- openafs/src/ubik/recovery.c	Sat Oct 18 11:24:45 2008
***************
*** 11,17 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/ubik/recovery.c,v 1.14.4.8 2008/07/19 06:15:02 rra Exp $");
  
  #include <sys/types.h>
  #ifdef AFS_NT40_ENV
--- 11,17 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/ubik/recovery.c,v 1.14.4.9 2008/10/18 15:24:45 jaltman Exp $");
  
  #include <sys/types.h>
  #ifdef AFS_NT40_ENV
***************
*** 605,610 ****
--- 605,611 ----
  	    }
  #endif
  
+ 	    pass = 0;
  	    while (length > 0) {
  		tlen = (length > sizeof(tbuffer) ? sizeof(tbuffer) : length);
  #ifndef AFS_PTHREAD_ENV
Index: openafs/src/ubik/remote.c
diff -c openafs/src/ubik/remote.c:1.15.4.7 openafs/src/ubik/remote.c:1.15.4.9
*** openafs/src/ubik/remote.c:1.15.4.7	Sat Jul 19 02:15:02 2008
--- openafs/src/ubik/remote.c	Mon Oct 27 19:53:46 2008
***************
*** 11,17 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/ubik/remote.c,v 1.15.4.7 2008/07/19 06:15:02 rra Exp $");
  
  #include <sys/types.h>
  #ifdef AFS_NT40_ENV
--- 11,17 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/ubik/remote.c,v 1.15.4.9 2008/10/27 23:53:46 shadow Exp $");
  
  #include <sys/types.h>
  #ifdef AFS_NT40_ENV
***************
*** 489,506 ****
       struct ubik_version *avers;
  {
      register afs_int32 code;
!     register struct ubik_dbase *dbase;
      char tbuffer[1024];
      afs_int32 offset;
      struct ubik_version tversion;
      register int tlen;
      struct rx_peer *tpeer;
      struct rx_connection *tconn;
!     afs_uint32 otherHost;
  #ifndef OLD_URECOVERY
      char pbuffer[1028];
      int flen, fd = -1;
!     afs_int32 epoch, pass;
  #endif
  
      /* send the file back to the requester */
--- 489,507 ----
       struct ubik_version *avers;
  {
      register afs_int32 code;
!     struct ubik_dbase *dbase = NULL;
      char tbuffer[1024];
      afs_int32 offset;
      struct ubik_version tversion;
      register int tlen;
      struct rx_peer *tpeer;
      struct rx_connection *tconn;
!     afs_uint32 otherHost = 0;
  #ifndef OLD_URECOVERY
      char pbuffer[1028];
      int flen, fd = -1;
!     afs_int32 epoch = 0;
!     afs_int32 pass;
  #endif
  
      /* send the file back to the requester */
***************
*** 560,566 ****
  	close(fd);
  	goto failed;
      }
- #else
      pass = 0;
  #endif
      memcpy(&ubik_dbase->version, &tversion, sizeof(struct ubik_version));
--- 561,566 ----
***************
*** 639,646 ****
  #ifndef OLD_URECOVERY
  	unlink(pbuffer);
  	/* Failed to sync. Allow reads again for now. */
! 	tversion.epoch = epoch;
! 	(*dbase->setlabel) (dbase, file, &tversion);
  #endif
  	ubik_print
  	    ("Ubik: Synchronize database with server %s failed (error = %d)\n",
--- 639,648 ----
  #ifndef OLD_URECOVERY
  	unlink(pbuffer);
  	/* Failed to sync. Allow reads again for now. */
! 	if (dbase != NULL) {
! 	    tversion.epoch = epoch;
! 	    (*dbase->setlabel) (dbase, file, &tversion);
! 	}
  #endif
  	ubik_print
  	    ("Ubik: Synchronize database with server %s failed (error = %d)\n",
Index: openafs/src/uss/uss.c
diff -c openafs/src/uss/uss.c:1.8.14.3 openafs/src/uss/uss.c:1.8.14.4
*** openafs/src/uss/uss.c:1.8.14.3	Mon Nov 26 16:08:45 2007
--- openafs/src/uss/uss.c	Mon Oct 27 19:41:46 2008
***************
*** 19,25 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/uss/uss.c,v 1.8.14.3 2007/11/26 21:08:45 shadow Exp $");
  
  #ifdef	AFS_AIX32_ENV
  #include <signal.h>
--- 19,25 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/uss/uss.c,v 1.8.14.4 2008/10/27 23:41:46 shadow Exp $");
  
  #ifdef	AFS_AIX32_ENV
  #include <signal.h>
***************
*** 1319,1325 ****
      int code;
  
      int line_no = 0;
!     int error;
      char tbuf[USS_BULK_BUF_CHARS];
  
      /*
--- 1319,1325 ----
      int code;
  
      int line_no = 0;
!     int error = 0;
      char tbuf[USS_BULK_BUF_CHARS];
  
      /*
Index: openafs/src/uss/uss_procs.c
diff -c openafs/src/uss/uss_procs.c:1.9.14.1 openafs/src/uss/uss_procs.c:1.9.14.2
*** openafs/src/uss/uss_procs.c:1.9.14.1	Tue Oct 30 11:16:48 2007
--- openafs/src/uss/uss_procs.c	Mon Oct 27 19:41:46 2008
***************
*** 19,25 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/uss/uss_procs.c,v 1.9.14.1 2007/10/30 15:16:48 shadow Exp $");
  
  #include "uss_procs.h"		/*Module interface */
  #include "uss_common.h"		/*Common defs & operations */
--- 19,25 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/uss/uss_procs.c,v 1.9.14.2 2008/10/27 23:41:46 shadow Exp $");
  
  #include "uss_procs.h"		/*Module interface */
  #include "uss_common.h"		/*Common defs & operations */
***************
*** 694,700 ****
  
      char cd[300];		/*Current  directory for search */
  
!     int i, count, MinIndex, mina = 10000;
      struct dirent *dp;
      DIR *dirp;
      char dirname[300];
--- 694,700 ----
  
      char cd[300];		/*Current  directory for search */
  
!     int i, count, MinIndex = 0, mina = 10000;
      struct dirent *dp;
      DIR *dirp;
      char dirname[300];
Index: openafs/src/uss/uss_vol.c
diff -c openafs/src/uss/uss_vol.c:1.10.14.3 openafs/src/uss/uss_vol.c:1.10.14.4
*** openafs/src/uss/uss_vol.c:1.10.14.3	Tue Oct 30 11:16:48 2007
--- openafs/src/uss/uss_vol.c	Mon Oct 27 19:41:46 2008
***************
*** 19,25 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/uss/uss_vol.c,v 1.10.14.3 2007/10/30 15:16:48 shadow Exp $");
  
  #include "uss_vol.h"		/*Interface to this module */
  #include "uss_common.h"		/*Common definitions */
--- 19,25 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/uss/uss_vol.c,v 1.10.14.4 2008/10/27 23:41:46 shadow Exp $");
  
  #include "uss_vol.h"		/*Interface to this module */
  #include "uss_common.h"		/*Common definitions */
***************
*** 935,941 ****
  {				/*uss_vol_DeleteVol */
  
      static char rn[] = "uss_vol_DeleteVol";	/*Routine name */
!     register afs_int32 code;	/*Return code */
  
      /*
       * Make sure we've initialized our VLDB connection(s) before
--- 935,941 ----
  {				/*uss_vol_DeleteVol */
  
      static char rn[] = "uss_vol_DeleteVol";	/*Routine name */
!     register afs_int32 code = 0;	/*Return code */
  
      /*
       * Make sure we've initialized our VLDB connection(s) before
Index: openafs/src/venus/cmdebug.c
diff -c openafs/src/venus/cmdebug.c:1.19.4.7 openafs/src/venus/cmdebug.c:1.19.4.8
*** openafs/src/venus/cmdebug.c:1.19.4.7	Sat Jan 12 10:44:40 2008
--- openafs/src/venus/cmdebug.c	Fri Oct 10 07:54:29 2008
***************
*** 11,17 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/venus/cmdebug.c,v 1.19.4.7 2008/01/12 15:44:40 jaltman Exp $");
  
  
  #include <sys/types.h>
--- 11,17 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/venus/cmdebug.c,v 1.19.4.8 2008/10/10 11:54:29 jaltman Exp $");
  
  
  #include <sys/types.h>
***************
*** 266,272 ****
      struct AFSDBCacheEntry centry;
      char *cellname;
  
!     for (i = 0; i < 10000; i++) {
  	code = RXAFSCB_GetCE(aconn, i, &centry);
  	if (code) {
  	    if (code == 1)
--- 266,272 ----
      struct AFSDBCacheEntry centry;
      char *cellname;
  
!     for (i = 0; i < 1000000; i++) {
  	code = RXAFSCB_GetCE(aconn, i, &centry);
  	if (code) {
  	    if (code == 1)
***************
*** 363,369 ****
      char *cellname;
      int ce64 = 0;
  
!     for (i = 0; i < 10000; i++) {
  	code = RXAFSCB_GetCE64(aconn, i, &centry);
  	if (code) {
  	    if (code == 1)
--- 363,369 ----
      char *cellname;
      int ce64 = 0;
  
!     for (i = 0; i < 1000000; i++) {
  	code = RXAFSCB_GetCE64(aconn, i, &centry);
  	if (code) {
  	    if (code == 1)
Index: openafs/src/venus/fstrace.c
diff -c openafs/src/venus/fstrace.c:1.23.2.3 openafs/src/venus/fstrace.c:1.23.2.4
*** openafs/src/venus/fstrace.c:1.23.2.3	Mon Nov 26 16:08:45 2007
--- openafs/src/venus/fstrace.c	Mon Oct 27 19:41:46 2008
***************
*** 14,20 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/venus/fstrace.c,v 1.23.2.3 2007/11/26 21:08:45 shadow Exp $");
  
  #include <stdio.h>
  #include <sys/types.h>
--- 14,20 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/venus/fstrace.c,v 1.23.2.4 2008/10/27 23:41:46 shadow Exp $");
  
  #include <stdio.h>
  #include <sys/types.h>
***************
*** 1662,1668 ****
  	for (i = 0; i < ICL_LOGSPERSET; i++) {
  	    code =
  		afs_syscall(AFSCALL_ICL, ICL_OP_ENUMLOGSBYSET, (long)setname,
! 			    i, (long)tname, sizeof(tname));
  	    if (code) {
  		if (errno == EBADF) {
  		    code = 0;
--- 1662,1668 ----
  	for (i = 0; i < ICL_LOGSPERSET; i++) {
  	    code =
  		afs_syscall(AFSCALL_ICL, ICL_OP_ENUMLOGSBYSET, (long)setname,
! 			    i, (long)tname, sizeof(tname), 0, 0);
  	    if (code) {
  		if (errno == EBADF) {
  		    code = 0;
***************
*** 1672,1678 ****
  	    }
  	    code =
  		afs_syscall(AFSCALL_ICL, ICL_OP_GETLOGINFO, (long)tname,
! 			    (long)&dummy, (long)&dummy2, 0);
  	    if (code)
  		break;
  	    found++;
--- 1672,1678 ----
  	    }
  	    code =
  		afs_syscall(AFSCALL_ICL, ICL_OP_GETLOGINFO, (long)tname,
! 			    (long)&dummy, (long)&dummy2, 0, 0, 0);
  	    if (code)
  		break;
  	    found++;
***************
*** 1691,1697 ****
  	for (i = 0; i < 1000; i++) {
  	    code =
  		afs_syscall(AFSCALL_ICL, ICL_OP_ENUMLOGS, i, (long)tname,
! 			    sizeof(tname), (long)&dummy);
  	    if (code)
  		break;
  	    if (dummy > bufferSize)	/* find biggest log */
--- 1691,1697 ----
  	for (i = 0; i < 1000; i++) {
  	    code =
  		afs_syscall(AFSCALL_ICL, ICL_OP_ENUMLOGS, i, (long)tname,
! 			    sizeof(tname), (long)&dummy, 0, 0);
  	    if (code)
  		break;
  	    if (dummy > bufferSize)	/* find biggest log */
***************
*** 1727,1733 ****
  	    code =
  		afs_syscall(AFSCALL_ICL, ICL_OP_COPYOUT, (long)lip->name,
  			    (long)(bufferp + nwords), bufferSize - nwords,
! 			    (long)&i);
  	    if (code < 0) {
  		/* otherwise we've got an error */
  		fprintf(outFilep, "Returned error %d dumping log.\n", errno);
--- 1727,1733 ----
  	    code =
  		afs_syscall(AFSCALL_ICL, ICL_OP_COPYOUT, (long)lip->name,
  			    (long)(bufferp + nwords), bufferSize - nwords,
! 			    (long)&i, 0, 0);
  	    if (code < 0) {
  		/* otherwise we've got an error */
  		fprintf(outFilep, "Returned error %d dumping log.\n", errno);
***************
*** 1786,1792 ****
  {
      afs_int32 code;
  
!     code = afs_syscall(AFSCALL_ICL, ICL_OP_CLRLOG, (long)name, 0, 0, 0);
      return code;
  }
  
--- 1786,1792 ----
  {
      afs_int32 code;
  
!     code = afs_syscall(AFSCALL_ICL, ICL_OP_CLRLOG, (long)name, 0, 0, 0, 0, 0);
      return code;
  }
  
***************
*** 1796,1802 ****
  {
      afs_int32 code;
  
!     code = afs_syscall(AFSCALL_ICL, ICL_OP_CLRSET, (long)name, 0, 0, 0);
      return code;
  }
  
--- 1796,1802 ----
  {
      afs_int32 code;
  
!     code = afs_syscall(AFSCALL_ICL, ICL_OP_CLRSET, (long)name, 0, 0, 0, 0, 0);
      return code;
  }
  
***************
*** 1805,1811 ****
  {
      afs_int32 code;
  
!     code = afs_syscall(AFSCALL_ICL, ICL_OP_CLRALL, 0, 0, 0, 0);
      return code;
  }
  
--- 1805,1811 ----
  {
      afs_int32 code;
  
!     code = afs_syscall(AFSCALL_ICL, ICL_OP_CLRALL, 0, 0, 0, 0, 0, 0);
      return code;
  }
  
***************
*** 1822,1828 ****
      for (i = 0; i < 1000; i++) {
  	code =
  	    afs_syscall(AFSCALL_ICL, ICL_OP_ENUMSETS, i, (long)tname,
! 			sizeof(tname), (long)&states);
  	if (code)
  	    break;
  	(void)fprintf(outFileP, "%s %s%s%s\n", tname,
--- 1822,1828 ----
      for (i = 0; i < 1000; i++) {
  	code =
  	    afs_syscall(AFSCALL_ICL, ICL_OP_ENUMSETS, i, (long)tname,
! 			sizeof(tname), (long)&states, 0, 0);
  	if (code)
  	    break;
  	(void)fprintf(outFileP, "%s %s%s%s\n", tname,
***************
*** 1849,1862 ****
      for (i = 0; i < 1000; i++) {
  	code =
  	    afs_syscall(AFSCALL_ICL, ICL_OP_ENUMLOGS, i, (long)tname,
! 			sizeof(tname), (long)&logSize);
  	if (code)
  	    break;
  	if (int32flg) {
  	    /* get more information on the log */
  	    code =
  		afs_syscall(AFSCALL_ICL, ICL_OP_GETLOGINFO, (long)tname,
! 			    (long)&logSize, (long)&allocated, 0);
  	    if (code)
  		break;
  	    (void)fprintf(outFileP, "%s : %d kbytes (%s)\n", tname,
--- 1849,1862 ----
      for (i = 0; i < 1000; i++) {
  	code =
  	    afs_syscall(AFSCALL_ICL, ICL_OP_ENUMLOGS, i, (long)tname,
! 			sizeof(tname), (long)&logSize, 0, 0);
  	if (code)
  	    break;
  	if (int32flg) {
  	    /* get more information on the log */
  	    code =
  		afs_syscall(AFSCALL_ICL, ICL_OP_GETLOGINFO, (long)tname,
! 			    (long)&logSize, (long)&allocated, 0, 0, 0);
  	    if (code)
  		break;
  	    (void)fprintf(outFileP, "%s : %d kbytes (%s)\n", tname,
***************
*** 1885,1891 ****
      for (i = 0; i < ICL_LOGSPERSET; i++) {
  	code =
  	    afs_syscall(AFSCALL_ICL, ICL_OP_ENUMLOGSBYSET, (long)setname, i,
! 			(long)tname, sizeof(tname));
  	if (code) {
  	    if (errno == EBADF) {
  		code = 0;
--- 1885,1891 ----
      for (i = 0; i < ICL_LOGSPERSET; i++) {
  	code =
  	    afs_syscall(AFSCALL_ICL, ICL_OP_ENUMLOGSBYSET, (long)setname, i,
! 			(long)tname, sizeof(tname), 0, 0);
  	if (code) {
  	    if (errno == EBADF) {
  		code = 0;
***************
*** 1897,1903 ****
  	    /* get more information on the log */
  	    code =
  		afs_syscall(AFSCALL_ICL, ICL_OP_GETLOGINFO, (long)tname,
! 			    (long)&logSize, (long)&allocated, 0);
  	    if (code)
  		break;
  	    (void)fprintf(outFileP, "%s : %d kbytes (%s)\n", tname,
--- 1897,1903 ----
  	    /* get more information on the log */
  	    code =
  		afs_syscall(AFSCALL_ICL, ICL_OP_GETLOGINFO, (long)tname,
! 			    (long)&logSize, (long)&allocated, 0, 0, 0);
  	    if (code)
  		break;
  	    (void)fprintf(outFileP, "%s : %d kbytes (%s)\n", tname,
***************
*** 1918,1924 ****
  {
      afs_int32 code;
  
!     code = afs_syscall(AFSCALL_ICL, ICL_OP_SETSTAT, (long)name, op, 0, 0);
      return code;
  }
  
--- 1918,1924 ----
  {
      afs_int32 code;
  
!     code = afs_syscall(AFSCALL_ICL, ICL_OP_SETSTAT, (long)name, op, 0, 0, 0, 0);
      return code;
  }
  
***************
*** 1929,1935 ****
  {
      afs_int32 code;
  
!     code = afs_syscall(AFSCALL_ICL, ICL_OP_SETSTATALL, op, 0, 0, 0);
      return code;
  }
  
--- 1929,1935 ----
  {
      afs_int32 code;
  
!     code = afs_syscall(AFSCALL_ICL, ICL_OP_SETSTATALL, op, 0, 0, 0, 0, 0);
      return code;
  }
  
***************
*** 1943,1949 ****
  
      code =
  	afs_syscall(AFSCALL_ICL, ICL_OP_SETLOGSIZE, (long)name, logSize, 0,
! 		    0);
      return code;
  }
  
--- 1943,1949 ----
  
      code =
  	afs_syscall(AFSCALL_ICL, ICL_OP_SETLOGSIZE, (long)name, logSize, 0,
! 		    0, 0, 0);
      return code;
  }
  
***************
*** 1957,1963 ****
      afs_int32 code;
      code =
  	afs_syscall(AFSCALL_ICL, ICL_OP_GETLOGINFO, (long)logname,
! 		    (long)logSizeP, (long)allocatedP, 0);
      return code;
  }
  
--- 1957,1963 ----
      afs_int32 code;
      code =
  	afs_syscall(AFSCALL_ICL, ICL_OP_GETLOGINFO, (long)logname,
! 		    (long)logSizeP, (long)allocatedP, 0, 0, 0);
      return code;
  }
  
***************
*** 1970,1976 ****
      afs_int32 code;
      code =
  	afs_syscall(AFSCALL_ICL, ICL_OP_GETSETINFO, (long)setname,
! 		    (long)stateP, 0, 0);
      return code;
  }
  
--- 1970,1976 ----
      afs_int32 code;
      code =
  	afs_syscall(AFSCALL_ICL, ICL_OP_GETSETINFO, (long)setname,
! 		    (long)stateP, 0, 0, 0, 0);
      return code;
  }
  
***************
*** 1993,1999 ****
      /* get information about the specified log */
      code =
  	afs_syscall(AFSCALL_ICL, ICL_OP_GETLOGINFO, (long)logname,
! 		    (long)&bufferSize, (long)&allocated, 0);
      if (code) {
  	if (errno == ENOENT)
  	    (void)fprintf(stderr, "'%s' not found\n", logname);
--- 1993,1999 ----
      /* get information about the specified log */
      code =
  	afs_syscall(AFSCALL_ICL, ICL_OP_GETLOGINFO, (long)logname,
! 		    (long)&bufferSize, (long)&allocated, 0, 0, 0);
      if (code) {
  	if (errno == ENOENT)
  	    (void)fprintf(stderr, "'%s' not found\n", logname);
***************
*** 2030,2036 ****
  	    code =
  		afs_syscall(AFSCALL_ICL, ICL_OP_COPYOUTCLR, (long)logname,
  			    (long)(bufferp + nwords), bufferSize - nwords,
! 			    (long)&i);
  	    if (code < 0) {
  		/* otherwise we've got an error */
  		fprintf(stderr, "returned error %d dumping log.\n", errno);
--- 2030,2036 ----
  	    code =
  		afs_syscall(AFSCALL_ICL, ICL_OP_COPYOUTCLR, (long)logname,
  			    (long)(bufferp + nwords), bufferSize - nwords,
! 			    (long)&i, 0, 0);
  	    if (code < 0) {
  		/* otherwise we've got an error */
  		fprintf(stderr, "returned error %d dumping log.\n", errno);
***************
*** 2078,2084 ****
  	/* see if things have changed */
  	code =
  	    afs_syscall(AFSCALL_ICL, ICL_OP_GETLOGINFO, (long)logname,
! 			(long)&newBufferSize, (long)&allocated, 0);
  	if (code) {
  	    if (errno == ENOENT)
  		(void)fprintf(stderr, "'%s' not found\n", logname);
--- 2078,2084 ----
  	/* see if things have changed */
  	code =
  	    afs_syscall(AFSCALL_ICL, ICL_OP_GETLOGINFO, (long)logname,
! 			(long)&newBufferSize, (long)&allocated, 0, 0, 0);
  	if (code) {
  	    if (errno == ENOENT)
  		(void)fprintf(stderr, "'%s' not found\n", logname);
Index: openafs/src/venus/test/getinitparams.c
diff -c openafs/src/venus/test/getinitparams.c:1.5.14.1 openafs/src/venus/test/getinitparams.c:1.5.14.2
*** openafs/src/venus/test/getinitparams.c:1.5.14.1	Wed Oct 31 00:09:42 2007
--- openafs/src/venus/test/getinitparams.c	Mon Oct 27 19:41:47 2008
***************
*** 11,17 ****
  #include <afsconfig.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/venus/test/getinitparams.c,v 1.5.14.1 2007/10/31 04:09:42 shadow Exp $");
  
  #include <afs/param.h>
  #include <stdio.h>
--- 11,17 ----
  #include <afsconfig.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/venus/test/getinitparams.c,v 1.5.14.2 2008/10/27 23:41:47 shadow Exp $");
  
  #include <afs/param.h>
  #include <stdio.h>
***************
*** 41,47 ****
      int code;
      int len;
      char *file = 0;
!     int fd;
  
      if (as->parms[0].items) {
  	file = as->parms[0].items->data;
--- 41,47 ----
      int code;
      int len;
      char *file = 0;
!     int fd = 0;
  
      if (as->parms[0].items) {
  	file = as->parms[0].items->data;
Index: openafs/src/viced/afsfileprocs.c
diff -c openafs/src/viced/afsfileprocs.c:1.113.2.28 openafs/src/viced/afsfileprocs.c:1.113.2.29
*** openafs/src/viced/afsfileprocs.c:1.113.2.28	Fri Sep  5 12:57:55 2008
--- openafs/src/viced/afsfileprocs.c	Mon Oct 27 19:41:47 2008
***************
*** 29,35 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/viced/afsfileprocs.c,v 1.113.2.28 2008/09/05 16:57:55 shadow Exp $");
  
  #include <stdio.h>
  #include <stdlib.h>
--- 29,35 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/viced/afsfileprocs.c,v 1.113.2.29 2008/10/27 23:41:47 shadow Exp $");
  
  #include <stdio.h>
  #include <stdlib.h>
***************
*** 7151,7161 ****
      afs_sfsize_t tlen;		/* temp for xfr length */
      Inode tinode;		/* inode for I/O */
      afs_int32 optSize;		/* optimal transfer size */
!     afs_sfsize_t DataLength;	/* size of inode */
      afs_sfsize_t TruncatedLength;	/* size after ftruncate */
      afs_fsize_t NewLength;	/* size after this store completes */
      afs_sfsize_t adjustSize;	/* bytes to call VAdjust... with */
!     int linkCount;		/* link count on inode */
      FdHandle_t *fdP;
      struct in_addr logHostAddr;	/* host ip holder for inet_ntoa */
  
--- 7151,7161 ----
      afs_sfsize_t tlen;		/* temp for xfr length */
      Inode tinode;		/* inode for I/O */
      afs_int32 optSize;		/* optimal transfer size */
!     afs_sfsize_t DataLength = 0;	/* size of inode */
      afs_sfsize_t TruncatedLength;	/* size after ftruncate */
      afs_fsize_t NewLength;	/* size after this store completes */
      afs_sfsize_t adjustSize;	/* bytes to call VAdjust... with */
!     int linkCount = 0;		/* link count on inode */
      FdHandle_t *fdP;
      struct in_addr logHostAddr;	/* host ip holder for inet_ntoa */
  
Index: openafs/src/viced/callback.c
diff -c openafs/src/viced/callback.c:1.77.2.15 openafs/src/viced/callback.c:1.77.2.16
*** openafs/src/viced/callback.c:1.77.2.15	Mon Feb 18 14:20:53 2008
--- openafs/src/viced/callback.c	Mon Oct 27 19:41:47 2008
***************
*** 85,91 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/viced/callback.c,v 1.77.2.15 2008/02/18 19:20:53 shadow Exp $");
  
  #include <stdio.h>
  #include <stdlib.h>		/* for malloc() */
--- 85,91 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/viced/callback.c,v 1.77.2.16 2008/10/27 23:41:47 shadow Exp $");
  
  #include <stdio.h>
  #include <stdlib.h>		/* for malloc() */
***************
*** 532,538 ****
      struct FileEntry *fe;
      struct CallBack *cb = 0, *lastcb = 0;
      struct FileEntry *newfe = 0;
!     afs_uint32 time_out;
      afs_uint32 *Thead = thead;
      struct CallBack *newcb = 0;
      int safety;
--- 532,538 ----
      struct FileEntry *fe;
      struct CallBack *cb = 0, *lastcb = 0;
      struct FileEntry *newfe = 0;
!     afs_uint32 time_out = 0;
      afs_uint32 *Thead = thead;
      struct CallBack *newcb = 0;
      int safety;
Index: openafs/src/viced/host.c
diff -c openafs/src/viced/host.c:1.93.2.34 openafs/src/viced/host.c:1.93.2.35
*** openafs/src/viced/host.c:1.93.2.34	Thu May  8 17:18:56 2008
--- openafs/src/viced/host.c	Mon Oct 27 19:53:47 2008
***************
*** 13,19 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/viced/host.c,v 1.93.2.34 2008/05/08 21:18:56 shadow Exp $");
  
  #include <stdio.h>
  #include <errno.h>
--- 13,19 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/viced/host.c,v 1.93.2.35 2008/10/27 23:53:47 shadow Exp $");
  
  #include <stdio.h>
  #include <errno.h>
***************
*** 1122,1128 ****
  h_Enumerate_r(int (*proc) (), struct host *enumstart, char *param)
  {
      register struct host *host, *next;
!     register int held, nheld;
  
      if (hostCount == 0) {
  	return;
--- 1122,1129 ----
  h_Enumerate_r(int (*proc) (), struct host *enumstart, char *param)
  {
      register struct host *host, *next;
!     int held = 0;
!     int nheld = 0;
  
      if (hostCount == 0) {
  	return;
***************
*** 2118,2126 ****
  h_FindClient_r(struct rx_connection *tcon)
  {
      register struct client *client;
!     register struct host *host;
      struct client *oldClient;
!     afs_int32 viceid;
      afs_int32 expTime;
      afs_int32 code;
      int authClass;
--- 2119,2127 ----
  h_FindClient_r(struct rx_connection *tcon)
  {
      register struct client *client;
!     struct host *host = NULL;
      struct client *oldClient;
!     afs_int32 viceid = 0;
      afs_int32 expTime;
      afs_int32 code;
      int authClass;
***************
*** 3754,3760 ****
  int
  h_DeleteHostFromAddrHashTable_r(afs_uint32 addr, afs_uint16 port, struct host *host)
  {
!     int flag;
      register struct h_AddrHashChain **hp, *th;
  
      for (hp = &hostAddrHashTable[h_HashIndex(addr)]; (th = *hp);) {
--- 3755,3761 ----
  int
  h_DeleteHostFromAddrHashTable_r(afs_uint32 addr, afs_uint16 port, struct host *host)
  {
!     int flag = 0;
      register struct h_AddrHashChain **hp, *th;
  
      for (hp = &hostAddrHashTable[h_HashIndex(addr)]; (th = *hp);) {
Index: openafs/src/vlserver/vldb_check.c
diff -c openafs/src/vlserver/vldb_check.c:1.11.14.5 openafs/src/vlserver/vldb_check.c:1.11.14.6
*** openafs/src/vlserver/vldb_check.c:1.11.14.5	Tue Oct  7 11:38:29 2008
--- openafs/src/vlserver/vldb_check.c	Mon Oct 27 19:53:47 2008
***************
*** 43,49 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/vlserver/vldb_check.c,v 1.11.14.5 2008/10/07 15:38:29 shadow Exp $");
  
  #include <sys/types.h>
  #include <sys/stat.h>
--- 43,49 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/vlserver/vldb_check.c,v 1.11.14.6 2008/10/27 23:53:47 shadow Exp $");
  
  #include <sys/types.h>
  #include <sys/stat.h>
***************
*** 501,507 ****
      int freecount = 0, mhcount = 0, vlcount = 0;
      int rwcount = 0, rocount = 0, bkcount = 0;
      struct nvlentry vlentry;
!     afs_uint32 addr, entrysize, maxvolid = 0;
  
      if (verbose)
  	printf("Read each entry in the database\n");
--- 501,509 ----
      int freecount = 0, mhcount = 0, vlcount = 0;
      int rwcount = 0, rocount = 0, bkcount = 0;
      struct nvlentry vlentry;
!     afs_uint32 addr;
!     afs_uint32 entrysize = 0;
!     afs_uint32 maxvolid = 0;
  
      if (verbose)
  	printf("Read each entry in the database\n");
***************
*** 570,576 ****
  	    entrysize = VL_ADDREXTBLK_SIZE;
  	    mhcount++;
  	} else {
! 	    printf("Unknown entry at %u\n", addr);
  	}
      }
      if (verbose) {
--- 572,579 ----
  	    entrysize = VL_ADDREXTBLK_SIZE;
  	    mhcount++;
  	} else {
! 	    printf("Unknown entry at %u. Aborting\n", addr);
! 	    break;
  	}
      }
      if (verbose) {
***************
*** 1111,1121 ****
      if (verbose)
  	printf("Verify each volume entry\n");
      for (i = 0; i < maxentries; i++) {
! 	int nextp;
! 	int reft;
! 	int hash, nexthash = 0;
! 	int *nextpp;
! 	char *which;
  
  	if (record[i].type == 0)
  	    continue;
--- 1114,1125 ----
      if (verbose)
  	printf("Verify each volume entry\n");
      for (i = 0; i < maxentries; i++) {
! 	int nextp = 0;
! 	int reft = 0;
! 	int hash = 0;
!         int nexthash = 0;
! 	int *nextpp = NULL;
! 	char *which = NULL;
  
  	if (record[i].type == 0)
  	    continue;
Index: openafs/src/vlserver/vlprocs.c
diff -c openafs/src/vlserver/vlprocs.c:1.15.4.3 openafs/src/vlserver/vlprocs.c:1.15.4.4
*** openafs/src/vlserver/vlprocs.c:1.15.4.3	Wed Apr  2 15:51:57 2008
--- openafs/src/vlserver/vlprocs.c	Mon Oct 27 19:41:47 2008
***************
*** 11,17 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/vlserver/vlprocs.c,v 1.15.4.3 2008/04/02 19:51:57 shadow Exp $");
  
  #include <sys/types.h>
  #include <stdio.h>
--- 11,17 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/vlserver/vlprocs.c,v 1.15.4.4 2008/10/27 23:41:47 shadow Exp $");
  
  #include <sys/types.h>
  #include <stdio.h>
***************
*** 1131,1137 ****
  	    return VL_SIZEEXCEEDED;
  	}
      } else {
! 	afs_int32 nextblockindex = 0, count = 0, k, match = 0;
  	while (nextblockindex =
  	       NextEntry(trans, nextblockindex, &tentry, &count)) {
  	    if (++pollcount > 50) {
--- 1131,1137 ----
  	    return VL_SIZEEXCEEDED;
  	}
      } else {
! 	afs_int32 nextblockindex = 0, count = 0, k = 0, match = 0;
  	while (nextblockindex =
  	       NextEntry(trans, nextblockindex, &tentry, &count)) {
  	    if (++pollcount > 50) {
***************
*** 1271,1277 ****
  	    return VL_SIZEEXCEEDED;
  	}
      } else {
! 	afs_int32 nextblockindex = 0, count = 0, k, match = 0;
  	while (nextblockindex =
  	       NextEntry(trans, nextblockindex, &tentry, &count)) {
  	    if (++pollcount > 50) {
--- 1271,1277 ----
  	    return VL_SIZEEXCEEDED;
  	}
      } else {
! 	afs_int32 nextblockindex = 0, count = 0, k = 0, match = 0;
  	while (nextblockindex =
  	       NextEntry(trans, nextblockindex, &tentry, &count)) {
  	    if (++pollcount > 50) {
***************
*** 1371,1382 ****
      struct ubik_trans *trans;
      struct nvlentry tentry;
      struct nvldbentry *Vldbentry = 0, *VldbentryFirst = 0, *VldbentryLast = 0;
!     afs_int32 blockindex = 0, count = 0, k, match, matchindex;
      int serverindex = -1;	/* no server found */
      int findserver = 0, findpartition = 0, findflag = 0, findname = 0;
      char *t;
      int pollcount = 0;
!     int namematchRWBK, namematchRO, thismatch, matchtype;
      char volumename[VL_MAXNAMELEN];
  #ifdef HAVE_POSIX_REGEX
      regex_t re;
--- 1371,1384 ----
      struct ubik_trans *trans;
      struct nvlentry tentry;
      struct nvldbentry *Vldbentry = 0, *VldbentryFirst = 0, *VldbentryLast = 0;
!     afs_int32 blockindex = 0, count = 0, k, match;
!     afs_int32 matchindex = 0;
      int serverindex = -1;	/* no server found */
      int findserver = 0, findpartition = 0, findflag = 0, findname = 0;
      char *t;
      int pollcount = 0;
!     int namematchRWBK, namematchRO, thismatch;
!     int matchtype = 0;
      char volumename[VL_MAXNAMELEN];
  #ifdef HAVE_POSIX_REGEX
      regex_t re;
***************
*** 1640,1646 ****
      struct ubik_trans *trans;
      struct nvlentry tentry;
      vldblist vllist, *vllistptr;
!     afs_int32 blockindex, count, k, match;
      int serverindex;
      int pollcount = 0;
  
--- 1642,1649 ----
      struct ubik_trans *trans;
      struct nvlentry tentry;
      vldblist vllist, *vllistptr;
!     afs_int32 blockindex, count, match;
!     afs_int32 k = 0;
      int serverindex;
      int pollcount = 0;
  
***************
*** 1768,1774 ****
      struct ubik_trans *trans;
      struct nvlentry tentry;
      nvldblist vllist, *vllistptr;
!     afs_int32 blockindex, count, k, match;
      int serverindex;
      int pollcount = 0;
  
--- 1771,1778 ----
      struct ubik_trans *trans;
      struct nvlentry tentry;
      nvldblist vllist, *vllistptr;
!     afs_int32 blockindex, count, match;
!     afs_int32 k = 0;
      int serverindex;
      int pollcount = 0;
  
***************
*** 1974,1981 ****
      afs_uint32 addrs[VL_MAXIPADDRS_PERMH];
      afs_int32 fbase;
      int count, willChangeEntry, foundUuidEntry, willReplaceCnt;
!     int WillReplaceEntry, WillChange[MAXSERVERID + 1], FoundUuid,
! 	ReplaceEntry;
      int srvidx, mhidx;
  
      COUNT_REQ(VLREGADDR);
--- 1978,1986 ----
      afs_uint32 addrs[VL_MAXIPADDRS_PERMH];
      afs_int32 fbase;
      int count, willChangeEntry, foundUuidEntry, willReplaceCnt;
!     int WillReplaceEntry, WillChange[MAXSERVERID + 1];
!     int FoundUuid = 0;
!     int ReplaceEntry = 0;
      int srvidx, mhidx;
  
      COUNT_REQ(VLREGADDR);
***************
*** 3136,3143 ****
  {
      int i, j;
      afs_int32 code;
!     struct extentaddr *exp;
!     int base, index, mhidx;
      afsUUID tuuid;
      afs_int32 blockindex, count;
      int pollcount = 0;
--- 3141,3149 ----
  {
      int i, j;
      afs_int32 code;
!     struct extentaddr *exp = NULL;
!     int base = 0;
!     int index, mhidx;
      afsUUID tuuid;
      afs_int32 blockindex, count;
      int pollcount = 0;
Index: openafs/src/vlserver/vlserver.c
diff -c openafs/src/vlserver/vlserver.c:1.22.2.11 openafs/src/vlserver/vlserver.c:1.22.2.12
*** openafs/src/vlserver/vlserver.c:1.22.2.11	Wed Sep 24 17:36:52 2008
--- openafs/src/vlserver/vlserver.c	Sat Oct 18 11:09:07 2008
***************
*** 11,17 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/vlserver/vlserver.c,v 1.22.2.11 2008/09/24 21:36:52 shadow Exp $");
  
  #include <afs/stds.h>
  #include <sys/types.h>
--- 11,17 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/vlserver/vlserver.c,v 1.22.2.12 2008/10/18 15:09:07 jaltman Exp $");
  
  #include <afs/stds.h>
  #include <sys/types.h>
***************
*** 198,204 ****
  		fprintf(stderr, "missing argument for -rxmaxmtu\n"); 
  		return -1; 
  	    }
! 	    rxMaxMTU = atoi(argv[++i]);
  	    if ((rxMaxMTU < RX_MIN_PACKET_SIZE) || 
  		(rxMaxMTU > RX_MAX_PACKET_DATA_SIZE)) {
  		printf("rxMaxMTU %d invalid; must be between %d-%d\n",
--- 198,204 ----
  		fprintf(stderr, "missing argument for -rxmaxmtu\n"); 
  		return -1; 
  	    }
! 	    rxMaxMTU = atoi(argv[++index]);
  	    if ((rxMaxMTU < RX_MIN_PACKET_SIZE) || 
  		(rxMaxMTU > RX_MAX_PACKET_DATA_SIZE)) {
  		printf("rxMaxMTU %d invalid; must be between %d-%d\n",
Index: openafs/src/vol/clone.c
diff -c openafs/src/vol/clone.c:1.19.2.8 openafs/src/vol/clone.c:1.19.2.9
*** openafs/src/vol/clone.c:1.19.2.8	Wed Mar  5 16:53:30 2008
--- openafs/src/vol/clone.c	Mon Oct 27 19:41:47 2008
***************
*** 19,25 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/vol/clone.c,v 1.19.2.8 2008/03/05 21:53:30 shadow Exp $");
  
  #include <sys/types.h>
  #include <stdio.h>
--- 19,25 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/vol/clone.c,v 1.19.2.9 2008/10/27 23:41:47 shadow Exp $");
  
  #include <sys/types.h>
  #include <stdio.h>
***************
*** 168,177 ****
      char buf[SIZEOF_LARGEDISKVNODE], dbuf[SIZEOF_LARGEDISKVNODE];
      struct VnodeDiskObject *rwvnode = (struct VnodeDiskObject *)buf;
      struct VnodeDiskObject *clvnode = (struct VnodeDiskObject *)dbuf;
!     Inode rwinode, clinode;
      struct clone_head decHead;
      struct clone_rock decRock;
!     afs_int32 offset, dircloned, inodeinced;
  
      struct VnodeClassInfo *vcp = &VnodeClassInfo[class];
      int ReadWriteOriginal = VolumeWriteable(rwvp);
--- 168,179 ----
      char buf[SIZEOF_LARGEDISKVNODE], dbuf[SIZEOF_LARGEDISKVNODE];
      struct VnodeDiskObject *rwvnode = (struct VnodeDiskObject *)buf;
      struct VnodeDiskObject *clvnode = (struct VnodeDiskObject *)dbuf;
!     Inode rwinode = 0;
!     Inode clinode;
      struct clone_head decHead;
      struct clone_rock decRock;
!     afs_int32 offset = 0;
!     afs_int32 dircloned, inodeinced;
  
      struct VnodeClassInfo *vcp = &VnodeClassInfo[class];
      int ReadWriteOriginal = VolumeWriteable(rwvp);
Index: openafs/src/vol/ihandle.c
diff -c openafs/src/vol/ihandle.c:1.19.8.4 openafs/src/vol/ihandle.c:1.19.8.5
*** openafs/src/vol/ihandle.c:1.19.8.4	Mon Nov 26 16:47:29 2007
--- openafs/src/vol/ihandle.c	Mon Oct 27 19:53:47 2008
***************
*** 15,21 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/vol/ihandle.c,v 1.19.8.4 2007/11/26 21:47:29 shadow Exp $");
  
  #include <stdio.h>
  #include <sys/types.h>
--- 15,21 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/vol/ihandle.c,v 1.19.8.5 2008/10/27 23:53:47 shadow Exp $");
  
  #include <stdio.h>
  #include <sys/types.h>
***************
*** 507,513 ****
  StreamHandle_t *
  stream_open(const char *filename, const char *mode)
  {
!     FD_t fd;
  
      if (strcmp(mode, "r") == 0) {
  	fd = OS_OPEN(filename, O_RDONLY, 0);
--- 507,513 ----
  StreamHandle_t *
  stream_open(const char *filename, const char *mode)
  {
!     FD_t fd = INVALID_FD;
  
      if (strcmp(mode, "r") == 0) {
  	fd = OS_OPEN(filename, O_RDONLY, 0);
Index: openafs/src/vol/namei_ops.c
diff -c openafs/src/vol/namei_ops.c:1.28.2.16 openafs/src/vol/namei_ops.c:1.28.2.17
*** openafs/src/vol/namei_ops.c:1.28.2.16	Wed Mar  5 16:53:30 2008
--- openafs/src/vol/namei_ops.c	Fri Oct 10 10:42:40 2008
***************
*** 13,19 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/vol/namei_ops.c,v 1.28.2.16 2008/03/05 21:53:30 shadow Exp $");
  
  #ifdef AFS_NAMEI_ENV
  #include <stdio.h>
--- 13,19 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/vol/namei_ops.c,v 1.28.2.17 2008/10/10 14:42:40 shadow Exp $");
  
  #ifdef AFS_NAMEI_ENV
  #include <stdio.h>
***************
*** 993,1000 ****
  	if ((row & coldata) == 0)
  	    break;
      }
!     if (col >= NAMEI_MAXVOLS)
  	goto badGetFreeTag;
  
      coldata = 1 << (col * 3);
      row |= coldata;
--- 993,1002 ----
  	if ((row & coldata) == 0)
  	    break;
      }
!     if (col >= NAMEI_MAXVOLS) {
! 	errno = ENOSPC;
  	goto badGetFreeTag;
+     }
  
      coldata = 1 << (col * 3);
      row |= coldata;
Index: openafs/src/vol/vnode.c
diff -c openafs/src/vol/vnode.c:1.27.2.4 openafs/src/vol/vnode.c:1.27.2.5
*** openafs/src/vol/vnode.c:1.27.2.4	Mon Feb  4 13:51:39 2008
--- openafs/src/vol/vnode.c	Mon Oct 27 19:41:47 2008
***************
*** 20,26 ****
  #define MAXINT     (~(1<<((sizeof(int)*8)-1)))
  
  RCSID
!     ("$Header: /cvs/openafs/src/vol/vnode.c,v 1.27.2.4 2008/02/04 18:51:39 shadow Exp $");
  
  #include <errno.h>
  #include <stdio.h>
--- 20,26 ----
  #define MAXINT     (~(1<<((sizeof(int)*8)-1)))
  
  RCSID
!     ("$Header: /cvs/openafs/src/vol/vnode.c,v 1.27.2.5 2008/10/27 23:41:47 shadow Exp $");
  
  #include <errno.h>
  #include <stdio.h>
***************
*** 109,117 ****
  static afs_int32 theLog[THELOGSIZE];
  static afs_int32 vnLogPtr = 0;
  void
! VNLog(aop, anparms, av1, av2, av3, av4)
!      afs_int32 aop, anparms;
!      afs_int32 av1, av2, av3, av4;
  {
      register afs_int32 temp;
      afs_int32 data[4];
--- 109,116 ----
  static afs_int32 theLog[THELOGSIZE];
  static afs_int32 vnLogPtr = 0;
  void
! VNLog(afs_int32 aop, afs_int32 anparms, afs_int32 av1, afs_int32 av2, 
!       afs_int32 av3, afs_int32 av4)
  {
      register afs_int32 temp;
      afs_int32 data[4];
***************
*** 487,493 ****
      if (Vn_refcount(vnp) != 0 || CheckLock(&vnp->lock))
  	Abort("VGetFreeVnode_r: locked vnode in lruq");
  #endif
!     VNLog(1, 2, Vn_id(vnp), (afs_int32) vnp);
  
      /* 
       * it's going to be overwritten soon enough.
--- 486,492 ----
      if (Vn_refcount(vnp) != 0 || CheckLock(&vnp->lock))
  	Abort("VGetFreeVnode_r: locked vnode in lruq");
  #endif
!     VNLog(1, 2, Vn_id(vnp), (afs_int32) vnp, 0, 0);
  
      /* 
       * it's going to be overwritten soon enough.
***************
*** 654,666 ****
       */
  
   vnrehash:
!     VNLog(2, 1, vnodeNumber);
      /* Prepare to move it to the new hash chain */
      vnp = VLookupVnode(vp, vnodeNumber);
      if (vnp) {
  	/* slot already exists.  May even not be in lruq (consider store file locking a file being deleted)
  	 * so we may have to wait for it below */
! 	VNLog(3, 2, vnodeNumber, (afs_int32) vnp);
  
  	VnCreateReservation_r(vnp);
  	if (Vn_refcount(vnp) == 1) {
--- 653,665 ----
       */
  
   vnrehash:
!     VNLog(2, 1, vnodeNumber, 0, 0, 0);
      /* Prepare to move it to the new hash chain */
      vnp = VLookupVnode(vp, vnodeNumber);
      if (vnp) {
  	/* slot already exists.  May even not be in lruq (consider store file locking a file being deleted)
  	 * so we may have to wait for it below */
! 	VNLog(3, 2, vnodeNumber, (afs_int32) vnp, 0, 0);
  
  	VnCreateReservation_r(vnp);
  	if (Vn_refcount(vnp) == 1) {
***************
*** 817,829 ****
  
  	}
      sane:
! 	VNLog(4, 2, vnodeNumber, (afs_int32) vnp);
  #ifndef AFS_DEMAND_ATTACH_FS
  	AddToVnHash(vnp);
  #endif
      }
  
!     VNLog(5, 1, (afs_int32) vnp);
      memset(&vnp->disk, 0, sizeof(vnp->disk));
      vnp->changed_newTime = 0;	/* set this bit when vnode is updated */
      vnp->changed_oldTime = 0;	/* set this on CopyOnWrite. */
--- 816,828 ----
  
  	}
      sane:
! 	VNLog(4, 2, vnodeNumber, (afs_int32) vnp, 0, 0);
  #ifndef AFS_DEMAND_ATTACH_FS
  	AddToVnHash(vnp);
  #endif
      }
  
!     VNLog(5, 1, (afs_int32) vnp, 0, 0, 0);
      memset(&vnp->disk, 0, sizeof(vnp->disk));
      vnp->changed_newTime = 0;	/* set this bit when vnode is updated */
      vnp->changed_oldTime = 0;	/* set this on CopyOnWrite. */
***************
*** 1119,1125 ****
  	return NULL;
      }
  
!     VNLog(100, 1, vnodeNumber);
  
  #ifdef AFS_DEMAND_ATTACH_FS
      /*
--- 1118,1124 ----
  	return NULL;
      }
  
!     VNLog(100, 1, vnodeNumber, 0, 0, 0);
  
  #ifdef AFS_DEMAND_ATTACH_FS
      /*
***************
*** 1167,1173 ****
      if (vnp) {
  	/* vnode is in cache */
  
! 	VNLog(101, 2, vnodeNumber, (afs_int32) vnp);
  	VnCreateReservation_r(vnp);
  
  #ifdef AFS_DEMAND_ATTACH_FS
--- 1166,1172 ----
      if (vnp) {
  	/* vnode is in cache */
  
! 	VNLog(101, 2, vnodeNumber, (afs_int32) vnp, 0, 0);
  	VnCreateReservation_r(vnp);
  
  #ifdef AFS_DEMAND_ATTACH_FS
***************
*** 1254,1260 ****
  
      /* Check that the vnode hasn't been removed while we were obtaining
       * the lock */
!     VNLog(102, 2, vnodeNumber, (afs_int32) vnp);
      if ((vnp->disk.type == vNull) || (Vn_cacheCheck(vnp) == 0)) {
  	VnUnlock(vnp, locktype);
  	VnCancelReservation_r(vnp);
--- 1253,1259 ----
  
      /* Check that the vnode hasn't been removed while we were obtaining
       * the lock */
!     VNLog(102, 2, vnodeNumber, (afs_int32) vnp, 0, 0);
      if ((vnp->disk.type == vNull) || (Vn_cacheCheck(vnp) == 0)) {
  	VnUnlock(vnp, locktype);
  	VnCancelReservation_r(vnp);
***************
*** 1317,1323 ****
      class = vnodeIdToClass(Vn_id(vnp));
      vcp = &VnodeClassInfo[class];
      assert(vnp->disk.vnodeMagic == vcp->magic);
!     VNLog(200, 2, Vn_id(vnp), (afs_int32) vnp);
  
  #ifdef AFS_DEMAND_ATTACH_FS
      writeLocked = (Vn_state(vnp) == VN_STATE_EXCLUSIVE);
--- 1316,1322 ----
      class = vnodeIdToClass(Vn_id(vnp));
      vcp = &VnodeClassInfo[class];
      assert(vnp->disk.vnodeMagic == vcp->magic);
!     VNLog(200, 2, Vn_id(vnp), (afs_int32) vnp, 0, 0);
  
  #ifdef AFS_DEMAND_ATTACH_FS
      writeLocked = (Vn_state(vnp) == VN_STATE_EXCLUSIVE);
***************
*** 1336,1342 ****
  	VNLog(201, 2, (afs_int32) vnp,
  	      ((vnp->changed_newTime) << 1) | ((vnp->
  						changed_oldTime) << 1) | vnp->
! 	      delete);
  	if (thisProcess != vnp->writer)
  	    Abort("VPutVnode: Vnode at 0x%x locked by another process!\n",
  		  vnp);
--- 1335,1341 ----
  	VNLog(201, 2, (afs_int32) vnp,
  	      ((vnp->changed_newTime) << 1) | ((vnp->
  						changed_oldTime) << 1) | vnp->
! 	      delete, 0, 0);
  	if (thisProcess != vnp->writer)
  	    Abort("VPutVnode: Vnode at 0x%x locked by another process!\n",
  		  vnp);
***************
*** 1351,1357 ****
  		/* No longer any directory entries for this vnode. Free the Vnode */
  		memset(&vnp->disk, 0, sizeof(vnp->disk));
  		/* delete flag turned off further down */
! 		VNLog(202, 2, Vn_id(vnp), (afs_int32) vnp);
  	    } else if (vnp->changed_newTime) {
  		vnp->disk.serverModifyTime = now;
  	    }
--- 1350,1356 ----
  		/* No longer any directory entries for this vnode. Free the Vnode */
  		memset(&vnp->disk, 0, sizeof(vnp->disk));
  		/* delete flag turned off further down */
! 		VNLog(202, 2, Vn_id(vnp), (afs_int32) vnp, 0, 0);
  	    } else if (vnp->changed_newTime) {
  		vnp->disk.serverModifyTime = now;
  	    }
***************
*** 1458,1464 ****
      class = vnodeIdToClass(Vn_id(vnp));
      vcp = &VnodeClassInfo[class];
      assert(vnp->disk.vnodeMagic == vcp->magic);
!     VNLog(300, 2, Vn_id(vnp), (afs_int32) vnp);
  
  #ifdef AFS_DEMAND_ATTACH_FS
      writeLocked = (Vn_state(vnp) == VN_STATE_EXCLUSIVE);
--- 1457,1463 ----
      class = vnodeIdToClass(Vn_id(vnp));
      vcp = &VnodeClassInfo[class];
      assert(vnp->disk.vnodeMagic == vcp->magic);
!     VNLog(300, 2, Vn_id(vnp), (afs_int32) vnp, 0, 0);
  
  #ifdef AFS_DEMAND_ATTACH_FS
      writeLocked = (Vn_state(vnp) == VN_STATE_EXCLUSIVE);
***************
*** 1473,1479 ****
      VNLog(301, 2, (afs_int32) vnp,
  	  ((vnp->changed_newTime) << 1) | ((vnp->
  					    changed_oldTime) << 1) | vnp->
! 	  delete);
  
      /* sanity checks */
  #ifdef AFS_PTHREAD_ENV
--- 1472,1478 ----
      VNLog(301, 2, (afs_int32) vnp,
  	  ((vnp->changed_newTime) << 1) | ((vnp->
  					    changed_oldTime) << 1) | vnp->
! 	  delete, 0, 0);
  
      /* sanity checks */
  #ifdef AFS_PTHREAD_ENV
Index: openafs/src/vol/vol-info.c
diff -c openafs/src/vol/vol-info.c:1.22.4.2 openafs/src/vol/vol-info.c:1.22.4.3
*** openafs/src/vol/vol-info.c:1.22.4.2	Wed Mar  5 16:53:30 2008
--- openafs/src/vol/vol-info.c	Sat Nov  8 10:58:18 2008
***************
*** 18,24 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/vol/vol-info.c,v 1.22.4.2 2008/03/05 21:53:30 shadow Exp $");
  
  #include <ctype.h>
  #include <errno.h>
--- 18,24 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/vol/vol-info.c,v 1.22.4.3 2008/11/08 15:58:18 shadow Exp $");
  
  #include <ctype.h>
  #include <errno.h>
***************
*** 413,423 ****
      char *p = VPartitionPath(partP);
  #endif
  
!     if (chdir(p) == -1) {
! 	printf("Can't chdir to partition %s; giving up\n", p);
! 	exit(1);
!     }
!     if ((dirp = opendir(".")) == NULL) {
  	printf("Can't read directory %s; giving up\n", p);
  	exit(1);
      }
--- 413,419 ----
      char *p = VPartitionPath(partP);
  #endif
  
!     if ((dirp = opendir(p)) == NULL) {
  	printf("Can't read directory %s; giving up\n", p);
  	exit(1);
      }
Index: openafs/src/vol/vol-salvage.c
diff -c openafs/src/vol/vol-salvage.c:1.51.2.18 openafs/src/vol/vol-salvage.c:1.51.2.20
*** openafs/src/vol/vol-salvage.c:1.51.2.18	Mon Sep 22 15:29:56 2008
--- openafs/src/vol/vol-salvage.c	Sat Nov  8 10:58:18 2008
***************
*** 87,93 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/vol/vol-salvage.c,v 1.51.2.18 2008/09/22 19:29:56 shadow Exp $");
  
  #ifndef AFS_NT40_ENV
  #include <sys/param.h>
--- 87,93 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/vol/vol-salvage.c,v 1.51.2.20 2008/11/08 15:58:18 shadow Exp $");
  
  #ifndef AFS_NT40_ENV
  #include <sys/param.h>
***************
*** 1197,1210 ****
  void
  GetVolumeSummary(VolumeId singleVolumeNumber)
  {
!     DIR *dirp;
      afs_int32 nvols = 0;
      struct VolumeSummary *vsp, vs;
      struct VolumeDiskHeader diskHeader;
      struct dirent *dp;
  
      /* Get headers from volume directory */
!     if (chdir(fileSysPath) == -1 || (dirp = opendir(".")) == NULL)
  	Abort("Can't read directory %s; not salvaged\n", fileSysPath);
      if (!singleVolumeNumber) {
  	while ((dp = readdir(dirp))) {
--- 1197,1211 ----
  void
  GetVolumeSummary(VolumeId singleVolumeNumber)
  {
!     DIR *dirp = NULL;
      afs_int32 nvols = 0;
      struct VolumeSummary *vsp, vs;
      struct VolumeDiskHeader diskHeader;
      struct dirent *dp;
  
      /* Get headers from volume directory */
!     dirp = opendir(fileSysPath);
!     if (dirp  == NULL)
  	Abort("Can't read directory %s; not salvaged\n", fileSysPath);
      if (!singleVolumeNumber) {
  	while ((dp = readdir(dirp))) {
***************
*** 1429,1435 ****
      int check;
      Inode ino;
      int dec_VGLinkH = 0;
!     int VGLinkH_p1;
      FdHandle_t *fdP = NULL;
  
      VGLinkH_cnt = 0;
--- 1430,1436 ----
      int check;
      Inode ino;
      int dec_VGLinkH = 0;
!     int VGLinkH_p1 =0;
      FdHandle_t *fdP = NULL;
  
      VGLinkH_cnt = 0;
***************
*** 3543,3558 ****
      assert(p != NULL);
      strcpy(p, s);
      return p;
- 
  }
  
  /* Remove the FORCESALVAGE file */
  void
  RemoveTheForce(char *path)
  {
      if (!Testing && ForceSalvage) {
! 	if (chdir(path) == 0)
! 	    unlink("FORCESALVAGE");
      }
  }
  
--- 3544,3561 ----
      assert(p != NULL);
      strcpy(p, s);
      return p;
  }
  
  /* Remove the FORCESALVAGE file */
  void
  RemoveTheForce(char *path)
  {
+     char target[1024];
+     struct afs_stat force; // so we can use afs_stat to find it
+     strcpy(target,path);
+     strcat(target,"/FORCESALVAGE");
      if (!Testing && ForceSalvage) {
!         if (afs_stat(target,&force) == 0)  unlink(target);
      }
  }
  
***************
*** 3564,3573 ****
  UseTheForceLuke(char *path)
  {
      struct afs_stat force;
  
!     assert(chdir(path) != -1);
! 
!     return (afs_stat("FORCESALVAGE", &force) == 0);
  }
  #else
  /*
--- 3567,3577 ----
  UseTheForceLuke(char *path)
  {
      struct afs_stat force;
+     char target[1024];
+     strcpy(target,path);
+     strcat(target,"/FORCESALVAGE");
  
!     return (afs_stat(target, &force) == 0);
  }
  #else
  /*
Index: openafs/src/vol/volume.c
diff -c openafs/src/vol/volume.c:1.43.2.23 openafs/src/vol/volume.c:1.43.2.24
*** openafs/src/vol/volume.c:1.43.2.23	Thu Sep 25 03:50:16 2008
--- openafs/src/vol/volume.c	Mon Oct 27 19:53:47 2008
***************
*** 22,28 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/vol/volume.c,v 1.43.2.23 2008/09/25 07:50:16 shadow Exp $");
  
  #include <rx/xdr.h>
  #include <afs/afsint.h>
--- 22,28 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/vol/volume.c,v 1.43.2.24 2008/10/27 23:53:47 shadow Exp $");
  
  #include <rx/xdr.h>
  #include <afs/afsint.h>
***************
*** 3178,3184 ****
  {
      VolumeId volume;
      struct DiskPartition64 *tpartp;
!     int notifyServer, useDone = FSYNC_VOL_ON;
  
      *ec = 0;			/* always "succeeds" */
      if (programType == volumeUtility) {
--- 3178,3185 ----
  {
      VolumeId volume;
      struct DiskPartition64 *tpartp;
!     int notifyServer = 0;
!     int  useDone = FSYNC_VOL_ON;
  
      *ec = 0;			/* always "succeeds" */
      if (programType == volumeUtility) {
Index: openafs/src/volser/dumpstuff.c
diff -c openafs/src/volser/dumpstuff.c:1.29.2.10 openafs/src/volser/dumpstuff.c:1.29.2.13
*** openafs/src/volser/dumpstuff.c:1.29.2.10	Wed Mar  5 16:53:31 2008
--- openafs/src/volser/dumpstuff.c	Mon Oct 27 19:41:47 2008
***************
*** 11,17 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/volser/dumpstuff.c,v 1.29.2.10 2008/03/05 21:53:31 shadow Exp $");
  
  #include <sys/types.h>
  #include <ctype.h>
--- 11,17 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/volser/dumpstuff.c,v 1.29.2.13 2008/10/27 23:41:47 shadow Exp $");
  
  #include <sys/types.h>
  #include <ctype.h>
***************
*** 519,527 ****
  DumpFile(struct iod *iodp, int vnode, FdHandle_t * handleP)
  {
      int code = 0, error = 0;
!     afs_int32 pad = 0, offset;
      afs_sfsize_t n, nbytes, howMany, howBig;
!     afs_foff_t lcode;
      byte *p;
  #ifndef AFS_NT40_ENV
      struct afs_stat status;
--- 519,528 ----
  DumpFile(struct iod *iodp, int vnode, FdHandle_t * handleP)
  {
      int code = 0, error = 0;
!     afs_int32 pad = 0;
!     afs_int32 offset = 0;
      afs_sfsize_t n, nbytes, howMany, howBig;
!     afs_foff_t lcode = 0;
      byte *p;
  #ifndef AFS_NT40_ENV
      struct afs_stat status;
***************
*** 1226,1233 ****
  				  V_parentId(vp), vnodeNumber,
  				  vnode->uniquifier, vnode->dataVersion);
  		    if (!VALID_INO(ino)) {
! 			perror("unable to allocate inode");
! 			Log("1 Volser: ReadVnodes: Restore aborted\n");
  			return VOLSERREAD_DUMPERROR;
  		    }
  		    nearInode = ino;
--- 1227,1234 ----
  				  V_parentId(vp), vnodeNumber,
  				  vnode->uniquifier, vnode->dataVersion);
  		    if (!VALID_INO(ino)) {
! 			Log("1 Volser: ReadVnodes: IH_CREATE: %s - restore aborted\n",
!                             afs_error_message(errno));
  			return VOLSERREAD_DUMPERROR;
  		    }
  		    nearInode = ino;
***************
*** 1235,1240 ****
--- 1236,1243 ----
  		    IH_INIT(tmpH, vp->device, V_parentId(vp), ino);
  		    fdP = IH_OPEN(tmpH);
  		    if (fdP == NULL) {
+ 			Log("1 Volser: ReadVnodes: IH_OPEN: %s - restore aborted\n",
+                             afs_error_message(errno));
  			IH_RELEASE(tmpH);
  			return VOLSERREAD_DUMPERROR;
  		    }
Index: openafs/src/volser/vol-dump.c
diff -c openafs/src/volser/vol-dump.c:1.2.4.2 openafs/src/volser/vol-dump.c:1.2.4.3
*** openafs/src/volser/vol-dump.c:1.2.4.2	Wed Mar  5 16:53:31 2008
--- openafs/src/volser/vol-dump.c	Mon Oct 27 19:41:47 2008
***************
*** 18,24 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/volser/vol-dump.c,v 1.2.4.2 2008/03/05 21:53:31 shadow Exp $");
  
  #include <ctype.h>
  #include <errno.h>
--- 18,24 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/volser/vol-dump.c,v 1.2.4.3 2008/10/27 23:41:47 shadow Exp $");
  
  #include <ctype.h>
  #include <errno.h>
***************
*** 543,549 ****
  DumpFile(int dumpfd, int vnode, FdHandle_t * handleP,  struct VnodeDiskObject *v)
  {
      int code = 0, failed_seek = 0, failed_write = 0;
!     afs_int32 pad = 0, offset;
      afs_sfsize_t n, nbytes, howMany, howBig;
      byte *p;
  #ifndef AFS_NT40_ENV
--- 543,550 ----
  DumpFile(int dumpfd, int vnode, FdHandle_t * handleP,  struct VnodeDiskObject *v)
  {
      int code = 0, failed_seek = 0, failed_write = 0;
!     afs_int32 pad = 0;
!     afs_int32 offset = 0;
      afs_sfsize_t n, nbytes, howMany, howBig;
      byte *p;
  #ifndef AFS_NT40_ENV
Index: openafs/src/volser/voltrans.c
diff -c openafs/src/volser/voltrans.c:1.11.8.3 openafs/src/volser/voltrans.c:1.11.8.5
*** openafs/src/volser/voltrans.c:1.11.8.3	Tue Oct 30 11:16:59 2007
--- openafs/src/volser/voltrans.c	Sat Oct 18 15:26:07 2008
***************
*** 18,24 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/volser/voltrans.c,v 1.11.8.3 2007/10/30 15:16:59 shadow Exp $");
  
  #ifdef AFS_NT40_ENV
  #include <afs/afsutil.h>
--- 18,24 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/volser/voltrans.c,v 1.11.8.5 2008/10/18 19:26:07 shadow Exp $");
  
  #ifdef AFS_NT40_ENV
  #include <afs/afsutil.h>
***************
*** 74,93 ****
  NewTrans(afs_int32 avol, afs_int32 apart)
  {
      /* set volid, next, partition */
!     register struct volser_trans *tt;
      struct timeval tp;
      struct timezone tzp;
  
      VTRANS_LOCK;
      /* don't allow the same volume to be attached twice */
      for (tt = allTrans; tt; tt = tt->next) {
  	if ((tt->volid == avol) && (tt->partition == apart)) {
  	    VTRANS_UNLOCK;
  	    return (struct volser_trans *)0;	/* volume busy */
  	}
      }
!     VTRANS_UNLOCK;
!     tt = (struct volser_trans *)malloc(sizeof(struct volser_trans));
      memset(tt, 0, sizeof(struct volser_trans));
      tt->volid = avol;
      tt->partition = apart;
--- 74,94 ----
  NewTrans(afs_int32 avol, afs_int32 apart)
  {
      /* set volid, next, partition */
!     struct volser_trans *tt, *newtt;
      struct timeval tp;
      struct timezone tzp;
  
+     newtt = (struct volser_trans *)malloc(sizeof(struct volser_trans));
      VTRANS_LOCK;
      /* don't allow the same volume to be attached twice */
      for (tt = allTrans; tt; tt = tt->next) {
  	if ((tt->volid == avol) && (tt->partition == apart)) {
  	    VTRANS_UNLOCK;
+ 	    free(newtt);
  	    return (struct volser_trans *)0;	/* volume busy */
  	}
      }
!     tt = newtt;
      memset(tt, 0, sizeof(struct volser_trans));
      tt->volid = avol;
      tt->partition = apart;
***************
*** 97,103 ****
      gettimeofday(&tp, &tzp);
      tt->creationTime = tp.tv_sec;
      tt->time = FT_ApproxTime();
-     VTRANS_LOCK;
      tt->tid = transCounter++;
      tt->next = allTrans;
      allTrans = tt;
--- 98,103 ----
Index: openafs/src/volser/vos.c
diff -c openafs/src/volser/vos.c:1.55.2.18 openafs/src/volser/vos.c:1.55.2.19
*** openafs/src/volser/vos.c:1.55.2.18	Sat Jul 19 02:56:52 2008
--- openafs/src/volser/vos.c	Mon Oct 27 19:41:47 2008
***************
*** 11,17 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/volser/vos.c,v 1.55.2.18 2008/07/19 06:56:52 rra Exp $");
  
  #include <sys/types.h>
  #include <string.h>
--- 11,17 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/volser/vos.c,v 1.55.2.19 2008/10/27 23:41:47 shadow Exp $");
  
  #include <sys/types.h>
  #include <string.h>
***************
*** 1133,1139 ****
       int quiet;
  {
      int totalOK, totalNotOK, totalBusy, i;
!     afs_int32 volid;
  
      totalOK = 0;
      totalNotOK = 0;
--- 1133,1139 ----
       int quiet;
  {
      int totalOK, totalNotOK, totalBusy, i;
!     afs_int32 volid = 0;
  
      totalOK = 0;
      totalNotOK = 0;
***************
*** 1210,1216 ****
      int totalNotOK;		/*Total screwed volumes */
      int totalBusy;		/*Total busy volumes */
      int i;			/*Loop variable */
!     afs_int32 volid;		/*Current volume ID */
  
      /*
       * Initialize counters and (global!!) queues.
--- 1210,1216 ----
      int totalNotOK;		/*Total screwed volumes */
      int totalBusy;		/*Total busy volumes */
      int i;			/*Loop variable */
!     afs_int32 volid = 0;	/*Current volume ID */
  
      /*
       * Initialize counters and (global!!) queues.
***************
*** 1301,1307 ****
      int totalNotOK;		/*Total screwed volumes */
      int totalBusy;		/*Total busy volumes */
      int i;			/*Loop variable */
!     afs_int32 volid;		/*Current volume ID */
  
      /*
       * Initialize counters and (global!!) queues.
--- 1301,1307 ----
      int totalNotOK;		/*Total screwed volumes */
      int totalBusy;		/*Total busy volumes */
      int i;			/*Loop variable */
!     afs_int32 volid = 0;	/*Current volume ID */
  
      /*
       * Initialize counters and (global!!) queues.
***************
*** 2901,2907 ****
      afs_int32 avolid, aparentid, aserver, apart, code, vcode, err;
      afs_int32 aoverwrite = ASK;
      afs_int32 acreation = 0, alastupdate = 0;
!     int restoreflags, readonly = 0, offline = 0, voltype = RWVOL;
      char prompt;
      char afilename[MAXPATHLEN], avolname[VOLSER_MAXVOLNAME + 1], apartName[10];
      char volname[VOLSER_MAXVOLNAME + 1];
--- 2901,2908 ----
      afs_int32 avolid, aparentid, aserver, apart, code, vcode, err;
      afs_int32 aoverwrite = ASK;
      afs_int32 acreation = 0, alastupdate = 0;
!     int restoreflags = 0;
!     int readonly = 0, offline = 0, voltype = RWVOL;
      char prompt;
      char afilename[MAXPATHLEN], avolname[VOLSER_MAXVOLNAME + 1], apartName[10];
      char volname[VOLSER_MAXVOLNAME + 1];
***************
*** 3532,3542 ****
  {
      afs_int32 apart, int32list, fast;
      afs_int32 aserver, code;
!     volintInfo *pntr, *oldpntr;
      afs_int32 count;
      int i;
      char *base;
!     volintXInfo *xInfoP, *origxInfoP;	/*Ptr to current/orig extended vol info */
      int wantExtendedInfo;	/*Do we want extended vol info? */
  
      char pname[10];
--- 3533,3545 ----
  {
      afs_int32 apart, int32list, fast;
      afs_int32 aserver, code;
!     volintInfo *pntr;
!     volintInfo *oldpntr = NULL;
      afs_int32 count;
      int i;
      char *base;
!     volintXInfo *xInfoP;
!     volintXInfo *origxInfoP = NULL; /*Ptr to current/orig extended vol info */
      int wantExtendedInfo;	/*Do we want extended vol info? */
  
      char pname[10];
***************
*** 4146,4152 ****
  static int
  DeleteEntry(register struct cmd_syndesc *as, void *arock)
  {
!     afs_int32 apart;
      afs_int32 avolid;
      afs_int32 vcode;
      struct VldbListByAttributes attributes;
--- 4149,4155 ----
  static int
  DeleteEntry(register struct cmd_syndesc *as, void *arock)
  {
!     afs_int32 apart = 0;
      afs_int32 avolid;
      afs_int32 vcode;
      struct VldbListByAttributes attributes;
***************
*** 4375,4381 ****
      struct VldbListByAttributes attributes;
      nbulkentries arrayEntries;
      struct nvldbentry *vllist, *tarray = 0, *ttarray;
!     afs_int32 centries, nentries = 0, tarraysize, parraysize;
      int j;
      char pname[10];
      int quiet, sort, lock;
--- 4378,4386 ----
      struct VldbListByAttributes attributes;
      nbulkentries arrayEntries;
      struct nvldbentry *vllist, *tarray = 0, *ttarray;
!     afs_int32 centries, nentries = 0;
!     afs_int32 tarraysize = 0;
!     afs_int32 parraysize;
      int j;
      char pname[10];
      int quiet, sort, lock;
***************
*** 4555,4561 ****
      int comp = 0;
      struct cmd_item *ti;
      char *ccode;
!     int match;
  
      memset(&attributes, 0, sizeof(struct VldbListByAttributes));
      attributes.Mask = 0;
--- 4560,4566 ----
      int comp = 0;
      struct cmd_item *ti;
      char *ccode;
!     int match = 0;
  
      memset(&attributes, 0, sizeof(struct VldbListByAttributes));
      attributes.Mask = 0;
***************
*** 4869,4875 ****
  UnlockVLDB(register struct cmd_syndesc *as, void *arock)
  {
      afs_int32 apart;
!     afs_int32 aserver, code;
      afs_int32 vcode;
      struct VldbListByAttributes attributes;
      nbulkentries arrayEntries;
--- 4874,4881 ----
  UnlockVLDB(register struct cmd_syndesc *as, void *arock)
  {
      afs_int32 apart;
!     afs_int32 aserver = NULL;
!     afs_int32 code;
      afs_int32 vcode;
      struct VldbListByAttributes attributes;
      nbulkentries arrayEntries;
***************
*** 5361,5372 ****
      afs_int32 server, volid, code, i, same;
      struct nvldbentry entry, storeEntry;
      afs_int32 vcode;
!     afs_int32 rwindex;
      afs_int32 rwserver = 0;
!     afs_int32 rwpartition;
!     afs_int32 roindex;
      afs_int32 roserver = 0;
!     afs_int32 ropartition;
      int force = 0;
      struct rx_connection *aconn;
      char c, dc;
--- 5367,5378 ----
      afs_int32 server, volid, code, i, same;
      struct nvldbentry entry, storeEntry;
      afs_int32 vcode;
!     afs_int32 rwindex = 0;
      afs_int32 rwserver = 0;
!     afs_int32 rwpartition = 0;
!     afs_int32 roindex = 0;
      afs_int32 roserver = 0;
!     afs_int32 ropartition = 0;
      int force = 0;
      struct rx_connection *aconn;
      char c, dc;
Index: openafs/src/volser/vsprocs.c
diff -c openafs/src/volser/vsprocs.c:1.38.2.19 openafs/src/volser/vsprocs.c:1.38.2.20
*** openafs/src/volser/vsprocs.c:1.38.2.19	Wed May 21 16:16:20 2008
--- openafs/src/volser/vsprocs.c	Mon Oct 27 19:53:47 2008
***************
*** 11,17 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/volser/vsprocs.c,v 1.38.2.19 2008/05/21 20:16:20 shadow Exp $");
  
  #include <stdio.h>
  #include <sys/types.h>
--- 11,17 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/volser/vsprocs.c,v 1.38.2.20 2008/10/27 23:53:47 shadow Exp $");
  
  #include <stdio.h>
  #include <sys/types.h>
***************
*** 3035,3041 ****
  {
      afs_int32 volid;
      struct volser_status tstatus;
!     int code, rcode, tcode;
      char hoststr[16];
  
      *connPtr = (struct rx_connection *)0;
--- 3035,3042 ----
  {
      afs_int32 volid;
      struct volser_status tstatus;
!     int code = 0;
!     int rcode, tcode;
      char hoststr[16];
  
      *connPtr = (struct rx_connection *)0;
***************
*** 3173,3179 ****
  		 afs_int32 afrompart, int forceflag)
  {
      char vname[64];
!     afs_int32 code, vcode, rcode, tcode;
      afs_int32 cloneVolId, roVolId;
      struct replica *replicas = 0;
      struct nvldbentry entry, storeEntry;
--- 3174,3181 ----
  		 afs_int32 afrompart, int forceflag)
  {
      char vname[64];
!     afs_int32 code = 0;
!     afs_int32 vcode, rcode, tcode;
      afs_int32 cloneVolId, roVolId;
      struct replica *replicas = 0;
      struct nvldbentry entry, storeEntry;
***************
*** 3188,3200 ****
      int islocked = 0;
      afs_int32 clonetid = 0, onlinetid;
      afs_int32 fromtid = 0;
!     afs_uint32 fromdate, thisdate;
      time_t tmv;
      int s;
      manyDests tr;
      manyResults results;
      int rwindex, roindex, roclone, roexists;
!     afs_int32 rwcrdate, rwupdate, clcrdate;
      struct rtime {
  	int validtime;
  	afs_uint32 uptime;
--- 3190,3204 ----
      int islocked = 0;
      afs_int32 clonetid = 0, onlinetid;
      afs_int32 fromtid = 0;
!     afs_uint32 fromdate = 0;
!     afs_uint32 thisdate;
      time_t tmv;
      int s;
      manyDests tr;
      manyResults results;
      int rwindex, roindex, roclone, roexists;
!     afs_int32 rwcrdate = 0;
!     afs_int32 rwupdate, clcrdate;
      struct rtime {
  	int validtime;
  	afs_uint32 uptime;
***************
*** 5305,5311 ****
  CheckVolume(volintInfo * volumeinfo, afs_int32 aserver, afs_int32 apart,
  	    afs_int32 * modentry, afs_uint32 * maxvolid)
  {
!     int idx, j;
      afs_int32 code, error = 0;
      struct nvldbentry entry, storeEntry;
      char pname[10];
--- 5309,5316 ----
  CheckVolume(volintInfo * volumeinfo, afs_int32 aserver, afs_int32 apart,
  	    afs_int32 * modentry, afs_uint32 * maxvolid)
  {
!     int idx = 0;
!     int j;
      afs_int32 code, error = 0;
      struct nvldbentry entry, storeEntry;
      char pname[10];
***************
*** 5784,5790 ****
  {
      struct rx_connection *aconn = 0;
      afs_int32 j, k, code, vcode, error = 0;
!     afs_int32 tverbose, mod, modified = 0;
      struct nvldbentry vldbentry;
      afs_int32 volumeid = 0;
      volEntries volumeInfo;
--- 5789,5796 ----
  {
      struct rx_connection *aconn = 0;
      afs_int32 j, k, code, vcode, error = 0;
!     afs_int32 tverbose;
!     afs_int32 mod, modified = 0;
      struct nvldbentry vldbentry;
      afs_int32 volumeid = 0;
      volEntries volumeInfo;
***************
*** 5795,5811 ****
      volumeInfo.volEntries_val = (volintInfo *) 0;
      volumeInfo.volEntries_len = 0;
  
-     if (!aserver && (flags & 1)) {
- 	/* fprintf(STDERR,"Partition option requires a server option\n"); */
- 	ERROR_EXIT(EINVAL);
-     }
- 
      /* Turn verbose logging off and do our own verbose logging */
      tverbose = verbose;
      if (flags & 2) 
  	tverbose = 1;
      verbose = 0;
  
      /* Read the VLDB entry */
      vcode = VLDB_GetEntryByName(avolname, &vldbentry);
      if (vcode && (vcode != VL_NOENT)) {
--- 5801,5819 ----
      volumeInfo.volEntries_val = (volintInfo *) 0;
      volumeInfo.volEntries_len = 0;
  
      /* Turn verbose logging off and do our own verbose logging */
+     /* tverbose must be set before we call ERROR_EXIT() */
+     
      tverbose = verbose;
      if (flags & 2) 
  	tverbose = 1;
      verbose = 0;
  
+     if (!aserver && (flags & 1)) {
+ 	/* fprintf(STDERR,"Partition option requires a server option\n"); */
+ 	ERROR_EXIT(EINVAL);
+     }
+ 
      /* Read the VLDB entry */
      vcode = VLDB_GetEntryByName(avolname, &vldbentry);
      if (vcode && (vcode != VL_NOENT)) {
