Index: openafs/src/WINNT/afsadmsvr/NTMakefile
diff -c openafs/src/WINNT/afsadmsvr/NTMakefile:1.8 openafs/src/WINNT/afsadmsvr/NTMakefile:1.8.4.1
*** openafs/src/WINNT/afsadmsvr/NTMakefile:1.8	Sun Nov 20 20:56:03 2005
--- openafs/src/WINNT/afsadmsvr/NTMakefile	Wed Sep 19 13:58:45 2007
***************
*** 57,64 ****
  EXERES = $(OUT)\AfsAdmSvr.res
  
  
! $(EXERES):$$(@B).rc
! 	$(RC) $**
  
  EXEOBJS = \
  	$(OUT)\TaAfsAdmSvr.obj \
--- 57,63 ----
  EXERES = $(OUT)\AfsAdmSvr.res
  
  
! $(EXERES): AfsAdmSvr.rc AFS_component_version_number.h
  
  EXEOBJS = \
  	$(OUT)\TaAfsAdmSvr.obj \
***************
*** 143,149 ****
  	nmake /nologo /f ntmakefile clean
  	$(CD) ..\afsadmsvr
  
! $(EXEFILE) : $(EXEOBJS) $(EXELIBS)
  	$(EXECONLINK)  $(VCLIBS)
          $(_VC_MANIFEST_EMBED_EXE)
  	$(EXEPREP) 
--- 142,148 ----
  	nmake /nologo /f ntmakefile clean
  	$(CD) ..\afsadmsvr
  
! $(EXEFILE) : $(EXEOBJS) $(EXERES) $(EXELIBS)
  	$(EXECONLINK)  $(VCLIBS)
          $(_VC_MANIFEST_EMBED_EXE)
  	$(EXEPREP) 
***************
*** 161,174 ****
  	if exist ITaAfsAdmSvr*.cpp del ITaAfsAdmSvr*.cpp
  	if exist ITaAfsAdmSvr*.c del ITaAfsAdmSvr*.c
  	if exist ITaAfsAdmSvr*.h del ITaAfsAdmSvr*.h
  
  ############################################################################
  #
  # Dependencies
  #
  
- $(OUT)\AfsAdmSvr.res : AFS_component_version_number.h
- 
  mkdir:
  	-mkdir $(OUT)\..\afsapplib
  	cd ..\afsapplib
--- 160,173 ----
  	if exist ITaAfsAdmSvr*.cpp del ITaAfsAdmSvr*.cpp
  	if exist ITaAfsAdmSvr*.c del ITaAfsAdmSvr*.c
  	if exist ITaAfsAdmSvr*.h del ITaAfsAdmSvr*.h
+ 	$(DEL) AFS_component_version_number.h
+ 	$(DEL) $(EXERES)
  
  ############################################################################
  #
  # Dependencies
  #
  
  mkdir:
  	-mkdir $(OUT)\..\afsapplib
  	cd ..\afsapplib
Index: openafs/src/WINNT/afsd/afsd_init.c
diff -c openafs/src/WINNT/afsd/afsd_init.c:1.79.2.16 openafs/src/WINNT/afsd/afsd_init.c:1.79.2.17
*** openafs/src/WINNT/afsd/afsd_init.c:1.79.2.16	Thu Aug 23 23:21:49 2007
--- openafs/src/WINNT/afsd/afsd_init.c	Mon Sep 10 15:08:17 2007
***************
*** 41,46 ****
--- 41,47 ----
  extern int cm_enableServerLocks;
  extern int cm_deleteReadOnly;
  extern afs_int32 cm_BPlusTrees;
+ extern const char **smb_ExecutableExtensions;
  
  osi_log_t *afsd_logp;
  
***************
*** 278,291 ****
                         KEY_READ|KEY_WRITE,
                         &hkMSV10) == ERROR_SUCCESS )
      {
!         if (RegQueryValueEx( hkMSV10, "BackConnectionHostNames", 0, 
! 			     &dwType, NULL, &dwAllocSize) == ERROR_SUCCESS) {
  	    dwAllocSize += 1 /* in case the source string is not nul terminated */
  		+ strlen(cm_NetbiosName) + 2;
  	    pHostNames = malloc(dwAllocSize);
  	    dwSize = dwAllocSize;
              if (RegQueryValueEx( hkMSV10, "BackConnectionHostNames", 0, &dwType, 
! 				 pHostNames, &dwSize) == ERROR_SUCCESS) {
  		for (pName = pHostNames; 
  		     (pName - pHostNames < dwSize) && *pName ; 
  		     pName += strlen(pName) + 1)
--- 279,295 ----
                         KEY_READ|KEY_WRITE,
                         &hkMSV10) == ERROR_SUCCESS )
      {
!         if ((RegQueryValueEx( hkMSV10, "BackConnectionHostNames", 0, 
! 			     &dwType, NULL, &dwAllocSize) == ERROR_SUCCESS) &&
!             (dwType == REG_MULTI_SZ)) 
!         {
  	    dwAllocSize += 1 /* in case the source string is not nul terminated */
  		+ strlen(cm_NetbiosName) + 2;
  	    pHostNames = malloc(dwAllocSize);
  	    dwSize = dwAllocSize;
              if (RegQueryValueEx( hkMSV10, "BackConnectionHostNames", 0, &dwType, 
! 				 pHostNames, &dwSize) == ERROR_SUCCESS) 
!             {
  		for (pName = pHostNames; 
  		     (pName - pHostNames < dwSize) && *pName ; 
  		     pName += strlen(pName) + 1)
***************
*** 726,734 ****
          blockSize = CM_CONFIGDEFAULT_BLOCKSIZE;
      }
      if (blockSize > cm_chunkSize) {
!         afsi_log("Block size cannot be larger than Chunk size.");
          blockSize = cm_chunkSize;
      }
      afsi_log("Block size %u", blockSize);
  
      dummyLen = sizeof(numBkgD);
--- 730,744 ----
          blockSize = CM_CONFIGDEFAULT_BLOCKSIZE;
      }
      if (blockSize > cm_chunkSize) {
!         afsi_log("Block size (%d) cannot be larger than Chunk size (%d).", 
!                   blockSize, cm_chunkSize);
          blockSize = cm_chunkSize;
      }
+     if (cm_chunkSize % blockSize != 0) {
+         afsi_log("Block size (%d) must be a factor of Chunk size (%d).",
+                   blockSize, cm_chunkSize);
+         blockSize = CM_CONFIGDEFAULT_BLOCKSIZE;
+     }
      afsi_log("Block size %u", blockSize);
  
      dummyLen = sizeof(numBkgD);
***************
*** 1065,1071 ****
          cm_BPlusTrees = (unsigned short) dwValue;
      } 
      afsi_log("CM BPlusTrees is %u", cm_BPlusTrees);
!     
      RegCloseKey (parmKey);
  
      cacheBlocks = ((afs_uint64)cacheSize * 1024) / blockSize;
--- 1075,1113 ----
          cm_BPlusTrees = (unsigned short) dwValue;
      } 
      afsi_log("CM BPlusTrees is %u", cm_BPlusTrees);
! 
!     if ((RegQueryValueEx( parmKey, "PrefetchExecutableExtensions", 0, 
!                           &regType, NULL, &dummyLen) == ERROR_SUCCESS) &&
!          (regType == REG_MULTI_SZ)) 
!     {
!         char * pSz;
!         dummyLen += 3; /* in case the source string is not nul terminated */
!         pSz = malloc(dummyLen);
!         if ((RegQueryValueEx( parmKey, "PrefetchExecutableExtensions", 0, &regType, 
!                              pSz, &dummyLen) == ERROR_SUCCESS) &&
!              (regType == REG_MULTI_SZ))
!         {
!             int cnt;
!             char * p;
! 
!             for (cnt = 0, p = pSz; (p - pSz < dummyLen) && *p; cnt++, p += strlen(p) + 1);
! 
!             smb_ExecutableExtensions = malloc(sizeof(char *) * (cnt+1));
! 
!             for (cnt = 0, p = pSz; (p - pSz < dummyLen) && *p; cnt++, p += strlen(p) + 1)
!             {
!                 smb_ExecutableExtensions[cnt] = p;
!                 afsi_log("PrefetchExecutableExtension: \"%s\"", p);
!             }
!             smb_ExecutableExtensions[cnt] = NULL;
!         }
!         
!         if (!smb_ExecutableExtensions)
!             free(pSz);
!     }
!     if (!smb_ExecutableExtensions)
!         afsi_log("No PrefetchExecutableExtensions");
! 
      RegCloseKey (parmKey);
  
      cacheBlocks = ((afs_uint64)cacheSize * 1024) / blockSize;
Index: openafs/src/WINNT/afsd/afsd_service.c
diff -c openafs/src/WINNT/afsd/afsd_service.c:1.52.4.16 openafs/src/WINNT/afsd/afsd_service.c:1.52.4.17
*** openafs/src/WINNT/afsd/afsd_service.c:1.52.4.16	Thu Aug 23 23:21:49 2007
--- openafs/src/WINNT/afsd/afsd_service.c	Wed Sep 19 23:55:42 2007
***************
*** 76,81 ****
--- 76,83 ----
      buf_ForceTrace(TRUE);
  
      afsi_log("--- begin dump ---");
+     cm_MemDumpDirStats(afsi_file, "a", 0);
+     cm_MemDumpBPlusStats(afsi_file, "a", 0);
      cm_DumpCells(afsi_file, "a", 0);
      cm_DumpVolumes(afsi_file, "a", 0);
      cm_DumpSCache(afsi_file, "a", 0);
Index: openafs/src/WINNT/afsd/afskfw-int.h
diff -c openafs/src/WINNT/afsd/afskfw-int.h:1.3.14.3 openafs/src/WINNT/afsd/afskfw-int.h:1.3.14.4
*** openafs/src/WINNT/afsd/afskfw-int.h:1.3.14.3	Tue Apr  3 10:50:40 2007
--- openafs/src/WINNT/afsd/afskfw-int.h	Wed Aug 29 17:53:36 2007
***************
*** 1,5 ****
  /*
! * Copyright (c) 2004, 2005, 2006 Secure Endpoints Inc.
  * Copyright (c) 2003 SkyRope, LLC
   * All rights reserved.
   * 
--- 1,5 ----
  /*
! * Copyright (c) 2004, 2005, 2006, 2007 Secure Endpoints Inc.
  * Copyright (c) 2003 SkyRope, LLC
   * All rights reserved.
   * 
***************
*** 235,241 ****
--- 235,246 ----
                              //    cc_get_cache_names().  set to NULL on return
      )
  );
+ 
+ #ifdef _WIN64
+ #define CCAPI_DLL   "krbcc64.dll"
+ #else
  #define CCAPI_DLL   "krbcc32.dll"
+ #endif
  
  /* Function Prototypes */
  DWORD GetServiceStatus(LPSTR, LPSTR, DWORD *);
Index: openafs/src/WINNT/afsd/afskfw.c
diff -c openafs/src/WINNT/afsd/afskfw.c:1.28.4.9 openafs/src/WINNT/afsd/afskfw.c:1.28.4.11
*** openafs/src/WINNT/afsd/afskfw.c:1.28.4.9	Tue Aug 21 04:44:06 2007
--- openafs/src/WINNT/afsd/afskfw.c	Sun Sep  2 12:37:43 2007
***************
*** 56,63 ****
   */
  
  
- #define USE_MS2MIT
  #undef  USE_KRB4
  #include "afskfw-int.h"
  #include "afskfw.h"
  #include <userenv.h>
--- 56,68 ----
   */
  
  
  #undef  USE_KRB4
+ #ifndef _WIN64
+ #define USE_KRB524 1
+ #endif
+ #define USE_MS2MIT 1
+ #define USE_LEASH 1
+ 
  #include "afskfw-int.h"
  #include "afskfw.h"
  #include <userenv.h>
***************
*** 94,99 ****
--- 99,105 ----
  DECL_FUNC_PTR(cc_get_NC_info);
  DECL_FUNC_PTR(cc_free_NC_info);
  
+ #ifdef USE_LEASH
  // leash functions
  DECL_FUNC_PTR(Leash_get_default_lifetime);
  DECL_FUNC_PTR(Leash_get_default_forwardable);
***************
*** 108,113 ****
--- 114,120 ----
  DECL_FUNC_PTR(Leash_get_default_renew_max);
  DECL_FUNC_PTR(Leash_get_default_renewable);
  DECL_FUNC_PTR(Leash_get_default_mslsa_import);
+ #endif 
  
  // krb5 functions
  DECL_FUNC_PTR(krb5_change_password);
***************
*** 170,184 ****
--- 177,195 ----
  DECL_FUNC_PTR(krb5_free_addresses);
  DECL_FUNC_PTR(krb5_c_random_make_octets);
  
+ #ifdef USE_KRB524
  // Krb524 functions
  DECL_FUNC_PTR(krb524_init_ets);
  DECL_FUNC_PTR(krb524_convert_creds_kdc);
+ #endif
  
+ #ifdef USE_KRB4
  // krb4 functions
  DECL_FUNC_PTR(krb_get_cred);
  DECL_FUNC_PTR(tkt_string);
  DECL_FUNC_PTR(krb_get_tf_realm);
  DECL_FUNC_PTR(krb_mk_req);
+ #endif
  
  // ComErr functions
  DECL_FUNC_PTR(com_err);
***************
*** 219,224 ****
--- 230,236 ----
      END_FUNC_INFO
  };
  
+ #ifdef USE_LEASH
  FUNC_INFO leash_fi[] = {
      MAKE_FUNC_INFO(Leash_get_default_lifetime),
      MAKE_FUNC_INFO(Leash_get_default_renew_till),
***************
*** 239,244 ****
--- 251,257 ----
      MAKE_FUNC_INFO(Leash_get_default_mslsa_import),
      END_FUNC_INFO
  };
+ #endif
  
  FUNC_INFO k5_fi[] = {
      MAKE_FUNC_INFO(krb5_change_password),
***************
*** 314,324 ****
--- 327,339 ----
  };
  #endif
  
+ #ifdef USE_KRB524
  FUNC_INFO k524_fi[] = {
      MAKE_FUNC_INFO(krb524_init_ets),
      MAKE_FUNC_INFO(krb524_convert_creds_kdc),
      END_FUNC_INFO
  };
+ #endif
  
  FUNC_INFO profile_fi[] = {
          MAKE_FUNC_INFO(profile_init),
***************
*** 375,381 ****
--- 390,398 ----
  #ifdef USE_KRB4
  static HINSTANCE hKrb4 = 0;
  #endif /* USE_KRB4 */
+ #ifdef USE_KRB524
  static HINSTANCE hKrb524 = 0;
+ #endif
  #ifdef USE_MS2MIT
  static HINSTANCE hSecur32 = 0;
  #endif /* USE_MS2MIT */
***************
*** 383,390 ****
--- 400,409 ----
  static HINSTANCE hComErr = 0;
  static HINSTANCE hService = 0;
  static HINSTANCE hProfile = 0;
+ #ifdef USE_LEASH
  static HINSTANCE hLeash = 0;
  static HINSTANCE hLeashOpt = 0;
+ #endif
  static HINSTANCE hCCAPI = 0;
  static struct principal_ccache_data * princ_cc_data = NULL;
  static struct cell_principal_map    * cell_princ_map = NULL;
***************
*** 409,427 ****
          if ( !inited ) {
              inited = 1;
              LoadFuncs(KRB5_DLL, k5_fi, &hKrb5, 0, 1, 0, 0);
  #ifdef USE_KRB4
              LoadFuncs(KRB4_DLL, k4_fi, &hKrb4, 0, 1, 0, 0);
  #endif /* USE_KRB4 */
-             LoadFuncs(COMERR_DLL, ce_fi, &hComErr, 0, 0, 1, 0);
              LoadFuncs(SERVICE_DLL, service_fi, &hService, 0, 1, 0, 0);
  #ifdef USE_MS2MIT
              LoadFuncs(SECUR32_DLL, lsa_fi, &hSecur32, 0, 1, 1, 1);
  #endif /* USE_MS2MIT */
              LoadFuncs(KRB524_DLL, k524_fi, &hKrb524, 0, 1, 1, 1);
!             LoadFuncs(PROFILE_DLL, profile_fi, &hProfile, 0, 1, 0, 0);
              LoadFuncs(LEASH_DLL, leash_fi, &hLeash, 0, 1, 0, 0);
-             LoadFuncs(CCAPI_DLL, ccapi_fi, &hCCAPI, 0, 1, 0, 0);
              LoadFuncs(LEASH_DLL, leash_opt_fi, &hLeashOpt, 0, 1, 0, 0);
  
              if ( KFW_is_available() ) {
                  char rootcell[MAXCELLCHARS+1];
--- 428,450 ----
          if ( !inited ) {
              inited = 1;
              LoadFuncs(KRB5_DLL, k5_fi, &hKrb5, 0, 1, 0, 0);
+             LoadFuncs(COMERR_DLL, ce_fi, &hComErr, 0, 0, 1, 0);
+             LoadFuncs(PROFILE_DLL, profile_fi, &hProfile, 0, 1, 0, 0);
  #ifdef USE_KRB4
              LoadFuncs(KRB4_DLL, k4_fi, &hKrb4, 0, 1, 0, 0);
  #endif /* USE_KRB4 */
              LoadFuncs(SERVICE_DLL, service_fi, &hService, 0, 1, 0, 0);
  #ifdef USE_MS2MIT
              LoadFuncs(SECUR32_DLL, lsa_fi, &hSecur32, 0, 1, 1, 1);
  #endif /* USE_MS2MIT */
+ #ifdef USE_KRB524
              LoadFuncs(KRB524_DLL, k524_fi, &hKrb524, 0, 1, 1, 1);
! #endif
! #ifdef USE_LEASH
              LoadFuncs(LEASH_DLL, leash_fi, &hLeash, 0, 1, 0, 0);
              LoadFuncs(LEASH_DLL, leash_opt_fi, &hLeashOpt, 0, 1, 0, 0);
+ #endif
+             LoadFuncs(CCAPI_DLL, ccapi_fi, &hCCAPI, 0, 1, 0, 0);
  
              if ( KFW_is_available() ) {
                  char rootcell[MAXCELLCHARS+1];
***************
*** 444,457 ****
  void
  KFW_cleanup(void)
  {
      if (hLeashOpt)
          FreeLibrary(hLeashOpt);
-     if (hCCAPI)
-         FreeLibrary(hCCAPI);
      if (hLeash)
          FreeLibrary(hLeash);
      if (hKrb524)
          FreeLibrary(hKrb524);
  #ifdef USE_MS2MIT
      if (hSecur32)
          FreeLibrary(hSecur32);
--- 467,484 ----
  void
  KFW_cleanup(void)
  {
+ #ifdef USE_LEASH
      if (hLeashOpt)
          FreeLibrary(hLeashOpt);
      if (hLeash)
          FreeLibrary(hLeash);
+ #endif
+ #ifdef USE_KRB524
      if (hKrb524)
          FreeLibrary(hKrb524);
+ #endif
+     if (hCCAPI)
+         FreeLibrary(hCCAPI);
  #ifdef USE_MS2MIT
      if (hSecur32)
          FreeLibrary(hSecur32);
***************
*** 533,540 ****
  #ifdef USE_MS2MIT
           hSecur32 && 
  #endif /* USE_MS2MIT */
           hKrb524 &&
!          hProfile && hLeash && hCCAPI )
          return TRUE;
      return FALSE;
  }
--- 560,572 ----
  #ifdef USE_MS2MIT
           hSecur32 && 
  #endif /* USE_MS2MIT */
+ #ifdef USE_KRB524
           hKrb524 &&
! #endif
! #ifdef USE_LEASH
!          hLeash &&
! #endif
!          hProfile && hCCAPI )
          return TRUE;
      return FALSE;
  }
***************
*** 929,939 ****
      if (!pkrb5_init_context)
          return;
  
- #ifdef COMMENT
-     if ( !MSLSA_IsKerberosLogon() )
-         return;
- #endif
- 
      code = pkrb5_init_context(&ctx);
      if (code) goto cleanup;
  
--- 961,966 ----
***************
*** 1157,1163 ****
                          OutputDebugString("Calling KFW_AFS_klog() to obtain token\n");
                      }
  
!                     code = KFW_AFS_klog(ctx, cc, "afs", cell->data, realm->data, pLeash_get_default_lifetime(),NULL);
                      if ( IsDebuggerPresent() ) {
                          char message[256];
                          sprintf(message,"KFW_AFS_klog() returns: %d\n",code);
--- 1184,1196 ----
                          OutputDebugString("Calling KFW_AFS_klog() to obtain token\n");
                      }
  
!                     code = KFW_AFS_klog(ctx, cc, "afs", cell->data, realm->data, 
! #ifndef USE_LEASH
!                                         600,
! #else
!                                         pLeash_get_default_lifetime(),
! #endif /* USE_LEASH */
!                                         NULL);
                      if ( IsDebuggerPresent() ) {
                          char message[256];
                          sprintf(message,"KFW_AFS_klog() returns: %d\n",code);
***************
*** 1283,1300 ****
      if ( code ) goto cleanup;
  
      if ( lifetime == 0 )
          lifetime = pLeash_get_default_lifetime();
  
      if ( password && password[0] ) {
          code = KFW_kinit( ctx, cc, HWND_DESKTOP, 
                            pname, 
                            password,
                            lifetime,
                            pLeash_get_default_forwardable(),
                            pLeash_get_default_proxiable(),
                            pLeash_get_default_renewable() ? pLeash_get_default_renew_till() : 0,
                            pLeash_get_default_noaddresses(),
!                           pLeash_get_default_publicip());
          if ( IsDebuggerPresent() ) {
              char message[256];
              sprintf(message,"KFW_kinit() returns: %d\n",code);
--- 1316,1347 ----
      if ( code ) goto cleanup;
  
      if ( lifetime == 0 )
+ #ifndef USE_LEASH
+         lifetime = 600;
+ #else
          lifetime = pLeash_get_default_lifetime();
+ #endif
  
      if ( password && password[0] ) {
          code = KFW_kinit( ctx, cc, HWND_DESKTOP, 
                            pname, 
                            password,
                            lifetime,
+ #ifndef USE_LEASH
+                           1, /* forwardable */
+                           0, /* not proxiable */
+                           1, /* renewable */
+                           1, /* noaddresses */
+                           0  /* no public ip */
+ #else
                            pLeash_get_default_forwardable(),
                            pLeash_get_default_proxiable(),
                            pLeash_get_default_renewable() ? pLeash_get_default_renew_till() : 0,
                            pLeash_get_default_noaddresses(),
!                           pLeash_get_default_publicip()
! #endif /* USE_LEASH */
!                           );
! 
          if ( IsDebuggerPresent() ) {
              char message[256];
              sprintf(message,"KFW_kinit() returns: %d\n",code);
***************
*** 1889,1895 ****
--- 1936,1946 ----
  	goto cleanup;
  
      if (lifetime == 0)
+ #ifndef USE_LEASH
+         lifetime = 600;
+ #else
          lifetime = pLeash_get_default_lifetime();
+ #endif /* USE_LEASH */
      lifetime *= 60;
  
      if (renew_life > 0)
***************
*** 2990,2995 ****
--- 3041,3049 ----
              goto cleanup;   /* We have successfully inserted the token */
  
        try_krb524d:
+ #ifndef USE_KRB524
+         goto cleanup;
+ #else
          /* Otherwise, the ticket could have been too large so try to
           * convert using the krb524d running with the KDC 
           */
***************
*** 3004,3009 ****
--- 3058,3064 ----
              try_krb5 = 0;
              goto use_krb4;
          }
+ #endif /* USE_KRB524 */
      } else {
        use_krb4:
  #ifdef USE_KRB4
Index: openafs/src/WINNT/afsd/cm.h
diff -c openafs/src/WINNT/afsd/cm.h:1.17.2.5 openafs/src/WINNT/afsd/cm.h:1.17.2.6
*** openafs/src/WINNT/afsd/cm.h:1.17.2.5	Thu Aug 23 23:21:49 2007
--- openafs/src/WINNT/afsd/cm.h	Thu Aug 30 22:56:59 2007
***************
*** 302,307 ****
--- 302,308 ----
  #define CM_ERROR_BAD_LEVEL	        (CM_ERROR_BASE+52)
  #define CM_ERROR_NOT_A_DFSLINK          (CM_ERROR_BASE+53)
  #define CM_ERROR_INEXACT_MATCH          (CM_ERROR_BASE+54)
+ #define CM_ERROR_BPLUS_NOMATCH          (CM_ERROR_BASE+55)
  
  /* Used by cm_FollowMountPoint and cm_GetVolumeByName */
  #define RWVOL	0
Index: openafs/src/WINNT/afsd/cm_btree.c
diff -c openafs/src/WINNT/afsd/cm_btree.c:1.1.2.4 openafs/src/WINNT/afsd/cm_btree.c:1.1.2.6
*** openafs/src/WINNT/afsd/cm_btree.c:1.1.2.4	Sun Aug 26 20:11:43 2007
--- openafs/src/WINNT/afsd/cm_btree.c	Wed Sep 19 23:55:42 2007
***************
*** 198,206 ****
          sprintf(B->message, "LOOKUP: %s found on page %d value (%d.%d.%d).\n",
                   key.name,
                   getnodenumber(B, findNode), 
!                  data.volume, 
!                  data.vnode,
!                  data.unique);
      } else 
          sprintf(B->message, "LOOKUP: not found!\n");
      OutputDebugString(B->message);
--- 198,206 ----
          sprintf(B->message, "LOOKUP: %s found on page %d value (%d.%d.%d).\n",
                   key.name,
                   getnodenumber(B, findNode), 
!                  data.fid.volume, 
!                  data.fid.vnode,
!                  data.fid.unique);
      } else 
          sprintf(B->message, "LOOKUP: not found!\n");
      OutputDebugString(B->message);
***************
*** 1138,1145 ****
  
      for ( i=0, node = getfirstallnode(B); node != NONODE && i<getpoolsize(B); node = next, i++ ) {
          if (isdata(node)) {
!             if ( getdatakey(node).name )
                  free(getdatakey(node).name);
          } else { /* data node */
              for ( j=1; j<=getfanout(B); j++ ) {
                  if (getkey(node, j).name)
--- 1138,1151 ----
  
      for ( i=0, node = getfirstallnode(B); node != NONODE && i<getpoolsize(B); node = next, i++ ) {
          if (isdata(node)) {
!             if ( getdatakey(node).name ) {
                  free(getdatakey(node).name);
+                 getdatakey(node).name = NULL;
+             }
+             if ( getdatavalue(node).longname ) {
+                 free(getdatavalue(node).longname);
+                 getdatavalue(node).longname = NULL;
+             }
          } else { /* data node */
              for ( j=1; j<=getfanout(B); j++ ) {
                  if (getkey(node, j).name)
***************
*** 1303,1309 ****
          data = getdatavalue(node);
          sprintf(B->message, "%s - data node %d (%d.%d.%d)\n", 
                   parent_desc, getnodenumber(B, node),
!                  data.volume, data.vnode, data.unique);
          OutputDebugString(B->message);
          return;
      } else 
--- 1309,1315 ----
          data = getdatavalue(node);
          sprintf(B->message, "%s - data node %d (%d.%d.%d)\n", 
                   parent_desc, getnodenumber(B, node),
!                  data.fid.volume, data.fid.vnode, data.fid.unique);
          OutputDebugString(B->message);
          return;
      } else 
***************
*** 1336,1342 ****
          prev = getkey(n, slot);
          data = getdatavalue(getnode(n, slot));
          sprintf(B->message, "%8s (%d.%d.%d)\n", 
!                 prev.name, data.volume, data.vnode, data.unique);
          OutputDebugString(B->message);
          if (++slot > numentries(n))
              n = getnextnode(n), slot = 1;
--- 1342,1348 ----
          prev = getkey(n, slot);
          data = getdatavalue(getnode(n, slot));
          sprintf(B->message, "%8s (%d.%d.%d)\n", 
!                 prev.name, data.fid.volume, data.fid.vnode, data.fid.unique);
          OutputDebugString(B->message);
          if (++slot > numentries(n))
              n = getnextnode(n), slot = 1;
***************
*** 1453,1467 ****
          }
  
          if (exact) {
!             *cfid = getdatavalue(dataNode);
              rc = 0;
              bplus_lookup_hits++;
          } else if (count == 1) {
!             *cfid = getdatavalue(firstDataNode);
              rc = CM_ERROR_INEXACT_MATCH;
              bplus_lookup_hits_inexact++;
          } else {
!                 rc = CM_ERROR_AMBIGUOUS_FILENAME;
              bplus_lookup_ambiguous++;
          } 
      } else {
--- 1459,1473 ----
          }
  
          if (exact) {
!             *cfid = getdatavalue(dataNode).fid;
              rc = 0;
              bplus_lookup_hits++;
          } else if (count == 1) {
!             *cfid = getdatavalue(firstDataNode).fid;
              rc = CM_ERROR_INEXACT_MATCH;
              bplus_lookup_hits_inexact++;
          } else {
!             rc = CM_ERROR_AMBIGUOUS_FILENAME;
              bplus_lookup_ambiguous++;
          } 
      } else {
***************
*** 1489,1495 ****
--- 1495,1503 ----
  {
      long rc = 0;
      keyT key = {entry};
+     dataT  data;
      LARGE_INTEGER start, end;
+     char shortName[13];
  
      if (op->scp->dirBplus == NULL || 
          op->dataVersion != op->scp->dirDataVersion) {
***************
*** 1497,1506 ****
          goto done;
      }
  
      QueryPerformanceCounter(&start);
      bplus_create_entry++;
  
!     insert(op->scp->dirBplus, key, *cfid);
  
      QueryPerformanceCounter(&end);
  
--- 1505,1531 ----
          goto done;
      }
  
+     data.fid.cell = cfid->cell;
+     data.fid.volume = cfid->volume;
+     data.fid.vnode = cfid->vnode;
+     data.fid.unique = cfid->unique;
+     data.longname = NULL;
+ 
      QueryPerformanceCounter(&start);
      bplus_create_entry++;
  
!     insert(op->scp->dirBplus, key, data);
!     if (!cm_Is8Dot3(entry)) {
!         cm_dirFid_t dfid;
!         dfid.vnode = htonl(data.fid.vnode);
!         dfid.unique = htonl(data.fid.unique);
! 
!         cm_Gen8Dot3NameInt(entry, &dfid, shortName, NULL);
! 
!         key.name = shortName;
!         data.longname = strdup(entry);
!         insert(op->scp->dirBplus, key, data);
!     }
  
      QueryPerformanceCounter(&end);
  
***************
*** 1522,1527 ****
--- 1547,1553 ----
  {
      long rc = 0;
      keyT key = {entry};
+     Nptr leafNode = NONODE;
      LARGE_INTEGER start, end;
  
      if (op->scp->dirBplus == NULL || 
***************
*** 1535,1541 ****
      bplus_remove_entry++;
  
      if (op->scp->dirBplus) {
!         delete(op->scp->dirBplus, key);
      }
      
      QueryPerformanceCounter(&end);
--- 1561,1668 ----
      bplus_remove_entry++;
  
      if (op->scp->dirBplus) {
!         if (!cm_Is8Dot3(entry)) {
!             cm_dirFid_t dfid;
!             cm_fid_t fid;
!             char shortName[13];
! 
!             leafNode = bplus_Lookup(op->scp->dirBplus, key);
!             if (leafNode != NONODE) {
!                 int         slot;
!                 Nptr        firstDataNode, dataNode, nextDataNode;
!                 int         exact = 0;
!                 int         count = 0;
! 
!                 /* Found a leaf that matches the key via a case-insensitive
!                  * match.  There may be one or more data nodes that match.
!                  * If we have an exact match, return that.
!                  * If we have an ambiguous match, return an error.
!                  * If we have only one inexact match, return that.
!                  */
!                 slot = findKey(op->scp->dirBplus, leafNode, 1, numentries(leafNode));
!                 firstDataNode = getnode(leafNode, slot);
! 
!                 for ( dataNode = firstDataNode; dataNode; dataNode = nextDataNode) {
!                     count++;
!                     if (!comparekeys(op->scp->dirBplus)(key, getdatakey(dataNode), EXACT_MATCH) ) {
!                         exact = 1;
!                         break;
!                     }
!                     nextDataNode = getdatanext(dataNode);
!                 }
! 
!                 if (exact) {
!                     fid = getdatavalue(dataNode).fid;
!                     rc = 0;
!                 } else if (count == 1) {
!                     fid = getdatavalue(firstDataNode).fid;
!                     rc = CM_ERROR_INEXACT_MATCH;
!                 } else {
!                     rc = CM_ERROR_AMBIGUOUS_FILENAME;
!                 } 
!             }
! 
! 
!             if (rc != CM_ERROR_AMBIGUOUS_FILENAME) {
!                 dfid.vnode = htonl(fid.vnode);
!                 dfid.unique = htonl(fid.unique);
!                 cm_Gen8Dot3NameInt(entry, &dfid, shortName, NULL);
! 
!                 /* delete first the long name and then the short name */
!                 delete(op->scp->dirBplus, key);
!                 key.name = shortName;
!                 delete(op->scp->dirBplus, key);
!             }
!         } else {
!             char * longname = NULL;
!             /* We need to lookup the 8dot3 name to determine what the 
!              * matching long name is
!              */
!             leafNode = bplus_Lookup(op->scp->dirBplus, key);
!             if (leafNode != NONODE) {
!                 int         slot;
!                 Nptr        firstDataNode, dataNode, nextDataNode;
!                 int         exact = 0;
!                 int         count = 0;
! 
!                 /* Found a leaf that matches the key via a case-insensitive
!                  * match.  There may be one or more data nodes that match.
!                  * If we have an exact match, return that.
!                  * If we have an ambiguous match, return an error.
!                  * If we have only one inexact match, return that.
!                  */
!                 slot = findKey(op->scp->dirBplus, leafNode, 1, numentries(leafNode));
!                 firstDataNode = getnode(leafNode, slot);
! 
!                 for ( dataNode = firstDataNode; dataNode; dataNode = nextDataNode) {
!                     count++;
!                     if (!comparekeys(op->scp->dirBplus)(key, getdatakey(dataNode), EXACT_MATCH) ) {
!                         exact = 1;
!                         break;
!                     }
!                     nextDataNode = getdatanext(dataNode);
!                 }
! 
!                 if (exact) {
!                     longname = getdatavalue(dataNode).longname;
!                     rc = 0;
!                 } else if (count == 1) {
!                     longname = getdatavalue(firstDataNode).longname;
!                     rc = CM_ERROR_INEXACT_MATCH;
!                 } else {
!                     rc = CM_ERROR_AMBIGUOUS_FILENAME;
!                 } 
!             }
! 
!             if (rc != CM_ERROR_AMBIGUOUS_FILENAME) {
! 				if (longname) {
! 					key.name = longname;
! 					delete(op->scp->dirBplus, key);
! 	                key.name = entry;
! 				}
!                 delete(op->scp->dirBplus, key);
!             }
!         }
      }
      
      QueryPerformanceCounter(&end);
***************
*** 1552,1561 ****
                     void *dummy, osi_hyper_t *entryOffsetp)
  {
      keyT   key = {dep->name};
!     dataT  data = {scp->fid.cell, scp->fid.volume, ntohl(dep->fid.vnode), ntohl(dep->fid.unique)};
  
      /* the Write lock is held in cm_BPlusDirBuildTree() */
      insert(scp->dirBplus, key, data);
  
  #ifdef BTREE_DEBUG
      findAllBtreeValues(scp->dirBplus);
--- 1679,1706 ----
                     void *dummy, osi_hyper_t *entryOffsetp)
  {
      keyT   key = {dep->name};
!     dataT  data;
!     char   shortName[13];
! 
!     data.fid.cell = scp->fid.cell;
!     data.fid.volume = scp->fid.volume;
!     data.fid.vnode = ntohl(dep->fid.vnode);
!     data.fid.unique = ntohl(dep->fid.unique);
!     data.longname = NULL;
  
      /* the Write lock is held in cm_BPlusDirBuildTree() */
      insert(scp->dirBplus, key, data);
+     if (!cm_Is8Dot3(dep->name)) {
+         cm_dirFid_t dfid;
+         dfid.vnode = dep->fid.vnode;
+         dfid.unique = dep->fid.unique;
+ 
+         cm_Gen8Dot3NameInt(dep->name, &dfid, shortName, NULL);
+ 
+         key.name = shortName;
+         data.longname = strdup(dep->name);
+         insert(scp->dirBplus, key, data);
+     }
  
  #ifdef BTREE_DEBUG
      findAllBtreeValues(scp->dirBplus);
***************
*** 1598,1603 ****
--- 1743,1786 ----
      return rc;
  }
  
+ int cm_MemDumpBPlusStats(FILE *outputFile, char *cookie, int lock)
+ {
+     int zilch;
+     char output[128];
+ 
+     sprintf(output, "%s - B+ Lookup    Hits: %-8d\r\n", cookie, bplus_lookup_hits);
+     WriteFile(outputFile, output, (DWORD)strlen(output), &zilch, NULL);
+     sprintf(output, "%s -      Inexact Hits: %-8d\r\n", cookie, bplus_lookup_hits_inexact);
+     WriteFile(outputFile, output, (DWORD)strlen(output), &zilch, NULL);
+     sprintf(output, "%s -    Ambiguous Hits: %-8d\r\n", cookie, bplus_lookup_ambiguous);
+     WriteFile(outputFile, output, (DWORD)strlen(output), &zilch, NULL);
+     sprintf(output, "%s -            Misses: %-8d\r\n", cookie, bplus_lookup_misses);
+     WriteFile(outputFile, output, (DWORD)strlen(output), &zilch, NULL);
+     sprintf(output, "%s -            Create: %-8d\r\n", cookie, bplus_create_entry);
+     WriteFile(outputFile, output, (DWORD)strlen(output), &zilch, NULL);
+     sprintf(output, "%s -            Remove: %-8d\r\n", cookie, bplus_remove_entry);
+     WriteFile(outputFile, output, (DWORD)strlen(output), &zilch, NULL);
+     sprintf(output, "%s -        Build Tree: %-8d\r\n", cookie, bplus_build_tree);
+     WriteFile(outputFile, output, (DWORD)strlen(output), &zilch, NULL);
+     sprintf(output, "%s -         Free Tree: %-8d\r\n", cookie, bplus_free_tree);
+     WriteFile(outputFile, output, (DWORD)strlen(output), &zilch, NULL);
+     sprintf(output, "%s -          DV Error: %-8d\r\n", cookie, bplus_dv_error);
+     WriteFile(outputFile, output, (DWORD)strlen(output), &zilch, NULL);
+ 
+     sprintf(output, "%s - B+ Time    Lookup: %-16I64d\r\n", cookie, bplus_lookup_time);
+     WriteFile(outputFile, output, (DWORD)strlen(output), &zilch, NULL);
+     sprintf(output, "%s -            Create: %-16I64d\r\n", cookie, bplus_create_time);
+     WriteFile(outputFile, output, (DWORD)strlen(output), &zilch, NULL);
+     sprintf(output, "%s -            Remove: %-16I64d\r\n", cookie, bplus_remove_time);
+     WriteFile(outputFile, output, (DWORD)strlen(output), &zilch, NULL);
+     sprintf(output, "%s -             Build: %-16I64d\r\n", cookie, bplus_build_time);
+     WriteFile(outputFile, output, (DWORD)strlen(output), &zilch, NULL);
+     sprintf(output, "%s -              Free: %-16I64d\r\n", cookie, bplus_free_time);
+     WriteFile(outputFile, output, (DWORD)strlen(output), &zilch, NULL);
+ 
+     return(0);
+ }
+ 
  void cm_BPlusDumpStats(void)
  {
      afsi_log("B+ Lookup    Hits: %-8d", bplus_lookup_hits);
Index: openafs/src/WINNT/afsd/cm_btree.h
diff -c openafs/src/WINNT/afsd/cm_btree.h:1.1.2.3 openafs/src/WINNT/afsd/cm_btree.h:1.1.2.5
*** openafs/src/WINNT/afsd/cm_btree.h:1.1.2.3	Thu Aug 23 23:21:49 2007
--- openafs/src/WINNT/afsd/cm_btree.h	Wed Sep 19 23:55:42 2007
***************
*** 51,57 ****
      char *name;
  } keyT;
  
! typedef cm_fid_t dataT;
  
  typedef struct entry {
      keyT	key;
--- 51,61 ----
      char *name;
  } keyT;
  
! 
! typedef struct dirdata {
!     cm_fid_t    fid;
!     char * longname;
! } dataT;
  
  typedef struct entry {
      keyT	key;
***************
*** 139,144 ****
--- 143,149 ----
  int  cm_BPlusDirDeleteEntry(cm_dirOp_t * op, char *entry);
  long cm_BPlusDirBuildTree(cm_scache_t *scp, cm_user_t *userp, cm_req_t* reqp);
  void cm_BPlusDumpStats(void);
+ int cm_MemDumpBPlusStats(FILE *outputFile, char *cookie, int lock);
  
  extern afs_uint32 bplus_free_tree;
  extern afs_uint32 bplus_dv_error;
Index: openafs/src/WINNT/afsd/cm_buf.c
diff -c openafs/src/WINNT/afsd/cm_buf.c:1.31.2.18 openafs/src/WINNT/afsd/cm_buf.c:1.31.2.20
*** openafs/src/WINNT/afsd/cm_buf.c:1.31.2.18	Thu Aug  9 01:33:56 2007
--- openafs/src/WINNT/afsd/cm_buf.c	Tue Sep 18 12:59:23 2007
***************
*** 622,633 ****
  	 * because we aren't going to be able to write this data to the file
  	 * server.
  	 */
! 	if (code == CM_ERROR_NOSUCHFILE){
  	    bp->flags &= ~CM_BUF_DIRTY;
  	    bp->flags |= CM_BUF_ERROR;
              bp->dirty_offset = 0;
              bp->dirty_length = 0;
! 	    bp->error = CM_ERROR_NOSUCHFILE;
  	    bp->dataVersion = -1; /* bad */
  	    bp->dirtyCounter++;
  	}
--- 622,633 ----
  	 * because we aren't going to be able to write this data to the file
  	 * server.
  	 */
! 	if (code == CM_ERROR_NOSUCHFILE || code == CM_ERROR_BADFD){
  	    bp->flags &= ~CM_BUF_DIRTY;
  	    bp->flags |= CM_BUF_ERROR;
              bp->dirty_offset = 0;
              bp->dirty_length = 0;
! 	    bp->error = code;
  	    bp->dataVersion = -1; /* bad */
  	    bp->dirtyCounter++;
  	}
***************
*** 1490,1498 ****
              lock_ReleaseMutex(&bp->mx);
  
              code = (*cm_buf_opsp->Stabilizep)(scp, userp, reqp);
!             if (code) 
                  goto skip;
  
              lock_ObtainWrite(&buf_globalLock);
              /* actually, we only know that buffer is clean if ref
               * count is 1, since we don't have buffer itself locked.
--- 1490,1512 ----
              lock_ReleaseMutex(&bp->mx);
  
              code = (*cm_buf_opsp->Stabilizep)(scp, userp, reqp);
!             if (code && code != CM_ERROR_BADFD) 
                  goto skip;
  
+ 	    /* if the scp's FID is bad its because we received VNOVNODE 
+ 	     * when attempting to FetchStatus before the write.  This
+ 	     * page therefore contains data that can no longer be stored.
+ 	     */
+ 	    lock_ObtainMutex(&bp->mx);
+ 	    bp->flags &= ~CM_BUF_DIRTY;
+ 	    bp->flags |= CM_BUF_ERROR;
+ 	    bp->error = code;
+             bp->dirty_offset = 0;
+             bp->dirty_length = 0;
+             bp->dataVersion = -1;	/* known bad */
+             bp->dirtyCounter++;
+ 	    lock_ReleaseMutex(&bp->mx);
+ 
              lock_ObtainWrite(&buf_globalLock);
              /* actually, we only know that buffer is clean if ref
               * count is 1, since we don't have buffer itself locked.
***************
*** 1509,1515 ****
              }
              lock_ReleaseWrite(&buf_globalLock);
  
!             (*cm_buf_opsp->Unstabilizep)(scp, userp);
          }
  
        skip:
--- 1523,1530 ----
              }
              lock_ReleaseWrite(&buf_globalLock);
  
! 	    if (code != CM_ERROR_BADFD)
! 		(*cm_buf_opsp->Unstabilizep)(scp, userp);
          }
  
        skip:
***************
*** 1770,1776 ****
  
      for (bp = cm_data.buf_allp; bp; bp=bp->allp, bcount++) {
  	if (!cm_FidCmp(fidp, &bp->fid) && (bp->flags & CM_BUF_DIRTY)) {
! 		buf_Hold(bp);
  	    lock_ObtainMutex(&bp->mx);
  	    bp->cmFlags &= ~CM_BUF_CMSTORING;
  	    bp->flags &= ~CM_BUF_DIRTY;
--- 1785,1791 ----
  
      for (bp = cm_data.buf_allp; bp; bp=bp->allp, bcount++) {
  	if (!cm_FidCmp(fidp, &bp->fid) && (bp->flags & CM_BUF_DIRTY)) {
!             buf_Hold(bp);
  	    lock_ObtainMutex(&bp->mx);
  	    bp->cmFlags &= ~CM_BUF_CMSTORING;
  	    bp->flags &= ~CM_BUF_DIRTY;
Index: openafs/src/WINNT/afsd/cm_buf.h
diff -c openafs/src/WINNT/afsd/cm_buf.h:1.12.4.6 openafs/src/WINNT/afsd/cm_buf.h:1.12.4.7
*** openafs/src/WINNT/afsd/cm_buf.h:1.12.4.6	Thu Aug  9 01:33:56 2007
--- openafs/src/WINNT/afsd/cm_buf.h	Mon Sep 10 15:08:17 2007
***************
*** 78,85 ****
      cm_user_t *userp;	        /* user who wrote to the buffer last */
          
      /* fields added for the CM; locked by scp->mx */
!     long dataVersion;	        /* data version of this page */
!     long cmFlags;		/* flags for cm */
  
      /* syncop state */
      afs_uint32 waitCount;       /* number of threads waiting */
--- 78,85 ----
      cm_user_t *userp;	        /* user who wrote to the buffer last */
          
      /* fields added for the CM; locked by scp->mx */
!     afs_uint32 dataVersion;	/* data version of this page */
!     afs_uint32 cmFlags;		/* flags for cm */
  
      /* syncop state */
      afs_uint32 waitCount;       /* number of threads waiting */
Index: openafs/src/WINNT/afsd/cm_callback.c
diff -c openafs/src/WINNT/afsd/cm_callback.c:1.41.4.18 openafs/src/WINNT/afsd/cm_callback.c:1.41.4.19
*** openafs/src/WINNT/afsd/cm_callback.c:1.41.4.18	Thu Aug  2 16:46:12 2007
--- openafs/src/WINNT/afsd/cm_callback.c	Thu Sep 13 13:59:21 2007
***************
*** 231,237 ****
   */
  void cm_RevokeVolumeCallback(struct rx_call *callp, cm_cell_t *cellp, AFSFid *fidp)
  {
!     long hash;
      cm_scache_t *scp;
      cm_fid_t tfid;
  
--- 231,237 ----
   */
  void cm_RevokeVolumeCallback(struct rx_call *callp, cm_cell_t *cellp, AFSFid *fidp)
  {
!     unsigned long hash;
      cm_scache_t *scp;
      cm_fid_t tfid;
  
***************
*** 411,417 ****
      struct sockaddr_in taddr;
      cm_server_t *tsp;
      cm_scache_t *scp;
!     int hash;
      int discarded;
      struct rx_connection *connp;
      struct rx_peer *peerp;
--- 411,417 ----
      struct sockaddr_in taddr;
      cm_server_t *tsp;
      cm_scache_t *scp;
!     afs_uint32 hash;
      int discarded;
      struct rx_connection *connp;
      struct rx_peer *peerp;
***************
*** 686,692 ****
  int
  SRXAFSCB_GetCE(struct rx_call *callp, long index, AFSDBCacheEntry *cep)
  {
!     int i;
      cm_scache_t * scp;
      int code;
      struct rx_connection *connp;
--- 686,692 ----
  int
  SRXAFSCB_GetCE(struct rx_call *callp, long index, AFSDBCacheEntry *cep)
  {
!     afs_uint32 i;
      cm_scache_t * scp;
      int code;
      struct rx_connection *connp;
***************
*** 792,798 ****
  int
  SRXAFSCB_GetCE64(struct rx_call *callp, long index, AFSDBCacheEntry64 *cep)
  {
!     int i;
      cm_scache_t * scp;
      int code;
      struct rx_connection *connp;
--- 792,798 ----
  int
  SRXAFSCB_GetCE64(struct rx_call *callp, long index, AFSDBCacheEntry64 *cep)
  {
!     afs_uint32 i;
      cm_scache_t * scp;
      int code;
      struct rx_connection *connp;
***************
*** 1799,1807 ****
  /* called periodically by cm_daemon to shut down use of expired callbacks */
  void cm_CheckCBExpiration(void)
  {
!     int i;
      cm_scache_t *scp;
!     time_t now, downTime = 0;
          
      osi_Log0(afsd_logp, "CheckCBExpiration");
  
--- 1799,1807 ----
  /* called periodically by cm_daemon to shut down use of expired callbacks */
  void cm_CheckCBExpiration(void)
  {
!     afs_uint32 i;
      cm_scache_t *scp;
!     time_t now, downTime;
          
      osi_Log0(afsd_logp, "CheckCBExpiration");
  
***************
*** 1809,1815 ****
      lock_ObtainWrite(&cm_scacheLock);
      for (i=0; i<cm_data.scacheHashTableSize; i++) {
          for (scp = cm_data.scacheHashTablep[i]; scp; scp=scp->nextp) {
! 
              if (scp->cbServerp && scp->cbExpires > 0 && now > scp->cbExpires && 
                   (cm_CBServersUp(scp, &downTime) || downTime == 0 || downTime >= scp->cbExpires)) 
              {
--- 1809,1815 ----
      lock_ObtainWrite(&cm_scacheLock);
      for (i=0; i<cm_data.scacheHashTableSize; i++) {
          for (scp = cm_data.scacheHashTablep[i]; scp; scp=scp->nextp) {
!             downTime = 0;
              if (scp->cbServerp && scp->cbExpires > 0 && now > scp->cbExpires && 
                   (cm_CBServersUp(scp, &downTime) || downTime == 0 || downTime >= scp->cbExpires)) 
              {
***************
*** 1835,1860 ****
  
  
  void 
! cm_GiveUpAllCallbacks(cm_server_t *tsp)
  {
      long code;
      cm_conn_t *connp;
      struct rx_connection * rxconnp;
  
!     if (tsp->type == CM_SERVER_FILE && !(tsp->flags & CM_SERVERFLAG_DOWN)) {
          code = cm_ConnByServer(tsp, cm_rootUserp, &connp);
          if (code == 0) {
              rxconnp = cm_GetRxConn(connp);
              rx_SetConnDeadTime(rxconnp, 10);
! 	    code = RXAFS_GiveUpAllCallBacks(rxconnp);
              rx_SetConnDeadTime(rxconnp, ConnDeadtimeout);
! 	    rx_PutConnection(rxconnp);
          }
      }
  }
  
  void
! cm_GiveUpAllCallbacksAllServers(void)
  {
      cm_server_t *tsp;
  
--- 1835,1893 ----
  
  
  void 
! cm_GiveUpAllCallbacks(cm_server_t *tsp, afs_int32 markDown)
  {
      long code;
      cm_conn_t *connp;
      struct rx_connection * rxconnp;
  
!     if ((tsp->type == CM_SERVER_FILE) && !(tsp->flags & CM_SERVERFLAG_DOWN)) 
!     {
          code = cm_ConnByServer(tsp, cm_rootUserp, &connp);
          if (code == 0) {
              rxconnp = cm_GetRxConn(connp);
              rx_SetConnDeadTime(rxconnp, 10);
!             code = RXAFS_GiveUpAllCallBacks(rxconnp);
              rx_SetConnDeadTime(rxconnp, ConnDeadtimeout);
!             rx_PutConnection(rxconnp);
!         }
! 
!         if (markDown) {
!             cm_server_vols_t * tsrvp;
!             cm_volume_t * volp;
!             int i;
! 
!             lock_ObtainMutex(&tsp->mx);
!             if (!(tsp->flags & CM_SERVERFLAG_DOWN)) {
!                 tsp->flags |= CM_SERVERFLAG_DOWN;
!                 tsp->downTime = osi_Time();
!             }
!             cm_ForceNewConnections(tsp);
!             lock_ReleaseMutex(&tsp->mx);
! 
!             /* Now update the volume status */
!             for (tsrvp = tsp->vols; tsrvp; tsrvp = tsrvp->nextp) {
!                 for (i=0; i<NUM_SERVER_VOLS; i++) {
!                     if (tsrvp->ids[i] != 0) {
!                         cm_req_t req;
! 
!                         cm_InitReq(&req);
! 
!                         code = cm_GetVolumeByID(tsp->cellp, tsrvp->ids[i], cm_rootUserp,
!                                                  &req, CM_GETVOL_FLAG_NO_LRU_UPDATE, &volp);
!                         if (code == 0) {    
!                             cm_UpdateVolumeStatus(volp, tsrvp->ids[i]);
!                             cm_PutVolume(volp);
!                         }
!                     }
!                 }
!             }
          }
      }
  }
  
  void
! cm_GiveUpAllCallbacksAllServers(afs_int32 markDown)
  {
      cm_server_t *tsp;
  
***************
*** 1862,1868 ****
      for (tsp = cm_allServersp; tsp; tsp = tsp->allNextp) {
          cm_GetServerNoLock(tsp);
          lock_ReleaseWrite(&cm_serverLock);
!         cm_GiveUpAllCallbacks(tsp);
          lock_ObtainWrite(&cm_serverLock);
          cm_PutServerNoLock(tsp);
      }
--- 1895,1901 ----
      for (tsp = cm_allServersp; tsp; tsp = tsp->allNextp) {
          cm_GetServerNoLock(tsp);
          lock_ReleaseWrite(&cm_serverLock);
!         cm_GiveUpAllCallbacks(tsp, markDown);
          lock_ObtainWrite(&cm_serverLock);
          cm_PutServerNoLock(tsp);
      }
Index: openafs/src/WINNT/afsd/cm_callback.h
diff -c openafs/src/WINNT/afsd/cm_callback.h:1.7.4.2 openafs/src/WINNT/afsd/cm_callback.h:1.7.4.3
*** openafs/src/WINNT/afsd/cm_callback.h:1.7.4.2	Thu Jun 28 00:50:15 2007
--- openafs/src/WINNT/afsd/cm_callback.h	Thu Sep 13 13:59:21 2007
***************
*** 68,75 ****
  
  extern void cm_CallbackNotifyChange(cm_scache_t *scp);
  
! extern void cm_GiveUpAllCallbacks(cm_server_t *tsp);
  
! extern void cm_GiveUpAllCallbacksAllServers(void);
  
  #endif /*  _CM_CALLBACK_H_ENV__ */
--- 68,75 ----
  
  extern void cm_CallbackNotifyChange(cm_scache_t *scp);
  
! extern void cm_GiveUpAllCallbacks(cm_server_t *tsp, afs_int32 markDown);
  
! extern void cm_GiveUpAllCallbacksAllServers(afs_int32 markDown);
  
  #endif /*  _CM_CALLBACK_H_ENV__ */
Index: openafs/src/WINNT/afsd/cm_conn.c
diff -c openafs/src/WINNT/afsd/cm_conn.c:1.49.2.21 openafs/src/WINNT/afsd/cm_conn.c:1.49.2.22
*** openafs/src/WINNT/afsd/cm_conn.c:1.49.2.21	Tue Aug  7 00:00:49 2007
--- openafs/src/WINNT/afsd/cm_conn.c	Thu Sep 13 13:59:21 2007
***************
*** 552,559 ****
          /* mark server as down */
          lock_ObtainMutex(&serverp->mx);
  	if (reqp->flags & CM_REQ_NEW_CONN_FORCED) {
! 	    serverp->flags |= CM_SERVERFLAG_DOWN;
!             serverp->downTime = osi_Time();
          } else {
  	    reqp->flags |= CM_REQ_NEW_CONN_FORCED;
  	    forcing_new = 1;
--- 552,561 ----
          /* mark server as down */
          lock_ObtainMutex(&serverp->mx);
  	if (reqp->flags & CM_REQ_NEW_CONN_FORCED) {
!             if (!(serverp->flags & CM_SERVERFLAG_DOWN)) {
!                 serverp->flags |= CM_SERVERFLAG_DOWN;
!                 serverp->downTime = osi_Time();
!             }
          } else {
  	    reqp->flags |= CM_REQ_NEW_CONN_FORCED;
  	    forcing_new = 1;
Index: openafs/src/WINNT/afsd/cm_dcache.c
diff -c openafs/src/WINNT/afsd/cm_dcache.c:1.30.2.16 openafs/src/WINNT/afsd/cm_dcache.c:1.30.2.19
*** openafs/src/WINNT/afsd/cm_dcache.c:1.30.2.16	Thu Aug  9 01:33:56 2007
--- openafs/src/WINNT/afsd/cm_dcache.c	Tue Sep 18 12:59:23 2007
***************
*** 57,63 ****
       */
      long code;
      cm_scache_t *scp = vscp;
!     long nbytes;
      long temp;
      AFSFetchStatus outStatus;
      AFSStoreStatus inStatus;
--- 57,63 ----
       */
      long code;
      cm_scache_t *scp = vscp;
!     afs_int32 nbytes;
      long temp;
      AFSFetchStatus outStatus;
      AFSStoreStatus inStatus;
***************
*** 68,74 ****
      struct rx_connection *rxconnp;
      osi_queueData_t *qdp;
      cm_buf_t *bufp;
!     long wbytes;
      char *bufferp;
      cm_conn_t *connp;
      osi_hyper_t truncPos;
--- 68,74 ----
      struct rx_connection *rxconnp;
      osi_queueData_t *qdp;
      cm_buf_t *bufp;
!     afs_uint32 wbytes;
      char *bufferp;
      cm_conn_t *connp;
      osi_hyper_t truncPos;
***************
*** 84,96 ****
       */
  
      lock_ObtainMutex(&scp->mx);
-     cm_AFSFidFromFid(&tfid, &scp->fid);
- 
      if (scp->flags & CM_SCACHEFLAG_DELETED) {
  	lock_ReleaseMutex(&scp->mx);
  	return CM_ERROR_NOSUCHFILE;
      }
  
      code = cm_SetupStoreBIOD(scp, offsetp, length, &biod, userp, reqp);
      if (code) {
          osi_Log1(afsd_logp, "cm_SetupStoreBIOD code %x", code);
--- 84,96 ----
       */
  
      lock_ObtainMutex(&scp->mx);
      if (scp->flags & CM_SCACHEFLAG_DELETED) {
  	lock_ReleaseMutex(&scp->mx);
  	return CM_ERROR_NOSUCHFILE;
      }
  
+     cm_AFSFidFromFid(&tfid, &scp->fid);
+ 
      code = cm_SetupStoreBIOD(scp, offsetp, length, &biod, userp, reqp);
      if (code) {
          osi_Log1(afsd_logp, "cm_SetupStoreBIOD code %x", code);
***************
*** 532,542 ****
  }
  
  /* used when deciding whether to do a prefetch or not */
! long cm_CheckFetchRange(cm_scache_t *scp, osi_hyper_t *startBasep, long length,
!                         cm_user_t *up, cm_req_t *reqp, osi_hyper_t *realBasep)
  {
-     osi_hyper_t toffset;
      osi_hyper_t tbase;
      long code;
      cm_buf_t *bp;
      int stop;
--- 532,543 ----
  }
  
  /* used when deciding whether to do a prefetch or not */
! long cm_CheckFetchRange(cm_scache_t *scp, osi_hyper_t *startBasep, osi_hyper_t *length,
!                         cm_user_t *userp, cm_req_t *reqp, osi_hyper_t *realBasep)
  {
      osi_hyper_t tbase;
+     osi_hyper_t tlength;
+     osi_hyper_t tblocksize;
      long code;
      cm_buf_t *bp;
      int stop;
***************
*** 545,555 ****
       * they need work.
       */
      tbase = *startBasep;
      stop = 0;
      lock_ObtainMutex(&scp->mx);
!     while(length > 0) {
          /* get callback so we can do a meaningful dataVersion comparison */
!         code = cm_SyncOp(scp, NULL, up, reqp, 0,
                           CM_SCACHESYNC_NEEDCALLBACK | CM_SCACHESYNC_GETSTATUS);
          if (code) {
              scp->flags &= ~CM_SCACHEFLAG_PREFETCHING;
--- 546,558 ----
       * they need work.
       */
      tbase = *startBasep;
+     tlength = *length;
+     tblocksize = ConvertLongToLargeInteger(cm_data.buf_blockSize);
      stop = 0;
      lock_ObtainMutex(&scp->mx);
!     while (LargeIntegerGreaterThanZero(tlength)) {
          /* get callback so we can do a meaningful dataVersion comparison */
!         code = cm_SyncOp(scp, NULL, userp, reqp, 0,
                           CM_SCACHESYNC_NEEDCALLBACK | CM_SCACHESYNC_GETSTATUS);
          if (code) {
              scp->flags &= ~CM_SCACHEFLAG_PREFETCHING;
***************
*** 580,592 ****
          if (stop) 
              break;
                  
!         toffset.LowPart = cm_data.buf_blockSize;
!         toffset.HighPart = 0;
!         tbase = LargeIntegerAdd(toffset, tbase);
!         length -= cm_data.buf_blockSize;
      }
          
!     /* if we get here, either everything is fine or stop stopped us at a
       * particular buffer in the range that definitely needs to be fetched.
       */
      if (stop == 0) {
--- 583,593 ----
          if (stop) 
              break;
                  
!         tbase = LargeIntegerAdd(tbase, tblocksize);
!         tlength = LargeIntegerSubtract(tlength,  tblocksize);
      }
          
!     /* if we get here, either everything is fine or 'stop' stopped us at a
       * particular buffer in the range that definitely needs to be fetched.
       */
      if (stop == 0) {
***************
*** 639,657 ****
  }
  
  /* Called with scp locked */
! void cm_ClearPrefetchFlag(long code, cm_scache_t *scp, osi_hyper_t *base)
  {
!     osi_hyper_t thyper;
  
      if (code == 0) {
!         thyper.LowPart = cm_chunkSize;
!         thyper.HighPart = 0;
!         thyper =  LargeIntegerAdd(*base, thyper);
!         thyper.LowPart &= (-cm_chunkSize);
          if (LargeIntegerGreaterThan(*base, scp->prefetch.base))
              scp->prefetch.base = *base;
!         if (LargeIntegerGreaterThan(thyper, scp->prefetch.end))
!             scp->prefetch.end = thyper;
      }
      scp->flags &= ~CM_SCACHEFLAG_PREFETCHING;
  }
--- 640,655 ----
  }
  
  /* Called with scp locked */
! void cm_ClearPrefetchFlag(long code, cm_scache_t *scp, osi_hyper_t *base, osi_hyper_t *length)
  {
!     osi_hyper_t end;
  
      if (code == 0) {
!         end =  LargeIntegerAdd(*base, *length);
          if (LargeIntegerGreaterThan(*base, scp->prefetch.base))
              scp->prefetch.base = *base;
!         if (LargeIntegerGreaterThan(end, scp->prefetch.end))
!             scp->prefetch.end = end;
      }
      scp->flags &= ~CM_SCACHEFLAG_PREFETCHING;
  }
***************
*** 662,672 ****
  cm_BkgPrefetch(cm_scache_t *scp, afs_uint32 p1, afs_uint32 p2, afs_uint32 p3, afs_uint32 p4,
  	       cm_user_t *userp)
  {
!     long length;
      osi_hyper_t base;
      long code;
      cm_buf_t *bp = NULL;
-     int cpff = 0;			/* cleared prefetch flag */
      cm_req_t req;
  
      cm_InitReq(&req);
--- 660,674 ----
  cm_BkgPrefetch(cm_scache_t *scp, afs_uint32 p1, afs_uint32 p2, afs_uint32 p3, afs_uint32 p4,
  	       cm_user_t *userp)
  {
!     osi_hyper_t length;
      osi_hyper_t base;
+     osi_hyper_t offset;
+     osi_hyper_t end;
+     osi_hyper_t fetched;
+     osi_hyper_t tblocksize;
      long code;
+     int mxheld = 0;
      cm_buf_t *bp = NULL;
      cm_req_t req;
  
      cm_InitReq(&req);
***************
*** 674,707 ****
      /* Retries will be performed by the BkgDaemon thread if appropriate */
      req.flags |= CM_REQ_NORETRY;
          
      base.LowPart = p1;
      base.HighPart = p2;
!     length = p3;
          
!     osi_Log2(afsd_logp, "Starting BKG prefetch scp 0x%p, base 0x%x", scp, p1);
  
!     code = buf_Get(scp, &base, &bp);
  
!     lock_ObtainMutex(&scp->mx);
  
!     if (code || (bp->cmFlags & CM_BUF_CMFETCHING)) {
!         scp->flags &= ~CM_SCACHEFLAG_PREFETCHING;
!         lock_ReleaseMutex(&scp->mx);
! 	if (bp)
! 	    buf_Release(bp);
!         return 0;
      }
! 
!     code = cm_GetBuffer(scp, bp, &cpff, userp, &req);
!     if (!cpff) 
!         cm_ClearPrefetchFlag(code, scp, &base);
      lock_ReleaseMutex(&scp->mx);
!     buf_Release(bp);
      return code;
  }
  
  /* a read was issued to offsetp, and we have to determine whether we should
!  * do a prefetch.
   */
  void cm_ConsiderPrefetch(cm_scache_t *scp, osi_hyper_t *offsetp,
                           cm_user_t *userp, cm_req_t *reqp)
--- 676,740 ----
      /* Retries will be performed by the BkgDaemon thread if appropriate */
      req.flags |= CM_REQ_NORETRY;
          
+     fetched.LowPart = 0;
+     fetched.HighPart = 0;
+     tblocksize = ConvertLongToLargeInteger(cm_data.buf_blockSize);
      base.LowPart = p1;
      base.HighPart = p2;
!     length.LowPart = p3;
!     length.HighPart = p4;
! 
!     end = LargeIntegerAdd(base, length);
          
!     osi_Log3(afsd_logp, "Starting BKG prefetch scp 0x%p, base 0x%x:%x", scp, p2, p1);
  
!     for (code = 0, offset = base;
!           code == 0 && LargeIntegerLessThan(offset, end); 
!           offset = LargeIntegerAdd(offset, tblocksize))
!     {
!         if (mxheld) {
!             lock_ReleaseMutex(&scp->mx);
!             mxheld = 0;
!         }
!         code = buf_Get(scp, &base, &bp);
!         if (!mxheld) {
!             lock_ObtainMutex(&scp->mx);
!             mxheld = 1;
!         }
  
!         if (code || (bp->cmFlags & CM_BUF_CMFETCHING)) {
!             code = 0;
!             if (bp) {
!                 buf_Release(bp);
!                 bp = NULL;
!             }
!             break;
!         }
  
!         code = cm_GetBuffer(scp, bp, NULL, userp, &req);
!         if (code == 0)
!             fetched = LargeIntegerAdd(fetched, tblocksize); 
      }
!     
!     if (!mxheld) {
!         lock_ObtainMutex(&scp->mx);
!         mxheld = 1;
!     }
!     cm_ClearPrefetchFlag(LargeIntegerGreaterThanZero(fetched) ? 0 : code, 
!                          scp, &base, &fetched);
      lock_ReleaseMutex(&scp->mx);
!     if (bp) {
!         buf_Release(bp);
!         bp = NULL;
!     }
! 
!     osi_Log4(afsd_logp, "Ending BKG prefetch scp 0x%p, code %d bytes 0x%x:%x", 
!               scp, code, fetched.HighPart, fetched.LowPart);
      return code;
  }
  
  /* a read was issued to offsetp, and we have to determine whether we should
!  * do a prefetch of the next chunk.
   */
  void cm_ConsiderPrefetch(cm_scache_t *scp, osi_hyper_t *offsetp,
                           cm_user_t *userp, cm_req_t *reqp)
***************
*** 709,720 ****
--- 742,756 ----
      long code;
      osi_hyper_t realBase;
      osi_hyper_t readBase;
+     osi_hyper_t readLength;
          
      readBase = *offsetp;
      /* round up to chunk boundary */
      readBase.LowPart += (cm_chunkSize-1);
      readBase.LowPart &= (-cm_chunkSize);
  
+     readLength = ConvertLongToLargeInteger(cm_chunkSize);
+ 
      lock_ObtainMutex(&scp->mx);
      if ((scp->flags & CM_SCACHEFLAG_PREFETCHING)
           || LargeIntegerLessThanOrEqualTo(readBase, scp->prefetch.base)) {
***************
*** 731,737 ****
  
      lock_ReleaseMutex(&scp->mx);
  
!     code = cm_CheckFetchRange(scp, &readBase, cm_chunkSize, userp, reqp,
                                &realBase);
      if (code) 
          return;	/* can't find something to prefetch */
--- 767,773 ----
  
      lock_ReleaseMutex(&scp->mx);
  
!     code = cm_CheckFetchRange(scp, &readBase, &readLength, userp, reqp,
                                &realBase);
      if (code) 
          return;	/* can't find something to prefetch */
***************
*** 739,746 ****
      osi_Log2(afsd_logp, "BKG Prefetch request scp 0x%p, base 0x%x",
               scp, realBase.LowPart);
  
!     cm_QueueBKGRequest(scp, cm_BkgPrefetch, realBase.LowPart,
!                        realBase.HighPart, cm_chunkSize, 0, userp);
  }
  
  /* scp must be locked; temporarily unlocked during processing.
--- 775,784 ----
      osi_Log2(afsd_logp, "BKG Prefetch request scp 0x%p, base 0x%x",
               scp, realBase.LowPart);
  
!     cm_QueueBKGRequest(scp, cm_BkgPrefetch, 
!                        realBase.LowPart, realBase.HighPart, 
!                        readLength.LowPart, readLength.HighPart, 
!                        userp);
  }
  
  /* scp must be locked; temporarily unlocked during processing.
***************
*** 783,790 ****
  
      bufp = NULL;
      for (temp = 0; temp < inSize; temp += cm_data.buf_blockSize) {
!         thyper.HighPart = 0;
!         thyper.LowPart = temp;
          tbase = LargeIntegerAdd(*inOffsetp, thyper);
  
          bufp = buf_Find(scp, &tbase);
--- 821,827 ----
  
      bufp = NULL;
      for (temp = 0; temp < inSize; temp += cm_data.buf_blockSize) {
!         thyper = ConvertLongToLargeInteger(temp);
          tbase = LargeIntegerAdd(*inOffsetp, thyper);
  
          bufp = buf_Find(scp, &tbase);
***************
*** 799,804 ****
--- 836,842 ----
              if (code) {
                  lock_ReleaseMutex(&bufp->mx);
                  buf_Release(bufp);
+                 bufp = NULL;
                  buf_UnreserveBuffers(cm_chunkSize / cm_data.buf_blockSize);
                  return code;
              }   
***************
*** 846,853 ****
      /* compute the window surrounding *inOffsetp of size cm_chunkSize */
      scanStart = *inOffsetp;
      scanStart.LowPart &= (-cm_chunkSize);
!     thyper.LowPart = cm_chunkSize;
!     thyper.HighPart = 0;
      scanEnd = LargeIntegerAdd(scanStart, thyper);
  
      flags = CM_SCACHESYNC_GETSTATUS
--- 884,890 ----
      /* compute the window surrounding *inOffsetp of size cm_chunkSize */
      scanStart = *inOffsetp;
      scanStart.LowPart &= (-cm_chunkSize);
!     thyper = ConvertLongToLargeInteger(cm_chunkSize);
      scanEnd = LargeIntegerAdd(scanStart, thyper);
  
      flags = CM_SCACHESYNC_GETSTATUS
***************
*** 856,863 ****
          | CM_SCACHESYNC_NOWAIT;
  
      /* start by looking backwards until scanStart */
!     thyper.HighPart = 0;		/* hyper version of cm_data.buf_blockSize */
!     thyper.LowPart = cm_data.buf_blockSize;
      tbase = LargeIntegerSubtract(firstModOffset, thyper);
      while(LargeIntegerGreaterThanOrEqualTo(tbase, scanStart)) {
          /* see if we can find the buffer */
--- 893,900 ----
          | CM_SCACHESYNC_NOWAIT;
  
      /* start by looking backwards until scanStart */
!     /* hyper version of cm_data.buf_blockSize */
!     thyper = ConvertLongToLargeInteger(cm_data.buf_blockSize);
      tbase = LargeIntegerSubtract(firstModOffset, thyper);
      while(LargeIntegerGreaterThanOrEqualTo(tbase, scanStart)) {
          /* see if we can find the buffer */
***************
*** 916,923 ****
      }	/* while loop looking for pages preceding the one we found */
  
      /* now, find later dirty, contiguous pages, and add them to the list */
!     thyper.HighPart = 0;		/* hyper version of cm_data.buf_blockSize */
!     thyper.LowPart = cm_data.buf_blockSize;
      tbase = LargeIntegerAdd(firstModOffset, thyper);
      while(LargeIntegerLessThan(tbase, scanEnd)) {
          /* see if we can find the buffer */
--- 953,960 ----
      }	/* while loop looking for pages preceding the one we found */
  
      /* now, find later dirty, contiguous pages, and add them to the list */
!     /* hyper version of cm_data.buf_blockSize */
!     thyper = ConvertLongToLargeInteger(cm_data.buf_blockSize);
      tbase = LargeIntegerAdd(firstModOffset, thyper);
      while(LargeIntegerLessThan(tbase, scanEnd)) {
          /* see if we can find the buffer */
***************
*** 984,994 ****
   * If an error is returned, we don't return any buffers.
   */
  long cm_SetupFetchBIOD(cm_scache_t *scp, osi_hyper_t *offsetp,
! 			cm_bulkIO_t *biop, cm_user_t *up, cm_req_t *reqp)
  {
      long code;
      cm_buf_t *tbp;
!     osi_hyper_t toffset;		/* a long long temp variable */
      osi_hyper_t pageBase;		/* base offset we're looking at */
      osi_queueData_t *qdp;		/* one temp queue structure */
      osi_queueData_t *tqdp;		/* another temp queue structure */
--- 1021,1031 ----
   * If an error is returned, we don't return any buffers.
   */
  long cm_SetupFetchBIOD(cm_scache_t *scp, osi_hyper_t *offsetp,
! 			cm_bulkIO_t *biop, cm_user_t *userp, cm_req_t *reqp)
  {
      long code;
      cm_buf_t *tbp;
!     osi_hyper_t tblocksize;		/* a long long temp variable */
      osi_hyper_t pageBase;		/* base offset we're looking at */
      osi_queueData_t *qdp;		/* one temp queue structure */
      osi_queueData_t *tqdp;		/* another temp queue structure */
***************
*** 1000,1005 ****
--- 1037,1044 ----
      osi_queueData_t *heldBufListEndp;	/* first one */
      int reserving;
  
+     tblocksize = ConvertLongToLargeInteger(cm_data.buf_blockSize);
+ 
      biop->scp = scp;			/* do not hold; held by caller */
      biop->offset = *offsetp;
      /* null out the list of buffers */
***************
*** 1007,1013 ****
      biop->reserved = 0;
  
      /* first lookup the file's length, so we know when to stop */
!     code = cm_SyncOp(scp, NULL, up, reqp, 0, 
                       CM_SCACHESYNC_NEEDCALLBACK | CM_SCACHESYNC_GETSTATUS);
      if (code) 
          return code;
--- 1046,1052 ----
      biop->reserved = 0;
  
      /* first lookup the file's length, so we know when to stop */
!     code = cm_SyncOp(scp, NULL, userp, reqp, 0, 
                       CM_SCACHESYNC_NEEDCALLBACK | CM_SCACHESYNC_GETSTATUS);
      if (code) 
          return code;
***************
*** 1061,1070 ****
          }
                  
          buf_Release(tbp);
  
!         toffset.HighPart = 0;
!         toffset.LowPart = cm_data.buf_blockSize;
!         pageBase = LargeIntegerAdd(toffset, pageBase);
          collected += cm_data.buf_blockSize;
      }
  
--- 1100,1108 ----
          }
                  
          buf_Release(tbp);
+         tbp = NULL;
  
!         pageBase = LargeIntegerAdd(tblocksize, pageBase);
          collected += cm_data.buf_blockSize;
      }
  
***************
*** 1102,1110 ****
              break;
  
          collected += cm_data.buf_blockSize;
!         toffset.HighPart = 0;
!         toffset.LowPart = cm_data.buf_blockSize;
!         pageBase = LargeIntegerAdd(toffset, pageBase);
      }
  
      /* look at each buffer, adding it into the list if it looks idle and
--- 1140,1146 ----
              break;
  
          collected += cm_data.buf_blockSize;
!         pageBase = LargeIntegerAdd(tblocksize, pageBase);
      }
  
      /* look at each buffer, adding it into the list if it looks idle and
***************
*** 1140,1146 ****
          /* wait for the buffer to serialize, if required.  Doesn't
           * release the scp or buffer lock(s) if NOWAIT is specified.
           */
!         code = cm_SyncOp(scp, tbp, up, reqp, 0, flags);
          if (code) {
              lock_ReleaseMutex(&scp->mx);
              lock_ReleaseMutex(&tbp->mx);
--- 1176,1182 ----
          /* wait for the buffer to serialize, if required.  Doesn't
           * release the scp or buffer lock(s) if NOWAIT is specified.
           */
!         code = cm_SyncOp(scp, tbp, userp, reqp, 0, flags);
          if (code) {
              lock_ReleaseMutex(&scp->mx);
              lock_ReleaseMutex(&tbp->mx);
***************
*** 1186,1191 ****
--- 1222,1228 ----
  		      &qdp->q);
          osi_QDFree(qdp);
          buf_Release(tbp);
+         tbp = NULL;
      }
  
      /* Caller expects this */
***************
*** 1279,1285 ****
  /* Fetch a buffer.  Called with scp locked.
   * The scp is locked on return.
   */
! long cm_GetBuffer(cm_scache_t *scp, cm_buf_t *bufp, int *cpffp, cm_user_t *up,
                    cm_req_t *reqp)
  {
      long code;
--- 1316,1322 ----
  /* Fetch a buffer.  Called with scp locked.
   * The scp is locked on return.
   */
! long cm_GetBuffer(cm_scache_t *scp, cm_buf_t *bufp, int *cpffp, cm_user_t *userp,
                    cm_req_t *reqp)
  {
      long code;
***************
*** 1300,1306 ****
      cm_bulkIO_t biod;		/* bulk IO descriptor */
      cm_conn_t *connp;
      int getroot;
!     long t1, t2;
      int require_64bit_ops = 0;
  
      /* now, the buffer may or may not be filled with good data (buf_GetNew
--- 1337,1343 ----
      cm_bulkIO_t biod;		/* bulk IO descriptor */
      cm_conn_t *connp;
      int getroot;
!     afs_int32 t1,t2;
      int require_64bit_ops = 0;
  
      /* now, the buffer may or may not be filled with good data (buf_GetNew
***************
*** 1321,1330 ****
  
      cm_AFSFidFromFid(&tfid, &scp->fid);
  
!     code = cm_SetupFetchBIOD(scp, &bufp->offset, &biod, up, reqp);
      if (code) {
          /* couldn't even get the first page setup properly */
!         osi_Log1(afsd_logp, "SetupFetchBIOD failure code %d", code);
          return code;
      }
  
--- 1358,1367 ----
  
      cm_AFSFidFromFid(&tfid, &scp->fid);
  
!     code = cm_SetupFetchBIOD(scp, &bufp->offset, &biod, userp, reqp);
      if (code) {
          /* couldn't even get the first page setup properly */
!         osi_Log1(afsd_logp, "GetBuffer: SetupFetchBIOD failure code %d", code);
          return code;
      }
  
***************
*** 1336,1347 ****
       * which case we just retry.
       */
      if (bufp->dataVersion == scp->dataVersion || biod.length == 0) {
!         osi_Log3(afsd_logp, "Bad DVs %d, %d or length 0x%x",
!                  bufp->dataVersion, scp->dataVersion, biod.length);
!         if ((bufp->dataVersion == -1
!              || bufp->dataVersion < scp->dataVersion)
!              && LargeIntegerGreaterThanOrEqualTo(bufp->offset,
!                                                  scp->serverLength)) {
              if (bufp->dataVersion == -1)
                  memset(bufp->datap, 0, cm_data.buf_blockSize);
              bufp->dataVersion = scp->dataVersion;
--- 1373,1384 ----
       * which case we just retry.
       */
      if (bufp->dataVersion == scp->dataVersion || biod.length == 0) {
!         if ((bufp->dataVersion == -1 || bufp->dataVersion < scp->dataVersion) && 
!              LargeIntegerGreaterThanOrEqualTo(bufp->offset, scp->serverLength)) 
!         {
!             osi_Log3(afsd_logp, "Bad DVs %d, %d or length 0x%x",
!                       bufp->dataVersion, scp->dataVersion, biod.length);
! 
              if (bufp->dataVersion == -1)
                  memset(bufp->datap, 0, cm_data.buf_blockSize);
              bufp->dataVersion = scp->dataVersion;
***************
*** 1408,1414 ****
              bufferp=tbufp->datap;
              memset(bufferp, 0, cm_data.buf_blockSize);
              t2 = cm_fakeDirSize - t1;
!             if (t2>cm_data.buf_blockSize) t2=cm_data.buf_blockSize;
              if (t2 > 0) {
                  memcpy(bufferp, cm_FakeRootDir+t1, t2);
              } else {
--- 1445,1452 ----
              bufferp=tbufp->datap;
              memset(bufferp, 0, cm_data.buf_blockSize);
              t2 = cm_fakeDirSize - t1;
!             if (t2> (afs_int32)cm_data.buf_blockSize) 
!                 t2=cm_data.buf_blockSize;
              if (t2 > 0) {
                  memcpy(bufferp, cm_FakeRootDir+t1, t2);
              } else {
***************
*** 1431,1437 ****
  
  	/* now make the call */
      do {
!         code = cm_ConnFromFID(&scp->fid, up, reqp, &connp);
          if (code) 
              continue;
  
--- 1469,1475 ----
  
  	/* now make the call */
      do {
!         code = cm_ConnFromFID(&scp->fid, userp, reqp, &connp);
          if (code) 
              continue;
  
***************
*** 1557,1564 ****
                      osi_Wakeup((LONG_PTR) &scp->flags);
                  }
                  if (cpffp && !*cpffp && !osi_QPrev(&qdp->q)) {
                      *cpffp = 1;
!                     cm_ClearPrefetchFlag(0, scp, &biod.offset);
                  }
                  lock_ReleaseMutex(&scp->mx);
  
--- 1595,1603 ----
                      osi_Wakeup((LONG_PTR) &scp->flags);
                  }
                  if (cpffp && !*cpffp && !osi_QPrev(&qdp->q)) {
+                     osi_hyper_t tlength = ConvertLongToLargeInteger(biod.length);
                      *cpffp = 1;
!                     cm_ClearPrefetchFlag(0, scp, &biod.offset, &tlength);
                  }
                  lock_ReleaseMutex(&scp->mx);
  
***************
*** 1623,1629 ****
  
          osi_Log0(afsd_logp, "CALL FetchData DONE");
  
!     } while (cm_Analyze(connp, up, reqp, &scp->fid, &volSync, NULL, NULL, code));
  
    fetchingcompleted:
      code = cm_MapRPCError(code, reqp);
--- 1662,1668 ----
  
          osi_Log0(afsd_logp, "CALL FetchData DONE");
  
!     } while (cm_Analyze(connp, userp, reqp, &scp->fid, &volSync, NULL, NULL, code));
  
    fetchingcompleted:
      code = cm_MapRPCError(code, reqp);
***************
*** 1658,1664 ****
      lock_ObtainMutex(&scp->mx);
  
      if (code == 0) 
!         cm_MergeStatus(NULL, scp, &afsStatus, &volSync, up, 0);
      
      return code;
  }
--- 1697,1703 ----
      lock_ObtainMutex(&scp->mx);
  
      if (code == 0) 
!         cm_MergeStatus(NULL, scp, &afsStatus, &volSync, userp, 0);
      
      return code;
  }
Index: openafs/src/WINNT/afsd/cm_dcache.h
diff -c openafs/src/WINNT/afsd/cm_dcache.h:1.4.4.3 openafs/src/WINNT/afsd/cm_dcache.h:1.4.4.4
*** openafs/src/WINNT/afsd/cm_dcache.h:1.4.4.3	Sun Feb  4 10:39:14 2007
--- openafs/src/WINNT/afsd/cm_dcache.h	Mon Sep 10 15:08:17 2007
***************
*** 32,38 ****
  	struct cm_user *, struct cm_req *);
  
  extern long cm_CheckFetchRange(cm_scache_t *scp, osi_hyper_t *startBasep,
! 	long length, cm_user_t *up, cm_req_t *reqp, osi_hyper_t *realBasep);
  
  extern long cm_SetupFetchBIOD(cm_scache_t *scp, osi_hyper_t *offsetp,
  	cm_bulkIO_t *biop, cm_user_t *up, cm_req_t *reqp);
--- 32,39 ----
  	struct cm_user *, struct cm_req *);
  
  extern long cm_CheckFetchRange(cm_scache_t *scp, osi_hyper_t *startBasep,
!                                osi_hyper_t *length, cm_user_t *up, 
!                                cm_req_t *reqp, osi_hyper_t *realBasep);
  
  extern long cm_SetupFetchBIOD(cm_scache_t *scp, osi_hyper_t *offsetp,
  	cm_bulkIO_t *biop, cm_user_t *up, cm_req_t *reqp);
Index: openafs/src/WINNT/afsd/cm_dir.c
diff -c openafs/src/WINNT/afsd/cm_dir.c:1.4.4.4 openafs/src/WINNT/afsd/cm_dir.c:1.4.4.6
*** openafs/src/WINNT/afsd/cm_dir.c:1.4.4.4	Tue Aug 28 13:50:06 2007
--- openafs/src/WINNT/afsd/cm_dir.c	Wed Sep 19 23:55:42 2007
***************
*** 34,45 ****
  afs_uint64 dir_create_time = 0;
  afs_uint64 dir_remove_time = 0;
  
! afs_int32  cm_BPlusTrees = 0;
  
  void cm_DirDumpStats(void)
  {
      afsi_log("Dir Lookup   Hits: %-8d", dir_lookup_hits);
      afsi_log("           Misses: %-8d", dir_lookup_misses);
      afsi_log("           Create: %-8d", dir_create_entry);
      afsi_log("           Remove: %-8d", dir_remove_entry);
  
--- 34,74 ----
  afs_uint64 dir_create_time = 0;
  afs_uint64 dir_remove_time = 0;
  
! afs_uint64 dir_enums = 0;
! 
! afs_int32  cm_BPlusTrees = 1;
! 
! int cm_MemDumpDirStats(FILE *outputFile, char *cookie, int lock)
! {
!     int zilch;
!     char output[128];
! 
!     sprintf(output, "%s - Dir Lookup   Hits: %-8d\r\n", cookie, dir_lookup_hits);
!     WriteFile(outputFile, output, (DWORD)strlen(output), &zilch, NULL);
!     sprintf(output, "%s -            Misses: %-8d\r\n", cookie, dir_lookup_misses);
!     WriteFile(outputFile, output, (DWORD)strlen(output), &zilch, NULL);
!     sprintf(output, "%s -             Enums: %-8d\r\n", cookie, dir_enums);
!     WriteFile(outputFile, output, (DWORD)strlen(output), &zilch, NULL);
!     sprintf(output, "%s -            Create: %-8d\r\n", cookie, dir_create_entry);
!     WriteFile(outputFile, output, (DWORD)strlen(output), &zilch, NULL);
!     sprintf(output, "%s -            Remove: %-8d\r\n", cookie, dir_remove_entry);
!     WriteFile(outputFile, output, (DWORD)strlen(output), &zilch, NULL);
! 
!     sprintf(output, "%s - Dir Times  Lookup: %-16I64d\r\n", cookie, dir_lookup_time);
!     WriteFile(outputFile, output, (DWORD)strlen(output), &zilch, NULL);
!     sprintf(output, "%s -            Create: %-16I64d\r\n", cookie, dir_create_time);
!     WriteFile(outputFile, output, (DWORD)strlen(output), &zilch, NULL);
!     sprintf(output, "%s -            Remove: %-16I64d\r\n", cookie, dir_remove_time);
!     WriteFile(outputFile, output, (DWORD)strlen(output), &zilch, NULL);
! 
!     return(0);
! }
  
  void cm_DirDumpStats(void)
  {
      afsi_log("Dir Lookup   Hits: %-8d", dir_lookup_hits);
      afsi_log("           Misses: %-8d", dir_lookup_misses);
+     afsi_log("            Enums: %-8d", dir_enums);
      afsi_log("           Create: %-8d", dir_create_entry);
      afsi_log("           Remove: %-8d", dir_remove_entry);
  
Index: openafs/src/WINNT/afsd/cm_dir.h
diff -c openafs/src/WINNT/afsd/cm_dir.h:1.4.4.3 openafs/src/WINNT/afsd/cm_dir.h:1.4.4.5
*** openafs/src/WINNT/afsd/cm_dir.h:1.4.4.3	Thu Aug 23 23:21:49 2007
--- openafs/src/WINNT/afsd/cm_dir.h	Wed Sep 19 23:55:42 2007
***************
*** 182,185 ****
--- 182,190 ----
  
  extern void
  cm_DirDumpStats(void);
+ 
+ extern int
+ cm_MemDumpDirStats(FILE *outputFile, char *cookie, int lock);
+ 
+ extern afs_int64 dir_enums;
  #endif /*  __CM_DIR_ENV__ */
Index: openafs/src/WINNT/afsd/cm_ioctl.c
diff -c openafs/src/WINNT/afsd/cm_ioctl.c:1.73.2.19 openafs/src/WINNT/afsd/cm_ioctl.c:1.73.2.20
*** openafs/src/WINNT/afsd/cm_ioctl.c:1.73.2.19	Sun Jul 22 19:10:17 2007
--- openafs/src/WINNT/afsd/cm_ioctl.c	Wed Sep 19 23:55:42 2007
***************
*** 2756,2761 ****
--- 2756,2763 ----
  #endif
    
      /* dump all interesting data */
+     cm_MemDumpDirStats(hLogFile, cookie, 1);
+     cm_MemDumpBPlusStats(hLogFile, cookie, 1);
      cm_DumpCells(hLogFile, cookie, 1);
      cm_DumpVolumes(hLogFile, cookie, 1);
      cm_DumpSCache(hLogFile, cookie, 1);
Index: openafs/src/WINNT/afsd/cm_scache.c
diff -c openafs/src/WINNT/afsd/cm_scache.c:1.35.2.42 openafs/src/WINNT/afsd/cm_scache.c:1.35.2.44
*** openafs/src/WINNT/afsd/cm_scache.c:1.35.2.42	Thu Aug 23 23:21:49 2007
--- openafs/src/WINNT/afsd/cm_scache.c	Thu Sep 13 13:59:21 2007
***************
*** 474,491 ****
  cm_SuspendSCache(void)
  {
      cm_scache_t * scp;
  
!     cm_GiveUpAllCallbacksAllServers();
  
      lock_ObtainWrite(&cm_scacheLock);
!     for ( scp = cm_data.allSCachesp; scp;
!           scp = scp->allNextp ) {
!         if (scp->cbServerp) {
!             cm_PutServer(scp->cbServerp);
!             scp->cbServerp = NULL;
!         }
!         scp->cbExpires = 0;
!         scp->flags &= ~CM_SCACHEFLAG_CALLBACK;
      }
      lock_ReleaseWrite(&cm_scacheLock);
  }
--- 474,499 ----
  cm_SuspendSCache(void)
  {
      cm_scache_t * scp;
+     time_t now;
  
!     cm_GiveUpAllCallbacksAllServers(TRUE);
! 
!     /* 
!      * After this call all servers are marked down.
!      * Do not clear the callbacks, instead change the
!      * expiration time so that the callbacks will be expired
!      * when the servers are marked back up.  However, we
!      * want the callbacks to be preserved as long as the 
!      * servers are down.  That way if the machine resumes
!      * without network, the stat cache item will still be
!      * considered valid.
!      */
!     now = osi_Time();
  
      lock_ObtainWrite(&cm_scacheLock);
!     for ( scp = cm_data.allSCachesp; scp; scp = scp->allNextp ) {
!         if (scp->cbServerp)
!             scp->cbExpires = now+1;
      }
      lock_ReleaseWrite(&cm_scacheLock);
  }
***************
*** 524,530 ****
      }
      lock_ReleaseWrite(&cm_scacheLock);
  
!     cm_GiveUpAllCallbacksAllServers();
  
      return cm_dnlcShutdown();
  }
--- 532,538 ----
      }
      lock_ReleaseWrite(&cm_scacheLock);
  
!     cm_GiveUpAllCallbacksAllServers(FALSE);
  
      return cm_dnlcShutdown();
  }
Index: openafs/src/WINNT/afsd/cm_scache.h
diff -c openafs/src/WINNT/afsd/cm_scache.h:1.21.2.14 openafs/src/WINNT/afsd/cm_scache.h:1.21.2.15
*** openafs/src/WINNT/afsd/cm_scache.h:1.21.2.14	Thu Aug 23 23:21:49 2007
--- openafs/src/WINNT/afsd/cm_scache.h	Mon Sep 10 15:08:17 2007
***************
*** 14,20 ****
  #include "largeint95.h"
  #endif /* DJGPP */
  
! #define MOUNTPOINTLEN   1024
  
  typedef struct cm_fid {
  	unsigned long cell;
--- 14,20 ----
  #include "largeint95.h"
  #endif /* DJGPP */
  
! #define MOUNTPOINTLEN   1024    /* max path length for symlink; same as AFSPATHMAX */
  
  typedef struct cm_fid {
  	unsigned long cell;
Index: openafs/src/WINNT/afsd/cm_server.c
diff -c openafs/src/WINNT/afsd/cm_server.c:1.25.2.12 openafs/src/WINNT/afsd/cm_server.c:1.25.2.13
*** openafs/src/WINNT/afsd/cm_server.c:1.25.2.12	Thu Aug  2 16:46:12 2007
--- openafs/src/WINNT/afsd/cm_server.c	Thu Sep 13 13:59:21 2007
***************
*** 152,159 ****
          }
      } else {
  	/* mark server as down */
! 	tsp->flags |= CM_SERVERFLAG_DOWN;
!         tsp->downTime = osi_Time();
  	if (code != VRESTARTING)
  	    cm_ForceNewConnections(tsp);
  
--- 152,161 ----
          }
      } else {
  	/* mark server as down */
!         if (!(tsp->flags & CM_SERVERFLAG_DOWN)) {
!             tsp->flags |= CM_SERVERFLAG_DOWN;
!             tsp->downTime = osi_Time();
!         }
  	if (code != VRESTARTING)
  	    cm_ForceNewConnections(tsp);
  
Index: openafs/src/WINNT/afsd/cm_vnodeops.c
diff -c openafs/src/WINNT/afsd/cm_vnodeops.c:1.69.2.41 openafs/src/WINNT/afsd/cm_vnodeops.c:1.69.2.44
*** openafs/src/WINNT/afsd/cm_vnodeops.c:1.69.2.41	Sun Aug 26 20:05:24 2007
--- openafs/src/WINNT/afsd/cm_vnodeops.c	Wed Sep 12 21:41:44 2007
***************
*** 666,672 ****
                          return 0;
                      }
                      
!                     return CM_ERROR_NOSUCHFILE;
                  }
  #endif 
              }
--- 666,672 ----
                          return 0;
                      }
                      
!                     return CM_ERROR_BPLUS_NOMATCH;
                  }
  #endif 
              }
***************
*** 1076,1082 ****
--- 1076,1084 ----
          strncpy(cellNamep, mpNamep+1, cp - mpNamep - 1);
          strcpy(volNamep, cp+1);
          /* now look up the cell */
+         lock_ReleaseMutex(&scp->mx);
          cellp = cm_GetCell(cellNamep, CM_FLAG_CREATE);
+         lock_ObtainMutex(&scp->mx);
      }
      else {
          /* normal mt pt */
***************
*** 1224,1230 ****
                  goto haveFid;
              }
              
!             return CM_ERROR_NOSUCHFILE;
          }
  #endif
      }
--- 1226,1232 ----
                  goto haveFid;
              }
              
!             return CM_ERROR_BPLUS_NOMATCH;
          }
  #endif
      }
***************
*** 1500,1506 ****
  #endif
  {
      long code;
!     char tname[256];
      int sysNameIndex = 0;
      cm_scache_t *scp = NULL;
  
--- 1502,1508 ----
  #endif
  {
      long code;
!     char tname[AFSPATHMAX];
      int sysNameIndex = 0;
      cm_scache_t *scp = NULL;
  
***************
*** 1621,1628 ****
      else
          osi_Log0(afsd_logp, "CALL RemoveFile SUCCESS");
  
!     lock_ObtainWrite(&dscp->dirlock);
!     dirop.lockType = CM_DIRLOCK_WRITE;
      lock_ObtainMutex(&dscp->mx);
      cm_dnlcRemove(dscp, namep);
      cm_SyncOpDone(dscp, NULL, sflags);
--- 1623,1632 ----
      else
          osi_Log0(afsd_logp, "CALL RemoveFile SUCCESS");
  
!     if (dirop.scp) {
!         lock_ObtainWrite(&dirop.scp->dirlock);
!         dirop.lockType = CM_DIRLOCK_WRITE;
!     }
      lock_ObtainMutex(&dscp->mx);
      cm_dnlcRemove(dscp, namep);
      cm_SyncOpDone(dscp, NULL, sflags);
***************
*** 1814,1820 ****
      char *tp;			/* ptr moving through input buffer */
      char tc;			/* temp char */
      int haveComponent;		/* has new component started? */
!     char component[256];	/* this is the new component */
      char *cp;			/* component name being assembled */
      cm_scache_t *tscp;		/* current location in the hierarchy */
      cm_scache_t *nscp;		/* next dude down */
--- 1818,1824 ----
      char *tp;			/* ptr moving through input buffer */
      char tc;			/* temp char */
      int haveComponent;		/* has new component started? */
!     char component[AFSPATHMAX];	/* this is the new component */
      char *cp;			/* component name being assembled */
      cm_scache_t *tscp;		/* current location in the hierarchy */
      cm_scache_t *nscp;		/* next dude down */
***************
*** 1930,1936 ****
  			cm_ReleaseSCache(dirScp);
  		    if (psp) 
  			cm_FreeSpace(psp);
! 		    if (code == CM_ERROR_NOSUCHFILE && tscp->fileType == CM_SCACHETYPE_SYMLINK) {
  			osi_Log0(afsd_logp,"cm_NameI code CM_ERROR_NOSUCHPATH");
  			return CM_ERROR_NOSUCHPATH;
  		    } else {
--- 1934,1942 ----
  			cm_ReleaseSCache(dirScp);
  		    if (psp) 
  			cm_FreeSpace(psp);
! 		    if ((code == CM_ERROR_NOSUCHFILE || code == CM_ERROR_BPLUS_NOMATCH) && 
!                          tscp->fileType == CM_SCACHETYPE_SYMLINK) 
!                     {
  			osi_Log0(afsd_logp,"cm_NameI code CM_ERROR_NOSUCHPATH");
  			return CM_ERROR_NOSUCHPATH;
  		    } else {
***************
*** 2136,2142 ****
                       CM_FLAG_CASEFOLD | CM_FLAG_FOLLOW | CM_FLAG_DIRSEARCH,
                       userp, NULL, reqp, outScpp);
  
!     if (code == CM_ERROR_NOSUCHFILE)
          code = CM_ERROR_NOSUCHPATH;
  
      /* this stuff is allocated no matter what happened on the namei call,
--- 2142,2148 ----
                       CM_FLAG_CASEFOLD | CM_FLAG_FOLLOW | CM_FLAG_DIRSEARCH,
                       userp, NULL, reqp, outScpp);
  
!     if (code == CM_ERROR_NOSUCHFILE || code == CM_ERROR_BPLUS_NOMATCH)
          code = CM_ERROR_NOSUCHPATH;
  
      /* this stuff is allocated no matter what happened on the namei call,
***************
*** 2688,2695 ****
      else
          osi_Log0(afsd_logp, "CALL CreateFile SUCCESS");
  
!     lock_ObtainWrite(&dscp->dirlock);
!     dirop.lockType = CM_DIRLOCK_WRITE;
      lock_ObtainMutex(&dscp->mx);
      cm_SyncOpDone(dscp, NULL, CM_SCACHESYNC_STOREDATA);
      if (code == 0) {
--- 2694,2703 ----
      else
          osi_Log0(afsd_logp, "CALL CreateFile SUCCESS");
  
!     if (dirop.scp) {
!         lock_ObtainWrite(&dirop.scp->dirlock);
!         dirop.lockType = CM_DIRLOCK_WRITE;
!     }
      lock_ObtainMutex(&dscp->mx);
      cm_SyncOpDone(dscp, NULL, CM_SCACHESYNC_STOREDATA);
      if (code == 0) {
***************
*** 2836,2843 ****
      else
          osi_Log0(afsd_logp, "CALL MakeDir SUCCESS");
  
!     lock_ObtainWrite(&dscp->dirlock);
!     dirop.lockType = CM_DIRLOCK_WRITE;
      lock_ObtainMutex(&dscp->mx);
      cm_SyncOpDone(dscp, NULL, CM_SCACHESYNC_STOREDATA);
      if (code == 0) {
--- 2844,2853 ----
      else
          osi_Log0(afsd_logp, "CALL MakeDir SUCCESS");
  
!     if (dirop.scp) {
!         lock_ObtainWrite(&dirop.scp->dirlock);
!         dirop.lockType = CM_DIRLOCK_WRITE;
!     }
      lock_ObtainMutex(&dscp->mx);
      cm_SyncOpDone(dscp, NULL, CM_SCACHESYNC_STOREDATA);
      if (code == 0) {
***************
*** 2944,2955 ****
      else
          osi_Log0(afsd_logp, "CALL Link SUCCESS");
  
!     lock_ObtainWrite(&dscp->dirlock);
!     dirop.lockType = CM_DIRLOCK_WRITE;
      lock_ObtainMutex(&dscp->mx);
      cm_SyncOpDone(dscp, NULL, CM_SCACHESYNC_STOREDATA);
      if (code == 0) {
          cm_MergeStatus(NULL, dscp, &updatedDirStatus, &volSync, userp, 0);
          if (cm_CheckDirOpForSingleChange(&dirop)) {
              cm_DirCreateEntry(&dirop, namep, &sscp->fid);
  #ifdef USE_BPLUS
--- 2954,2971 ----
      else
          osi_Log0(afsd_logp, "CALL Link SUCCESS");
  
!     if (dirop.scp) {
!         lock_ObtainWrite(&dirop.scp->dirlock);
!         dirop.lockType = CM_DIRLOCK_WRITE;
!     }
      lock_ObtainMutex(&dscp->mx);
      cm_SyncOpDone(dscp, NULL, CM_SCACHESYNC_STOREDATA);
      if (code == 0) {
          cm_MergeStatus(NULL, dscp, &updatedDirStatus, &volSync, userp, 0);
+     }
+     lock_ReleaseMutex(&dscp->mx);
+ 
+     if (code == 0) {
          if (cm_CheckDirOpForSingleChange(&dirop)) {
              cm_DirCreateEntry(&dirop, namep, &sscp->fid);
  #ifdef USE_BPLUS
***************
*** 2958,2964 ****
          }
      }
      cm_EndDirOp(&dirop);
-     lock_ReleaseMutex(&dscp->mx);
  
      return code;
  }
--- 2974,2979 ----
***************
*** 3021,3032 ****
      else
          osi_Log0(afsd_logp, "CALL Symlink SUCCESS");
  
!     lock_ObtainWrite(&dscp->dirlock);
!     dirop.lockType = CM_DIRLOCK_WRITE;
      lock_ObtainMutex(&dscp->mx);
      cm_SyncOpDone(dscp, NULL, CM_SCACHESYNC_STOREDATA);
      if (code == 0) {
          cm_MergeStatus(NULL, dscp, &updatedDirStatus, &volSync, userp, 0);
          if (cm_CheckDirOpForSingleChange(&dirop)) {
              newFid.cell = dscp->fid.cell;
              newFid.volume = dscp->fid.volume;
--- 3036,3053 ----
      else
          osi_Log0(afsd_logp, "CALL Symlink SUCCESS");
  
!     if (dirop.scp) {
!         lock_ObtainWrite(&dirop.scp->dirlock);
!         dirop.lockType = CM_DIRLOCK_WRITE;
!     }
      lock_ObtainMutex(&dscp->mx);
      cm_SyncOpDone(dscp, NULL, CM_SCACHESYNC_STOREDATA);
      if (code == 0) {
          cm_MergeStatus(NULL, dscp, &updatedDirStatus, &volSync, userp, 0);
+     }
+     lock_ReleaseMutex(&dscp->mx);
+ 
+     if (code == 0) {
          if (cm_CheckDirOpForSingleChange(&dirop)) {
              newFid.cell = dscp->fid.cell;
              newFid.volume = dscp->fid.volume;
***************
*** 3040,3046 ****
          }
      }
      cm_EndDirOp(&dirop);
-     lock_ReleaseMutex(&dscp->mx);
  
      /* now try to create the new dir's entry, too, but be careful to 
       * make sure that we don't merge in old info.  Since we weren't locking
--- 3061,3066 ----
***************
*** 3119,3126 ****
      else
          osi_Log0(afsd_logp, "CALL RemoveDir SUCCESS");
  
!     lock_ObtainWrite(&dscp->dirlock);
!     dirop.lockType = CM_DIRLOCK_WRITE;
      lock_ObtainMutex(&dscp->mx);
      cm_SyncOpDone(dscp, NULL, CM_SCACHESYNC_STOREDATA);
      if (code == 0) {
--- 3139,3148 ----
      else
          osi_Log0(afsd_logp, "CALL RemoveDir SUCCESS");
  
!     if (dirop.scp) {
!         lock_ObtainWrite(&dirop.scp->dirlock);
!         dirop.lockType = CM_DIRLOCK_WRITE;
!     }
      lock_ObtainMutex(&dscp->mx);
      cm_SyncOpDone(dscp, NULL, CM_SCACHESYNC_STOREDATA);
      if (code == 0) {
***************
*** 3311,3318 ****
          osi_Log0(afsd_logp, "CALL Rename SUCCESS");
  
      /* update the individual stat cache entries for the directories */
!     lock_ObtainWrite(&oldDscp->dirlock);
!     oldDirOp.lockType = CM_DIRLOCK_WRITE;
      lock_ObtainMutex(&oldDscp->mx);
      cm_SyncOpDone(oldDscp, NULL, CM_SCACHESYNC_STOREDATA);
  
--- 3333,3342 ----
          osi_Log0(afsd_logp, "CALL Rename SUCCESS");
  
      /* update the individual stat cache entries for the directories */
!     if (oldDirOp.scp) {
!         lock_ObtainWrite(&oldDirOp.scp->dirlock);
!         oldDirOp.lockType = CM_DIRLOCK_WRITE;
!     }
      lock_ObtainMutex(&oldDscp->mx);
      cm_SyncOpDone(oldDscp, NULL, CM_SCACHESYNC_STOREDATA);
  
***************
*** 3353,3360 ****
  
      /* and update it for the new one, too, if necessary */
      if (!oneDir) {
!         lock_ObtainWrite(&newDscp->dirlock);
!         newDirOp.lockType = CM_DIRLOCK_WRITE;
          lock_ObtainMutex(&newDscp->mx);
          cm_SyncOpDone(newDscp, NULL, CM_SCACHESYNC_STOREDATA);
          if (code == 0)
--- 3377,3386 ----
  
      /* and update it for the new one, too, if necessary */
      if (!oneDir) {
!         if (newDirOp.scp) {
!             lock_ObtainWrite(&newDirOp.scp->dirlock);
!             newDirOp.lockType = CM_DIRLOCK_WRITE;
!         }
          lock_ObtainMutex(&newDscp->mx);
          cm_SyncOpDone(newDscp, NULL, CM_SCACHESYNC_STOREDATA);
          if (code == 0)
Index: openafs/src/WINNT/afsd/smb.c
diff -c openafs/src/WINNT/afsd/smb.c:1.118.2.40 openafs/src/WINNT/afsd/smb.c:1.118.2.43
*** openafs/src/WINNT/afsd/smb.c:1.118.2.40	Thu Aug  9 01:33:56 2007
--- openafs/src/WINNT/afsd/smb.c	Tue Sep 18 12:59:23 2007
***************
*** 1651,1658 ****
  /* List available shares */
  int smb_ListShares()
  {
!     char sbmtpath[256];
!     char pathName[256];
      char shareBuf[4096];
      int num_shares=0;
      char *this_share;
--- 1651,1658 ----
  /* List available shares */
  int smb_ListShares()
  {
!     char sbmtpath[AFSPATHMAX];
!     char pathName[AFSPATHMAX];
      char shareBuf[4096];
      int num_shares=0;
      char *this_share;
***************
*** 1689,1695 ****
          /*strcpy(shareNameList[num_shares], this_share);*/
          len = GetPrivateProfileString("AFS Submounts", this_share,
                                         NULL,
!                                        pathName, 256,
                                         sbmtpath);
          if (!len) 
              return num_shares;
--- 1689,1695 ----
          /*strcpy(shareNameList[num_shares], this_share);*/
          len = GetPrivateProfileString("AFS Submounts", this_share,
                                         NULL,
!                                        pathName, AFSPATHMAX,
                                         sbmtpath);
          if (!len) 
              return num_shares;
***************
*** 2636,2642 ****
          outp->res[1] = inSmbp->res[1];
          op->inCom = inSmbp->com;
      }
!     outp->reb = SMB_FLAGS_SERVER_TO_CLIENT | SMB_FLAGS_CANONICAL_PATHNAMES;
      outp->flg2 = SMB_FLAGS2_KNOWS_LONG_NAMES;
  
      /* copy fields in generic packet area */
--- 2636,2645 ----
          outp->res[1] = inSmbp->res[1];
          op->inCom = inSmbp->com;
      }
!     outp->reb = SMB_FLAGS_SERVER_TO_CLIENT;
! #ifdef SEND_CANONICAL_PATHNAMES
!     outp->reb |= SMB_FLAGS_CANONICAL_PATHNAMES;
! #endif
      outp->flg2 = SMB_FLAGS2_KNOWS_LONG_NAMES;
  
      /* copy fields in generic packet area */
***************
*** 2744,2750 ****
      else if (code == CM_ERROR_READONLY) {
          NTStatus = 0xC00000A2L;	/* Write protected */
      }
!     else if (code == CM_ERROR_NOSUCHFILE) {
          NTStatus = 0xC000000FL;	/* No such file */
      }
      else if (code == CM_ERROR_NOSUCHPATH) {
--- 2747,2754 ----
      else if (code == CM_ERROR_READONLY) {
          NTStatus = 0xC00000A2L;	/* Write protected */
      }
!     else if (code == CM_ERROR_NOSUCHFILE ||
!              code == CM_ERROR_BPLUS_NOMATCH) {
          NTStatus = 0xC000000FL;	/* No such file */
      }
      else if (code == CM_ERROR_NOSUCHPATH) {
***************
*** 2918,2924 ****
          class = 3;
          error = 19;	/* read only */
      }
!     else if (code == CM_ERROR_NOSUCHFILE) {
          class = 1;
          error = 2;	/* ENOENT! */
      }
--- 2922,2929 ----
          class = 3;
          error = 19;	/* read only */
      }
!     else if (code == CM_ERROR_NOSUCHFILE ||
!              code == CM_ERROR_BPLUS_NOMATCH) {
          class = 1;
          error = 2;	/* ENOENT! */
      }
***************
*** 3138,3143 ****
--- 3143,3155 ----
      if (!fidp)
          goto send1;
  
+     if (fidp->scp && (fidp->scp->flags & CM_SCACHEFLAG_DELETED)) {
+         smb_CloseFID(vcp, fidp, NULL, 0);
+         code = CM_ERROR_NOSUCHFILE;
+         goto send1a;
+     }
+ 
+ 
      pid = ((smb_t *) inp)->pid;
      {
          LARGE_INTEGER LOffset, LLength;
***************
*** 3780,3786 ****
      smb_tid_t *tidp;
      smb_user_t *uidp;
      unsigned short newTid;
!     char shareName[256];
      char *sharePath;
      int shareFound;
      char *tp;
--- 3792,3798 ----
      smb_tid_t *tidp;
      smb_user_t *uidp;
      unsigned short newTid;
!     char shareName[AFSPATHMAX];
      char *sharePath;
      int shareFound;
      char *tp;
***************
*** 5503,5509 ****
  
      /* 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_NOSUCHPATH) && (code != CM_ERROR_NOSUCHVOLUME) ) {
          osi_Log2(smb_logp, "  lookup returns %ld for [%s]", code,
                   osi_LogSaveString(smb_logp, newLastNamep));
  
--- 5515,5523 ----
  
      /* 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) && 
!         (code != CM_ERROR_NOSUCHPATH) && (code != CM_ERROR_NOSUCHVOLUME) ) 
!     {
          osi_Log2(smb_logp, "  lookup returns %ld for [%s]", code,
                   osi_LogSaveString(smb_logp, newLastNamep));
  
***************
*** 5701,5707 ****
  
      /* 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_NOSUCHPATH) && (code != CM_ERROR_NOSUCHVOLUME) ) {
          osi_Log2(smb_logp, "  lookup returns %ld for [%s]", code,
                   osi_LogSaveString(smb_logp, newLastNamep));
  
--- 5715,5723 ----
  
      /* 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) &&
!         (code != CM_ERROR_NOSUCHPATH) && (code != CM_ERROR_NOSUCHVOLUME) ) 
!     {
          osi_Log2(smb_logp, "  lookup returns %ld for [%s]", code,
                   osi_LogSaveString(smb_logp, newLastNamep));
  
***************
*** 5941,5946 ****
--- 5957,5968 ----
      if (!fidp)
  	return CM_ERROR_BADFD;
      
+     if (fidp->scp && (fidp->scp->flags & CM_SCACHEFLAG_DELETED)) {
+         smb_CloseFID(vcp, fidp, NULL, 0);
+         smb_ReleaseFID(fidp);
+         return CM_ERROR_NOSUCHFILE;
+     }
+ 
      lock_ObtainMutex(&fidp->mx);
      if (fidp->flags & SMB_FID_IOCTL) {
  	lock_ReleaseMutex(&fidp->mx);
***************
*** 6699,6704 ****
--- 6721,6732 ----
          return CM_ERROR_BADFD;
      }
          
+     if (fidp->scp && (fidp->scp->flags & CM_SCACHEFLAG_DELETED)) {
+         smb_CloseFID(vcp, fidp, NULL, 0);
+         smb_ReleaseFID(fidp);
+         return CM_ERROR_NOSUCHFILE;
+     }
+ 
      lock_ObtainMutex(&fidp->mx);
      if (fidp->flags & SMB_FID_IOCTL) {
  	lock_ReleaseMutex(&fidp->mx);
***************
*** 6822,6827 ****
--- 6850,6861 ----
      fd = smb_GetSMBParm(inp, 0);
      fidp = smb_FindFID(vcp, fd, 0);
  
+     if (fidp->scp && (fidp->scp->flags & CM_SCACHEFLAG_DELETED)) {
+         smb_CloseFID(vcp, fidp, NULL, 0);
+         smb_ReleaseFID(fidp);
+         return;
+     }
+ 
      osi_Log3(smb_logp, "Completing Raw Write offset 0x%x:%08x count %x",
               rwcp->offset.HighPart, rwcp->offset.LowPart, rwcp->count);
  
***************
*** 6941,6946 ****
--- 6975,6986 ----
          return CM_ERROR_BADFD;
      }
  
+     if (fidp->scp && (fidp->scp->flags & CM_SCACHEFLAG_DELETED)) {
+         smb_CloseFID(vcp, fidp, NULL, 0);
+         smb_ReleaseFID(fidp);
+         return CM_ERROR_NOSUCHFILE;
+     }
+ 
      {
          unsigned pid;
          cm_key_t key;
***************
*** 7084,7089 ****
--- 7124,7135 ----
      if (!fidp)
          return CM_ERROR_BADFD;
          
+     if (fidp->scp && (fidp->scp->flags & CM_SCACHEFLAG_DELETED)) {
+         smb_CloseFID(vcp, fidp, NULL, 0);
+         smb_ReleaseFID(fidp);
+         return CM_ERROR_NOSUCHFILE;
+     }
+ 
      lock_ObtainMutex(&fidp->mx);
      if (fidp->flags & SMB_FID_IOCTL) {
  	lock_ReleaseMutex(&fidp->mx);
***************
*** 7227,7233 ****
          lastNamep++;
      code = cm_Lookup(dscp, lastNamep, 0, userp, &req, &scp);
      if (scp) cm_ReleaseSCache(scp);
!     if (code != CM_ERROR_NOSUCHFILE) {
          if (code == 0) code = CM_ERROR_EXISTS;
          cm_ReleaseSCache(dscp);
          cm_ReleaseUser(userp);
--- 7273,7279 ----
          lastNamep++;
      code = cm_Lookup(dscp, lastNamep, 0, userp, &req, &scp);
      if (scp) cm_ReleaseSCache(scp);
!     if (code != CM_ERROR_NOSUCHFILE && code != CM_ERROR_BPLUS_NOMATCH) {
          if (code == 0) code = CM_ERROR_EXISTS;
          cm_ReleaseSCache(dscp);
          cm_ReleaseUser(userp);
***************
*** 7364,7370 ****
  #endif    
  
      code = cm_Lookup(dscp, lastNamep, 0, userp, &req, &scp);
!     if (code && code != CM_ERROR_NOSUCHFILE) {
          cm_ReleaseSCache(dscp);
          cm_ReleaseUser(userp);
          return code;
--- 7410,7416 ----
  #endif    
  
      code = cm_Lookup(dscp, lastNamep, 0, userp, &req, &scp);
!     if (code && code != CM_ERROR_NOSUCHFILE && code != CM_ERROR_BPLUS_NOMATCH) {
          cm_ReleaseSCache(dscp);
          cm_ReleaseUser(userp);
          return code;
***************
*** 7491,7500 ****
      /* try to find the file descriptor */
      fd = smb_ChainFID(fd, inp);
      fidp = smb_FindFID(vcp, fd, 0);
- 
      if (!fidp)
  	return CM_ERROR_BADFD;
      
      lock_ObtainMutex(&fidp->mx);
      if (fidp->flags & SMB_FID_IOCTL) {
  	lock_ReleaseMutex(&fidp->mx);
--- 7537,7551 ----
      /* try to find the file descriptor */
      fd = smb_ChainFID(fd, inp);
      fidp = smb_FindFID(vcp, fd, 0);
      if (!fidp)
  	return CM_ERROR_BADFD;
      
+     if (fidp->scp && (fidp->scp->flags & CM_SCACHEFLAG_DELETED)) {
+         smb_CloseFID(vcp, fidp, NULL, 0);
+         smb_ReleaseFID(fidp);
+         return CM_ERROR_NOSUCHFILE;
+     }
+ 
      lock_ObtainMutex(&fidp->mx);
      if (fidp->flags & SMB_FID_IOCTL) {
  	lock_ReleaseMutex(&fidp->mx);
***************
*** 8422,8428 ****
  	    return;
  	} else if (code != 0) {
  #ifndef DJGPP
!             char tbuffer[256];
  #endif
  
              /* terminate silently if shutdown flag is set */
--- 8473,8479 ----
  	    return;
  	} else if (code != 0) {
  #ifndef DJGPP
!             char tbuffer[AFSPATHMAX];
  #endif
  
              /* terminate silently if shutdown flag is set */
***************
*** 9257,9263 ****
                                                      );
  
                  if (nts != STATUS_SUCCESS && ntsEx != STATUS_SUCCESS) {
!                     char message[256];
                      sprintf(message,"MsV1_0SetProcessOption failure: nts 0x%x ntsEx 0x%x",
                                         nts, ntsEx);
                      OutputDebugString(message);
--- 9308,9314 ----
                                                      );
  
                  if (nts != STATUS_SUCCESS && ntsEx != STATUS_SUCCESS) {
!                     char message[AFSPATHMAX];
                      sprintf(message,"MsV1_0SetProcessOption failure: nts 0x%x ntsEx 0x%x",
                                         nts, ntsEx);
                      OutputDebugString(message);
Index: openafs/src/WINNT/afsd/smb.h
diff -c openafs/src/WINNT/afsd/smb.h:1.41.2.17 openafs/src/WINNT/afsd/smb.h:1.41.2.18
*** openafs/src/WINNT/afsd/smb.h:1.41.2.17	Thu Aug 23 12:46:07 2007
--- openafs/src/WINNT/afsd/smb.h	Mon Sep 10 15:08:17 2007
***************
*** 404,409 ****
--- 404,410 ----
  #define SMB_FID_NTOPEN			0x100	/* have dscp and pathp */
  #define SMB_FID_SEQUENTIAL		0x200
  #define SMB_FID_RANDOM			0x400
+ #define SMB_FID_EXECUTABLE              0x800
  
  #define SMB_FID_SHARE_READ              0x1000
  #define SMB_FID_SHARE_WRITE             0x2000
Index: openafs/src/WINNT/afsd/smb3.c
diff -c openafs/src/WINNT/afsd/smb3.c:1.95.2.40 openafs/src/WINNT/afsd/smb3.c:1.95.2.46
*** openafs/src/WINNT/afsd/smb3.c:1.95.2.40	Fri Jul 27 22:51:16 2007
--- openafs/src/WINNT/afsd/smb3.c	Wed Sep 19 17:29:29 2007
***************
*** 41,46 ****
--- 41,48 ----
  /* protected by the smb_globalLock */
  smb_tran2Packet_t *smb_tran2AssemblyQueuep;
  
+ const char **smb_ExecutableExtensions = NULL;
+ 
  /* retrieve a held reference to a user structure corresponding to an incoming
   * request */
  cm_user_t *smb_GetTran2User(smb_vc_t *vcp, smb_tran2Packet_t *inp)
***************
*** 59,64 ****
--- 61,88 ----
      return up;
  }
  
+ /* 
+  * Return boolean specifying if the path name is thought to be an 
+  * executable file.  For now .exe or .dll.
+  */
+ afs_uint32 smb_IsExecutableFileName(const char *name)
+ {
+     int i, j, len;
+         
+     if ( smb_ExecutableExtensions == NULL || name == NULL)
+         return 0;
+ 
+     len = strlen(name);
+ 
+     for ( i=0; smb_ExecutableExtensions[i]; i++) {
+         j = len - strlen(smb_ExecutableExtensions[i]);
+         if (_stricmp(smb_ExecutableExtensions[i], &name[j]) == 0)
+             return 1;
+     }
+ 
+     return 0;
+ }
+ 
  /*
   * Return extended attributes.
   * Right now, we aren't using any of the "new" bits, so this looks exactly
***************
*** 134,140 ****
  }
  
  void OutputDebugHexDump(unsigned char * buffer, int len) {
!     int i,j,k,pcts=0;
      char buf[256];
      static char tr[16] = {'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
  
--- 158,164 ----
  }
  
  void OutputDebugHexDump(unsigned char * buffer, int len) {
!     int i,j,k;
      char buf[256];
      static char tr[16] = {'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
  
***************
*** 159,171 ****
          buf[j] = tr[k / 16]; buf[j+1] = tr[k % 16];
  
          j = (i%16);
!         j = j + 56 + ((j>7)?1:0) + pcts;
  
          buf[j] = (k>32 && k<127)?k:'.';
- 		if (k == '%') {
- 			buf[++j] = k;
- 			pcts++;
- 		}
      }    
      if(i) {
          osi_Log0(smb_logp, osi_LogSaveString(smb_logp, buf));
--- 183,191 ----
          buf[j] = tr[k / 16]; buf[j+1] = tr[k % 16];
  
          j = (i%16);
!         j = j + 56 + ((j>7)?1:0);
  
          buf[j] = (k>32 && k<127)?k:'.';
      }    
      if(i) {
          osi_Log0(smb_logp, osi_LogSaveString(smb_logp, buf));
***************
*** 984,990 ****
      smb_tid_t *tidp;
      smb_user_t *uidp = NULL;
      unsigned short newTid;
!     char shareName[256];
      char *sharePath;
      int shareFound;
      char *tp;
--- 1004,1010 ----
      smb_tid_t *tidp;
      smb_user_t *uidp = NULL;
      unsigned short newTid;
!     char shareName[AFSPATHMAX];
      char *sharePath;
      int shareFound;
      char *tp;
***************
*** 1500,1506 ****
      smb_rap_share_info_1_t * shares;
      USHORT cshare = 0;
      char * cstrp;
!     char thisShare[256];
      int i,j;
      DWORD dw;
      int nonrootShares;
--- 1520,1526 ----
      smb_rap_share_info_1_t * shares;
      USHORT cshare = 0;
      char * cstrp;
!     char thisShare[AFSPATHMAX];
      int i,j;
      DWORD dw;
      int nonrootShares;
***************
*** 2219,2225 ****
              lastNamep++;
          code = cm_Lookup(dscp, lastNamep, CM_FLAG_CASEFOLD, userp,
                           &req, &scp);
!         if (code && code != CM_ERROR_NOSUCHFILE) {
              cm_ReleaseSCache(dscp);
              cm_ReleaseUser(userp);
              smb_FreeTran2Packet(outp);
--- 2239,2245 ----
              lastNamep++;
          code = cm_Lookup(dscp, lastNamep, CM_FLAG_CASEFOLD, userp,
                           &req, &scp);
!         if (code && code != CM_ERROR_NOSUCHFILE && code != CM_ERROR_BPLUS_NOMATCH) {
              cm_ReleaseSCache(dscp);
              cm_ReleaseUser(userp);
              smb_FreeTran2Packet(outp);
***************
*** 2757,2764 ****
                          code = CM_ERROR_NOSUCHFILE;
                      else if (dscp->fileType == CM_SCACHETYPE_DIRECTORY) {
                          cm_buf_t *bp = buf_Find(dscp, &hzero);
!                         if (bp)
                              buf_Release(bp);
                          else
                              code = CM_ERROR_NOSUCHFILE;
                      }
--- 2777,2786 ----
                          code = CM_ERROR_NOSUCHFILE;
                      else if (dscp->fileType == CM_SCACHETYPE_DIRECTORY) {
                          cm_buf_t *bp = buf_Find(dscp, &hzero);
!                         if (bp) {
                              buf_Release(bp);
+                             bp = NULL;
+                         }
                          else
                              code = CM_ERROR_NOSUCHFILE;
                      }
***************
*** 3025,3032 ****
                          code = CM_ERROR_NOSUCHFILE;
                      else if (dscp->fileType == CM_SCACHETYPE_DIRECTORY) {
                          cm_buf_t *bp = buf_Find(dscp, &hzero);
!                         if (bp)
                              buf_Release(bp);
                          else
                              code = CM_ERROR_NOSUCHFILE;
                      }
--- 3047,3056 ----
                          code = CM_ERROR_NOSUCHFILE;
                      else if (dscp->fileType == CM_SCACHETYPE_DIRECTORY) {
                          cm_buf_t *bp = buf_Find(dscp, &hzero);
!                         if (bp) {
                              buf_Release(bp);
+                             bp = NULL;
+                         }
                          else
                              code = CM_ERROR_NOSUCHFILE;
                      }
***************
*** 3178,3183 ****
--- 3202,3214 ----
          return 0;
      }
  
+     if (fidp->scp && (fidp->scp->flags & CM_SCACHEFLAG_DELETED)) {
+         smb_SendTran2Error(vcp, p, opx, CM_ERROR_NOSUCHFILE);
+         smb_CloseFID(vcp, fidp, NULL, 0);
+         smb_ReleaseFID(fidp);
+         return 0;
+     }
+ 
      infoLevel = p->parmsp[1];
      if (infoLevel == SMB_QUERY_FILE_BASIC_INFO) 
          responseSize = sizeof(qfi.u.QFbasicInfo);
***************
*** 3306,3311 ****
--- 3337,3349 ----
          return 0;
      }
  
+     if (fidp->scp && (fidp->scp->flags & CM_SCACHEFLAG_DELETED)) {
+         smb_SendTran2Error(vcp, p, opx, CM_ERROR_NOSUCHFILE);
+         smb_CloseFID(vcp, fidp, NULL, 0);
+         smb_ReleaseFID(fidp);
+         return 0;
+     }
+ 
      infoLevel = p->parmsp[1];
      osi_Log2(smb_logp,"ReceiveTran2SetFileInfo type 0x%x fid %d", infoLevel, fid);
      if (infoLevel > SMB_SET_FILE_END_OF_FILE_INFO || infoLevel < SMB_SET_FILE_BASIC_INFO) {
***************
*** 4385,4391 ****
  
      /* if a case sensitive match failed, we try a case insensitive one
         next. */
!     if (code == CM_ERROR_NOSUCHFILE) {
          code = cm_Lookup(scp, maskp, CM_FLAG_NOMOUNTCHASE | CM_FLAG_CASEFOLD, userp, &req, &targetscp);
      }
  
--- 4423,4429 ----
  
      /* if a case sensitive match failed, we try a case insensitive one
         next. */
!     if (code == CM_ERROR_NOSUCHFILE || code == CM_ERROR_BPLUS_NOMATCH) {
          code = cm_Lookup(scp, maskp, CM_FLAG_NOMOUNTCHASE | CM_FLAG_CASEFOLD, userp, &req, &targetscp);
      }
  
***************
*** 4400,4406 ****
             smb_ReceiveTran2SearchDir(). */
          cm_ReleaseSCache(scp);
          cm_ReleaseUser(userp);
! 	if (code != CM_ERROR_NOSUCHFILE) {
  	    smb_SendTran2Error(vcp, p, opx, code);
  	    code = 0;
  	}
--- 4438,4444 ----
             smb_ReceiveTran2SearchDir(). */
          cm_ReleaseSCache(scp);
          cm_ReleaseUser(userp);
! 	if (code != CM_ERROR_NOSUCHFILE && code != CM_ERROR_BPLUS_NOMATCH) {
  	    smb_SendTran2Error(vcp, p, opx, code);
  	    code = 0;
  	}
***************
*** 4593,4599 ****
  
      osi_Log0(smb_logp, "T2SDSingle done.");
  
!     if (code != CM_ERROR_NOSUCHFILE) {
  	if (code)
  	    smb_SendTran2Error(vcp, p, opx, code);
  	else
--- 4631,4637 ----
  
      osi_Log0(smb_logp, "T2SDSingle done.");
  
!     if (code != CM_ERROR_NOSUCHFILE && code != CM_ERROR_BPLUS_NOMATCH) {
  	if (code)
  	    smb_SendTran2Error(vcp, p, opx, code);
  	else
***************
*** 4695,4704 ****
--- 4733,4747 ----
  
              /* we only failover if we see a CM_ERROR_NOSUCHFILE */
              if (code != CM_ERROR_NOSUCHFILE) {
+ #ifdef USE_BPLUS
+                 if (code == CM_ERROR_BPLUS_NOMATCH)
+                     code = CM_ERROR_NOSUCHFILE;
+ #endif
                  return code;
              }
          }
  #endif
+         dir_enums++;
  
          dsp = smb_NewDirSearch(1);
          dsp->attribute = attribute;
***************
*** 5526,5532 ****
              lastNamep++;
          code = cm_Lookup(dscp, lastNamep, CM_FLAG_CASEFOLD, userp,
                            &req, &scp);
!         if (code && code != CM_ERROR_NOSUCHFILE) {
              cm_ReleaseSCache(dscp);
              cm_ReleaseUser(userp);
              return code;
--- 5569,5575 ----
              lastNamep++;
          code = cm_Lookup(dscp, lastNamep, CM_FLAG_CASEFOLD, userp,
                            &req, &scp);
!         if (code && code != CM_ERROR_NOSUCHFILE && code != CM_ERROR_BPLUS_NOMATCH) {
              cm_ReleaseSCache(dscp);
              cm_ReleaseUser(userp);
              return code;
***************
*** 5744,5749 ****
--- 5787,5798 ----
      if (!fidp)
  	return CM_ERROR_BADFD;
      
+     if (fidp->scp && (fidp->scp->flags & CM_SCACHEFLAG_DELETED)) {
+         smb_CloseFID(vcp, fidp, NULL, 0);
+         smb_ReleaseFID(fidp);
+         return CM_ERROR_NOSUCHFILE;
+     }
+ 
      lock_ObtainMutex(&fidp->mx);
      if (fidp->flags & SMB_FID_IOCTL) {
          osi_Log0(smb_logp, "smb_ReceiveV3Locking BadFD");
***************
*** 6001,6006 ****
--- 6050,6061 ----
      if (!fidp)
  	return CM_ERROR_BADFD;
      
+     if (fidp->scp && (fidp->scp->flags & CM_SCACHEFLAG_DELETED)) {
+         smb_CloseFID(vcp, fidp, NULL, 0);
+         smb_ReleaseFID(fidp);
+         return CM_ERROR_NOSUCHFILE;
+     }
+ 
      lock_ObtainMutex(&fidp->mx);
      if (fidp->flags & SMB_FID_IOCTL) {
  	lock_ReleaseMutex(&fidp->mx);
***************
*** 6078,6083 ****
--- 6133,6144 ----
      if (!fidp)
  	return CM_ERROR_BADFD;
      
+     if (fidp->scp && (fidp->scp->flags & CM_SCACHEFLAG_DELETED)) {
+         smb_CloseFID(vcp, fidp, NULL, 0);
+         smb_ReleaseFID(fidp);
+         return CM_ERROR_NOSUCHFILE;
+     }
+ 
      lock_ObtainMutex(&fidp->mx);
      if (fidp->flags & SMB_FID_IOCTL) {
  	lock_ReleaseMutex(&fidp->mx);
***************
*** 6164,6169 ****
--- 6225,6236 ----
      if (!fidp)
          return CM_ERROR_BADFD;
          
+     if (fidp->scp && (fidp->scp->flags & CM_SCACHEFLAG_DELETED)) {
+         smb_CloseFID(vcp, fidp, NULL, 0);
+         smb_ReleaseFID(fidp);
+         return CM_ERROR_NOSUCHFILE;
+     }
+ 
      lock_ObtainMutex(&fidp->mx);
      if (fidp->flags & SMB_FID_IOCTL) {
  	lock_ReleaseMutex(&fidp->mx);
***************
*** 6301,6306 ****
--- 6368,6379 ----
          return CM_ERROR_BADFD;
      }
  
+     if (fidp->scp && (fidp->scp->flags & CM_SCACHEFLAG_DELETED)) {
+         smb_CloseFID(vcp, fidp, NULL, 0);
+         smb_ReleaseFID(fidp);
+         return CM_ERROR_NOSUCHFILE;
+     }
+ 
      pid = ((smb_t *) inp)->pid;
      key = cm_GenerateKey(vcp->vcID, pid, fd);
      {
***************
*** 6594,6599 ****
--- 6667,6681 ----
              cm_ReleaseUser(userp);
              return CM_ERROR_INVAL;
          }       
+ 
+         if (baseFidp->scp && (baseFidp->scp->flags & CM_SCACHEFLAG_DELETED)) {
+             free(realPathp);
+             cm_ReleaseUser(userp);
+ 	    smb_CloseFID(vcp, baseFidp, NULL, 0);
+             smb_ReleaseFID(baseFidp);
+             return CM_ERROR_NOSUCHPATH;
+         }
+ 
          baseDirp = baseFidp->scp;
          tidPathp = NULL;
      }
***************
*** 6614,6619 ****
--- 6696,6703 ----
  	fidflags |= SMB_FID_SEQUENTIAL;
      if (createOptions & FILE_RANDOM_ACCESS && !(createOptions & FILE_SEQUENTIAL_ONLY))
  	fidflags |= SMB_FID_RANDOM;
+     if (smb_IsExecutableFileName(lastNamep))
+         fidflags |= SMB_FID_EXECUTABLE;
  
      /* and the share mode */
      if (shareAccess & FILE_SHARE_READ)
***************
*** 6646,6652 ****
  #endif /* DFS_SUPPORT */
              code = cm_Lookup(dscp, (lastNamep)?(lastNamep+1):realPathp, CM_FLAG_FOLLOW,
                               userp, &req, &scp);
!             if (code == CM_ERROR_NOSUCHFILE) {
                  code = cm_Lookup(dscp, (lastNamep)?(lastNamep+1):realPathp, 
                                   CM_FLAG_FOLLOW | CM_FLAG_CASEFOLD, userp, &req, &scp);
                  if (code == 0 && realDirFlag == 1) {
--- 6730,6736 ----
  #endif /* DFS_SUPPORT */
              code = cm_Lookup(dscp, (lastNamep)?(lastNamep+1):realPathp, CM_FLAG_FOLLOW,
                               userp, &req, &scp);
!             if (code == CM_ERROR_NOSUCHFILE || code == CM_ERROR_BPLUS_NOMATCH) {
                  code = cm_Lookup(dscp, (lastNamep)?(lastNamep+1):realPathp, 
                                   CM_FLAG_FOLLOW | CM_FLAG_CASEFOLD, userp, &req, &scp);
                  if (code == 0 && realDirFlag == 1) {
***************
*** 6792,6798 ****
                                   CM_FLAG_FOLLOW | CM_FLAG_CASEFOLD,
                                   userp, &req, &scp);
              }
!             if (code && code != CM_ERROR_NOSUCHFILE) {
                  if (dscp)
                      cm_ReleaseSCache(dscp);
                  cm_ReleaseUser(userp);
--- 6876,6882 ----
                                   CM_FLAG_FOLLOW | CM_FLAG_CASEFOLD,
                                   userp, &req, &scp);
              }
!             if (code && (code != CM_ERROR_NOSUCHFILE && code != CM_ERROR_BPLUS_NOMATCH)) {
                  if (dscp)
                      cm_ReleaseSCache(dscp);
                  cm_ReleaseUser(userp);
***************
*** 6953,6959 ****
  	 * it will appear as a directory name of the nul-string
  	 * and a code of CM_ERROR_NOSUCHFILE
  	 */
! 	if ( !*treeStartp && code == CM_ERROR_NOSUCHFILE)
  	    code = CM_ERROR_EXISTS;
  
          setAttr.mask = CM_ATTRMASK_CLIENTMODTIME;
--- 7037,7043 ----
  	 * it will appear as a directory name of the nul-string
  	 * and a code of CM_ERROR_NOSUCHFILE
  	 */
! 	if ( !*treeStartp && (code == CM_ERROR_NOSUCHFILE || code == CM_ERROR_BPLUS_NOMATCH))
  	    code = CM_ERROR_EXISTS;
  
          setAttr.mask = CM_ATTRMASK_CLIENTMODTIME;
***************
*** 7192,7200 ****
                          (scp->fileType == CM_SCACHETYPE_DIRECTORY ||
  			 scp->fileType == CM_SCACHETYPE_MOUNTPOINT ||
  			 scp->fileType == CM_SCACHETYPE_INVALID) ? 1 : 0); /* is a dir? */
-     lock_ReleaseMutex(&scp->mx);
      smb_SetSMBDataLength(outp, 0);
  
      osi_Log2(smb_logp, "SMB NT CreateX opening fid %d path %s", fidp->fid,
                osi_LogSaveString(smb_logp, realPathp));
  
--- 7276,7292 ----
                          (scp->fileType == CM_SCACHETYPE_DIRECTORY ||
  			 scp->fileType == CM_SCACHETYPE_MOUNTPOINT ||
  			 scp->fileType == CM_SCACHETYPE_INVALID) ? 1 : 0); /* is a dir? */
      smb_SetSMBDataLength(outp, 0);
  
+     if ((fidp->flags & SMB_FID_EXECUTABLE) && 
+         LargeIntegerGreaterThanZero(fidp->scp->length) && 
+         !(scp->flags & CM_SCACHEFLAG_PREFETCHING)) {
+         cm_QueueBKGRequest(fidp->scp, cm_BkgPrefetch, 0, 0,
+                            fidp->scp->length.LowPart, fidp->scp->length.HighPart, 
+                            userp);
+     }
+     lock_ReleaseMutex(&scp->mx);
+ 
      osi_Log2(smb_logp, "SMB NT CreateX opening fid %d path %s", fidp->fid,
                osi_LogSaveString(smb_logp, realPathp));
  
***************
*** 7376,7383 ****
  	    osi_Log1(smb_logp, "NTTranCreate Invalid fid [%d]", baseFid);
              free(realPathp);
              cm_ReleaseUser(userp);
!             return CM_ERROR_INVAL;
          }       
          baseDirp = baseFidp->scp;
          tidPathp = NULL;
      }
--- 7468,7484 ----
  	    osi_Log1(smb_logp, "NTTranCreate Invalid fid [%d]", baseFid);
              free(realPathp);
              cm_ReleaseUser(userp);
!             return CM_ERROR_BADFD;
          }       
+ 
+         if (baseFidp->scp && (baseFidp->scp->flags & CM_SCACHEFLAG_DELETED)) {
+             free(realPathp);
+             cm_ReleaseUser(userp);
+ 	    smb_CloseFID(vcp, baseFidp, NULL, 0);
+             smb_ReleaseFID(baseFidp);
+             return CM_ERROR_NOSUCHPATH;
+         }
+ 
          baseDirp = baseFidp->scp;
          tidPathp = NULL;
      }
***************
*** 7396,7401 ****
--- 7497,7504 ----
  	fidflags |= SMB_FID_SEQUENTIAL;
      if (createOptions & FILE_RANDOM_ACCESS && !(createOptions & FILE_SEQUENTIAL_ONLY))
  	fidflags |= SMB_FID_RANDOM;
+     if (smb_IsExecutableFileName(lastNamep))
+         fidflags |= SMB_FID_EXECUTABLE;
  
      /* And the share mode */
      if (shareAccess & FILE_SHARE_READ)
***************
*** 7426,7432 ****
  #endif /* DFS_SUPPORT */
              code = cm_Lookup(dscp, (lastNamep)?(lastNamep+1):realPathp, CM_FLAG_FOLLOW,
                               userp, &req, &scp);
!             if (code == CM_ERROR_NOSUCHFILE) {
                  code = cm_Lookup(dscp, (lastNamep)?(lastNamep+1):realPathp, 
                                   CM_FLAG_FOLLOW | CM_FLAG_CASEFOLD, userp, &req, &scp);
                  if (code == 0 && realDirFlag == 1) {
--- 7529,7535 ----
  #endif /* DFS_SUPPORT */
              code = cm_Lookup(dscp, (lastNamep)?(lastNamep+1):realPathp, CM_FLAG_FOLLOW,
                               userp, &req, &scp);
!             if (code == CM_ERROR_NOSUCHFILE || code == CM_ERROR_BPLUS_NOMATCH) {
                  code = cm_Lookup(dscp, (lastNamep)?(lastNamep+1):realPathp, 
                                   CM_FLAG_FOLLOW | CM_FLAG_CASEFOLD, userp, &req, &scp);
                  if (code == 0 && realDirFlag == 1) {
***************
*** 7512,7518 ****
                                   CM_FLAG_FOLLOW | CM_FLAG_CASEFOLD,
                                   userp, &req, &scp);
              }
!             if (code && code != CM_ERROR_NOSUCHFILE) {
                  cm_ReleaseSCache(dscp);
                  cm_ReleaseUser(userp);
                  free(realPathp);
--- 7615,7621 ----
                                   CM_FLAG_FOLLOW | CM_FLAG_CASEFOLD,
                                   userp, &req, &scp);
              }
!             if (code && code != CM_ERROR_NOSUCHFILE && code != CM_ERROR_BPLUS_NOMATCH) {
                  cm_ReleaseSCache(dscp);
                  cm_ReleaseUser(userp);
                  free(realPathp);
***************
*** 7919,7924 ****
--- 8022,8037 ----
          lock_ReleaseMutex(&scp->mx);
      }
  
+     lock_ObtainMutex(&scp->mx);
+     if ((fidp->flags & SMB_FID_EXECUTABLE) && 
+          LargeIntegerGreaterThanZero(fidp->scp->length) && 
+          !(scp->flags & CM_SCACHEFLAG_PREFETCHING)) {
+         cm_QueueBKGRequest(fidp->scp, cm_BkgPrefetch, 0, 0,
+                            fidp->scp->length.LowPart, fidp->scp->length.HighPart, 
+                            userp);
+     }
+     lock_ReleaseMutex(&scp->mx);
+ 
      osi_Log1(smb_logp, "SMB NTTranCreate opening fid %d", fidp->fid);
  
      cm_ReleaseUser(userp);
***************
*** 7949,7954 ****
--- 8062,8073 ----
          return CM_ERROR_BADFD;
      }
  
+     if (fidp->scp && (fidp->scp->flags & CM_SCACHEFLAG_DELETED)) {
+         smb_CloseFID(vcp, fidp, NULL, 0);
+         smb_ReleaseFID(fidp);
+         return CM_ERROR_NOSUCHFILE;
+     }
+ 
      /* Create a copy of the Directory Watch Packet to use when sending the
       * notification if in the future a matching change is detected.
       */
***************
*** 8190,8199 ****
              lastWatch = watch;
              watch = watch->nextp;
              continue;
!         }       
!         if (fidp->scp != dscp
!              || (filter & notifyFilter) == 0
!              || (!isDirectParent && !wtree)) {
              osi_Log1(smb_logp," skipping fidp->scp[%x]", fidp->scp);
              smb_ReleaseFID(fidp);
              lastWatch = watch;
--- 8309,8321 ----
              lastWatch = watch;
              watch = watch->nextp;
              continue;
!         }      
! 
!         if (fidp->scp != dscp ||
!             fidp->scp->flags & CM_SCACHEFLAG_DELETED ||
!             (filter & notifyFilter) == 0 ||
!             (!isDirectParent && !wtree)) 
!         {
              osi_Log1(smb_logp," skipping fidp->scp[%x]", fidp->scp);
              smb_ReleaseFID(fidp);
              lastWatch = watch;
***************
*** 8246,8252 ****
          lock_ReleaseMutex(&dscp->mx);
  
          /* Convert to response packet */
!         ((smb_t *) watch)->reb = SMB_FLAGS_SERVER_TO_CLIENT | SMB_FLAGS_CANONICAL_PATHNAMES;
          ((smb_t *) watch)->wct = 0;
  
          /* out parms */
--- 8368,8377 ----
          lock_ReleaseMutex(&dscp->mx);
  
          /* Convert to response packet */
!         ((smb_t *) watch)->reb = SMB_FLAGS_SERVER_TO_CLIENT;
! #ifdef SEND_CANONICAL_PATHNAMES
!         ((smb_t *) watch)->reb |= SMB_FLAGS_CANONICAL_PATHNAMES;
! #endif
          ((smb_t *) watch)->wct = 0;
  
          /* out parms */
Index: openafs/src/WINNT/aklog/aklog.c
diff -c openafs/src/WINNT/aklog/aklog.c:1.14.4.5 openafs/src/WINNT/aklog/aklog.c:1.14.4.6
*** openafs/src/WINNT/aklog/aklog.c:1.14.4.5	Thu Aug  9 18:54:07 2007
--- openafs/src/WINNT/aklog/aklog.c	Wed Aug 29 02:46:18 2007
***************
*** 13,18 ****
--- 13,22 ----
   * or implied warranty.
   */
  
+ #ifndef _WIN64
+ #define HAVE_KRB4
+ #endif
+ 
  #include <stdio.h>
  #include <stdlib.h>
  #include <string.h>
***************
*** 21,27 ****
--- 25,40 ----
  #include <sys/stat.h>
  #include <errno.h>
  #include <afs/stds.h>
+ #ifdef HAVE_KRB4
  #include <krb.h>
+ #else
+ #define REALM_SZ 64
+ #define ANAME_SZ 64
+ #define INST_SZ  64
+ #define KSUCCESS 0
+ 
+ #define CREDENTIALS void
+ #endif
  #include <krb5.h>
  #include <afs/ptserver.h>
  #include <afs/ptuser.h>
***************
*** 43,52 ****
--- 56,67 ----
  #define DONT_HAVE_GET_AD_TKT
  #define MAXSYMLINKS 255
  
+ #ifdef HAVE_KRB4
  /* Win32 uses get_krb_err_txt_entry(status) instead of krb_err_txt[status],
  * so we use a bit of indirection like the GNU CVS sources.
  */
  #define krb_err_text(status) get_krb_err_txt_entry(status)
+ #endif
  
  #define DRIVECOLON ':'		/* Drive letter separator */
  #define BDIR '\\'		/* Other character that divides directories */
***************
*** 257,263 ****
  
              if ((*status = ktc_SetToken(aserver, atoken, aclient, 0))) {
                  printf("%s: unable to set tokens for cell %s "
!                         "(status: %d).\n", progname, cell_to_use, status);
                  *status = AKLOG_TOKEN;
                  return ;
              }
--- 272,278 ----
  
              if ((*status = ktc_SetToken(aserver, atoken, aclient, 0))) {
                  printf("%s: unable to set tokens for cell %s "
!                         "(status: %d).\n", progname, cell_to_use, *status);
                  *status = AKLOG_TOKEN;
                  return ;
              }
***************
*** 270,276 ****
               */
  
              if ((*status = pr_Initialize(1L, confname, aserver->cell))) {
!                 printf("Error %d\n", status);
                  return;
              }
  
--- 285,291 ----
               */
  
              if ((*status = pr_Initialize(1L, confname, aserver->cell))) {
!                 printf("Error %d\n", *status);
                  return;
              }
  
***************
*** 356,361 ****
--- 371,377 ----
      abort();
  }
  
+ #ifdef HAVE_KRB4
  static int get_cred(char *name, char *inst, char *realm, CREDENTIALS *c)
  {
      int status;
***************
*** 375,380 ****
--- 391,397 ----
  
      return (status);
  }
+ #endif
  
  static int get_v5cred(krb5_context context, 
                        char *name, char *inst, char *realm, CREDENTIALS *c,
***************
*** 387,393 ****
      memset((char *)&increds, 0, sizeof(increds));
  
      if ((r = krb5_build_principal(context, &increds.server,
!                                   strlen(realm), realm,
                                    name,
                                    (inst && strlen(inst)) ? inst : 0,
                                    0))) {
--- 404,410 ----
      memset((char *)&increds, 0, sizeof(increds));
  
      if ((r = krb5_build_principal(context, &increds.server,
!                                   (int)strlen(realm), realm,
                                    name,
                                    (inst && strlen(inst)) ? inst : 0,
                                    0))) {
***************
*** 414,419 ****
--- 431,437 ----
      return((int)r);
  }
  
+ #ifdef HAVE_KRB4
  /* There is no header for this function.  It is supposed to be private */
  int krb_get_admhst(char *h,char *r, int n);
  
***************
*** 443,449 ****
      }
      return krbrlm;
  }
! 
  
  /* As of MIT Kerberos 1.6, krb5_get_host_realm() will return the NUL-string 
   * if there is no domain_realm mapping for the hostname's domain.  This is 
--- 461,467 ----
      }
      return krbrlm;
  }
! #endif
  
  /* As of MIT Kerberos 1.6, krb5_get_host_realm() will return the NUL-string 
   * if there is no domain_realm mapping for the hostname's domain.  This is 
***************
*** 510,541 ****
  static int get_cellconfig(char *cell, struct afsconf_cell *cellconfig,
  						  char *local_cell)
  {
! 	int status = AKLOG_SUCCESS;
! 	struct afsconf_dir *configdir = 0;
  
! 	memset(local_cell, 0, sizeof(local_cell));
! 	memset(cellconfig, 0, sizeof(*cellconfig));
  
! 	if (GetLocalCell(&configdir, local_cell))
! 	{
! 		fprintf(stderr, "%s: can't determine local cell.\n", progname);
! 		exit(AKLOG_AFS);
! 	}
  
! 	if ((cell == NULL) || (cell[0] == 0))
! 		cell = local_cell;
  
! 	if (GetCellInfo(&configdir, cell, &cellconfig))
! 	{
! 		fprintf(stderr, "%s: Can't get information about cell %s.\n",
! 			progname, cell);
! 		status = AKLOG_AFS;
! 	}
  
  
! 	CloseConf(&configdir);
  
! 	return(status);
  }
  
  static int get_v5_user_realm(krb5_context context,char *realm)
--- 528,559 ----
  static int get_cellconfig(char *cell, struct afsconf_cell *cellconfig,
  						  char *local_cell)
  {
!     int status = AKLOG_SUCCESS;
!     struct afsconf_dir *configdir = 0;
  
!     memset(local_cell, 0, sizeof(local_cell));
!     memset(cellconfig, 0, sizeof(*cellconfig));
  
!     if (GetLocalCell(&configdir, local_cell))
!     {
!         fprintf(stderr, "%s: can't determine local cell.\n", progname);
!         exit(AKLOG_AFS);
!     }
  
!     if ((cell == NULL) || (cell[0] == 0))
!         cell = local_cell;
  
!     if (GetCellInfo(&configdir, cell, &cellconfig))
!     {
!         fprintf(stderr, "%s: Can't get information about cell %s.\n",
!                 progname, cell);
!         status = AKLOG_AFS;
!     }
  
  
!     CloseConf(&configdir);
  
!     return(status);
  }
  
  static int get_v5_user_realm(krb5_context context,char *realm)
***************
*** 572,578 ****
--- 590,598 ----
      char cell_to_use[MAXCELLCHARS+1]; /* Cell to authenticate to */
  
      krb5_creds *v5cred = NULL;
+ #ifdef HAVE_KRB4
      CREDENTIALS c;
+ #endif
      struct ktc_principal aserver;
      struct ktc_principal aclient;
      struct ktc_token atoken, btoken;
***************
*** 646,652 ****
  	if (dflag)
              printf("Getting v5 tickets: %s/%s@%s\n", name, instance, realm_of_cell);
          status = get_v5cred(context, name, instance, realm_of_cell, 
!                             use524 ? &c : NULL, &v5cred);
  	if (status == KRB5_ERR_HOST_REALM_UNKNOWN) {
  	    realm_fallback = 1;
  	    goto try_v5;
--- 666,677 ----
  	if (dflag)
              printf("Getting v5 tickets: %s/%s@%s\n", name, instance, realm_of_cell);
          status = get_v5cred(context, name, instance, realm_of_cell, 
! #ifdef HAVE_KRB4
!                             use524 ? &c : NULL, 
! #else
!                             NULL,
! #endif
!                             &v5cred);
  	if (status == KRB5_ERR_HOST_REALM_UNKNOWN) {
  	    realm_fallback = 1;
  	    goto try_v5;
***************
*** 658,664 ****
              if (dflag)
                  printf("Getting v5 tickets: %s@%s\n", name, realm_of_cell);
              status = get_v5cred(context, name, "", realm_of_cell, 
!                                 use524 ? &c : NULL, &v5cred);
  	}
          if ( status == KRB5KRB_AP_ERR_MSG_TYPE && retry ) {
              retry = 0;
--- 683,694 ----
              if (dflag)
                  printf("Getting v5 tickets: %s@%s\n", name, realm_of_cell);
              status = get_v5cred(context, name, "", realm_of_cell, 
! #ifdef HAVE_KRB4
!                                 use524 ? &c : NULL, 
! #else
!                                 NULL,
! #endif
!                                 &v5cred);
  	}
          if ( status == KRB5KRB_AP_ERR_MSG_TYPE && retry ) {
              retry = 0;
***************
*** 668,673 ****
--- 698,704 ----
      }       
      else 
      {
+ #ifdef HAVE_KRB4
  	if (realm && realm[0])
  	    strcpy(realm_of_cell, realm);
  	else
***************
*** 689,694 ****
--- 720,728 ----
                  printf("Getting tickets: %s@%s\n", name, realm_of_cell);
              status = get_cred(name, "", realm_of_cell, &c);
          }
+ #else
+         return(AKLOG_MISC);
+ #endif
      } 
  
      /* TODO: get k5 error text */
***************
*** 698,705 ****
              printf("Kerberos error code returned by get_cred: %d\n", status);
          fprintf(stderr, "%s: Couldn't get %s AFS tickets: %s\n",
                   progname, cell_to_use, 
!                  (usev5)?"":
!                  krb_err_text(status));
          return(AKLOG_KERBEROS);
      }
  
--- 732,743 ----
              printf("Kerberos error code returned by get_cred: %d\n", status);
          fprintf(stderr, "%s: Couldn't get %s AFS tickets: %s\n",
                   progname, cell_to_use, 
! #ifdef HAVE_KRB4
!                  (usev5)?"":krb_err_text(status)
! #else
!                  ""
! #endif
!                  );
          return(AKLOG_KERBEROS);
      }
  
***************
*** 735,740 ****
--- 773,779 ----
          atoken.ticketLen = v5cred->ticket.length;
          memcpy(atoken.ticket, v5cred->ticket.data, atoken.ticketLen);
      } else {
+ #ifdef HAVE_KRB4
          strcpy (username, c.pname);
          if (c.pinst[0])
          {
***************
*** 750,755 ****
--- 789,797 ----
          memcpy(&atoken.sessionKey, c.session, 8);
          atoken.ticketLen = c.ticket_st.length;
          memcpy(atoken.ticket, c.ticket_st.dat, atoken.ticketLen);
+ #else
+         return(AKLOG_MISC);
+ #endif
      }
  
      if (!force &&
***************
*** 778,789 ****
--- 820,835 ----
                  return(AKLOG_KERBEROS);
              }
          } else {
+ #ifdef HAVE_KRB4
              if ((status = krb_get_tf_realm(TKT_FILE, realm_of_user)) != KSUCCESS)
              {
                  fprintf(stderr, "%s: Couldn't determine realm of user: %s)",
                           progname, krb_err_text(status));
                  return(AKLOG_KERBEROS);
              }
+ #else
+             return(AKLOG_MISC);
+ #endif
          }
  
          /* For Khimaira we want to always append the realm to the name */
***************
*** 793,799 ****
              strcat(username, realm_of_user);
          }
  
!         ViceIDToUsername(username, realm_of_user, realm_of_cell, cell_to_use, &c, &status, &aclient, &aserver, &atoken);
      }
  
      if (dflag)
--- 839,851 ----
              strcat(username, realm_of_user);
          }
  
!         ViceIDToUsername(username, realm_of_user, realm_of_cell, cell_to_use, 
! #ifdef HAVE_KRB4
!                           &c, 
! #else
!                           NULL,
! #endif
!                           &status, &aclient, &aserver, &atoken);
      }
  
      if (dflag)
***************
*** 810,817 ****
          int len = min(v5cred->client->realm.length,MAXKTCNAMELEN - 1);
          strncpy(aclient.cell, v5cred->client->realm.data, len);
          aclient.cell[len] = '\0';
!     } else
  	strncpy(aclient.cell, c.realm, MAXKTCREALMLEN - 1);
  
      for ( i=0; aclient.cell[i]; i++ ) {
          if ( islower(aclient.cell[i]) )
--- 862,872 ----
          int len = min(v5cred->client->realm.length,MAXKTCNAMELEN - 1);
          strncpy(aclient.cell, v5cred->client->realm.data, len);
          aclient.cell[len] = '\0';
!     } 
! #ifdef HAVE_KRB4
!     else
  	strncpy(aclient.cell, c.realm, MAXKTCREALMLEN - 1);
+ #endif
  
      for ( i=0; aclient.cell[i]; i++ ) {
          if ( islower(aclient.cell[i]) )
***************
*** 1086,1101 ****
               "[-d] [[-cell | -c] cell [-k krb_realm]] ",
               "[[-p | -path] pathname]\n",
               "    [-noprdb] [-force]\n",
               "    [-5 [-m]| -4]\n"
               );
      fprintf(stderr, "    -d gives debugging information.\n");
      fprintf(stderr, "    krb_realm is the kerberos realm of a cell.\n");
      fprintf(stderr, "    pathname is the name of a directory to which ");
      fprintf(stderr, "you wish to authenticate.\n");
      fprintf(stderr, "    -noprdb means don't try to determine AFS ID.\n");
!     fprintf(stderr, "    -5 or -4 selects whether to use Kerberos V or Kerberos IV.\n"
!                     "       (default is Kerberos V)\n");
!     fprintf(stderr, "       -m means use krb524d to convert Kerberos V tickets.\n");
      fprintf(stderr, "    No commandline arguments means ");
      fprintf(stderr, "authenticate to the local cell.\n");
      fprintf(stderr, "\n");
--- 1141,1165 ----
               "[-d] [[-cell | -c] cell [-k krb_realm]] ",
               "[[-p | -path] pathname]\n",
               "    [-noprdb] [-force]\n",
+ #ifdef HAVE_KRB4
               "    [-5 [-m]| -4]\n"
+ #else
+              "    [-5]\n"
+ #endif
               );
      fprintf(stderr, "    -d gives debugging information.\n");
      fprintf(stderr, "    krb_realm is the kerberos realm of a cell.\n");
      fprintf(stderr, "    pathname is the name of a directory to which ");
      fprintf(stderr, "you wish to authenticate.\n");
      fprintf(stderr, "    -noprdb means don't try to determine AFS ID.\n");
! #ifdef HAVE_KRB4
!     fprintf(stderr, "    -5 or -4 selects whether to use Kerberos v5 or Kerberos v4.\n"
!                     "       (default is Kerberos v5)\n");
!     fprintf(stderr, "       -m means use krb524d to convert Kerberos v5 tickets.\n");
! #else
!     fprintf(stderr, "    -5 use Kerberos v5.\n"
!                     "       (only Kerberos v5 is available)\n");
! #endif
      fprintf(stderr, "    No commandline arguments means ");
      fprintf(stderr, "authenticate to the local cell.\n");
      fprintf(stderr, "\n");
***************
*** 1152,1161 ****
--- 1216,1227 ----
              dflag++;
          else if (strcmp(argv[i], "-5") == 0)
              usev5++;
+ #ifdef HAVE_KRB4
          else if (strcmp(argv[i], "-m") == 0)
              use524++;
          else if (strcmp(argv[i], "-4") == 0)
              usev5 = 0;
+ #endif
          else if (strcmp(argv[i], "-noprdb") == 0)
              noprdb++;
          else if (strcmp(argv[i], "-force") == 0)
Index: openafs/src/WINNT/client_config/NTMakefile
diff -c openafs/src/WINNT/client_config/NTMakefile:1.11.4.3 openafs/src/WINNT/client_config/NTMakefile:1.11.4.5
*** openafs/src/WINNT/client_config/NTMakefile:1.11.4.3	Tue Dec 12 19:26:35 2006
--- openafs/src/WINNT/client_config/NTMakefile	Tue Sep 18 02:36:59 2007
***************
*** 21,26 ****
--- 21,28 ----
  
  EXEFILE = $(DESTDIR)\root.client\usr\vice\etc\afs_config.exe
  
+ MANIFEST = $(EXEFILE).manifest
+ 
  EXEOBJS = \
  	$(OUT)\config.obj \
  	$(OUT)\drivemap.obj \
***************
*** 48,54 ****
  
  AFSDOBJS = \
  	$(OUT)\fs_utils.obj
! 	
  AFSD= ..\afsd
  
  VCLIBS =\
--- 50,56 ----
  
  AFSDOBJS = \
  	$(OUT)\fs_utils.obj
! 
  AFSD= ..\afsd
  
  VCLIBS =\
***************
*** 107,112 ****
--- 109,119 ----
  
  $(EXEFILE) : $(EXEOBJS) $(EXEOBJSc) $(EXERES) $(AFSDOBJS) $(EXELIBS)
  	$(EXEGUILINK) $(VCLIBS)
+ !IF ("$(AFSVER_CL)" == "1400")
+         if exist $@.manifest mt.exe -manifest afs_config.exe.manifest $(MANIFEST) -out:$(MANIFEST)
+ !ELSE
+         $(COPY) afs_config.exe.manifest $(MANIFEST)
+ !ENDIF
          $(_VC_MANIFEST_EMBED_EXE)
  	$(EXEPREP) 
  
***************
*** 166,171 ****
--- 173,179 ----
  
  clean::
  	$(DEL) $(COPYHEADERS)
+         $(DEL) $(MANIFEST)
  	$(CD) lang
  	$(DEL) AFS_component_version_number.h
  	if exist $(NTLANG) $(NTLANG) en_US $(MAKECMD) /nologo /e /f NTMakefile clean
Index: openafs/src/WINNT/client_config/afs_config.exe.manifest
diff -c /dev/null openafs/src/WINNT/client_config/afs_config.exe.manifest:1.1.2.2
*** /dev/null	Thu Sep 20 01:06:28 2007
--- openafs/src/WINNT/client_config/afs_config.exe.manifest	Tue Sep 18 02:14:23 2007
***************
*** 0 ****
--- 1,13 ----
+ <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+ <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> 
+   <openafs:trustInfo xmlns:openafs="urn:schemas-microsoft-com:asm.v2">
+     <openafs:security>
+       <openafs:requestedPrivileges>
+         <openafs:requestedExecutionLevel
+           level="highestAvailable"
+           uiAccess="false"/>
+         </openafs:requestedPrivileges>
+        </openafs:security>
+   </openafs:trustInfo>
+ </assembly>
+ 
Index: openafs/src/WINNT/client_creds/ipaddrchg.c
diff -c openafs/src/WINNT/client_creds/ipaddrchg.c:1.4 openafs/src/WINNT/client_creds/ipaddrchg.c:1.4.4.2
*** openafs/src/WINNT/client_creds/ipaddrchg.c:1.4	Sun Aug 14 07:25:23 2005
--- openafs/src/WINNT/client_creds/ipaddrchg.c	Sun Sep  2 12:37:44 2007
***************
*** 62,69 ****
  #include <time.h>
  #include <winsock2.h>
  
! #define USE_MS2MIT
! #define USE_KRB4
  #include <afs/stds.h>
  #include <krb5.h>
  #include <rxkad.h>
--- 62,69 ----
  #include <time.h>
  #include <winsock2.h>
  
! #define USE_MS2MIT 1
! 
  #include <afs/stds.h>
  #include <krb5.h>
  #include <rxkad.h>
Index: openafs/src/WINNT/client_osi/largeint.h
diff -c openafs/src/WINNT/client_osi/largeint.h:1.1 openafs/src/WINNT/client_osi/largeint.h:1.1.14.1
*** openafs/src/WINNT/client_osi/largeint.h:1.1	Thu Feb 26 14:22:49 2004
--- openafs/src/WINNT/client_osi/largeint.h	Mon Sep 10 15:02:39 2007
***************
*** 29,35 ****
  //
  
  LARGE_INTEGER
- WINAPI
  LargeIntegerAdd (
      LARGE_INTEGER Addend1,
      LARGE_INTEGER Addend2
--- 29,34 ----
***************
*** 40,46 ****
  //
  
  LARGE_INTEGER
- WINAPI
  EnlargedIntegerMultiply (
      LONG Multiplicand,
      LONG Multiplier
--- 39,44 ----
***************
*** 51,57 ****
  //
  
  LARGE_INTEGER
- WINAPI
  EnlargedUnsignedMultiply (
      ULONG Multiplicand,
      ULONG Multiplier
--- 49,54 ----
***************
*** 62,68 ****
  //
  
  ULONG
- WINAPI
  EnlargedUnsignedDivide (
      IN ULARGE_INTEGER Dividend,
      IN ULONG Divisor,
--- 59,64 ----
***************
*** 74,80 ****
  //
  
  LARGE_INTEGER
- WINAPI
  ExtendedMagicDivide (
      LARGE_INTEGER Dividend,
      LARGE_INTEGER MagicDivisor,
--- 70,75 ----
***************
*** 86,92 ****
  //
  
  LARGE_INTEGER
- WINAPI
  ExtendedLargeIntegerDivide (
      LARGE_INTEGER Dividend,
      ULONG Divisor,
--- 81,86 ----
***************
*** 98,104 ****
  //
  
  LARGE_INTEGER
- WINAPI
  LargeIntegerDivide (
      LARGE_INTEGER Dividend,
      LARGE_INTEGER Divisor,
--- 92,97 ----
***************
*** 110,116 ****
  //
  
  LARGE_INTEGER
- WINAPI
  ExtendedIntegerMultiply (
      LARGE_INTEGER Multiplicand,
      LONG Multiplier
--- 103,108 ----
***************
*** 121,127 ****
  //
  
  LARGE_INTEGER
- WINAPI
  LargeIntegerNegate (
      LARGE_INTEGER Subtrahend
      );
--- 113,118 ----
***************
*** 131,137 ****
  //
  
  LARGE_INTEGER
- WINAPI
  LargeIntegerSubtract (
      LARGE_INTEGER Minuend,
      LARGE_INTEGER Subtrahend
--- 122,127 ----
***************
*** 157,163 ****
  //
  
  LARGE_INTEGER
- WINAPI
  ConvertLongToLargeInteger (
      LONG SignedInteger
      );
--- 147,152 ----
***************
*** 167,173 ****
  //
  
  LARGE_INTEGER
- WINAPI
  ConvertUlongToLargeInteger (
      ULONG UnsignedInteger
      );
--- 156,161 ----
***************
*** 178,198 ****
  //
  
  LARGE_INTEGER
- WINAPI
  LargeIntegerShiftLeft (
      LARGE_INTEGER LargeInteger,
      CCHAR ShiftCount
      );
  
  LARGE_INTEGER
- WINAPI
  LargeIntegerShiftRight (
      LARGE_INTEGER LargeInteger,
      CCHAR ShiftCount
      );
  
  LARGE_INTEGER
- WINAPI
  LargeIntegerArithmeticShift (
      LARGE_INTEGER LargeInteger,
      CCHAR ShiftCount
--- 166,183 ----
Index: openafs/src/WINNT/client_osi/osi.h
diff -c openafs/src/WINNT/client_osi/osi.h:1.5 openafs/src/WINNT/client_osi/osi.h:1.5.14.1
*** openafs/src/WINNT/client_osi/osi.h:1.5	Thu Feb 26 14:22:49 2004
--- openafs/src/WINNT/client_osi/osi.h	Mon Sep 10 15:02:39 2007
***************
*** 53,58 ****
--- 53,61 ----
  #define LargeIntegerEqualTo(a, b) \
    ((a).HighPart == (b).HighPart && (a).LowPart == (b).LowPart)
    
+ #define LargeIntegerGreaterThanZero(a) \
+  ((a).HighPart > 0 || ((a).HighPart == 0 && (a).LowPart != 0))
+ 
  #define LargeIntegerGreaterOrEqualToZero(a) ((a).HighPart >= 0)
    
  #define LargeIntegerLessThanZero(a) ((a).HighPart < 0)
Index: openafs/src/WINNT/client_osi/osiutils.c
diff -c openafs/src/WINNT/client_osi/osiutils.c:1.5 openafs/src/WINNT/client_osi/osiutils.c:1.5.4.1
*** openafs/src/WINNT/client_osi/osiutils.c:1.5	Sun Nov 20 20:56:22 2005
--- openafs/src/WINNT/client_osi/osiutils.c	Mon Sep 10 15:02:39 2007
***************
*** 76,82 ****
  }
  
  #if (_MSC_VER >= 1300)
! LARGE_INTEGER LargeIntegerAdd(LARGE_INTEGER a, LARGE_INTEGER b)
  { 
  	LARGE_INTEGER result;
  	int carry;
--- 76,82 ----
  }
  
  #if (_MSC_VER >= 1300)
! LARGE_INTEGER /* WINAPI */ LargeIntegerAdd(LARGE_INTEGER a, LARGE_INTEGER b)
  { 
  	LARGE_INTEGER result;
  	int carry;
***************
*** 85,91 ****
  	result.HighPart=a.HighPart+b.HighPart+ carry;
  	return result;
  }
! LARGE_INTEGER LargeIntegerSubtract(LARGE_INTEGER a, LARGE_INTEGER b)
  { 
  	LARGE_INTEGER result;
  	int borrow;
--- 85,91 ----
  	result.HighPart=a.HighPart+b.HighPart+ carry;
  	return result;
  }
! LARGE_INTEGER /* WINAPI */ LargeIntegerSubtract(LARGE_INTEGER a, LARGE_INTEGER b)
  { 
  	LARGE_INTEGER result;
  	int borrow;
***************
*** 94,100 ****
  	result.HighPart=a.HighPart-b.HighPart- borrow;
  	return result;
  }
! LARGE_INTEGER ExtendedLargeIntegerDivide(LARGE_INTEGER a, unsigned long b, unsigned long *remainder)
  {
      LARGE_INTEGER result;
      ULONGLONG a1,q1,r1;
--- 94,100 ----
  	result.HighPart=a.HighPart-b.HighPart- borrow;
  	return result;
  }
! LARGE_INTEGER /* WINAPI */ ExtendedLargeIntegerDivide(LARGE_INTEGER a, unsigned long b, unsigned long *remainder)
  {
      LARGE_INTEGER result;
      ULONGLONG a1,q1,r1;
***************
*** 115,121 ****
      *remainder=(unsigned long)(r1 & 0xffffffff);
      return result;
  }
! LARGE_INTEGER LargeIntegerDivide(LARGE_INTEGER a, LARGE_INTEGER b, LARGE_INTEGER *remainder)
  {
      LARGE_INTEGER result;
      ULONGLONG a1,b1,q1,r1;
--- 115,121 ----
      *remainder=(unsigned long)(r1 & 0xffffffff);
      return result;
  }
! LARGE_INTEGER /* WINAPI */ LargeIntegerDivide(LARGE_INTEGER a, LARGE_INTEGER b, LARGE_INTEGER *remainder)
  {
      LARGE_INTEGER result;
      ULONGLONG a1,b1,q1,r1;
***************
*** 144,150 ****
      return result;
  }
  
! LARGE_INTEGER ConvertLongToLargeInteger(unsigned long a) 
  {
      LARGE_INTEGER result;
      result.HighPart=0;
--- 144,150 ----
      return result;
  }
  
! LARGE_INTEGER /* WINAPI */ ConvertLongToLargeInteger(unsigned long a) 
  {
      LARGE_INTEGER result;
      result.HighPart=0;
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.19 openafs/src/WINNT/doc/install/Documentation/en_US/html/index.htm:1.5.4.20
*** openafs/src/WINNT/doc/install/Documentation/en_US/html/index.htm:1.5.4.19	Tue Aug 28 13:52:01 2007
--- openafs/src/WINNT/doc/install/Documentation/en_US/html/index.htm	Wed Sep 19 01:53:46 2007
***************
*** 57,63 ****
  
  <h1>OpenAFS for Windows</h1>
  
! <h2>Version 1.5.24</h2>
  
  <p class=MsoNormal>&nbsp; </p>
  
--- 57,63 ----
  
  <h1>OpenAFS for Windows</h1>
  
! <h2>Version 1.5.25</h2>
  
  <p class=MsoNormal>&nbsp; </p>
  
***************
*** 80,86 ****
  <span
  style='font-family:Symbol'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  </span></span><a
! href="ReleaseNotes/relnotes-frames.htm">OpenAFS for Windows 1.5.24
  Release Notes</a></p>
  
  <p style='margin-left:36.0pt;text-indent:-18.0pt;'>
--- 80,86 ----
  <span
  style='font-family:Symbol'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  </span></span><a
! href="ReleaseNotes/relnotes-frames.htm">OpenAFS for Windows 1.5.25
  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.19 openafs/src/WINNT/doc/install/Documentation/en_US/html/ReleaseNotes/logo.htm:1.1.6.20
*** openafs/src/WINNT/doc/install/Documentation/en_US/html/ReleaseNotes/logo.htm:1.1.6.19	Tue Aug 28 13:52:05 2007
--- openafs/src/WINNT/doc/install/Documentation/en_US/html/ReleaseNotes/logo.htm	Wed Sep 19 01:53:51 2007
***************
*** 18,28 ****
  .shape {behavior:url(#default#VML);}
  </style>
  <![endif]-->
! <title>OpenAFS for Windows 1.5.24 Release Notes</title>
  <!--[if gte mso 9]><xml>
   <o:DocumentProperties>
    <o:Revision>1</o:Revision>
!   <o:TotalTime>0</o:TotalTime>
    <o:Created>2006-11-29T17:26:00Z</o:Created>
    <o:Pages>1</o:Pages>
    <o:Words>34</o:Words>
--- 18,28 ----
  .shape {behavior:url(#default#VML);}
  </style>
  <![endif]-->
! <title>OpenAFS for Windows 1.5.25 Release Notes</title>
  <!--[if gte mso 9]><xml>
   <o:DocumentProperties>
    <o:Revision>1</o:Revision>
!   <o:TotalTime>1</o:TotalTime>
    <o:Created>2006-11-29T17:26:00Z</o:Created>
    <o:Pages>1</o:Pages>
    <o:Words>34</o:Words>
***************
*** 31,48 ****
    <o:Lines>1</o:Lines>
    <o:Paragraphs>1</o:Paragraphs>
    <o:CharactersWithSpaces>228</o:CharactersWithSpaces>
!   <o:Version>11.8107</o:Version>
   </o:DocumentProperties>
  </xml><![endif]--><!--[if gte mso 9]><xml>
   <w:WordDocument>
    <w:GrammarState>Clean</w:GrammarState>
    <w:ValidateAgainstSchemas/>
    <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>
    <w:IgnoreMixedContent>false</w:IgnoreMixedContent>
    <w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>
-   <w:Compatibility>
-    <w:UseFELayout/>
-   </w:Compatibility>
    <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel>
   </w:WordDocument>
  </xml><![endif]--><!--[if gte mso 9]><xml>
--- 31,46 ----
    <o:Lines>1</o:Lines>
    <o:Paragraphs>1</o:Paragraphs>
    <o:CharactersWithSpaces>228</o:CharactersWithSpaces>
!   <o:Version>11.8132</o:Version>
   </o:DocumentProperties>
  </xml><![endif]--><!--[if gte mso 9]><xml>
   <w:WordDocument>
+   <w:SpellingState>Clean</w:SpellingState>
    <w:GrammarState>Clean</w:GrammarState>
    <w:ValidateAgainstSchemas/>
    <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>
    <w:IgnoreMixedContent>false</w:IgnoreMixedContent>
    <w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>
    <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel>
   </w:WordDocument>
  </xml><![endif]--><!--[if gte mso 9]><xml>
***************
*** 77,82 ****
--- 75,88 ----
  	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:blue;
+ 	text-decoration:underline;
+ 	text-underline:single;}
  @page Section1
  	{size:612.0pt 792.0pt;
  	margin:72.0pt 90.0pt 72.0pt 90.0pt;
***************
*** 102,114 ****
  	mso-pagination:widow-orphan;
  	font-size:10.0pt;
  	font-family:"Times New Roman";
- 	mso-fareast-font-family:"Times New Roman";
  	mso-ansi-language:#0400;
  	mso-fareast-language:#0400;
  	mso-bidi-language:#0400;}
  </style>
  <![endif]--><!--[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"/>
--- 108,119 ----
  	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]--><!--[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"/>
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.23 openafs/src/WINNT/doc/install/Documentation/en_US/html/ReleaseNotes/relnotes.htm:1.6.4.24
*** openafs/src/WINNT/doc/install/Documentation/en_US/html/ReleaseNotes/relnotes.htm:1.6.4.23	Tue Aug 28 13:52:05 2007
--- openafs/src/WINNT/doc/install/Documentation/en_US/html/ReleaseNotes/relnotes.htm	Wed Sep 19 01:53:51 2007
***************
*** 19,25 ****
  .shape {behavior:url(#default#VML);}
  </style>
  <![endif]-->
! <title>OpenAFS for Windows 1.5.24 Release Notes</title>
  <o:SmartTagType namespaceuri="urn:schemas-microsoft-com:office:smarttags"
   name="PostalCode"/>
  <o:SmartTagType namespaceuri="urn:schemas-microsoft-com:office:smarttags"
--- 19,25 ----
  .shape {behavior:url(#default#VML);}
  </style>
  <![endif]-->
! <title>OpenAFS for Windows 1.5.25 Release Notes</title>
  <o:SmartTagType namespaceuri="urn:schemas-microsoft-com:office:smarttags"
   name="PostalCode"/>
  <o:SmartTagType namespaceuri="urn:schemas-microsoft-com:office:smarttags"
***************
*** 42,63 ****
   <o:DocumentProperties>
    <o:LastAuthor>Jeffrey Altman</o:LastAuthor>
    <o:Revision>3</o:Revision>
!   <o:TotalTime>787</o:TotalTime>
    <o:Created>2006-11-29T17:26:00Z</o:Created>
    <o:LastSaved>2007-06-22T13:42:00Z</o:LastSaved>
!   <o:Pages>38</o:Pages>
!   <o:Words>17429</o:Words>
!   <o:Characters>99346</o:Characters>
    <o:Company>Secure Endpoints Inc.</o:Company>
!   <o:Lines>827</o:Lines>
!   <o:Paragraphs>233</o:Paragraphs>
!   <o:CharactersWithSpaces>116542</o:CharactersWithSpaces>
    <o:Version>11.8132</o:Version>
   </o:DocumentProperties>
  </xml><![endif]--><!--[if gte mso 9]><xml>
   <w:WordDocument>
!   <w:SpellingState>Clean</w:SpellingState>
!   <w:GrammarState>Clean</w:GrammarState>
    <w:ValidateAgainstSchemas/>
    <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>
    <w:IgnoreMixedContent>false</w:IgnoreMixedContent>
--- 42,62 ----
   <o:DocumentProperties>
    <o:LastAuthor>Jeffrey Altman</o:LastAuthor>
    <o:Revision>3</o:Revision>
!   <o:TotalTime>802</o:TotalTime>
    <o:Created>2006-11-29T17:26:00Z</o:Created>
    <o:LastSaved>2007-06-22T13:42:00Z</o:LastSaved>
!   <o:Pages>1</o:Pages>
!   <o:Words>17762</o:Words>
!   <o:Characters>101245</o:Characters>
    <o:Company>Secure Endpoints Inc.</o:Company>
!   <o:Lines>843</o:Lines>
!   <o:Paragraphs>237</o:Paragraphs>
!   <o:CharactersWithSpaces>118770</o:CharactersWithSpaces>
    <o:Version>11.8132</o:Version>
   </o:DocumentProperties>
  </xml><![endif]--><!--[if gte mso 9]><xml>
   <w:WordDocument>
!   <w:Zoom>0</w:Zoom>
    <w:ValidateAgainstSchemas/>
    <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>
    <w:IgnoreMixedContent>false</w:IgnoreMixedContent>
***************
*** 479,490 ****
  	font-family:Thorndale;
  	mso-ascii-font-family:Thorndale;
  	mso-hansi-font-family:Thorndale;}
- span.SpellE
- 	{mso-style-name:"";
- 	mso-spl-e:yes;}
- span.GramE
- 	{mso-style-name:"";
- 	mso-gram-e:yes;}
  @page Section1
  	{size:612.0pt 792.0pt;
  	margin:72.0pt 90.0pt 72.0pt 90.0pt;
--- 478,483 ----
***************
*** 538,545 ****
  	mso-level-number-position:left;
  	text-indent:-18.0pt;}
  @list l1
! 	{mso-list-id:2085452249;
! 	mso-list-template-ids:-1972580140;}
  @list l1:level1
  	{mso-level-number-format:bullet;
  	mso-level-text:\F0B7;
--- 531,538 ----
  	mso-level-number-position:left;
  	text-indent:-18.0pt;}
  @list l1
! 	{mso-list-id:2104109742;
! 	mso-list-template-ids:1181259030;}
  @list l1:level1
  	{mso-level-number-format:bullet;
  	mso-level-text:\F0B7;
***************
*** 574,580 ****
  	mso-bidi-language:#0400;}
  </style>
  <![endif]--><!--[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"/>
--- 567,573 ----
  	mso-bidi-language:#0400;}
  </style>
  <![endif]--><!--[if gte mso 9]><xml>
!  <o:shapedefaults v:ext="edit" spidmax="3074"/>
  </xml><![endif]--><!--[if gte mso 9]><xml>
   <o:shapelayout v:ext="edit">
    <o:idmap v:ext="edit" data="1"/>
***************
*** 586,592 ****
  
  <div class=Section1>
  
! <p class=MsoTitle>OpenAFS for Windows 1.5.24<br>
  Release Notes</p>
  
  <p class=MsoBodyText>The Andrew File System (AFS) is a location-independent
--- 579,585 ----
  
  <div class=Section1>
  
! <p class=MsoTitle>OpenAFS for Windows 1.5.25<br>
  Release Notes</p>
  
  <p class=MsoBodyText>The Andrew File System (AFS) is a location-independent
***************
*** 597,605 ****
  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
--- 590,598 ----
  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
***************
*** 623,637 ****
  such that the user is unaware of the distinction between the use of AFS and
  Microsoft Windows file shares.&nbsp;&nbsp; OAFW can be part of a single sign-on
  solution by allowing credentials for a Kerberos principal to be obtained at
! logon and for that principal to be used to obtain AFS tokens for one or more
! cells.&nbsp;&nbsp; Although OAFW is implemented as a locally installed SMB to
! AFS gateway, OAFW maintains the portability of file paths by its use of the <a
  href="file:///\\AFS">\\AFS</a> UNC server name.</p>
  
! <p class=MsoBodyText>OpenAFS is the product of an open source development
! effort begun on October 31 2000.&nbsp; OpenAFS is maintained and developed by a
! group of volunteers with the support of the user community.&nbsp;&nbsp; If you
! use OpenAFS as part of your computing infrastructure please contribute to its
  continued growth.</p>
  
  <p class=MsoToc1><span class=MsoHyperlink><a href="#_Toc115417109">1. Installer
--- 616,630 ----
  such that the user is unaware of the distinction between the use of AFS and
  Microsoft Windows file shares.&nbsp;&nbsp; OAFW can be part of a single sign-on
  solution by allowing credentials for a Kerberos principal to be obtained at
! logon and for that principal to be used to obtain AFS tokens for one or more cells.&nbsp;&nbsp;
! Although OAFW is implemented as a locally installed SMB to AFS gateway, OAFW
! maintains the portability of file paths by its use of the <a
  href="file:///\\AFS">\\AFS</a> UNC server name.</p>
  
! <p class=MsoBodyText>OpenAFS is the product of an open source development effort
! begun on October 31 2000.&nbsp; OpenAFS is maintained and developed by a group
! of volunteers with the support of the user community.&nbsp;&nbsp; If you use
! OpenAFS as part of your computing infrastructure please contribute to its
  continued growth.</p>
  
  <p class=MsoToc1><span class=MsoHyperlink><a href="#_Toc115417109">1. Installer
***************
*** 678,691 ****
  
  <p class=MsoNormal style='margin-left:18.0pt;text-indent:-18.0pt'><span
  style='font-size:9.0pt'>1.</span><span style='font-size:7.0pt;font-family:"Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
! </span><span class=GramE>an</span> executable (.exe) that is built using the <span
! class=SpellE>Nullsoft</span> Scriptable Installation System, or</p>
  
  <p class=MsoNormal style='margin-left:18.0pt;text-indent:-18.0pt'><span
  style='font-size:9.0pt'>2.</span><span style='font-size:7.0pt;font-family:"Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
! </span><span class=GramE>a</span> Windows Installer package (.<span
! class=SpellE>msi</span>) that is built using <span class=SpellE>WiX</span> and
! can be customized for organizations via the use of MSI Transforms (see <a
  href="#_MSI_Deployment_Guide">MSI Deployment Guide</a>)</p>
  
  <h1><a name="_Toc170268814"></a><a name="_Toc152605033"></a><a
--- 671,683 ----
  
  <p class=MsoNormal style='margin-left:18.0pt;text-indent:-18.0pt'><span
  style='font-size:9.0pt'>1.</span><span style='font-size:7.0pt;font-family:"Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
! </span>an executable (.exe) that is built using the Nullsoft Scriptable
! Installation System, or</p>
  
  <p class=MsoNormal style='margin-left:18.0pt;text-indent:-18.0pt'><span
  style='font-size:9.0pt'>2.</span><span style='font-size:7.0pt;font-family:"Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
! </span>a Windows Installer package (.msi) that is built using WiX and can be
! customized for organizations via the use of MSI Transforms (see <a
  href="#_MSI_Deployment_Guide">MSI Deployment Guide</a>)</p>
  
  <h1><a name="_Toc170268814"></a><a name="_Toc152605033"></a><a
***************
*** 771,779 ****
  NT</p>
  
  <p class=MsoNormal>Older releases of OpenAFS are available for download if
! unsupported operating systems must be used.&nbsp; The last version of OpenAFS
! with support for Win9x is 1.2.2b.&nbsp; The last version with support for
! Windows NT 4.0 is 1.2.10.</p>
  
  <h2><a name="_Toc170268817"></a><a name="_Toc152605036"></a><a
  name="_Toc115416102"></a><a name="_Toc139993086"></a><a name="_Toc126872167"></a><a
--- 763,771 ----
  NT</p>
  
  <p class=MsoNormal>Older releases of OpenAFS are available for download if
! unsupported operating systems must be used.&nbsp; The last version of OpenAFS with
! support for Win9x is 1.2.2b.&nbsp; The last version with support for Windows NT
! 4.0 is 1.2.10.</p>
  
  <h2><a name="_Toc170268817"></a><a name="_Toc152605036"></a><a
  name="_Toc115416102"></a><a name="_Toc139993086"></a><a name="_Toc126872167"></a><a
***************
*** 782,790 ****
  Disk Space</span></span></span></h2>
  
  <p class=MsoNormal>Up to 60mb required for the OpenAFS binaries plus 100MB for
! the default <span class=SpellE>AFSCache</span> file.&nbsp;&nbsp; (The size of
! the <span class=SpellE>AFSCache</span> file may be adjusted via the Registry
! after installation.)</p>
  
  <h2><a name="_Toc170268818"></a><a name="_Toc152605037"></a><a
  name="_Toc115416103"></a><a name="_Toc139993087"></a><a name="_Toc126872168"></a><a
--- 774,781 ----
  Disk Space</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
! adjusted via the Registry after installation.)</p>
  
  <h2><a name="_Toc170268818"></a><a name="_Toc152605037"></a><a
  name="_Toc115416103"></a><a name="_Toc139993087"></a><a name="_Toc126872168"></a><a
***************
*** 793,800 ****
  Additional Software</span> Packages</span></span></h2>
  
  <p class=MsoNormal><a href="http://web.mit.edu/kerberos/dist/index.html">MIT
! Kerberos for Windows</a> 2.6.x or 3.1.x if Kerberos v5 authentication support is
! desired.</p>
  
  <h1><a name="_Toc170268819"></a><a name="_Toc152605038"></a><a
  name="_Toc115416104"></a><a name="_Toc139993088"></a><a name="_Toc126872169"></a><a
--- 784,791 ----
  Additional Software</span> Packages</span></span></h2>
  
  <p class=MsoNormal><a href="http://web.mit.edu/kerberos/dist/index.html">MIT
! Kerberos for Windows</a> 2.6.x or 3.1.x if Kerberos v5 authentication support
! is desired.</p>
  
  <h1><a name="_Toc170268819"></a><a name="_Toc152605038"></a><a
  name="_Toc115416104"></a><a name="_Toc139993088"></a><a name="_Toc126872169"></a><a
***************
*** 831,838 ****
  based tokens are presented to an AFS server that does not support them, the
  server will be unable to communicate with the client when tokens are present.
  Kerberos v5 based tokens are supported by OpenAFS release 1.2.8 or later.<span
! style='mso-spacerun:yes'>  </span>IBM <span class=SpellE>Transarc</span>
! servers do not support Kerberos v5.</p>
  
  <h3><a name="_Toc170268821"></a><a name="_Toc152605040"></a><a
  name="_Toc115416106"></a><a name="_Toc139993090"></a><a name="_Toc126872171"></a><span
--- 822,829 ----
  based tokens are presented to an AFS server that does not support them, the
  server will be unable to communicate with the client when tokens are present.
  Kerberos v5 based tokens are supported by OpenAFS release 1.2.8 or later.<span
! style='mso-spacerun:yes'>  </span>IBM Transarc servers do not support Kerberos
! v5.</p>
  
  <h3><a name="_Toc170268821"></a><a name="_Toc152605040"></a><a
  name="_Toc115416106"></a><a name="_Toc139993090"></a><a name="_Toc126872171"></a><span
***************
*** 850,861 ****
  RXKADBADTICKET error.<span style='mso-spacerun:yes'>  </span>OpenAFS 1.4 (and
  beyond) servers can support the largest tickets that Active Directory can
  issue.&nbsp; Second, the Kerberos v5 tickets issued by Windows 2003 Active
! Directory are encrypted with the DES-CBC-MD5 encryption type (<span
! class=SpellE>enctype</span>).&nbsp; OpenAFS 1.2 servers only support the
! DES-CBC-CRC <span class=SpellE>enctype</span>.<span style='mso-spacerun:yes'> 
! </span>As a result, OpenAFS 1.2 servers cannot process the resulting Kerberos
! v5 tokens.<span style='mso-spacerun:yes'>  </span>Windows 2000 Active Directory
! issued tickets with the DES-CBC-CRC <span class=SpellE>enctype</span>.</p>
  
  <p class=MsoNormal>Microsoft has documented in <a
  href="http://support.microsoft.com/kb/832572/">Knowledge Base article 832572</a>
--- 841,852 ----
  RXKADBADTICKET error.<span style='mso-spacerun:yes'>  </span>OpenAFS 1.4 (and
  beyond) servers can support the largest tickets that Active Directory can
  issue.&nbsp; Second, the Kerberos v5 tickets issued by Windows 2003 Active
! Directory are encrypted with the DES-CBC-MD5 encryption type (enctype).&nbsp;
! OpenAFS 1.2 servers only support the DES-CBC-CRC enctype.<span
! style='mso-spacerun:yes'>  </span>As a result, OpenAFS 1.2 servers cannot
! process the resulting Kerberos v5 tokens.<span style='mso-spacerun:yes'> 
! </span>Windows 2000 Active Directory issued tickets with the DES-CBC-CRC
! enctype.</p>
  
  <p class=MsoNormal>Microsoft has documented in <a
  href="http://support.microsoft.com/kb/832572/">Knowledge Base article 832572</a>
***************
*** 872,887 ****
  style='mso-bookmark:_Toc115416107'>3.1.2. Using the krb524 service</span></span></span></h3>
  
  <p class=MsoNormal>Some organizations which have AFS cell names and Kerberos
! realm names which differ by more then just lower and upper case rely on a
! modification to krb524d which maps a Kerberos v5 ticket from realm FOO to a
! Kerberos v4 ticket in realm BAR.&nbsp; This allows <span class=SpellE>user@FOO</span>
! to appear to be <span class=SpellE>user@bar</span> 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) which has become increasingly blocked by
--- 863,877 ----
  style='mso-bookmark:_Toc115416107'>3.1.2. Using the krb524 service</span></span></span></h3>
  
  <p class=MsoNormal>Some organizations which have AFS cell names and Kerberos
! realm names which differ by more then just lower and upper case rely on a modification
! to krb524d which maps a Kerberos v5 ticket from realm FOO to a Kerberos v4
! ticket in realm BAR.&nbsp; This allows user@FOO to appear to be user@bar for
! the purposes of accessing the AFS cell.&nbsp; As of OpenAFS 1.2.8, support was
! 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) which has become increasingly blocked by
***************
*** 983,992 ****
  behavior in a plug-n-play network environment.&nbsp; Changes to the number of
  network adapters or their assigned IP addresses will cause the service to
  terminate unexpectedly.&nbsp; To avoid this behavior OpenAFS for Windows
! installs a single instance of the Microsoft Loopback Adapter (MLA) on the
! machine.&nbsp; With the MLA installed, the OpenAFS Client Service will not be
! affected by the configuration changes of other network adapters installed on
! the system.&nbsp; </p>
  
  <p class=MsoNormal>The MLA is installed with a name of &quot;AFS&quot; and a
  pre-assigned IP address in the 10.x.x.x range.&nbsp; The MLA is bound to the
--- 973,981 ----
  behavior in a plug-n-play network environment.&nbsp; Changes to the number of
  network adapters or their assigned IP addresses will cause the service to
  terminate unexpectedly.&nbsp; To avoid this behavior OpenAFS for Windows
! installs a single instance of the Microsoft Loopback Adapter (MLA) on the machine.&nbsp;
! With the MLA installed, the OpenAFS Client Service will not be affected by the
! configuration changes of other network adapters installed on the system.&nbsp; </p>
  
  <p class=MsoNormal>The MLA is installed with a name of &quot;AFS&quot; and a
  pre-assigned IP address in the 10.x.x.x range.&nbsp; The MLA is bound to the
***************
*** 1040,1110 ****
  Using Freelance (Dynamic Root) Mode to Improve Mobility</span></span></span></h2>
  
  <p class=MsoNormal>Traditionally, when the OpenAFS Client Service starts it
! must be able to access the &quot;<span class=SpellE>root.afs</span>&quot;
! volume of the default cell.&nbsp; The &quot;<span class=SpellE>root.afs</span>&quot;
! volume contains the set of mount points to the &quot;<span class=SpellE>root.cell</span>&quot;
! volumes of various cells the administrator of the default cell believes should
! be accessible.&nbsp; If the &quot;<span class=SpellE>root.afs</span>&quot;
  volume is inaccessible when the client service is started, the service will
  terminate unexpectedly.&nbsp; Since many users now use laptops or otherwise
  operate in disconnected environments in which a VPN may be required to access
! the cell's servers, it is often the case that the &quot;<span class=SpellE>root.afs</span>&quot;
! volume for the default cell is not reachable and the OpenAFS Client Service
! will not successfully start. </p>
  
  <p class=MsoNormal>To allow the OpenAFS Client Service to operate in these
! environments, Freelance mode dynamically constructs a fake &quot;<span
! class=SpellE>root.afs</span>&quot; volume from mount points and symlinks stored
! in the local registry.</p>
! 
! <p class=MsoNormal>The content of the fake “<span class=SpellE>root.afs</span>”
! volume is dynamically modified as cells are accessed.&nbsp; When the fake
! &quot;<span class=SpellE>root.afs</span>&quot; volume is initially constructed
! it will only contain two mount points: a <i>regular path </i>and <i>read-write
! path </i>mount point used to access the &quot;<span class=SpellE>root.cell</span>&quot;
! volume of the default AFS cell.&nbsp; Any attempt to access a valid cell name
! will result in a new mount point being created in the fake &quot;<span
! class=SpellE>root.afs</span>&quot; volume.&nbsp; If the <span class=SpellE>cellname</span>
! begins with a &quot;.&quot; the mount point will be a <i>read-write path</i>;
! otherwise the mount point will be a <i>regular path</i>.&nbsp; These mount
! points are preserved in the registry at key:</p>
  
  <p class=preformattedtext style='margin-left:35.45pt'><a
  href="#_Regkey:_[HKLMSOFTWAREOpenAFSClie">HKLM\SOFTWARE\OpenAFS\Client\Freelance</a></p>
  
  <p class=MsoNormal>Additional mount points may be manually created using the
! &quot;<span class=SpellE>fs</span> <span class=SpellE>mkmount</span>&quot;
! command.&nbsp; Mount points may be removed using the &quot;<span class=SpellE>fs</span>
! <span class=SpellE>rmmount</span>&quot; command.</p>
  
! <p class=preformattedtext style='margin-left:35.45pt'>&gt;<span class=SpellE>fs</span>
! <span class=SpellE>mkmount</span> \\AFS\athena.mit.edu <span class=SpellE>root.cell</span>
! athena.mit.edu</p>
  
! <p class=preformattedtext style='margin-left:35.45pt'>&gt;<span class=SpellE>fs</span>
! <span class=SpellE>mkmount</span> \\AFS\.athena.mit.edu <span class=SpellE>root.cell</span>
! athena.mit.edu -<span class=SpellE>rw</span></p>
  
! <p class=preformattedtext style='margin-left:35.45pt'>&gt;<span class=SpellE>fs</span>
! <span class=SpellE>rmmount</span> \\AFS\athena.mit.edu</p>
  
! <p class=preformattedtext style='margin-left:35.45pt'>&gt;<span class=SpellE>fs</span>
! <span class=SpellE>rmmount</span> \\AFS\.athena.mit.edu</p>
  
! <p class=MsoNormal>Symlinks may also be created within the Freelance “<span
! class=SpellE>root.afs</span>” volume.</p>
  
! <p class=preformattedtext style='margin-left:35.45pt'>&gt;<span class=SpellE>symlink</span>
! make \\afs\link \\afs\athena.mit.edu\user\j\a\jaltman</p>
  
! <p class=preformattedtext>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &gt;<span
! class=SpellE>symlink</span> list \\afs\link</p>
  
! <p class=preformattedtext>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; '\\<span class=SpellE>afs</span>\link'
! is a <span class=SpellE>symlink</span> to '<span class=SpellE>athena.mit.edu\user\j\a\jaltman</span>'</p>
  
! <p class=preformattedtext style='margin-left:35.45pt'>&gt;<span class=SpellE>symlink</span>
! <span class=SpellE>rm</span> \\afs\link</p>
  
  <p class=MsoNormal>The symlinks are stored in the registry at:</p>
  
--- 1029,1092 ----
  Using Freelance (Dynamic Root) Mode to Improve Mobility</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
! cell.&nbsp; The &quot;root.afs&quot; volume contains the set of mount points to
! the &quot;root.cell&quot; volumes of various cells the administrator of the
! default cell believes should be accessible.&nbsp; If the &quot;root.afs&quot;
  volume is inaccessible when the client service is started, the service will
  terminate unexpectedly.&nbsp; Since many users now use laptops or otherwise
  operate in disconnected environments in which a VPN may be required to access
! the cell's servers, it is often the case that the &quot;root.afs&quot; volume
! for the default cell is not reachable and the OpenAFS Client Service will not
! successfully start. </p>
  
  <p class=MsoNormal>To allow the OpenAFS Client Service to operate in these
! environments, Freelance mode dynamically constructs a fake &quot;root.afs&quot;
! volume from mount points and symlinks stored in the local registry.</p>
! 
! <p class=MsoNormal>The content of the fake “root.afs” volume is dynamically
! modified as cells are accessed.&nbsp; When the fake &quot;root.afs&quot; volume
! is initially constructed it will only contain two mount points: a <i>regular
! path </i>and <i>read-write path </i>mount point used to access the
! &quot;root.cell&quot; volume of the default AFS cell.&nbsp; Any attempt to
! access a valid cell name will result in a new mount point being created in the
! fake &quot;root.afs&quot; volume.&nbsp; If the cellname begins with a &quot;.&quot;
! the mount point will be a <i>read-write path</i>; otherwise the mount point
! will be a <i>regular path</i>.&nbsp; These mount points are preserved in the
! registry at key:</p>
  
  <p class=preformattedtext style='margin-left:35.45pt'><a
  href="#_Regkey:_[HKLMSOFTWAREOpenAFSClie">HKLM\SOFTWARE\OpenAFS\Client\Freelance</a></p>
  
  <p class=MsoNormal>Additional mount points may be manually created using the
! &quot;fs mkmount&quot; command.&nbsp; Mount points may be removed using the
! &quot;fs rmmount&quot; command.</p>
  
! <p class=preformattedtext style='margin-left:35.45pt'>&gt;fs mkmount
! \\AFS\athena.mit.edu root.cell athena.mit.edu</p>
  
! <p class=preformattedtext style='margin-left:35.45pt'>&gt;fs mkmount
! \\AFS\.athena.mit.edu root.cell athena.mit.edu -rw</p>
  
! <p class=preformattedtext style='margin-left:35.45pt'>&gt;fs rmmount
! \\AFS\athena.mit.edu</p>
  
! <p class=preformattedtext style='margin-left:35.45pt'>&gt;fs rmmount
! \\AFS\.athena.mit.edu</p>
  
! <p class=MsoNormal>Symlinks may also be created within the Freelance “root.afs”
! volume.</p>
  
! <p class=preformattedtext style='margin-left:35.45pt'>&gt;symlink make
! \\afs\link \\afs\athena.mit.edu\user\j\a\jaltman</p>
  
! <p class=preformattedtext>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &gt;symlink list
! \\afs\link</p>
  
! <p class=preformattedtext>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; '\\afs\link' is a
! symlink to 'athena.mit.edu\user\j\a\jaltman'</p>
  
! <p class=preformattedtext style='margin-left:35.45pt'>&gt;symlink rm \\afs\link</p>
  
  <p class=MsoNormal>The symlinks are stored in the registry at:</p>
  
***************
*** 1119,1126 ****
  
  <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 <span class=SpellE>CellServDB</span> file
! (\%PROGRAMFILES%\OpenAFS\Client\<span class=SpellE>CellServDB</span>).</p>
  
  <h2><a name="_Toc170268827"></a><a name="_Toc152605046"></a><a
  name="_Toc115416111"></a><a name="_Toc139993095"></a><a name="_Toc126872176"></a><a
--- 1101,1108 ----
  
  <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="_Toc170268827"></a><a name="_Toc152605046"></a><a
  name="_Toc115416111"></a><a name="_Toc139993095"></a><a name="_Toc126872176"></a><a
***************
*** 1128,1139 ****
  style='mso-bookmark:_Toc152605046'><span style='mso-bookmark:_Toc115416111'>3.5.
  Obtaining AFS Tokens as a Integrated Part of Windows Logon</span></span></span></h2>
  
! <p class=MsoNormal>OpenAFS for Windows installs a <span class=SpellE>WinLogon</span>
! Network Provider to provide Single Sign-On functionality (aka Integrated
! Logon.)&nbsp; Integrated Logon can be used when the Windows username and
! password match the username and password associated with the default cell's
! Kerberos realm.&nbsp; For example, if the Windows username is &quot;<span
! class=SpellE>jaltman</span>&quot; and the default cell is
  &quot;athena.mit.edu&quot;, then Integrated Logon can be successfully used if
  the windows password matches the password assigned to the Kerberos principal
  &quot;<a href="mailto:jaltman@ATHENA.MIT.EDU">jaltman@ATHENA.MIT.EDU</a>&quot;.&nbsp;
--- 1110,1120 ----
  style='mso-bookmark:_Toc152605046'><span style='mso-bookmark:_Toc115416111'>3.5.
  Obtaining AFS Tokens as a Integrated Part of Windows Logon</span></span></span></h2>
  
! <p class=MsoNormal>OpenAFS for Windows installs a WinLogon Network Provider to
! provide Single Sign-On functionality (aka Integrated Logon.)&nbsp; Integrated
! Logon can be used when the Windows username and password match the username and
! password associated with the default cell's Kerberos realm.&nbsp; For example,
! if the Windows username is &quot;jaltman&quot; and the default cell is
  &quot;athena.mit.edu&quot;, then Integrated Logon can be successfully used if
  the windows password matches the password assigned to the Kerberos principal
  &quot;<a href="mailto:jaltman@ATHENA.MIT.EDU">jaltman@ATHENA.MIT.EDU</a>&quot;.&nbsp;
***************
*** 1147,1155 ****
  
  <p class=MsoNormal>When KFW is configured, Integrated Logon will use it to
  obtain tokens. Use of KFW for Integrated Logon can be disabled via the <a
! href="#_Value:_EnableKFW"><span class=SpellE>EnableKFW</span></a> registry
! value.<span style='mso-spacerun:yes'>  </span>Use of the krb524 service can be
! configured via the <a href="#_Value:_Use524">Use524</a> registry value.</p>
  
  <p class=MsoNormal>Integrated Logon will not preserve the Kerberos v5 tickets.
  KFW 3.1 and above implements that functionality.</p>
--- 1128,1136 ----
  
  <p class=MsoNormal>When KFW is configured, Integrated Logon will use it to
  obtain tokens. Use of KFW for Integrated Logon can be disabled via the <a
! href="#_Value:_EnableKFW">EnableKFW</a> registry value.<span
! style='mso-spacerun:yes'>  </span>Use of the krb524 service can be configured
! via the <a href="#_Value:_Use524">Use524</a> registry value.</p>
  
  <p class=MsoNormal>Integrated Logon will not preserve the Kerberos v5 tickets.
  KFW 3.1 and above implements that functionality.</p>
***************
*** 1160,1167 ****
  
  <p class=MsoNormal>Integrated Login supports the ability to obtain tokens for
  multiple cells.&nbsp; For further information on how to configure this feature
! read about the <a href="#_Value:_TheseCells"><span class=SpellE>TheseCells</span></a>
! value.</p>
  
  <h2><a name="_Toc170268828"></a><a name="_Toc152605047"></a><a
  name="_Toc115416112"></a><a name="_Toc139993096"></a><a name="_Toc126872177"></a><a
--- 1141,1147 ----
  
  <p class=MsoNormal>Integrated Login supports the ability to obtain tokens for
  multiple cells.&nbsp; For further information on how to configure this feature
! read about the <a href="#_Value:_TheseCells">TheseCells</a> value.</p>
  
  <h2><a name="_Toc170268828"></a><a name="_Toc152605047"></a><a
  name="_Toc115416112"></a><a name="_Toc139993096"></a><a name="_Toc126872177"></a><a
***************
*** 1174,1187 ****
  style='mso-spacerun:yes'>  </span>afscreds.exe will be removed from the OpenAFS
  in a future release.<o:p></o:p></span></p>
  
! <p class=MsoNormal>The AFS System Tray tool (afscreds.exe) supports several command
! line options: </p>
  
! <p class=preformattedtext>&nbsp;&nbsp;&nbsp; -A = <span class=SpellE>autoinit</span>
! </p>
  
! <p class=preformattedtext>&nbsp;&nbsp;&nbsp; -E = force existing <span
! class=SpellE>afscreds</span> to exit</p>
  
  <p class=preformattedtext>&nbsp;&nbsp;&nbsp; -I = install startup shortcut</p>
  
--- 1154,1166 ----
  style='mso-spacerun:yes'>  </span>afscreds.exe will be removed from the OpenAFS
  in a future release.<o:p></o:p></span></p>
  
! <p class=MsoNormal>The AFS System Tray tool (afscreds.exe) supports several
! command line options: </p>
  
! <p class=preformattedtext>&nbsp;&nbsp;&nbsp; -A = autoinit </p>
  
! <p class=preformattedtext>&nbsp;&nbsp;&nbsp; -E = force existing afscreds to
! exit</p>
  
  <p class=preformattedtext>&nbsp;&nbsp;&nbsp; -I = install startup shortcut</p>
  
***************
*** 1192,1199 ****
  <p class=preformattedtext>&nbsp;&nbsp;&nbsp; -Q = quiet mode.&nbsp; do not
  display start service dialog</p>
  
! <p class=preformattedtext>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if <span
! class=SpellE>afsd_service</span> is not already running</p>
  
  <p class=preformattedtext>&nbsp;&nbsp;&nbsp; -S = show tokens dialog on startup</p>
  
--- 1171,1178 ----
  <p class=preformattedtext>&nbsp;&nbsp;&nbsp; -Q = quiet mode.&nbsp; do not
  display start service dialog</p>
  
! <p class=preformattedtext>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if
! afsd_service is not already running</p>
  
  <p class=preformattedtext>&nbsp;&nbsp;&nbsp; -S = show tokens dialog on startup</p>
  
***************
*** 1201,1216 ****
  
  <p class=preformattedtext>&nbsp;&nbsp;&nbsp; -X = test and do map share</p>
  
! <p class=preformattedtext>&nbsp;&nbsp;&nbsp; -Z = <span class=SpellE>unmap</span>
! drives</p>
  
! <p class=MsoNormal><span class=SpellE>autoinit</span> will result in automated
! attempts to acquire AFS tokens when afscreds.exe is started.&nbsp; afscreds.exe
! will attempt to utilize tickets stored in the MSLSA credentials cache; any
! existing CCAPI credentials cache; and finally display an Obtain Tokens dialog
! to the user.&nbsp; When used in combination with IP address change detection,
! afscreds.exe will attempt to acquire AFS tokens whenever the IP address list
! changes and the Kerberos KDC is accessible.</p>
  
  <p class=MsoNormal>The renew drive maps option is used to ensure that the user
  drive maps constructed via the OpenAFS tools (not NET USE) are re-constructed
--- 1180,1194 ----
  
  <p class=preformattedtext>&nbsp;&nbsp;&nbsp; -X = test and do map share</p>
  
! <p class=preformattedtext>&nbsp;&nbsp;&nbsp; -Z = unmap drives</p>
  
! <p class=MsoNormal>autoinit will result in automated attempts to acquire AFS
! tokens when afscreds.exe is started.&nbsp; afscreds.exe will attempt to utilize
! tickets stored in the MSLSA credentials cache; any existing CCAPI credentials
! cache; and finally display an Obtain Tokens dialog to the user.&nbsp; When used
! in combination with IP address change detection, afscreds.exe will attempt to
! acquire AFS tokens whenever the IP address list changes and the Kerberos KDC is
! accessible.</p>
  
  <p class=MsoNormal>The renew drive maps option is used to ensure that the user
  drive maps constructed via the OpenAFS tools (not NET USE) are re-constructed
***************
*** 1220,1292 ****
  installers to use “-A -N -M -Q” as startup options.&nbsp; Currently, there is
  no user interface to change this selection after install time although these
  options may be altered via the registry on either per machine or per user
! basis.&nbsp; See <a href="#_Value___:_AfscredsShortcutParams"><span
! class=SpellE>AfscredsShortcutParams</span></a> in <a
! href="#_Appendix_A:_Registry_Values">Appendix A</a>.</p>
  
  <h2><a name="_Toc170268829"></a><a name="_Toc152605048"></a><a
  name="_Toc115416113"></a><a name="_Toc139993097"></a><a name="_Toc126872178"></a><a
  name="_Toc115417049"></a><span style='mso-bookmark:_Toc170268829'><span
  style='mso-bookmark:_Toc152605048'><span style='mso-bookmark:_Toc115416113'>3.7.
! The “AFS Client <span class=SpellE>Admins</span>” Authorization Group</span></span></span></h2>
  
  <p class=MsoNormal>The OpenAFS for Windows client supports a local Windows
! authorization group named &quot;AFS Client <span class=SpellE>Admins</span>&quot;.&nbsp;
! This group is used in place of the &quot;Administrators&quot; group to
! determine which users are allowed to modify the AFS Client Service
! configuration via the AFS Control Panel (afs_config.exe) or fs.exe command line
! tool.&nbsp; The following fs.exe commands are now restricted to members of the
! &quot;AFS Client <span class=SpellE>Admins</span>&quot; group:</p>
  
  <p class=preformattedtext style='margin-left:49.6pt;text-indent:-14.15pt'><span
  style='font-size:9.0pt;font-family:Symbol'>·</span><span style='font-size:7.0pt;
! font-family:"Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span
! class=SpellE>checkservers</span> with a non-zero timer value</p>
  
  <p class=preformattedtext style='margin-left:49.6pt;text-indent:-14.15pt'><span
  style='font-size:9.0pt;font-family:Symbol'>·</span><span style='font-size:7.0pt;
! font-family:"Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span
! class=SpellE>setcachesize</span></p>
  
  <p class=preformattedtext style='margin-left:49.6pt;text-indent:-14.15pt'><span
  style='font-size:9.0pt;font-family:Symbol'>·</span><span style='font-size:7.0pt;
! font-family:"Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span
! class=SpellE>newcell</span></p>
  
  <p class=preformattedtext style='margin-left:49.6pt;text-indent:-14.15pt'><span
  style='font-size:9.0pt;font-family:Symbol'>·</span><span style='font-size:7.0pt;
! font-family:"Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span
! class=SpellE>sysname</span> with a new <span class=SpellE>sysname</span> list</p>
  
  <p class=preformattedtext style='margin-left:49.6pt;text-indent:-14.15pt'><span
  style='font-size:9.0pt;font-family:Symbol'>·</span><span style='font-size:7.0pt;
! font-family:"Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span
! class=SpellE>exportafs</span></p>
  
  <p class=preformattedtext style='margin-left:49.6pt;text-indent:-14.15pt'><span
  style='font-size:9.0pt;font-family:Symbol'>·</span><span style='font-size:7.0pt;
! font-family:"Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span
! class=SpellE>setcell</span></p>
  
  <p class=preformattedtext style='margin-left:49.6pt;text-indent:-14.15pt'><span
  style='font-size:9.0pt;font-family:Symbol'>·</span><span style='font-size:7.0pt;
! font-family:"Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span
! class=SpellE>setserverprefs</span></p>
  
  <p class=preformattedtext style='margin-left:49.6pt;text-indent:-14.15pt'><span
  style='font-size:9.0pt;font-family:Symbol'>·</span><span style='font-size:7.0pt;
! font-family:"Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span
! class=SpellE>storebehind</span></p>
  
  <p class=preformattedtext style='margin-left:49.6pt;text-indent:-14.15pt'><span
  style='font-size:9.0pt;font-family:Symbol'>·</span><span style='font-size:7.0pt;
! font-family:"Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span
! class=SpellE>setcrypt</span></p>
  
  <p class=preformattedtext style='margin-left:49.6pt;text-indent:-14.15pt'><span
  style='font-size:9.0pt;font-family:Symbol'>·</span><span style='font-size:7.0pt;
! font-family:"Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span
! class=SpellE>cscpolicy</span></p>
  
  <p class=preformattedtext style='margin-left:49.6pt;text-indent:-14.15pt'><span
  style='font-size:9.0pt;font-family:Symbol'>·</span><span style='font-size:7.0pt;
--- 1198,1261 ----
  installers to use “-A -N -M -Q” as startup options.&nbsp; Currently, there is
  no user interface to change this selection after install time although these
  options may be altered via the registry on either per machine or per user
! basis.&nbsp; See <a href="#_Value___:_AfscredsShortcutParams">AfscredsShortcutParams</a>
! in <a href="#_Appendix_A:_Registry_Values">Appendix A</a>.</p>
  
  <h2><a name="_Toc170268829"></a><a name="_Toc152605048"></a><a
  name="_Toc115416113"></a><a name="_Toc139993097"></a><a name="_Toc126872178"></a><a
  name="_Toc115417049"></a><span style='mso-bookmark:_Toc170268829'><span
  style='mso-bookmark:_Toc152605048'><span style='mso-bookmark:_Toc115416113'>3.7.
! The “AFS Client Admins” Authorization Group</span></span></span></h2>
  
  <p class=MsoNormal>The OpenAFS for Windows client supports a local Windows
! authorization group named &quot;AFS Client Admins&quot;.&nbsp; This group is
! used in place of the &quot;Administrators&quot; group to determine which users
! are allowed to modify the AFS Client Service configuration via the AFS Control
! Panel (afs_config.exe) or fs.exe command line tool.&nbsp; The following fs.exe
! commands are now restricted to members of the &quot;AFS Client Admins&quot;
! group:</p>
  
  <p class=preformattedtext style='margin-left:49.6pt;text-indent:-14.15pt'><span
  style='font-size:9.0pt;font-family:Symbol'>·</span><span style='font-size:7.0pt;
! font-family:"Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>checkservers
! with a non-zero timer value</p>
  
  <p class=preformattedtext style='margin-left:49.6pt;text-indent:-14.15pt'><span
  style='font-size:9.0pt;font-family:Symbol'>·</span><span style='font-size:7.0pt;
! font-family:"Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>setcachesize</p>
  
  <p class=preformattedtext style='margin-left:49.6pt;text-indent:-14.15pt'><span
  style='font-size:9.0pt;font-family:Symbol'>·</span><span style='font-size:7.0pt;
! font-family:"Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>newcell</p>
  
  <p class=preformattedtext style='margin-left:49.6pt;text-indent:-14.15pt'><span
  style='font-size:9.0pt;font-family:Symbol'>·</span><span style='font-size:7.0pt;
! font-family:"Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>sysname
! with a new sysname list</p>
  
  <p class=preformattedtext style='margin-left:49.6pt;text-indent:-14.15pt'><span
  style='font-size:9.0pt;font-family:Symbol'>·</span><span style='font-size:7.0pt;
! font-family:"Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>exportafs</p>
  
  <p class=preformattedtext style='margin-left:49.6pt;text-indent:-14.15pt'><span
  style='font-size:9.0pt;font-family:Symbol'>·</span><span style='font-size:7.0pt;
! font-family:"Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>setcell</p>
  
  <p class=preformattedtext style='margin-left:49.6pt;text-indent:-14.15pt'><span
  style='font-size:9.0pt;font-family:Symbol'>·</span><span style='font-size:7.0pt;
! font-family:"Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>setserverprefs</p>
  
  <p class=preformattedtext style='margin-left:49.6pt;text-indent:-14.15pt'><span
  style='font-size:9.0pt;font-family:Symbol'>·</span><span style='font-size:7.0pt;
! font-family:"Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>storebehind</p>
  
  <p class=preformattedtext style='margin-left:49.6pt;text-indent:-14.15pt'><span
  style='font-size:9.0pt;font-family:Symbol'>·</span><span style='font-size:7.0pt;
! font-family:"Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>setcrypt</p>
  
  <p class=preformattedtext style='margin-left:49.6pt;text-indent:-14.15pt'><span
  style='font-size:9.0pt;font-family:Symbol'>·</span><span style='font-size:7.0pt;
! font-family:"Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>cscpolicy</p>
  
  <p class=preformattedtext style='margin-left:49.6pt;text-indent:-14.15pt'><span
  style='font-size:9.0pt;font-family:Symbol'>·</span><span style='font-size:7.0pt;
***************
*** 1294,1319 ****
  
  <p class=preformattedtext style='margin-left:49.6pt;text-indent:-14.15pt'><span
  style='font-size:9.0pt;font-family:Symbol'>·</span><span style='font-size:7.0pt;
! font-family:"Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span
! class=SpellE>minidump</span></p>
  
  <p class=MsoNormal>The creation or removal of mount points and symlinks in the
! Freelance “<span class=SpellE>root.afs</span>” volume are also restricted to
! members of the “AFS Client <span class=SpellE>Admins</span>” group.</p>
  
! <p class=MsoNormal>The initial membership of the &quot;AFS Client <span
! class=SpellE>Admins</span>&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; Only users that are members of the &quot;AFS Client <span
! class=SpellE>Admins</span>&quot; group are AFS Client Administrators.&nbsp; The
! local &quot;SYSTEM&quot; account is an implicit member of the &quot;AFS Client <span
! class=SpellE>Admins</span>&quot; group.</p>
! 
! <p class=MsoNormal>Setting the default <span class=SpellE>sysname</span> for a
! machine should be done via the <a href="#_Value_:_SysName">registry</a> and not
! via &quot;<span class=SpellE>fs</span> <span class=SpellE>sysname</span>&quot;.</p>
  
  <h2><a name="_Toc170268830"></a><a name="_Toc152605049"></a><a
  name="_Toc115416114"></a><a name="_Toc139993098"></a><a name="_Toc126872179"></a><a
--- 1263,1286 ----
  
  <p class=preformattedtext style='margin-left:49.6pt;text-indent:-14.15pt'><span
  style='font-size:9.0pt;font-family:Symbol'>·</span><span style='font-size:7.0pt;
! font-family:"Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>minidump</p>
  
  <p class=MsoNormal>The creation or removal of mount points and symlinks in the
! 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;
! Only users that are members of the &quot;AFS Client Admins&quot; group are AFS
! Client Administrators.&nbsp; The local &quot;SYSTEM&quot; account is an
! implicit member of the &quot;AFS Client Admins&quot; group.</p>
! 
! <p class=MsoNormal>Setting the default sysname for a machine should be done via
! the <a href="#_Value_:_SysName">registry</a> and not via &quot;fs
! sysname&quot;.</p>
  
  <h2><a name="_Toc170268830"></a><a name="_Toc152605049"></a><a
  name="_Toc115416114"></a><a name="_Toc139993098"></a><a name="_Toc126872179"></a><a
***************
*** 1324,1346 ****
  <p class=MsoNormal>The OpenAFS client supports UNC paths everywhere.&nbsp; UNC
  paths provide a canonical name for resources stored within AFS.&nbsp; UNC paths
  should be used instead of drive letter mappings whenever possible.&nbsp;&nbsp;
! This is especially true when specifying the location of roaming profiles and redirected
! folders.&nbsp;&nbsp;</p>
  
  <p class=MsoNormal>Power users that make extensive use of the command line
! shell, cmd.exe, should consider using JP Software's 4NT or Take Command <span
! class=SpellE>command</span> processors.&nbsp; Unlike cmd.exe, the <span
! class=SpellE>JPSoftware</span> shells fully support UNC paths as the current
! directory.&nbsp; <span class=SpellE>JPSoftware</span> added special recognition
! for OpenAFS to its command shells, 4NT 7.0 and Take Command 7.0.&nbsp; AFS
! paths can be entered in UNIX notation (e.g., <a
! href="file:///\\afs\openafs.org\software">/<span class=SpellE>afs/openafs.org/software</span></a>),
! space utilization reports the output of the volume status for the specified
! path, and many AFS specific functions and variables have been added to the
! command language.</p>
  
! <p class=MsoNormal><span class=SpellE>JPSoftware's</span> web site is <span
! class=MsoHyperlink>http://www.jpsoft.com</span>.</p>
  
  <h2><a name="_Toc170268831"></a><a name="_Toc152605050"></a><a
  name="_Toc115416115"></a><a name="_Toc139993099"></a><a name="_Toc126872180"></a><a
--- 1291,1311 ----
  <p class=MsoNormal>The OpenAFS client supports UNC paths everywhere.&nbsp; UNC
  paths provide a canonical name for resources stored within AFS.&nbsp; UNC paths
  should be used instead of drive letter mappings whenever possible.&nbsp;&nbsp;
! This is especially true when specifying the location of roaming profiles and
! redirected folders.&nbsp;&nbsp;</p>
  
  <p class=MsoNormal>Power users that make extensive use of the command line
! shell, cmd.exe, should consider using JP Software's 4NT or Take Command command
! processors.&nbsp; Unlike cmd.exe, the JPSoftware shells fully support UNC paths
! as the current directory.&nbsp; JPSoftware added special recognition for
! OpenAFS to its command shells, 4NT 7.0 and Take Command 7.0.&nbsp; AFS paths
! can be entered in UNIX notation (e.g., <a
! href="file:///\\afs\openafs.org\software">/afs/openafs.org/software</a>), space
! utilization reports the output of the volume status for the specified path, and
! many AFS specific functions and variables have been added to the command
! language.</p>
  
! <p class=MsoNormal>JPSoftware's web site is <span class=MsoHyperlink>http://www.jpsoft.com</span>.</p>
  
  <h2><a name="_Toc170268831"></a><a name="_Toc152605050"></a><a
  name="_Toc115416115"></a><a name="_Toc139993099"></a><a name="_Toc126872180"></a><a
***************
*** 1353,1366 ****
  The OpenAFS aklog.exe supports Kerberos v5 as well as the ability to
  auto-generate AFS IDs within foreign PTS databases.</p>
  
! <p class=preformattedtext>Usage: <span class=SpellE>aklog</span> [-d] [[-cell |
! -c] cell [-k <span class=SpellE>krb_realm</span>]]</p>
  
  <p class=preformattedtext>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  [[-p | -path] pathname]</p>
  
  <p class=preformattedtext>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
! [-<span class=SpellE>noprdb</span>] [-force]</p>
  
  <p class=preformattedtext>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  [-5 [-m]| -4]</p>
--- 1318,1330 ----
  The OpenAFS aklog.exe supports Kerberos v5 as well as the ability to
  auto-generate AFS IDs within foreign PTS databases.</p>
  
! <p class=preformattedtext>Usage: aklog [-d] [[-cell | -c] cell [-k krb_realm]]</p>
  
  <p class=preformattedtext>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  [[-p | -path] pathname]</p>
  
  <p class=preformattedtext>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
! [-noprdb] [-force]</p>
  
  <p class=preformattedtext>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  [-5 [-m]| -4]</p>
***************
*** 1372,1385 ****
  <p class=preformattedtext>&nbsp;&nbsp; cell = zero or more cells for which
  tokens will be obtained</p>
  
! <p class=preformattedtext>&nbsp;&nbsp; <span class=SpellE>krb_realm</span> =
! the <span class=SpellE>kerberos</span> realm of the cell.</p>
  
  <p class=preformattedtext>&nbsp;&nbsp; pathname = the directory for which
  authentication is required</p>
  
! <p class=preformattedtext>&nbsp;&nbsp; -<span class=SpellE>noprdb</span> =
! don't try to determine AFS ID.</p>
  
  <p class=preformattedtext>&nbsp;&nbsp; -5 or -4 = use Kerberos V (default) or
  Kerberos IV tickets</p>
--- 1336,1348 ----
  <p class=preformattedtext>&nbsp;&nbsp; cell = zero or more cells for which
  tokens will be obtained</p>
  
! <p class=preformattedtext>&nbsp;&nbsp; krb_realm = the kerberos realm of the
! cell.</p>
  
  <p class=preformattedtext>&nbsp;&nbsp; pathname = the directory for which
  authentication is required</p>
  
! <p class=preformattedtext>&nbsp;&nbsp; -noprdb = don't try to determine AFS ID.</p>
  
  <p class=preformattedtext>&nbsp;&nbsp; -5 or -4 = use Kerberos V (default) or
  Kerberos IV tickets</p>
***************
*** 1403,1423 ****
  
  <h3><a name="_Toc170268833">3.10.1. OpenAFS Server Installation</a></h3>
  
! <p class=MsoNormal>When the OpenAFS Server is installed, the <span
! class=SpellE>TransarcAFSServer</span> service (bosctlsvc.exe) will be installed
! and configured.<span style='mso-spacerun:yes'>  </span>The <span class=SpellE>TransarcAFSServer</span>
! service will auto-start the traditional AFS <span class=SpellE>bos</span>
! server.<span style='mso-spacerun:yes'>  </span>The former AFS Server
! Configuration wizard makes assumptions that no longer hold true and it has
! therefore been disabled.<span style='mso-spacerun:yes'>  </span>However,
! following the instructions for installing the AFS Servers on UNIX it is
! possible to properly configure the AFS Servers on Microsoft Windows.<span
  style='mso-spacerun:yes'>  </span>The AFS Server binaries, configuration files,
  and log files are installed under %Program Files%\OpenAFS\Server.<span
  style='mso-spacerun:yes'>   </span><span style='color:red'><a
! href="http://www.openafs.org/no-more-des.html"><span class=SpellE><span
! class=GramE><span style='color:red'>kaserver</span></span></span><span
! style='color:red'> has been deprecated and its use is strongly discouraged.</span></a></span><span
  style='mso-spacerun:yes'>  </span>Instead, Active Directory or some other
  Kerberos v5 KDC should be used in its place.</p>
  
--- 1366,1384 ----
  
  <h3><a name="_Toc170268833">3.10.1. OpenAFS Server Installation</a></h3>
  
! <p class=MsoNormal>When the OpenAFS Server is installed, the TransarcAFSServer
! service (bosctlsvc.exe) will be installed and configured.<span
! style='mso-spacerun:yes'>  </span>The TransarcAFSServer service will auto-start
! the traditional AFS bos server.<span style='mso-spacerun:yes'>  </span>The
! former AFS Server Configuration wizard makes assumptions that no longer hold
! true and it has therefore been disabled.<span style='mso-spacerun:yes'> 
! </span>However, following the instructions for installing the AFS Servers on
! UNIX it is possible to properly configure the AFS Servers on Microsoft Windows.<span
  style='mso-spacerun:yes'>  </span>The AFS Server binaries, configuration files,
  and log files are installed under %Program Files%\OpenAFS\Server.<span
  style='mso-spacerun:yes'>   </span><span style='color:red'><a
! href="http://www.openafs.org/no-more-des.html"><span style='color:red'>kaserver
! has been deprecated and its use is strongly discouraged.</span></a></span><span
  style='mso-spacerun:yes'>  </span>Instead, Active Directory or some other
  Kerberos v5 KDC should be used in its place.</p>
  
***************
*** 1432,1449 ****
  font-family:"Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>Freelance
  mode should be disabled when the AFS Client Service is installed on the same
  machine as the AFS Server,.&nbsp; Otherwise, you will be unable to manipulate
! the contents of the <span class=SpellE>root.afs</span> volume for the hosted
! cell without constructing an explicit <span class=SpellE>mountpoint</span> to
! the <span class=SpellE>root.afs</span> volume from another volume.</p>
  
  <p class=MsoNormal style='margin-left:14.15pt;text-indent:-14.15pt'><span
  style='font-size:9.0pt;font-family:Symbol'>·</span><span style='font-size:7.0pt;
  font-family:"Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>The
! AFS Server and related tools only support the built in <span class=SpellE>kaserver</span>
! (Kerberos IV).&nbsp; If <span class=SpellE>kaserver</span> is being used, <a
! href="http://web.mit.edu/kerberos/">MIT Kerberos for Windows</a> should not be
! installed or must be disabled via the <a href="#_Toc126872361"><span
! class=SpellE>EnableKFW</span></a> registry value.</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;
--- 1393,1408 ----
  font-family:"Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>Freelance
  mode should be disabled when the AFS Client Service is installed on the same
  machine as the AFS Server,.&nbsp; Otherwise, you will be unable to manipulate
! the contents of the root.afs volume for the hosted cell without constructing an
! explicit mountpoint to the root.afs volume from another volume.</p>
  
  <p class=MsoNormal style='margin-left:14.15pt;text-indent:-14.15pt'><span
  style='font-size:9.0pt;font-family:Symbol'>·</span><span style='font-size:7.0pt;
  font-family:"Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>The
! AFS Server and related tools only support the built in kaserver (Kerberos
! IV).&nbsp; If kaserver is being used, <a href="http://web.mit.edu/kerberos/">MIT
! Kerberos for Windows</a> should not be installed or must be disabled via the <a
! href="#_Toc126872361">EnableKFW</a> registry value.</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;
***************
*** 1479,1487 ****
  <p class=MsoNormal style='margin-left:14.15pt;text-indent:-14.15pt'><span
  style='font-size:9.0pt;font-family:Symbol'>·</span><span style='font-size:7.0pt;
  font-family:"Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>whether
! or not <span class=SpellE><i style='mso-bidi-font-style:normal'>fs</i></span><i
! style='mso-bidi-font-style:normal'> 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;
--- 1438,1446 ----
  <p class=MsoNormal style='margin-left:14.15pt;text-indent:-14.15pt'><span
  style='font-size:9.0pt;font-family:Symbol'>·</span><span style='font-size:7.0pt;
  font-family:"Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>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;
***************
*** 1508,1517 ****
  
  <p class=MsoNormal>The OpenAFS for Windows installer by default activates a
  weak form of encrypted data transfer between the AFS client and the AFS
! servers.&nbsp; This is often referred to as &quot;<span class=SpellE>fcrypt</span>&quot;
! mode.&nbsp; Encrypted data transfer can be turned on or off with the “<span
! class=SpellE>fs</span> crypt” command.&nbsp; Transitions between “crypt” and
! “non-crypt” modes are logged to the Windows Application Event Log. </p>
  
  <h2><a name="_Toc170268838"></a><a name="_Toc152605055"></a><a
  name="_Toc115416120"></a><a name="_Toc139993104"></a><a name="_Toc126872185"></a><a
--- 1467,1476 ----
  
  <p class=MsoNormal>The OpenAFS for Windows installer by default activates a
  weak form of encrypted data transfer between the AFS client and the AFS
! servers.&nbsp; This is often referred to as &quot;fcrypt&quot; mode.&nbsp;
! Encrypted data transfer can be turned on or off with the “fs crypt”
! command.&nbsp; Transitions between “crypt” and “non-crypt” modes are logged to
! the Windows Application Event Log. </p>
  
  <h2><a name="_Toc170268838"></a><a name="_Toc152605055"></a><a
  name="_Toc115416120"></a><a name="_Toc139993104"></a><a name="_Toc126872185"></a><a
***************
*** 1526,1540 ****
  machines.&nbsp;&nbsp;&nbsp; </p>
  
  <p class=MsoNormal>When GSS SPNEGO attempts a Kerberos v5 authentication, the
! Windows SMB client will attempt to retrieve service tickets for &quot;<span
! class=SpellE>cifs/afs@REALM</span>&quot; (if the loopback adapter is in use) or
! &quot;<span class=SpellE>cifs/machine-afs@REALM</span>&quot; (if the loopback
! adapter is not being used).&nbsp; It is extremely important that this service
! principal not exist in the KDC database as the Kerberos authentication must fail
! allowing automatic fallback to NTLM.&nbsp; When NTLM is used a special local
! authentication mode will be used that does not require access to the user's
! password.&nbsp; Instead, Windows will internally recognize the request as
! coming from a local logon session.</p>
  
  <h2><a name="_Toc170268839"></a><a name="_Toc152605056"></a><a
  name="_Toc115416121"></a><a name="_Toc139993105"></a><a name="_Toc126872186"></a><a
--- 1485,1499 ----
  machines.&nbsp;&nbsp;&nbsp; </p>
  
  <p class=MsoNormal>When GSS SPNEGO attempts a Kerberos v5 authentication, the
! Windows SMB client will attempt to retrieve service tickets for
! &quot;cifs/afs@REALM&quot; (if the loopback adapter is in use) or
! &quot;cifs/machine-afs@REALM&quot; (if the loopback adapter is not being
! used).&nbsp; It is extremely important that this service principal not exist in
! the KDC database as the Kerberos authentication must fail allowing automatic
! fallback to NTLM.&nbsp; When NTLM is used a special local authentication mode
! will be used that does not require access to the user's password.&nbsp;
! Instead, Windows will internally recognize the request as coming from a local
! logon session.</p>
  
  <h2><a name="_Toc170268839"></a><a name="_Toc152605056"></a><a
  name="_Toc115416121"></a><a name="_Toc139993105"></a><a name="_Toc126872186"></a><a
***************
*** 1546,1561 ****
  in Windows .INI files. &nbsp;&nbsp;The OpenAFS client does not use Windows .INI
  files for the storage of configuration data.&nbsp;&nbsp; All settings are
  stored in the registry (see <a href="#_Appendix_A:_Registry_Values">Appendix A</a>).&nbsp;
! The <span class=SpellE>CellServDB</span> file is now stored in the
! %PROGRAMFILES%\OpenAFS\Client directory.&nbsp;&nbsp; The <i><a
! href="#_Value___:_CellServDBDir"><span class=SpellE>CellServDBDir</span></a></i>
  registry value can be used to specify an alternative location.</p>
  
  <p class=MsoNormal>OpenAFS will relocate the contents of the “afsdcell.ini”
! file to the new <span class=SpellE>CellServDB</span> file.&nbsp; OpenAFS will
! also import the contents of the “afs_freelance.ini” file to the Windows
! registry.&nbsp;&nbsp; OpenAFS will not process the contents of the
! “afsddbmt.ini”.</p>
  
  <h2><a name="_Toc170268840"></a><a name="_Toc152605057"></a><a
  name="_Toc115416122"></a><a name="_Toc139993106"></a><a name="_Toc126872187"></a><a
--- 1505,1518 ----
  in Windows .INI files. &nbsp;&nbsp;The OpenAFS client does not use Windows .INI
  files for the storage of configuration data.&nbsp;&nbsp; All settings are
  stored in the registry (see <a href="#_Appendix_A:_Registry_Values">Appendix A</a>).&nbsp;
! The CellServDB file is now stored in the %PROGRAMFILES%\OpenAFS\Client
! directory.&nbsp;&nbsp; The <i><a href="#_Value___:_CellServDBDir">CellServDBDir</a></i>
  registry value can be used to specify an alternative location.</p>
  
  <p class=MsoNormal>OpenAFS will relocate the contents of the “afsdcell.ini”
! file to the new CellServDB file.&nbsp; OpenAFS will also import the contents of
! the “afs_freelance.ini” file to the Windows registry.&nbsp;&nbsp; OpenAFS will
! not process the contents of the “afsddbmt.ini”.</p>
  
  <h2><a name="_Toc170268840"></a><a name="_Toc152605057"></a><a
  name="_Toc115416122"></a><a name="_Toc139993106"></a><a name="_Toc126872187"></a><a
***************
*** 1565,1574 ****
  
  <p class=MsoNormal>The OpenAFS Client is compatible with the Internet
  Connection Firewall that debuted with Windows XP SP2 and Windows 2003
! SP1.&nbsp; The Internet Connection Firewall will be automatically adjusted to allow
! the receipt of incoming callback messages from the AFS file server.&nbsp; In
! addition, the appropriate <i>Back Connection</i> registry entries are added to
! allow SMB authentication to be performed across the Microsoft Loopback Adapter.</p>
  
  <h2><a name="_Toc170268841"></a><a name="_Toc152605058"></a><a
  name="_Toc115416123"></a><a name="_Toc139993107"></a><a name="_Toc126872188"></a><a
--- 1522,1532 ----
  
  <p class=MsoNormal>The OpenAFS Client is compatible with the Internet
  Connection Firewall that debuted with Windows XP SP2 and Windows 2003
! SP1.&nbsp; The Internet Connection Firewall will be automatically adjusted to
! allow the receipt of incoming callback messages from the AFS file server.&nbsp;
! In addition, the appropriate <i>Back Connection</i> registry entries are added
! to allow SMB authentication to be performed across the Microsoft Loopback
! Adapter.</p>
  
  <h2><a name="_Toc170268841"></a><a name="_Toc152605058"></a><a
  name="_Toc115416123"></a><a name="_Toc139993107"></a><a name="_Toc126872188"></a><a
***************
*** 1604,1611 ****
  <p class=MsoNormal>Most Windows applications and Windows itself opens files in
  shared read mode. When this is done, a read lock is applied to the
  file.&nbsp;&nbsp; This does not prevent shared read access across multiple
! machines but is used to ensure that no one writes to the file while it is in
! use.</p>
  
  <p class=MsoNormal>As the CIFS-AFS gateway server attempts to implement Windows
  lock semantics on top of AFS lock semantics it is important to understand how
--- 1562,1568 ----
  <p class=MsoNormal>Most Windows applications and Windows itself opens files in
  shared read mode. When this is done, a read lock is applied to the
  file.&nbsp;&nbsp; This does not prevent shared read access across multiple
! machines but is used to ensure that no one writes to the file while it is in use.</p>
  
  <p class=MsoNormal>As the CIFS-AFS gateway server attempts to implement Windows
  lock semantics on top of AFS lock semantics it is important to understand how
***************
*** 1679,1686 ****
  
  <p class=MsoNormal>If you wish to disable the acquisition of locks from the
  file server, this can be performed using the <a
! href="#_Value:_EnableServerLocks"><span class=SpellE>EnableServerLocks</span></a>
! registry value.</p>
  
  <h2><a name="_Toc170268843"></a><a name="_Toc152605060"></a><a
  name="_Toc115416125"></a><a name="_Toc139993109"></a><a name="_Toc126872190"></a><a
--- 1636,1642 ----
  
  <p class=MsoNormal>If you wish to disable the acquisition of locks from the
  file server, this can be performed using the <a
! href="#_Value:_EnableServerLocks">EnableServerLocks</a> registry value.</p>
  
  <h2><a name="_Toc170268843"></a><a name="_Toc152605060"></a><a
  name="_Toc115416125"></a><a name="_Toc139993109"></a><a name="_Toc126872190"></a><a
***************
*** 1697,1705 ****
  accounts and NT4 accounts.</p>
  
  <p class=MsoNormal>If there is a need to disable this functionality, the <a
! href="#_Value_:_LogoffPreserveTokens"><span class=SpellE>LogoffPreserveTokens</span></a>
! registry value can be used. (<span class=GramE>see</span> <a
! href="#_Appendix_A:_Registry_Values">Appendix A</a>.)</p>
  
  <h2><a name="_Toc170268844"></a><a name="_Toc152605061"></a><a
  name="_Toc115416126"></a><a name="_Toc139993110"></a><a name="_Toc126872191"></a><a
--- 1653,1660 ----
  accounts and NT4 accounts.</p>
  
  <p class=MsoNormal>If there is a need to disable this functionality, the <a
! href="#_Value_:_LogoffPreserveTokens">LogoffPreserveTokens</a> registry value
! can be used. (see <a href="#_Appendix_A:_Registry_Values">Appendix A</a>.)</p>
  
  <h2><a name="_Toc170268844"></a><a name="_Toc152605061"></a><a
  name="_Toc115416126"></a><a name="_Toc139993110"></a><a name="_Toc126872191"></a><a
***************
*** 1724,1731 ****
  and directory names beginning with a &quot;.&quot; are automatically given the
  Hidden attribute so they will not normally be displayed.<span
  style='mso-spacerun:yes'>  </span>This behavior can be altered via the <a
! href="#_Value:_HideDotFiles"><span class=SpellE>HideDotFiles</span></a>
! registry value.</p>
  
  <h2><a name="_Toc170268846"></a><a name="_Toc152605063"></a><a
  name="_Toc115416128"></a><a name="_Toc139993112"></a><a name="_Toc126872193"></a><a
--- 1679,1685 ----
  and directory names beginning with a &quot;.&quot; are automatically given the
  Hidden attribute so they will not normally be displayed.<span
  style='mso-spacerun:yes'>  </span>This behavior can be altered via the <a
! href="#_Value:_HideDotFiles">HideDotFiles</a> registry value.</p>
  
  <h2><a name="_Toc170268846"></a><a name="_Toc152605063"></a><a
  name="_Toc115416128"></a><a name="_Toc139993112"></a><a name="_Toc126872193"></a><a
***************
*** 1755,1767 ****
  style='mso-bookmark:_Toc152605064'><span style='mso-bookmark:_Toc115416129'>3.23.
  NETBIOS over TCP/IP must be enabled</span></span></span></h2>
  
! <p class=MsoNormal>&quot;<span class=SpellE>Netbios</span> over TCP/IP&quot;
! must be active on the machine in order for communication with the AFS Client
! Service to succeed.&nbsp; If &quot;<span class=SpellE>Netbios</span> 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 “<span class=SpellE>Netbios</span>
! over TCP/IP” setting for the adapter.</p>
  
  <h2><a name="_Toc170268848"></a><a name="_Toc152605065"></a><a
  name="_Toc115416130"></a><a name="_Toc139993114"></a><a name="_Toc126872195"></a><a
--- 1709,1720 ----
  style='mso-bookmark:_Toc152605064'><span style='mso-bookmark:_Toc115416129'>3.23.
  NETBIOS over TCP/IP must be enabled</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="_Toc170268848"></a><a name="_Toc152605065"></a><a
  name="_Toc115416130"></a><a name="_Toc139993114"></a><a name="_Toc126872195"></a><a
***************
*** 1769,1776 ****
  style='mso-bookmark:_Toc152605065'><span style='mso-bookmark:_Toc115416130'>3.24.
  OpenAFS binaries are digitally signed</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;
  The OpenAFS Client Service will perform a run-time verification check to ensure
  that all OpenAFS related DLLs loaded by the service match the same file version
  number and were signed by the same entity.&nbsp; This check has been added to
--- 1722,1729 ----
  style='mso-bookmark:_Toc152605065'><span style='mso-bookmark:_Toc115416130'>3.24.
  OpenAFS binaries are digitally signed</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;
  The OpenAFS Client Service will perform a run-time verification check to ensure
  that all OpenAFS related DLLs loaded by the service match the same file version
  number and were signed by the same entity.&nbsp; This check has been added to
***************
*** 1780,1795 ****
  releases.&nbsp; </p>
  
  <p class=MsoNormal><a href="#_Appendix_A:_Registry_Values">Appendix A</a>
! documents the &quot;<a href="#_Value___:_VerifyServiceSignature"><span
! class=SpellE>VerifyServiceSignature</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="_Toc170268849"></a><a name="_Toc152605066"></a><a
  name="_Toc115416131"></a><a name="_Toc139993115"></a><a name="_Toc126872196"></a><a
  name="_Toc115417067"></a><span style='mso-bookmark:_Toc170268849'><span
  style='mso-bookmark:_Toc152605066'><span style='mso-bookmark:_Toc115416131'>3.25.
! Maximum Size of the <span class=SpellE>AFSCache</span> File</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
--- 1733,1747 ----
  releases.&nbsp; </p>
  
  <p class=MsoNormal><a href="#_Appendix_A:_Registry_Values">Appendix A</a>
! documents the &quot;<a href="#_Value___:_VerifyServiceSignature">VerifyServiceSignature</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="_Toc170268849"></a><a name="_Toc152605066"></a><a
  name="_Toc115416131"></a><a name="_Toc139993115"></a><a name="_Toc126872196"></a><a
  name="_Toc115417067"></a><span style='mso-bookmark:_Toc170268849'><span
  style='mso-bookmark:_Toc152605066'><span style='mso-bookmark:_Toc115416131'>3.25.
! Maximum Size of the AFSCache File</span></span></span></h2>
  
  <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
***************
*** 1807,1820 ****
  Filename Character Sets</span></span></span></h2>
  
  <p class=MsoNormal>OpenAFS for Windows implements an SMB server which is used
! as a gateway to the AFS <span class=SpellE>filesystem</span>.&nbsp; Because of
! limitations of the SMB implementation, Windows stores all files into AFS using
! OEM code pages such as CP437 (United States) or CP850 (Western Europe).&nbsp;
! These code pages are incompatible with the ISO Latin-1 character set typically
! used as the default on UNIX systems in both the <st1:country-region w:st="on">United
!  States</st1:country-region> and <st1:place w:st="on">Western Europe</st1:place>.&nbsp;
! Filenames stored by OpenAFS for Windows are therefore unreadable on UNIX
! systems if they include any of the following characters:</p>
  
  <table class=MsoNormalTable border=0 cellspacing=0 cellpadding=0
   style='border-collapse:collapse;mso-padding-alt:0pt 0pt 0pt 0pt'>
--- 1759,1772 ----
  Filename Character Sets</span></span></span></h2>
  
  <p class=MsoNormal>OpenAFS for Windows implements an SMB server which is used
! as a gateway to the AFS filesystem.&nbsp; Because of limitations of the SMB
! implementation, Windows stores all files into AFS using OEM code pages such as
! CP437 (United States) or CP850 (Western Europe).&nbsp; These code pages are
! incompatible with the ISO Latin-1 character set typically used as the default
! on UNIX systems in both the <st1:country-region w:st="on">United States</st1:country-region>
! and <st1:place w:st="on">Western Europe</st1:place>.&nbsp; Filenames stored by
! OpenAFS for Windows are therefore unreadable on UNIX systems if they include
! any of the following characters:</p>
  
  <table class=MsoNormalTable border=0 cellspacing=0 cellpadding=0
   style='border-collapse:collapse;mso-padding-alt:0pt 0pt 0pt 0pt'>
***************
*** 1873,1879 ****
    </span><span lang=FR style='mso-ansi-language:FR'>[ù]&nbsp; 151&nbsp;
    09/07&nbsp; 227&nbsp; 97&nbsp; u grave<o:p></o:p></span></p>
    <p class=preformattedtext><span lang=FR style='mso-ansi-language:FR'>&nbsp;&nbsp;&nbsp;&nbsp;
!   [ÿ]&nbsp; 152&nbsp; 09/08&nbsp; 230&nbsp; 98&nbsp; y <span class=SpellE>diaeresis</span><o:p></o:p></span></p>
    <p class=preformattedtext><span lang=FR style='mso-ansi-language:FR'>&nbsp;&nbsp;&nbsp;&nbsp;
    </span><span lang=IT style='mso-ansi-language:IT'>[Ö]&nbsp; 153&nbsp;
    09/09&nbsp; 231&nbsp; 99&nbsp; O diaeresis<o:p></o:p></span></p>
--- 1825,1831 ----
    </span><span lang=FR style='mso-ansi-language:FR'>[ù]&nbsp; 151&nbsp;
    09/07&nbsp; 227&nbsp; 97&nbsp; u grave<o:p></o:p></span></p>
    <p class=preformattedtext><span lang=FR style='mso-ansi-language:FR'>&nbsp;&nbsp;&nbsp;&nbsp;
!   [ÿ]&nbsp; 152&nbsp; 09/08&nbsp; 230&nbsp; 98&nbsp; y diaeresis<o:p></o:p></span></p>
    <p class=preformattedtext><span lang=FR style='mso-ansi-language:FR'>&nbsp;&nbsp;&nbsp;&nbsp;
    </span><span lang=IT style='mso-ansi-language:IT'>[Ö]&nbsp; 153&nbsp;
    09/09&nbsp; 231&nbsp; 99&nbsp; O diaeresis<o:p></o:p></span></p>
***************
*** 1898,1910 ****
  <p class=preformattedtext>&nbsp;</p>
  
  <p class=MsoNormal>The OpenAFS Client provides an optional registry value, <i><a
! href="#_Value___:_StoreAnsiFilenames"><span class=SpellE>StoreAnsiFilenames</span></a></i><span
! class=GramE>, that</span> can be set to instruct OpenAFS to store filenames
! using the ANSI Code Page instead of the OEM Code Page.&nbsp; The ANSI Code Page
! is a compatible superset of Latin-1.&nbsp; This setting is not the default
! setting because making this change would prevent OpenAFS for Windows from being
! able to access filenames containing the above characters which were created
! without this setting.</p>
  
  <h2><a name="_Toc170268851"></a><a name="_Toc152605068"></a><a
  name="_Toc115416133"></a><a name="_Toc139993117"></a><a name="_Toc126872198"></a><a
--- 1850,1861 ----
  <p class=preformattedtext>&nbsp;</p>
  
  <p class=MsoNormal>The OpenAFS Client provides an optional registry value, <i><a
! href="#_Value___:_StoreAnsiFilenames">StoreAnsiFilenames</a></i>, that can be
! set to instruct OpenAFS to store filenames using the ANSI Code Page instead of
! the OEM Code Page.&nbsp; The ANSI Code Page is a compatible superset of
! Latin-1.&nbsp; This setting is not the default setting because making this
! change would prevent OpenAFS for Windows from being able to access filenames
! containing the above characters which were created without this setting.</p>
  
  <h2><a name="_Toc170268851"></a><a name="_Toc152605068"></a><a
  name="_Toc115416133"></a><a name="_Toc139993117"></a><a name="_Toc126872198"></a><a
***************
*** 1925,1947 ****
  name="_Toc115416134"></a><a name="_Toc139993118"></a><a name="_Toc126872199"></a><a
  name="_Toc115417070"></a><span style='mso-bookmark:_Toc170268852'><span
  style='mso-bookmark:_Toc152605069'><span style='mso-bookmark:_Toc115416134'>3.28.
! The <span class=SpellE>AFSCache</span> File</span></span></span></h2>
  
! <p class=MsoNormal>The AFS Cache file is stored by default at %TEMP%\<span
! class=SpellE>AFSCache</span> in a persistent file marked with the Hidden and
! System attributes.&nbsp; The persistent nature of the data stored in the cache file
! improves the performance of OpenAFS by reducing the number of times data must
! be read from the AFS file servers.&nbsp; </p>
  
  <p class=MsoNormal>The performance of the AFS Client Service is significantly
! affected by the access times associated with the <span class=SpellE>AFSCache</span>
! paging file.&nbsp;&nbsp; When given the choice, the <span class=SpellE>AFSCache</span>
! 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 <span class=SpellE>defragmenting</span>
! the <span class=SpellE>AFSCache</span> file with <span class=SpellE>Sysinternal's</span>
! <span class=SpellE>Contig</span> utility while the AFS Client Service is
! stopped.</p>
  
  <h2><a name="_Toc170268853"></a><a name="_Toc152605070"></a><a
  name="_Toc115416135"></a><a name="_Toc139993119"></a><a name="_Toc126872200"></a><a
--- 1876,1896 ----
  name="_Toc115416134"></a><a name="_Toc139993118"></a><a name="_Toc126872199"></a><a
  name="_Toc115417070"></a><span style='mso-bookmark:_Toc170268852'><span
  style='mso-bookmark:_Toc152605069'><span style='mso-bookmark:_Toc115416134'>3.28.
! The AFSCache File</span></span></span></h2>
  
! <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
! persistent nature of the data stored in the cache file improves the performance
! of OpenAFS by reducing the number of times data must be read from the AFS file
! 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="_Toc170268853"></a><a name="_Toc152605070"></a><a
  name="_Toc115416135"></a><a name="_Toc139993119"></a><a name="_Toc126872200"></a><a
***************
*** 1952,1967 ****
  <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>
  
! <p class=preformattedtext>&nbsp;&nbsp;&nbsp; <span class=SpellE>afsdacl</span>
! : Set or reset the DACL to allow starting or stopping</p>
  
! <p class=preformattedtext>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; the <span
! class=SpellE>afsd</span> service by any ordinary user.</p>
  
  <p class=preformattedtext>&nbsp;</p>
  
! <p class=preformattedtext>&nbsp;&nbsp;&nbsp; Usage : <span class=SpellE>afsdacl</span>
! [-set | -reset] [-show]</p>
  
  <p class=preformattedtext>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  -set&nbsp;&nbsp; : Sets the DACL</p>
--- 1901,1916 ----
  <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>
  
! <p class=preformattedtext>&nbsp;&nbsp;&nbsp; afsdacl : Set or reset the DACL to
! allow starting or stopping</p>
  
! <p class=preformattedtext>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; the
! afsd service by any ordinary user.</p>
  
  <p class=preformattedtext>&nbsp;</p>
  
! <p class=preformattedtext>&nbsp;&nbsp;&nbsp; Usage : afsdacl [-set | -reset]
! [-show]</p>
  
  <p class=preformattedtext>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  -set&nbsp;&nbsp; : Sets the DACL</p>
***************
*** 1980,1987 ****
  
  <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 <span class=SpellE>amd</span> 64-bit
! versions of Windows.</p>
  
  <h2><a name="_Toc170268855"></a><a name="_Toc152605072"></a><a
  name="_Toc115416137"></a><a name="_Toc139993121"></a><a name="_Toc126872202"></a><a
--- 1929,1935 ----
  
  <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="_Toc170268855"></a><a name="_Toc152605072"></a><a
  name="_Toc115416137"></a><a name="_Toc139993121"></a><a name="_Toc126872202"></a><a
***************
*** 1990,1998 ****
  Symlinks to AFS UNC paths</span></span></span></h2>
  
  <p class=MsoNormal>In OpenAFS, symlinks to AFS UNC paths, \\AFS[\all]\..., are
! treated the same as symlinks to /<span class=SpellE>afs</span>/...&nbsp;
! However, please use /<span class=SpellE>afs</span>/... as the Windows UNC form
! will not work on UNIX client.</p>
  
  <h2><a name="_Toc170268856"></a><a name="_Toc152605073"></a><a
  name="_Toc115416138"></a><a name="_Toc139993122"></a><a name="_Toc126872203"></a><a
--- 1938,1945 ----
  Symlinks to AFS UNC paths</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="_Toc170268856"></a><a name="_Toc152605073"></a><a
  name="_Toc115416138"></a><a name="_Toc139993122"></a><a name="_Toc126872203"></a><a
***************
*** 2003,2018 ****
  <p class=MsoNormal>The OpenAFS Client implements the Cache Manager Debugging
  RPC Interface.&nbsp; The CM debugger can be queried with cmdebug.exe.</p>
  
! <p class=preformattedtext>Usage: <span class=SpellE>cmdebug</span> -servers
! &lt;server machine&gt; [-port &lt;IP port&gt;] [-long]</p>
  
  <p class=preformattedtext>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
! [-<span class=SpellE>addrs</span>] [-cache] [-help]</p>
  
  <p class=preformattedtext>Where: -long&nbsp;&nbsp; print all info</p>
  
! <p class=preformattedtext>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -<span
! class=SpellE>addrs</span>&nbsp; print only host interfaces</p>
  
  <p class=preformattedtext>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -cache&nbsp;
  print only cache configuration</p>
--- 1950,1965 ----
  <p class=MsoNormal>The OpenAFS Client implements the Cache Manager Debugging
  RPC Interface.&nbsp; The CM debugger can be queried with cmdebug.exe.</p>
  
! <p class=preformattedtext>Usage: cmdebug -servers &lt;server machine&gt; [-port
! &lt;IP port&gt;] [-long]</p>
  
  <p class=preformattedtext>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
! [-addrs] [-cache] [-help]</p>
  
  <p class=preformattedtext>Where: -long&nbsp;&nbsp; print all info</p>
  
! <p class=preformattedtext>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -addrs&nbsp;
! print only host interfaces</p>
  
  <p class=preformattedtext>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -cache&nbsp;
  print only cache configuration</p>
***************
*** 2035,2044 ****
  Initial Server Preferences</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 Windows
! domain which are centrally located (e.g., in a computing lab.)&nbsp; See <a
! href="#_Appendix_A:_Registry_Values">Appendix A</a> for details on the &quot;<a
! href="#_Regkey:_[HKLMSOFTWAREOpenAFSClie_2">Server Preferences</a>&quot; keys.</p>
  
  <h2><a name="_Toc170268859"></a><a name="_Toc152605076"></a><a
  name="_Toc115416141"></a><a name="_Toc139993125"></a><a name="_Toc126872206"></a><a
--- 1982,1992 ----
  Initial Server Preferences</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
! Windows domain which are centrally located (e.g., in a computing lab.)&nbsp;
! See <a href="#_Appendix_A:_Registry_Values">Appendix A</a> for details on the
! &quot;<a href="#_Regkey:_[HKLMSOFTWAREOpenAFSClie_2">Server Preferences</a>&quot;
! keys.</p>
  
  <h2><a name="_Toc170268859"></a><a name="_Toc152605076"></a><a
  name="_Toc115416141"></a><a name="_Toc139993125"></a><a name="_Toc126872206"></a><a
***************
*** 2060,2068 ****
  <p class=MsoNormal>It should be noted that UNIX based operating systems (such
  as Solaris) do not appear to report file times to applications in UTC.&nbsp;
  They do preserve the relative local time.&nbsp; This may confuse some users who
! are used to being able to compare the timestamp in an UNIX shell with the
! timestamp from the Windows explorer.&nbsp; During DST, these two times will no
! longer agree even though they are in fact representing the same moment in time.</p>
  
  <h2><a name="_Toc170268860"></a><a name="_Toc152605077"></a><a
  name="_Toc115416142"></a><a name="_Toc139993126"></a><a name="_Toc126872207"></a><a
--- 2008,2016 ----
  <p class=MsoNormal>It should be noted that UNIX based operating systems (such
  as Solaris) do not appear to report file times to applications in UTC.&nbsp;
  They do preserve the relative local time.&nbsp; This may confuse some users who
! are used to being able to compare the timestamp in an UNIX shell with the timestamp
! from the Windows explorer.&nbsp; During DST, these two times will no longer
! agree even though they are in fact representing the same moment in time.</p>
  
  <h2><a name="_Toc170268860"></a><a name="_Toc152605077"></a><a
  name="_Toc115416142"></a><a name="_Toc139993126"></a><a name="_Toc126872207"></a><a
***************
*** 2072,2103 ****
  
  <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 <span class=SpellE>dll</span>
! &quot;rpcrt4.dll&quot;:</p>
  
! <p class=preformattedtext>&nbsp;&nbsp; HKLM &quot;SOFTWARE\Microsoft\RPC\<span
! class=SpellE>ClientProtocols</span>&quot; &quot;<span class=SpellE>ncacn_np</span>&quot;</p>
  
! <p class=preformattedtext>&nbsp;&nbsp; HKLM &quot;SOFTWARE\Microsoft\RPC\<span
! class=SpellE>ClientProtocols</span>&quot; &quot;<span class=SpellE>ncacn_ip_tcp</span>&quot;</p>
  
! <p class=preformattedtext>&nbsp;&nbsp; HKLM &quot;SOFTWARE\Microsoft\RPC\<span
! class=SpellE>ClientProtocols</span>&quot; &quot;<span class=SpellE>ncadg_ip_udp</span>&quot;</p>
  
! <p class=preformattedtext>&nbsp;&nbsp; HKLM &quot;SOFTWARE\Microsoft\RPC\<span
! class=SpellE>ClientProtocols</span>&quot; &quot;<span class=SpellE>ncacn_http</span>&quot;</p>
  
  <h2><a name="_Toc170268861"></a><a name="_Toc152605078"></a><a
  name="_Toc115416143"></a><a name="_Toc139993127"></a><a name="_Toc126872208"></a><a
  name="_Toc115417079"></a><span style='mso-bookmark:_Toc170268861'><span
  style='mso-bookmark:_Toc152605078'><span style='mso-bookmark:_Toc115416143'>3.37.
! Generating <span class=SpellE>Minidumps</span> of the OpenAFS Client Service</span></span></span></h2>
  
! <p class=MsoNormal>OpenAFS 1.4 added a new command, &quot;<span class=SpellE>fs</span>
! <span class=SpellE>minidump</span>&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="_Toc170268862"></a><a name="_Toc152605079"></a><a
  name="_Toc115416144"></a><a name="_Toc139993128"></a><a name="_Toc126872209"></a><a
--- 2020,2050 ----
  
  <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="_Toc170268861"></a><a name="_Toc152605078"></a><a
  name="_Toc115416143"></a><a name="_Toc139993127"></a><a name="_Toc126872208"></a><a
  name="_Toc115417079"></a><span style='mso-bookmark:_Toc170268861'><span
  style='mso-bookmark:_Toc152605078'><span style='mso-bookmark:_Toc115416143'>3.37.
! Generating Minidumps of the OpenAFS Client Service</span></span></span></h2>
  
! <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="_Toc170268862"></a><a name="_Toc152605079"></a><a
  name="_Toc115416144"></a><a name="_Toc139993128"></a><a name="_Toc126872209"></a><a
***************
*** 2106,2137 ****
  AFS Client Universally Unique Identifiers (UUIDs) vs. System Cloning</span></span></span></h2>
  
  <p class=MsoNormal>The OpenAFS Client implements Universally Unique Identifiers
! (<span class=SpellE>UUIDs</span>).&nbsp; They are used to provide the AFS file server
! with a method of identifying the client that is independent of IP
! address.&nbsp; This permits the AFS file server to track mobile clients or those 
! behind Network Address Translators when they move from address to address or port
! to port.  Tracking the client improves client performance by permitting callback 
! state to be maintained across location changes.  The UUID is generated when the 
! <span class=SpellE>AFSCache</span> file is created and is maintained as long as
! the contents of the <span class=SpellE>AFSCache</span> file are valid.&nbsp; 
! The UUID is stored in the <span class=SpellE>AFSCache</span> file.&nbsp;</p> 
! <p class=MsoNormal>
! When cloning machines that have Windows AFS client installed it is necessary
! to generate a new UUID for each client.  This will be done automatically if 
! the Windows Machine SID is re-generated using Microsoft SysPrep.  If the SID is
! not being re-generated either the <span class=SpellE>AFSCache</span> 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">NonPersistentCaching</a> option 
! will disable the use of the persistent cache file.  As a side effect, a new
! UUID will be generated for the AFS client service on each restart.</p>
! 
! <h2><a name="_Toc170268863"></a><a name="_Toc152605080"></a><a
! name="_Toc139993129"><span style='mso-bookmark:_Toc152605080'><span
! style='mso-bookmark:_Toc170268863'>3.39. Delayed Write Errors with Microsoft
  Office Applications</span></span></a></h2>
  
  <p class=MsoBodyText>Microsoft Office makes heavy use of asynchronous
--- 2053,2094 ----
  AFS Client Universally Unique Identifiers (UUIDs) vs. System Cloning</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
! identifying the client that is independent of IP address.&nbsp; This permits
! the AFS file server to track mobile clients or those behind Network Address
! Translators when they move from address to address or port to port. Tracking
! the client improves client performance by permitting callback state to be
! maintained across location changes. The UUID is generated when the AFSCache
! file is created and is maintained as long as the contents of the AFSCache file
! are valid.&nbsp; The UUID is stored in the AFSCache file.&nbsp;</p>
! 
! <p class=MsoNormal>When cloning machines that have Windows AFS client installed
! it is necessary to generate a new UUID for each client. This will be done
! 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">NonPersistentCaching</a> option will
! disable the use of the persistent cache file. As a side effect, a new UUID will
! be generated for the AFS client service on each restart.</p>
! 
! <p class=MsoNormal>When a Windows system is cloned, the Microsoft Loopback
! Adapter will be disabled in the cloned system. <span
! style='mso-spacerun:yes'> </span>Administrators must re-install the Microsoft
! Loopback Adapter within the cloned environment. <span
! style='mso-spacerun:yes'> </span>This can be automated by using the OpenAFS “<i
! style='mso-bidi-font-style:normal'>instloop.exe</i> –<i style='mso-bidi-font-style:
! normal'>i</i>” command. <span style='mso-spacerun:yes'> </span>Instloop.exe can
! be extracted from the MSI installer by performing an administrative install via
! <i style='mso-bidi-font-style:normal'>msiexec.exe /a</i>.</p>
! 
! <h2><a name="_Toc139993129"></a><a name="_Toc152605080"></a><a
! name="_Toc170268863"><span style='mso-bookmark:_Toc152605080'><span
! style='mso-bookmark:_Toc139993129'>3.39. Delayed Write Errors with Microsoft
  Office Applications</span></span></a></h2>
  
  <p class=MsoBodyText>Microsoft Office makes heavy use of asynchronous
***************
*** 2159,2166 ****
  style='mso-bookmark:_Toc170268864'><span style='mso-bookmark:_Toc152605081'>
  Letters) are no longer supported by Microsoft</span></span></h2>
  
! <p class=MsoBodyText>The Global <span class=SpellE>DriveAuto</span>-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">http://msdn.microsoft.com/library/en-us/dllproc/base/services_and_redirected_drives.asp</a></p>
--- 2116,2123 ----
  style='mso-bookmark:_Toc170268864'><span style='mso-bookmark:_Toc152605081'>
  Letters) are no longer supported by Microsoft</span></span></h2>
  
! <p class=MsoBodyText>The Global DriveAuto-mount feature has been deprecated due
! 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">http://msdn.microsoft.com/library/en-us/dllproc/base/services_and_redirected_drives.asp</a></p>
***************
*** 2175,2183 ****
  applications should be modified to use of \\AFS\&lt;cellname&gt;\&lt;path&gt;
  instead of drive letters.</p>
  
! <h2><a name="_Toc170268865"></a><a name="_Toc152605082"></a><a
! name="_Toc139993131"><span style='mso-bookmark:_Toc152605082'><span
! style='mso-bookmark:_Toc170268865'>3.41. 64-bit Microsoft Windows Installations</span></span></a></h2>
  
  <p class=MsoBodyText>Although 64-bit Windows platforms support both 64-bit and
  32-bit applications, the OpenAFS Service installed on the machine must be
--- 2132,2140 ----
  applications should be modified to use of \\AFS\&lt;cellname&gt;\&lt;path&gt;
  instead of drive letters.</p>
  
! <h2><a name="_Toc139993131"></a><a name="_Toc152605082"></a><a
! name="_Toc170268865"><span style='mso-bookmark:_Toc152605082'><span
! style='mso-bookmark:_Toc139993131'>3.41. 64-bit Microsoft Windows Installations</span></span></a></h2>
  
  <p class=MsoBodyText>Although 64-bit Windows platforms support both 64-bit and
  32-bit applications, the OpenAFS Service installed on the machine must be
***************
*** 2198,2209 ****
  w:st="on"><span style='mso-bookmark:_Toc170268866'><span style='mso-bookmark:
   _Toc152605083'>Vista</span></span></st1:place></h2>
  
! <p class=MsoBodyText>OpenAFS for Windows works with Microsoft Windows Vista
! (RTM) from both the command prompt and the Explorer Shell.<span
! style='mso-spacerun:yes'>  </span>When performing an upgrade from earlier
! versions of Microsoft Windows the Microsoft Loopback Adapter (MSLA) may be
! uninstalled.<span style='mso-spacerun:yes'>   </span>OpenAFS should be
! re-installed after the Microsoft Vista installation to restore the MSLA configuration.</p>
  
  <p class=MsoBodyText>Due to a feature change in Windows Vista’s Plug-n-Play
  network stack, during a standby/hibernate operation the MSLA is disabled just
--- 2155,2166 ----
  w:st="on"><span style='mso-bookmark:_Toc170268866'><span style='mso-bookmark:
   _Toc152605083'>Vista</span></span></st1:place></h2>
  
! <p class=MsoBodyText>OpenAFS for Windows works with Microsoft Windows Vista from
! both the command prompt and the Explorer Shell.<span style='mso-spacerun:yes'> 
! </span>When performing an upgrade from earlier versions of Microsoft Windows
! the Microsoft Loopback Adapter (MSLA) may be uninstalled.<span
! style='mso-spacerun:yes'>   </span>OpenAFS should be re-installed after the
! Microsoft Vista installation to restore the MSLA configuration.</p>
  
  <p class=MsoBodyText>Due to a feature change in Windows Vista’s Plug-n-Play
  network stack, during a standby/hibernate operation the MSLA is disabled just
***************
*** 2221,2234 ****
  privilege.<span style='mso-spacerun:yes'>  </span>With UAC, applications only
  run with the minimum required privileges.<span style='mso-spacerun:yes'> 
  </span>Even Administrator accounts run applications without the “Administrator”
! access control credentials.<span style='mso-spacerun:yes'>  </span>One side
! effect of this is that existing applications that mix user and system configuration
! capabilities must be re-written to separate those functions that require
! “Administrator” privileges into a separate process space.<span
  style='mso-spacerun:yes'>  </span>Future updates to OpenAFS will incorporate
  the necessary privilege separation, until that time some functions such as the
  Start and Stop Service features of the AFS System Tray tool and the AFS Control
! Panel will not work unless they are “Run as Administrator”.</p>
  
  <p class=MsoBodyText>The help files provided with OpenAFS are in .HLP format. <a
  href="http://support.microsoft.com/kb/917607">Windows Vista does not include a
--- 2178,2198 ----
  privilege.<span style='mso-spacerun:yes'>  </span>With UAC, applications only
  run with the minimum required privileges.<span style='mso-spacerun:yes'> 
  </span>Even Administrator accounts run applications without the “Administrator”
! access control credentials. <span style='mso-spacerun:yes'> </span>One side
! effect of this is that existing applications that mix user and system
! configuration capabilities must be re-written to separate those functions that
! require “Administrator” privileges into a separate process space.<span
  style='mso-spacerun:yes'>  </span>Future updates to OpenAFS will incorporate
  the necessary privilege separation, until that time some functions such as the
  Start and Stop Service features of the AFS System Tray tool and the AFS Control
! 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">Windows Vista does not include a
***************
*** 2246,2255 ****
  <p class=MsoBodyText style='margin-left:36.0pt'><span style='mso-bookmark:_Toc115416145'>\\AFS\&lt;cell&gt;&lt;mount
  point type&gt;&lt;volume&gt;\</span></p>
  
! <p class=MsoBodyText><span style='mso-bookmark:_Toc115416145'>Where &lt;cell&gt;
! can be either a full cell name or an unambiguous prefix, the &lt;mount point
! type&gt; is ‘#’ for a normal mount point or ‘%’ to force the use of a
! read-write volume, and &lt;volume&gt; is either a volume name or its ID number.</span></p>
  
  <p class=MsoBodyText><span style='mso-bookmark:_Toc115416145'>Examples include:</span></p>
  
--- 2210,2220 ----
  <p class=MsoBodyText style='margin-left:36.0pt'><span style='mso-bookmark:_Toc115416145'>\\AFS\&lt;cell&gt;&lt;mount
  point type&gt;&lt;volume&gt;\</span></p>
  
! <p class=MsoBodyText><span style='mso-bookmark:_Toc115416145'>Where
! &lt;cell&gt; can be either a full cell name or an unambiguous prefix, the
! &lt;mount point type&gt; is ‘#’ for a normal mount point or ‘%’ to force the
! use of a read-write volume, and &lt;volume&gt; is either a volume name or its
! ID number.</span></p>
  
  <p class=MsoBodyText><span style='mso-bookmark:_Toc115416145'>Examples include:</span></p>
  
***************
*** 2263,2287 ****
  style='mso-tab-count:1'>            </span>\\AFS\athena.mit.edu# 537235559\</span></p>
  
  <h2><span style='mso-bookmark:_Toc115416145'><a name="_Toc170268868">3.44.
! Differences between Windows and UNIX “</a><span class=SpellE><span
! style='mso-bookmark:_Toc170268868'>fs</span></span><span style='mso-bookmark:
! _Toc170268868'> examine”</span></span></h2>
  
  <p class=MsoBodyText><span style='mso-bookmark:_Toc115416145'>The OpenAFS for
! Windows version of “<span class=SpellE>fs</span> examine” provide two
! additional lines of output when compared to the UNIX implementation.<span
! style='mso-spacerun:yes'>  </span>These lines include the owner and group
! information for the file as well as the volume status.</span></p>
! 
! <pre><span style='mso-bookmark:_Toc115416145'>[C:\]<span class=SpellE>fs</span> examine \\afs\athena#user.jaltman<o:p></o:p></span></pre><pre><span
! style='mso-bookmark:_Toc115416145'>File \\afs\athena#user.jaltman (537235559.1.1) contained in cell athena.mit.edu<o:p></o:p></span></pre><pre><span
! style='mso-bookmark:_Toc115416145'><b style='mso-bidi-font-weight:normal'>Owner <span
! class=SpellE>jaltman</span> (28180) Group 0<o:p></o:p></b></span></pre><pre><span
! style='mso-bookmark:_Toc115416145'>Volume status for <span class=SpellE>vid</span> = 537235559 named <span
! class=SpellE>user.jaltman</span> is<o:p></o:p></span></pre><pre><span
! style='mso-bookmark:_Toc115416145'>Current disk quota is 1500000<o:p></o:p></span></pre><pre><span
! style='mso-bookmark:_Toc115416145'>Current blocks used are 1244184<o:p></o:p></span></pre><pre><span
! style='mso-bookmark:_Toc115416145'>The partition has 151945877 blocks available out of 511163724<o:p></o:p></span></pre><pre><span
  style='mso-bookmark:_Toc115416145'>Volume is online <b style='mso-bidi-font-weight:
  normal'><o:p></o:p></b></span></pre>
  
--- 2228,2248 ----
  style='mso-tab-count:1'>            </span>\\AFS\athena.mit.edu# 537235559\</span></p>
  
  <h2><span style='mso-bookmark:_Toc115416145'><a name="_Toc170268868">3.44.
! Differences between Windows and UNIX “fs examine”</a></span></h2>
  
  <p class=MsoBodyText><span style='mso-bookmark:_Toc115416145'>The OpenAFS for
! Windows version of “fs examine” provide two additional lines of output when
! compared to the UNIX implementation.<span style='mso-spacerun:yes'> 
! </span>These lines include the owner and group information for the file as well
! as the volume status.</span></p>
! 
! <pre><span style='mso-bookmark:_Toc115416145'>[C:\]fs examine \\afs\athena#user.jaltman</span></pre><pre><span
! style='mso-bookmark:_Toc115416145'>File \\afs\athena#user.jaltman (537235559.1.1) contained in cell athena.mit.edu</span></pre><pre><span
! style='mso-bookmark:_Toc115416145'><b style='mso-bidi-font-weight:normal'>Owner jaltman (28180) Group 0<o:p></o:p></b></span></pre><pre><span
! style='mso-bookmark:_Toc115416145'>Volume status for vid = 537235559 named user.jaltman is</span></pre><pre><span
! style='mso-bookmark:_Toc115416145'>Current disk quota is 1500000</span></pre><pre><span
! style='mso-bookmark:_Toc115416145'>Current blocks used are 1244184</span></pre><pre><span
! style='mso-bookmark:_Toc115416145'>The partition has 151945877 blocks available out of 511163724</span></pre><pre><span
  style='mso-bookmark:_Toc115416145'>Volume is online <b style='mso-bidi-font-weight:
  normal'><o:p></o:p></b></span></pre>
  
***************
*** 2294,2307 ****
  
  <h2><a name="_Toc170268870"></a><a name="_Toc139993134"></a><a
  name="_Toc126872211"></a><a name="_Toc115417082"></a><span style='mso-bookmark:
! _Toc170268870'>4.1. <span class=SpellE><span class=GramE>pioctl</span></span>
! debugging (</span><a href="#_Value:_IoctlDebug"><span style='mso-bookmark:_Toc170268870'><span
! class=SpellE>IoctlDebug</span></span><span style='mso-bookmark:_Toc170268870'></span></a><span
! style='mso-bookmark:_Toc170268870'> registry key)</span></h2>
! 
! <p class=MsoNormal><span class=SpellE>pioctl</span> (path-based <span
! class=SpellE>ioctl</span>) calls are used by various tools to communicate with
! the AFS Client Service.&nbsp; Some of the operations performed include:</p>
  
  <p class=MsoNormal style='margin-left:49.6pt;text-indent:-14.15pt'><span
  style='font-size:9.0pt;font-family:Symbol'>·</span><span style='font-size:7.0pt;
--- 2255,2268 ----
  
  <h2><a name="_Toc170268870"></a><a name="_Toc139993134"></a><a
  name="_Toc126872211"></a><a name="_Toc115417082"></a><span style='mso-bookmark:
! _Toc170268870'>4.1. pioctl debugging (</span><a href="#_Value:_IoctlDebug"><span
! style='mso-bookmark:_Toc170268870'>IoctlDebug</span><span style='mso-bookmark:
! _Toc170268870'></span></a><span style='mso-bookmark:_Toc170268870'> registry
! key)</span></h2>
! 
! <p class=MsoNormal>pioctl (path-based ioctl) calls are used by various tools to
! communicate with the AFS Client Service.&nbsp; Some of the operations performed
! include:</p>
  
  <p class=MsoNormal style='margin-left:49.6pt;text-indent:-14.15pt'><span
  style='font-size:9.0pt;font-family:Symbol'>·</span><span style='font-size:7.0pt;
***************
*** 2311,2317 ****
  <p class=MsoNormal style='margin-left:49.6pt;text-indent:-14.15pt'><span
  style='font-size:9.0pt;font-family:Symbol'>·</span><span style='font-size:7.0pt;
  font-family:"Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>setting/querying
! <span class=SpellE>ACLs</span> </p>
  
  <p class=MsoNormal style='margin-left:49.6pt;text-indent:-14.15pt'><span
  style='font-size:9.0pt;font-family:Symbol'>·</span><span style='font-size:7.0pt;
--- 2272,2278 ----
  <p class=MsoNormal style='margin-left:49.6pt;text-indent:-14.15pt'><span
  style='font-size:9.0pt;font-family:Symbol'>·</span><span style='font-size:7.0pt;
  font-family:"Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>setting/querying
! ACLs </p>
  
  <p class=MsoNormal style='margin-left:49.6pt;text-indent:-14.15pt'><span
  style='font-size:9.0pt;font-family:Symbol'>·</span><span style='font-size:7.0pt;
***************
*** 2341,2397 ****
  <p class=MsoNormal style='margin-left:49.6pt;text-indent:-14.15pt'><span
  style='font-size:9.0pt;font-family:Symbol'>·</span><span style='font-size:7.0pt;
  font-family:"Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>setting/querying
! the <span class=SpellE>sysname</span> list</p>
  
! <p class=MsoNormal><span class=SpellE>pioctl</span> calls are implemented by
! writing to a special UNC path that is processed by the AFS Client
! Service.&nbsp;&nbsp; If there is a failure to communicate with the AFS Client Service
! via SMB/CIFS, it will be impossible to perform any of the above
! operations.&nbsp;&nbsp; </p>
  
  <p class=MsoNormal>To assist in debugging these problems, the registry value:</p>
  
  <p class=preformattedtext>&nbsp; [HKLM\SOFTWARE\OpenAFS\Client]</p>
  
! <p class=preformattedtext>&nbsp; REG_DWORD:&nbsp; <span class=SpellE>IoctlDebug</span>&nbsp;&nbsp;
! = 0x01</p>
  
! <p class=MsoNormal>should be set.&nbsp; Then any of the commands that perform <span
! class=SpellE>pioctl</span> calls should be executed from the command
! prompt.&nbsp; With this key set the <span class=SpellE>pioctl</span> library
! will generate debugging output to <span class=SpellE>stderr</span>.&nbsp; The
  output will contain the Win32 API calls executed along with their most
  important parameters and their return code.&nbsp;&nbsp; The MSDN Library and
! the Microsoft <span class=SpellE>KnowledgeBase</span> can be used as a
! reference to help you determine the configuration <span class=SpellE>probem</span>
! with your system.</p>
  
  <h2><a name="_Toc170268871"></a><a name="_Toc139993135"></a><a
  name="_Toc126872212"></a><a name="_Toc115417083"></a><span style='mso-bookmark:
! _Toc170268871'>4.2. <span class=SpellE>afsd_service</span> initialization log
! (%<span class=SpellE>WinDir%\TEMP\afsd_init.log</span>)</span></h2>
  
  <p class=MsoNormal>Every time the AFS Client Service starts it appends data
  about its progress and configuration to a file.&nbsp; This file provides
  information crucial to determining why the service cannot start when there are
! problems.&nbsp; When the process terminates due to a panic condition it will write
! to this file the source code file and line number of the error.&nbsp; In many
! cases the panic condition is due to a <span class=SpellE>misconfiguration</span>
! 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>The <i><a href="#_Value___:_MaxLogSize"><span class=SpellE>MaxLogSize</span></a></i>
! registry value determines the maximum size of the %WINDIR%\TEMP\<span
! class=SpellE>afsd_init.log</span> file.&nbsp; If the file is larger than this
! value when OpenAFS Client Service starts, the file will be reset to 0
! bytes.&nbsp; If value is set to 0, the file will be allowed to grow
! indefinitely.</p>
  
  <h2><a name="_Toc170268872"></a><a name="_Toc139993136"></a><a
  name="_Toc126872213"></a><a name="_Toc115417084"></a><span style='mso-bookmark:
! _Toc170268872'>4.3. <span class=SpellE>afsd_service</span> debug logs (<span
! class=SpellE>fs</span> trace {-on, -off, -dump} -&gt;%<span class=SpellE>WinDir%\TEMP\afsd.log</span>)</span></h2>
  
  <p class=MsoNormal>When attempting to debug the behavior of the SMB/CIFS Server
  and the Cache Manager it is often useful to examine a log of the operations
--- 2302,2353 ----
  <p class=MsoNormal style='margin-left:49.6pt;text-indent:-14.15pt'><span
  style='font-size:9.0pt;font-family:Symbol'>·</span><span style='font-size:7.0pt;
  font-family:"Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>setting/querying
! the sysname list</p>
  
! <p class=MsoNormal>pioctl calls are implemented by writing to a special UNC
! path that is processed by the AFS Client Service.&nbsp;&nbsp; If there is a
! failure to communicate with the AFS Client Service via SMB/CIFS, it will be
! impossible to perform any of the above operations.&nbsp;&nbsp; </p>
  
  <p class=MsoNormal>To assist in debugging these problems, the registry value:</p>
  
  <p class=preformattedtext>&nbsp; [HKLM\SOFTWARE\OpenAFS\Client]</p>
  
! <p class=preformattedtext>&nbsp; REG_DWORD:&nbsp; IoctlDebug&nbsp;&nbsp; = 0x01</p>
  
! <p class=MsoNormal>should be set.&nbsp; Then any of the commands that perform
! pioctl calls should be executed from the command prompt.&nbsp; With this key
! set the pioctl library will generate debugging output to stderr.&nbsp; The
  output will contain the Win32 API calls executed along with their most
  important parameters and their return code.&nbsp;&nbsp; The MSDN Library and
! the Microsoft KnowledgeBase can be used as a reference to help you determine the
! configuration probem with your system.</p>
  
  <h2><a name="_Toc170268871"></a><a name="_Toc139993135"></a><a
  name="_Toc126872212"></a><a name="_Toc115417083"></a><span style='mso-bookmark:
! _Toc170268871'>4.2. afsd_service initialization log
! (%WinDir%\TEMP\afsd_init.log)</span></h2>
  
  <p class=MsoNormal>Every time the AFS Client Service starts it appends data
  about its progress and configuration to a file.&nbsp; This file provides
  information crucial to determining why the service cannot start when there are
! problems.&nbsp; When the process terminates due to a panic condition it will
! write to this file the source code file and line number of the error.&nbsp; In
! many cases the panic condition is due to a misconfiguration of the machine.&nbsp;
! In other cases it might be due to a programming error in the software.&nbsp; A
! quick review of the location in the source code will quickly reveal the reason
! for the termination.</p>
! 
! <p class=MsoNormal>The <i><a href="#_Value___:_MaxLogSize">MaxLogSize</a></i>
! registry value determines the maximum size of the %WINDIR%\TEMP\afsd_init.log
! file.&nbsp; If the file is larger than this value when OpenAFS Client Service
! starts, the file will be reset to 0 bytes.&nbsp; If value is set to 0, the file
! will be allowed to grow indefinitely.</p>
  
  <h2><a name="_Toc170268872"></a><a name="_Toc139993136"></a><a
  name="_Toc126872213"></a><a name="_Toc115417084"></a><span style='mso-bookmark:
! _Toc170268872'>4.3. afsd_service debug logs (fs trace {-on, -off, -dump}
! -&gt;%WinDir%\TEMP\afsd.log)</span></h2>
  
  <p class=MsoNormal>When attempting to debug the behavior of the SMB/CIFS Server
  and the Cache Manager it is often useful to examine a log of the operations
***************
*** 2400,2473 ****
  at any one time is 5000.&nbsp; This can be adjusted with the <a
  href="#_Value_:_TraceBufferSize">registry value</a>:</p>
  
! <p class=preformattedtext>&nbsp;
! [HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters]</p>
  
! <p class=preformattedtext>&nbsp; REG_DWORD&nbsp; <span class=SpellE>TraceBufferSize</span>
! </p>
  
! <p class=MsoNormal>A restart of the service is necessary when adjusting this value.&nbsp;&nbsp;
! Execute &quot;<span class=SpellE>fs</span> trace -on&quot; to clear to the log
! and &quot;<span class=SpellE>fs</span> trace -dump&quot; to output the contents
! of the log to the file.</p>
  
  <h2><a name="_Toc170268873"></a><a name="_Toc139993137"></a><a
  name="_Toc126872214"></a><a name="_Toc115417085"></a><span style='mso-bookmark:
! _Toc170268873'>4.4. Using <span class=SpellE>SysInternal’s</span> <span
! class=SpellE>DbgView</span> and <span class=SpellE>ProcMon</span> or <span
! class=SpellE>FileMon</span> Tools</span></h2>
! 
! <p class=MsoNormal>An <span class=SpellE>alternatve</span> option to the use of
! &quot;<span class=SpellE>fs</span> trace -dump&quot; to capture internal
! OpenAFS Client Service events is to use a tool such as <span class=SpellE>Sysinternal's</span>
! <span class=SpellE>DbgView</span> to capture real-time debugging output.&nbsp;
! When the OpenAFS Client Service starts and Bit 2 of the <a
! href="#_Value__:_TraceOption"><span class=SpellE>TraceOption</span></a> value in
! the registry is set, all trace log events are output using the Windows Debug
! Monitor interface (<span class=SpellE>OutputDebugString</span>).&nbsp; </p>
  
! <p class=preformattedtext>&nbsp;
! [HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters]</p>
  
! <p class=preformattedtext style='text-indent:12.0pt'>REG_DWORD&nbsp;&nbsp; <span
! class=SpellE>TraceOption</span> = 0x04</p>
  
! <p class=MsoNormal>Use “<span class=SpellE>fs</span> trace –on” and “<span
! class=SpellE>fs</span> trace –off” to toggle the generation of log messages. </p>
  
  <p class=MsoNormal><a name="_Toc115416150"></a><a name="_Toc126872215"></a><a
! name="_Toc115417086"></a><span class=SpellE><span style='mso-bookmark:_Toc115416150'>Sysinternal’s</span></span><span
! style='mso-bookmark:_Toc115416150'> <span class=SpellE>ProcMon</span> or <span
! class=SpellE>FileMon</span> utilities can be use to monitor the file operations
  requested by applications and their success or failure.&nbsp;&nbsp; </span></p>
  
! <p class=MsoNormal><span style='mso-bookmark:_Toc115416150'>In <span
! class=SpellE>FileMon</span>, use the Volumes menu to restrict monitoring to <i>Network</i>
! volumes only in order to reduce the output to just the CIFS requests.&nbsp;
! Turn on the <i>Advanced Output</i> option in order to log with finer
! granularity.</span></p>
! 
! <p class=MsoNormal>In <span class=SpellE>ProcMon</span>, 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>Turn on the <i>Clock Time</i> and <i>Show Milliseconds</i>
  options in both tools to make it easier to synchronize the application requests
  and the resulting OpenAFS Client Service operations.&nbsp;&nbsp; The captured
! data can be stored to files for inclusion in <a
! href="#_5._Reporting_Bugs:">bug reports</a>.</p>
  
! <h2><a name="_Toc170268874">4.5. Microsoft </a><span class=SpellE><span
! style='mso-bookmark:_Toc170268874'>MiniDumps</span></span><span
! style='mso-bookmark:_Toc170268874'> <br>
! (<span class=SpellE>fs</span> <span class=SpellE>minidump</span> -&gt; %<span
! class=SpellE>WinDir%\TEMP\afsd.dmp</span>)</span></h2>
  
  <p class=MsoNormal>If the AFS Client Service become unresponsive to any form of
  communication there may be a serious error that can only be debugged by someone
! with access to the source code and a debugger.&nbsp;&nbsp; The &quot;<span
! class=SpellE>fs</span> <span class=SpellE>minidump</span>&quot; command can be
! used to force the generation of a <span class=SpellE>MiniDump</span> file
  containing the state of all of the threads in the AFS Client Service process.</p>
  
  <h2><a name="_Toc170268875"></a><a name="_Toc139993139"></a><a
--- 2356,2416 ----
  at any one time is 5000.&nbsp; This can be adjusted with the <a
  href="#_Value_:_TraceBufferSize">registry value</a>:</p>
  
! <p class=preformattedtext>&nbsp; [HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters]</p>
  
! <p class=preformattedtext>&nbsp; REG_DWORD&nbsp; TraceBufferSize </p>
  
! <p class=MsoNormal>A restart of the service is necessary when adjusting this
! value.&nbsp;&nbsp; Execute &quot;fs trace -on&quot; to clear to the log and
! &quot;fs trace -dump&quot; to output the contents of the log to the file.</p>
  
  <h2><a name="_Toc170268873"></a><a name="_Toc139993137"></a><a
  name="_Toc126872214"></a><a name="_Toc115417085"></a><span style='mso-bookmark:
! _Toc170268873'>4.4. Using SysInternal’s DbgView and ProcMon or FileMon Tools</span></h2>
  
! <p class=MsoNormal>An alternatve option to the use of &quot;fs trace
! -dump&quot; to capture internal OpenAFS Client Service events is to use a tool
! such as Sysinternal's DbgView to capture real-time debugging output.&nbsp; When
! the OpenAFS Client Service starts and Bit 2 of the <a
! href="#_Value__:_TraceOption">TraceOption</a> value in the registry is set, all
! trace log events are output using the Windows Debug Monitor interface
! (OutputDebugString).&nbsp; </p>
! 
! <p class=preformattedtext>&nbsp; [HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters]</p>
  
! <p class=preformattedtext style='text-indent:12.0pt'>REG_DWORD&nbsp;&nbsp;
! TraceOption = 0x04</p>
  
! <p class=MsoNormal>Use “fs trace –on” and “fs trace –off” to toggle the
! generation of log messages. </p>
  
  <p class=MsoNormal><a name="_Toc115416150"></a><a name="_Toc126872215"></a><a
! name="_Toc115417086"></a><span style='mso-bookmark:_Toc115416150'>Sysinternal’s
! ProcMon or FileMon utilities can be use to monitor the file operations
  requested by applications and their success or failure.&nbsp;&nbsp; </span></p>
  
! <p class=MsoNormal><span style='mso-bookmark:_Toc115416150'>In FileMon, use the
! Volumes menu to restrict monitoring to <i>Network</i> volumes only in order to
! reduce the output to just the CIFS requests.&nbsp; Turn on the <i>Advanced
! Output</i> option in order to log with finer granularity.</span></p>
! 
! <p class=MsoNormal>In ProcMon, 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>Turn on the <i>Clock Time</i> and <i>Show Milliseconds</i>
  options in both tools to make it easier to synchronize the application requests
  and the resulting OpenAFS Client Service operations.&nbsp;&nbsp; The captured
! data can be stored to files for inclusion in <a href="#_5._Reporting_Bugs:">bug
! reports</a>.</p>
  
! <h2><a name="_Toc170268874">4.5. Microsoft MiniDumps <br>
! (fs minidump -&gt; %WinDir%\TEMP\afsd.dmp)</a></h2>
  
  <p class=MsoNormal>If the AFS Client Service become unresponsive to any form of
  communication there may be a serious error that can only be debugged by someone
! with access to the source code and a debugger.&nbsp;&nbsp; The &quot;fs
! minidump&quot; command can be used to force the generation of a MiniDump file
  containing the state of all of the threads in the AFS Client Service process.</p>
  
  <h2><a name="_Toc170268875"></a><a name="_Toc139993139"></a><a
***************
*** 2477,2490 ****
  <p class=MsoNormal>If you are having trouble with the Integrated Logon
  operations it is often useful to be able to obtain a log of what it is
  attempting to do.&nbsp;&nbsp; Setting Bit 0 of the <a
! href="#_Value__:_TraceOption"><span class=SpellE>TraceOption</span></a>
! registry value:</p>
  
  <p class=preformattedtext>&nbsp;
  [HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters]</p>
  
! <p class=preformattedtext>&nbsp; REG_DWORD&nbsp;&nbsp; <span class=SpellE>TraceOption</span>
! = 0x01</p>
  
  <p class=MsoNormal>will instruct the Integrated Logon Network Provider and
  Event Handlers to log information to the Windows Event Log: Application under
--- 2420,2431 ----
  <p class=MsoNormal>If you are having trouble with the Integrated Logon
  operations it is often useful to be able to obtain a log of what it is
  attempting to do.&nbsp;&nbsp; Setting Bit 0 of the <a
! href="#_Value__:_TraceOption">TraceOption</a> registry value:</p>
  
  <p class=preformattedtext>&nbsp;
  [HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters]</p>
  
! <p class=preformattedtext>&nbsp; REG_DWORD&nbsp;&nbsp; TraceOption = 0x01</p>
  
  <p class=MsoNormal>will instruct the Integrated Logon Network Provider and
  Event Handlers to log information to the Windows Event Log: Application under
***************
*** 2492,2581 ****
  
  <h2><a name="_Toc170268876"></a><a name="_Toc139993140"></a><a
  name="_Toc126872217"></a><a name="_Toc115417088"></a><span style='mso-bookmark:
! _Toc170268876'>4.7. RX (AFS RPC) debugging (<span class=SpellE>rxdebug</span>)</span></h2>
  
  <p class=MsoNormal>The rxdebug.exe tool can be used to query a variety of
  information about the AFS services installed on a given machine.&nbsp; The port
  for the AFS Cache Manager is 7001.&nbsp; </p>
  
! <p class=preformattedtext>Usage: <span class=SpellE>rxdebug</span> -servers
! &lt;server machine&gt; [-port &lt;IP port&gt;] [-<span class=SpellE>nodally</span>]
! </p>
  
  <p class=preformattedtext style='margin-left:35.45pt;text-indent:35.45pt'>&nbsp;&nbsp;
! [-<span class=SpellE>allconnections</span>] [-<span class=SpellE>rxstats</span>]
! [-<span class=SpellE>onlyserver</span>] [-<span class=SpellE>onlyclient</span>]
! </p>
  
! <p class=preformattedtext style='margin-left:70.9pt'>&nbsp;&nbsp; [-<span
! class=SpellE>onlyport</span> &lt;show only &lt;port&gt;&gt;] </p>
  
! <p class=preformattedtext style='margin-left:70.9pt'>&nbsp;&nbsp; [-<span
! class=SpellE>onlyhost</span> &lt;show only &lt;host&gt;&gt;] </p>
  
! <p class=preformattedtext style='margin-left:70.9pt'>&nbsp;&nbsp; [-<span
! class=SpellE>onlyauth</span> &lt;show only &lt;auth level&gt;&gt;] [-version] </p>
  
! <p class=preformattedtext style='margin-left:70.9pt'>&nbsp;&nbsp; [-<span
! class=SpellE>noconns</span>] [-peers] [-help]</p>
  
! <p class=preformattedtext>Where: -<span class=SpellE>nodally</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
! don't show dallying <span class=SpellE>conns</span></p>
  
! <p class=preformattedtext>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -<span
! class=SpellE>allconnections</span>&nbsp; don't filter out uninteresting
! connections</p>
  
! <p class=preformattedtext>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -<span
! class=SpellE>rxstats</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  show Rx statistics</p>
  
! <p class=preformattedtext>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -<span
! class=SpellE>onlyserver</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; only show server <span
! class=SpellE>conns</span></p>
! 
! <p class=preformattedtext>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -<span
! class=SpellE>onlyclient</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; only show client <span
! class=SpellE>conns</span></p>
  
  <p class=preformattedtext>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  -version&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; show AFS version id</p>
  
! <p class=preformattedtext>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -<span
! class=SpellE>noconns</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
! show no connections</p>
  
  <p class=preformattedtext>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  -peers&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; show peers</p>
  
  <h2><a name="_Toc170268877"></a><a name="_Toc139993141"></a><a
  name="_Toc126872218"></a><a name="_Toc115417089"></a><span style='mso-bookmark:
! _Toc170268877'>4.8. Cache Manager debugging (<span class=SpellE>cmdebug</span>)</span></h2>
  
  <p class=MsoNormal>The cmdebug.exe tool can be used to query the state of the
  AFS Cache Manager on a given machine.</p>
  
! <p class=preformattedtext><span lang=FR style='mso-ansi-language:FR'>Usage: <span
! class=SpellE>cmdebug</span> -servers &lt;server machine&gt; [-port &lt;IP
! port&gt;] [-long] <o:p></o:p></span></p>
  
  <p class=preformattedtext style='margin-left:70.9pt'><span lang=FR
! style='mso-ansi-language:FR'>&nbsp;&nbsp; </span>[-<span class=SpellE>refcounts</span>]
! [-callbacks] [-<span class=SpellE>addrs</span>] [-cache] [-help]</p>
  
  <p class=preformattedtext>Where: -long&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  print all info</p>
  
! <p class=preformattedtext>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -<span
! class=SpellE>refcounts</span>&nbsp; print only cache entries with positive
! reference counts</p>
  
  <p class=preformattedtext>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -callbacks&nbsp;
  print only cache entries with callbacks</p>
  
! <p class=preformattedtext>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -<span
! class=SpellE>addrs</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; print only host
! interfaces</p>
  
  <p class=preformattedtext>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  -cache&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; print only cache configuration</p>
--- 2433,2512 ----
  
  <h2><a name="_Toc170268876"></a><a name="_Toc139993140"></a><a
  name="_Toc126872217"></a><a name="_Toc115417088"></a><span style='mso-bookmark:
! _Toc170268876'>4.7. RX (AFS RPC) debugging (rxdebug)</span></h2>
  
  <p class=MsoNormal>The rxdebug.exe tool can be used to query a variety of
  information about the AFS services installed on a given machine.&nbsp; The port
  for the AFS Cache Manager is 7001.&nbsp; </p>
  
! <p class=preformattedtext>Usage: rxdebug -servers &lt;server machine&gt; [-port
! &lt;IP port&gt;] [-nodally] </p>
  
  <p class=preformattedtext style='margin-left:35.45pt;text-indent:35.45pt'>&nbsp;&nbsp;
! [-allconnections] [-rxstats] [-onlyserver] [-onlyclient] </p>
  
! <p class=preformattedtext style='margin-left:70.9pt'>&nbsp;&nbsp; [-onlyport
! &lt;show only &lt;port&gt;&gt;] </p>
  
! <p class=preformattedtext style='margin-left:70.9pt'>&nbsp;&nbsp; [-onlyhost
! &lt;show only &lt;host&gt;&gt;] </p>
  
! <p class=preformattedtext style='margin-left:70.9pt'>&nbsp;&nbsp; [-onlyauth
! &lt;show only &lt;auth level&gt;&gt;] [-version] </p>
  
! <p class=preformattedtext style='margin-left:70.9pt'>&nbsp;&nbsp; [-noconns]
! [-peers] [-help]</p>
  
! <p class=preformattedtext>Where:
! -nodally&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; don't show dallying
! conns</p>
  
! <p class=preformattedtext>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
! -allconnections&nbsp; don't filter out uninteresting connections</p>
  
! <p class=preformattedtext>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -rxstats&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  show Rx statistics</p>
  
! <p class=preformattedtext>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
! -onlyserver&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; only show server conns</p>
! 
! <p class=preformattedtext>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
! -onlyclient&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; only show client conns</p>
  
  <p class=preformattedtext>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  -version&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; show AFS version id</p>
  
! <p class=preformattedtext>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
! -noconns&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; show no connections</p>
  
  <p class=preformattedtext>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  -peers&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; show peers</p>
  
  <h2><a name="_Toc170268877"></a><a name="_Toc139993141"></a><a
  name="_Toc126872218"></a><a name="_Toc115417089"></a><span style='mso-bookmark:
! _Toc170268877'>4.8. Cache Manager debugging (cmdebug)</span></h2>
  
  <p class=MsoNormal>The cmdebug.exe tool can be used to query the state of the
  AFS Cache Manager on a given machine.</p>
  
! <p class=preformattedtext><span lang=FR style='mso-ansi-language:FR'>Usage:
! cmdebug -servers &lt;server machine&gt; [-port &lt;IP port&gt;] [-long] <o:p></o:p></span></p>
  
  <p class=preformattedtext style='margin-left:70.9pt'><span lang=FR
! style='mso-ansi-language:FR'>&nbsp;&nbsp; </span>[-refcounts] [-callbacks]
! [-addrs] [-cache] [-help]</p>
  
  <p class=preformattedtext>Where: -long&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  print all info</p>
  
! <p class=preformattedtext>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -refcounts&nbsp;
! print only cache entries with positive reference counts</p>
  
  <p class=preformattedtext>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -callbacks&nbsp;
  print only cache entries with callbacks</p>
  
! <p class=preformattedtext>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
! -addrs&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; print only host interfaces</p>
  
  <p class=preformattedtext>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  -cache&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; print only cache configuration</p>
***************
*** 2584,2597 ****
  name="_Toc126872219"></a><a name="_Toc115417090"></a><span style='mso-bookmark:
  _Toc170268878'>4.9. Persistent Cache consistency check</span></h2>
  
! <p class=MsoNormal>The persistent cache is stored in a Hidden System file at %<span
! class=SpellE>WinDir%\TEMP\AFSCache</span>.&nbsp; If there is a problem with the
! persistent cache that prevent the AFS Client Service from being able to start a
! validation check on the file can be performed.</p>
  
  <p class=preformattedtext>&nbsp; afsd_service.exe --validate-cache
  &lt;cache-path&gt;</p>
  
  <h1><a name="_Toc170268879"></a><a name="_Toc139993143"></a><a
  name="_Toc126872220"></a><a name="_Toc115417113"></a><a name="_Toc115417091"></a><a
  name="_5._Reporting_Bugs:"></a><span style='mso-bookmark:_Toc170268879'>5.
--- 2515,2539 ----
  name="_Toc126872219"></a><a name="_Toc115417090"></a><span style='mso-bookmark:
  _Toc170268878'>4.9. Persistent Cache consistency check</span></h2>
  
! <p class=MsoNormal>The persistent cache is stored in a Hidden System file at
! %WinDir%\TEMP\AFSCache.&nbsp; If there is a problem with the persistent cache
! that prevent the AFS Client Service from being able to start a validation check
! on the file can be performed.</p>
  
  <p class=preformattedtext>&nbsp; afsd_service.exe --validate-cache
  &lt;cache-path&gt;</p>
  
+ <h2>4.10. Token Acquisition Debugging</h2>
+ 
+ <p class=MsoNormal>If you are having trouble obtaining tokens with the Network
+ Identity Manager AFS credential provider, it is recommended that you verify
+ your ability to obtain tokens using the command-line tools <i style='mso-bidi-font-style:
+ normal'>klog.exe</i> (if you are using kaserver) or <i style='mso-bidi-font-style:
+ normal'>kinit.exe</i> and <i style='mso-bidi-font-style:normal'>aklog.exe</i>
+ (if you are using Kerberos v5.) <span style='mso-spacerun:yes'> </span>The
+ aklog.exe <i style='mso-bidi-font-style:normal'>–d</i> option will be quite
+ helpful in diagnosing Kerberos v5 related problems. </p>
+ 
  <h1><a name="_Toc170268879"></a><a name="_Toc139993143"></a><a
  name="_Toc126872220"></a><a name="_Toc115417113"></a><a name="_Toc115417091"></a><a
  name="_5._Reporting_Bugs:"></a><span style='mso-bookmark:_Toc170268879'>5.
***************
*** 2601,2614 ****
  href="mailto:openafs-bugs@openafs.org?subject=Bug%20Report">openafs-bugs@openafs.org</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\<span
! class=SpellE>afsd.dmp</span>, include it along with the AFS Client Trace
! file&nbsp; %WINDIR%\TEMP\<span class=SpellE>afsd.log</span>.&nbsp; The AFS
! Client startup log is %WINDIR%\TEMP\<span class=SpellE>afsd_init.log</span>.&nbsp;
! Send the last continuous block of&nbsp; log information from this file.</p>
  
! <p class=MsoNormal>Configuring <span class=SpellE>DrWatson</span> to generate
! dump files for crashes:</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;
--- 2543,2555 ----
  href="mailto:openafs-bugs@openafs.org?subject=Bug%20Report">openafs-bugs@openafs.org</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>
  
! <p class=MsoNormal>Configuring DrWatson to generate dump files for crashes:</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;
***************
*** 2664,2670 ****
  <p class=MsoNormal style='margin-left:49.6pt;text-indent:-14.15pt'><span
  style='font-size:9.0pt;font-family:Symbol'>·</span><span style='font-size:7.0pt;
  font-family:"Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>type
! <span class=SpellE>drwatson</span> &lt;enter&gt;. </p>
  
  <p class=MsoNormal style='margin-left:49.6pt;text-indent:-14.15pt'><span
  style='font-size:9.0pt;font-family:Symbol'>·</span><span style='font-size:7.0pt;
--- 2605,2611 ----
  <p class=MsoNormal style='margin-left:49.6pt;text-indent:-14.15pt'><span
  style='font-size:9.0pt;font-family:Symbol'>·</span><span style='font-size:7.0pt;
  font-family:"Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>type
! drwatson &lt;enter&gt;. </p>
  
  <p class=MsoNormal style='margin-left:49.6pt;text-indent:-14.15pt'><span
  style='font-size:9.0pt;font-family:Symbol'>·</span><span style='font-size:7.0pt;
***************
*** 2672,2680 ****
  a crash happens, Dr. Watson generates a dump file and a report in the log file,
  including the address of the crash and the stack dump.</p>
  
! <p class=MsoNormal>Once you have the Dr. Watson's <span class=SpellE>logfile</span>
! and <span class=SpellE>minidump</span>, zip them and attach them to your
! e-mail.</p>
  
  <p class=MsoNormal>When reporting a error, please be sure to include the
  version of OpenAFS.</p>
--- 2613,2620 ----
  a crash happens, Dr. Watson generates a dump file and a report in the log file,
  including the address of the crash and the stack dump.</p>
  
! <p class=MsoNormal>Once you have the Dr. Watson's logfile and minidump, zip
! them and attach them to your e-mail.</p>
  
  <p class=MsoNormal>When reporting a error, please be sure to include the
  version of OpenAFS.</p>
***************
*** 2698,2705 ****
  
  <p class=MsoBodyText><a href="http://www.usenix.org/">USENIX</a>, a 501c3
  non-profit corporation, has formed the USENIX OpenAFS Fund in order to accept
! tax deductible donations on behalf of the OpenAFS Elders. The donated funds
! will be allocated by the OpenAFS Elders to fund OpenAFS development, documentation,
  project management, and maintaining openafs.org. <o:p></o:p></p>
  
  <div>
--- 2638,2645 ----
  
  <p class=MsoBodyText><a href="http://www.usenix.org/">USENIX</a>, a 501c3
  non-profit corporation, has formed the USENIX OpenAFS Fund in order to accept
! tax deductible donations on behalf of the OpenAFS Elders. The donated funds will
! be allocated by the OpenAFS Elders to fund OpenAFS development, documentation,
  project management, and maintaining openafs.org. <o:p></o:p></p>
  
  <div>
***************
*** 2722,2729 ****
  
  </div>
  
! <p class=MsoBodyText>Donations can be made by sending a check, drawn on a U.S. bank,
! made out to the USENIX OpenAFS Fund or by making a <a
  href="https://db.usenix.org/cgi-bin/openafs/openafs.cgi">donation online</a>.</p>
  
  <h2><a name="_Toc170268882"></a><a name="_Toc152605097"></a><a
--- 2662,2669 ----
  
  </div>
  
! <p class=MsoBodyText>Donations can be made by sending a check, drawn on a U.S.
! bank, made out to the USENIX OpenAFS Fund or by making a <a
  href="https://db.usenix.org/cgi-bin/openafs/openafs.cgi">donation online</a>.</p>
  
  <h2><a name="_Toc170268882"></a><a name="_Toc152605097"></a><a
***************
*** 2735,2745 ****
  <p class=MsoBodyText><a href="http://www.secure-endpoints.com/">Secure
  Endpoints Inc.</a> provides development and support services for OpenAFS for
  Windows and <a href="http://web.mit.edu/kerberos/">MIT Kerberos for Windows</a>.
! &nbsp;Donations provided to Secure Endpoints Inc. for the development of
! OpenAFS are used to cover the OpenAFS gatekeeper responsibilities; providing
! support to the OpenAFS community via the OpenAFS mailing lists; and furthering
! development of desired features that are either too small to be financed by
! development contracts.</p>
  
  <p class=MsoBodyText>Secure Endpoints Inc. accepts software development
  agreements from organizations who wish to fund a well-defined set of bug fixes
--- 2675,2685 ----
  <p class=MsoBodyText><a href="http://www.secure-endpoints.com/">Secure
  Endpoints Inc.</a> provides development and support services for OpenAFS for
  Windows and <a href="http://web.mit.edu/kerberos/">MIT Kerberos for Windows</a>.
! &nbsp;Donations provided to Secure Endpoints Inc. for the development of OpenAFS
! are used to cover the OpenAFS gatekeeper responsibilities; providing support to
! the OpenAFS community via the OpenAFS mailing lists; and furthering development
! of desired features that are either too small to be financed by development
! contracts.</p>
  
  <p class=MsoBodyText>Secure Endpoints Inc. accepts software development
  agreements from organizations who wish to fund a well-defined set of bug fixes
***************
*** 2788,2798 ****
  name="_MSI_Deployment_Guide"></a><span style='mso-bookmark:_Toc170268885'><span
  style='mso-bookmark:_Toc152605100'>7. MSI Deployment Guide</span></span></h1>
  
! <i><span style='font-size:16.0pt;font-family:Albany;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><a name="_Toc170268886"></a><a name="_Toc152605101"></a><a
  name="_Toc115416159"></a><a name="_Toc139993151"></a><a name="_Toc126872228"></a><a
--- 2728,2738 ----
  name="_MSI_Deployment_Guide"></a><span style='mso-bookmark:_Toc170268885'><span
  style='mso-bookmark:_Toc152605100'>7. MSI Deployment Guide</span></span></h1>
  
! <b><span style='font-size:16.0pt;font-family:Albany;mso-fareast-font-family:
  "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><a name="_Toc170268886"></a><a name="_Toc152605101"></a><a
  name="_Toc115416159"></a><a name="_Toc139993151"></a><a name="_Toc126872228"></a><a
***************
*** 2845,2853 ****
  
  <p class=MsoNormal>The remainder of this document assumes some familiarity with
  authoring transforms.&nbsp; While the MSDN documentation for Windows Installer
! is a bit dense, the guide on MSI transforms found at the second link above is recommended
! reading.&nbsp; MSDN also includes a step-by-step example for creating a
! transform at:</p>
  
  <p class=MsoNormal>&nbsp;&nbsp;&nbsp; <a
  href="http://msdn.microsoft.com/library/en-us/msi/setup/a_customization_transform_example.asp">http://msdn.microsoft.com/library/en-us/msi/setup/a_customization_transform_example.asp</a></p>
--- 2785,2793 ----
  
  <p class=MsoNormal>The remainder of this document assumes some familiarity with
  authoring transforms.&nbsp; While the MSDN documentation for Windows Installer
! is a bit dense, the guide on MSI transforms found at the second link above is
! recommended reading.&nbsp; MSDN also includes a step-by-step example for
! creating a transform at:</p>
  
  <p class=MsoNormal>&nbsp;&nbsp;&nbsp; <a
  href="http://msdn.microsoft.com/library/en-us/msi/setup/a_customization_transform_example.asp">http://msdn.microsoft.com/library/en-us/msi/setup/a_customization_transform_example.asp</a></p>
***************
*** 2864,2909 ****
  
  <p class=preformattedtext style='margin-left:36.0pt;text-indent:-18.0pt'>1.<span
  style='font-size:7.0pt;font-family:"Times New Roman"'>&nbsp;&nbsp;&nbsp; </span>copy
! <span class=SpellE>openafs.msi</span> <span class=SpellE>openafs-modified.msi</span></p>
  
  <p class=preformattedtext style='margin-left:36.0pt;text-indent:-18.0pt'>2.<span
  style='font-size:7.0pt;font-family:"Times New Roman"'>&nbsp;&nbsp;&nbsp; </span>(edit
! the <span class=SpellE>openafs-modified.msi</span> to include the necessary
! changes)</p>
  
  <p class=preformattedtext style='margin-left:36.0pt;text-indent:-18.0pt'>3.<span
! style='font-size:7.0pt;font-family:"Times New Roman"'>&nbsp;&nbsp;&nbsp; </span><span
! class=SpellE>msitran</span> -g <span class=SpellE>openafs.msi</span> <span
! class=SpellE>openafs-modified.msi</span> <span class=SpellE>openafs-transform.mst</span></p>
  
  <p class=preformattedtext style='margin-left:36.0pt;text-indent:-18.0pt'>4.<span
  style='font-size:7.0pt;font-family:"Times New Roman"'>&nbsp;&nbsp;&nbsp; </span>(generates
! <span class=SpellE>openafs-transform.mst</span>, which is the transform)</p>
  
! <p class=MsoNormal>Transforms have an extension of .<span class=SpellE>mst</span>.&nbsp;
! '<span class=SpellE>msitran</span>' is a tool distributed as part of the
! &quot;Windows Installer&quot; SDK (part of the Windows Platform SDK).</p>
  
  <p class=MsoNormal>You can test a transform by:</p>
  
  <p class=preformattedtext style='margin-left:36.0pt;text-indent:-18.0pt'>1.<span
  style='font-size:7.0pt;font-family:"Times New Roman"'>&nbsp;&nbsp;&nbsp; </span>copy
! <span class=SpellE>openafs.msi</span> <span class=SpellE>openafs-test.msi</span></p>
  
  <p class=preformattedtext style='margin-left:36.0pt;text-indent:-18.0pt'>2.<span
! style='font-size:7.0pt;font-family:"Times New Roman"'>&nbsp;&nbsp;&nbsp; </span><span
! class=SpellE>msitran</span> -a <span class=SpellE>openafs-transform.mst</span> <span
! class=SpellE>openafs-test.msi</span></p>
! 
! <p class=MsoNormal>and then checking the resulting <span class=SpellE>openafs-test.msi</span>
! to see if all changes you have made above to <span class=SpellE>openafs-modified.msi</span>
! is present in <span class=SpellE>openafs-test.msi</span>.&nbsp; '<span
! class=SpellE>msitran</span>' will complain if some modification in the
  transform can not be successfully applied.</p>
  
  <p class=MsoNormal>As mentioned above, you can use a tool like ORCA.EXE to edit
! the MSI databases directly when editing <span class=SpellE>openafs-modified.msi</span>.&nbsp;
! More details are given below.</p>
  
  <h2><a name="_Toc170268889"></a><a name="_Toc152605104"></a><a
  name="_Toc115416162"></a><a name="_Toc139993154"></a><a name="_Toc126872231"></a><a
--- 2804,2845 ----
  
  <p class=preformattedtext style='margin-left:36.0pt;text-indent:-18.0pt'>1.<span
  style='font-size:7.0pt;font-family:"Times New Roman"'>&nbsp;&nbsp;&nbsp; </span>copy
! openafs.msi openafs-modified.msi</p>
  
  <p class=preformattedtext style='margin-left:36.0pt;text-indent:-18.0pt'>2.<span
  style='font-size:7.0pt;font-family:"Times New Roman"'>&nbsp;&nbsp;&nbsp; </span>(edit
! the openafs-modified.msi to include the necessary changes)</p>
  
  <p class=preformattedtext style='margin-left:36.0pt;text-indent:-18.0pt'>3.<span
! style='font-size:7.0pt;font-family:"Times New Roman"'>&nbsp;&nbsp;&nbsp; </span>msitran
! -g openafs.msi openafs-modified.msi openafs-transform.mst</p>
  
  <p class=preformattedtext style='margin-left:36.0pt;text-indent:-18.0pt'>4.<span
  style='font-size:7.0pt;font-family:"Times New Roman"'>&nbsp;&nbsp;&nbsp; </span>(generates
! openafs-transform.mst, which is the transform)</p>
  
! <p class=MsoNormal>Transforms have an extension of .mst.&nbsp; 'msitran' is a
! tool distributed as part of the &quot;Windows Installer&quot; SDK (part of the
! Windows Platform SDK).</p>
  
  <p class=MsoNormal>You can test a transform by:</p>
  
  <p class=preformattedtext style='margin-left:36.0pt;text-indent:-18.0pt'>1.<span
  style='font-size:7.0pt;font-family:"Times New Roman"'>&nbsp;&nbsp;&nbsp; </span>copy
! openafs.msi openafs-test.msi</p>
  
  <p class=preformattedtext style='margin-left:36.0pt;text-indent:-18.0pt'>2.<span
! style='font-size:7.0pt;font-family:"Times New Roman"'>&nbsp;&nbsp;&nbsp; </span>msitran
! -a openafs-transform.mst openafs-test.msi</p>
! 
! <p class=MsoNormal>and then checking the resulting openafs-test.msi to see if
! all changes you have made above to openafs-modified.msi is present in
! openafs-test.msi.&nbsp; 'msitran' will complain if some modification in the
  transform can not be successfully applied.</p>
  
  <p class=MsoNormal>As mentioned above, you can use a tool like ORCA.EXE to edit
! the MSI databases directly when editing openafs-modified.msi.&nbsp; More
! details are given below.</p>
  
  <h2><a name="_Toc170268889"></a><a name="_Toc152605104"></a><a
  name="_Toc115416162"></a><a name="_Toc139993154"></a><a name="_Toc126872231"></a><a
***************
*** 2912,2923 ****
  Configuration Options</span></span></span></h2>
  
  <p class=MsoNormal>The logic necessary to implement many of the settings
! described in <a href="#_Appendix_A:_Registry_Values">Appendix <span
! class=GramE>A</span></a> are present in the MSI.&nbsp; Most of these can be
! controlled by setting the corresponding properties to the desired value.&nbsp;
! Some settings may require modifying existing registry entries (though not
! recommended) or adding new resources (like files or registry keys).&nbsp;
! Instructions for performing these tasks are below.</p>
  
  <h3><a name="_Toc170268890"></a><a name="_Toc152605105"></a><a
  name="_Toc115416163"></a><a name="_Toc139993155"></a><a name="_Toc126872232"></a><span
--- 2848,2859 ----
  Configuration Options</span></span></span></h2>
  
  <p class=MsoNormal>The logic necessary to implement many of the settings
! described in <a href="#_Appendix_A:_Registry_Values">Appendix A</a> are present
! in the MSI.&nbsp; Most of these can be controlled by setting the corresponding
! properties to the desired value.&nbsp; Some settings may require modifying
! existing registry entries (though not recommended) or adding new resources
! (like files or registry keys).&nbsp; Instructions for performing these tasks
! are below.</p>
  
  <h3><a name="_Toc170268890"></a><a name="_Toc152605105"></a><a
  name="_Toc115416163"></a><a name="_Toc139993155"></a><a name="_Toc126872232"></a><span
***************
*** 2932,2939 ****
  not contain these properties and hence will not set the registry keys.&nbsp;
  You will need to add properties as needed to the MSI.</p>
  
! <p class=MsoNormal>When one of the configurable properties is set, the installer
! will use the property value to set the corresponding setting in the
  HKEY_LOCAL_MACHINE registry hive.&nbsp; The HKEY_CURRENT_USER hive is not
  touched by the installer.</p>
  
--- 2868,2875 ----
  not contain these properties and hence will not set the registry keys.&nbsp;
  You will need to add properties as needed to the MSI.</p>
  
! <p class=MsoNormal>When one of the configurable properties is set, the
! installer will use the property value to set the corresponding setting in the
  HKEY_LOCAL_MACHINE registry hive.&nbsp; The HKEY_CURRENT_USER hive is not
  touched by the installer.</p>
  
***************
*** 2986,3012 ****
   <tr style='mso-yfti-irow:0;mso-yfti-firstrow:yes'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
    <h5><a name="_Toc170268893"></a><a name="_Toc152605108"></a><a
!   name="_(Service_parameters):"></a><a name="_Toc115416166"></a><a
!   name="_Toc126872235"></a><a name="_Toc139993158"></a><span style='mso-bookmark:
!   _Toc170268893'><span style='mso-bookmark:_Toc152605108'>(Service parameters):</span></span></h5>
    <p class=listcontents style='margin-left:0pt'>[HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters]</p>
    </td>
   </tr>
   <tr style='mso-yfti-irow:1'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
    <h5><a name="_Toc170268894"></a><a name="_Toc152605109"></a><a
!   name="_(Network_provider):"></a><a name="_Toc115416167"></a><a
!   name="_Toc126872236"></a><a name="_Toc139993159"></a><span style='mso-bookmark:
!   _Toc170268894'><span style='mso-bookmark:_Toc152605109'>(Network provider):</span></span></h5>
    <p class=listcontents style='margin-left:0pt'>[HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider]</p>
    </td>
   </tr>
   <tr style='mso-yfti-irow:2;mso-yfti-lastrow:yes'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
    <h5><a name="_Toc170268895"></a><a name="_Toc152605110"></a><a
!   name="_(OpenAFS_Client):"></a><a name="_Toc115416168"></a><a
!   name="_Toc126872237"></a><a name="_Toc139993160"></a><span style='mso-bookmark:
!   _Toc170268895'><span style='mso-bookmark:_Toc152605110'>(OpenAFS Client):</span></span></h5>
    <p class=listcontents style='margin-left:0pt'>[HKLM\SOFTWARE\OpenAFS\Client]</p>
    </td>
   </tr>
--- 2922,2948 ----
   <tr style='mso-yfti-irow:0;mso-yfti-firstrow:yes'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
    <h5><a name="_Toc170268893"></a><a name="_Toc152605108"></a><a
!   name="_Toc139993158"></a><a name="_Toc126872235"></a><a name="_Toc115416166"></a><a
!   name="_(Service_parameters):"></a><span style='mso-bookmark:_Toc170268893'><span
!   style='mso-bookmark:_Toc152605108'>(Service parameters):</span></span></h5>
    <p class=listcontents style='margin-left:0pt'>[HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters]</p>
    </td>
   </tr>
   <tr style='mso-yfti-irow:1'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
    <h5><a name="_Toc170268894"></a><a name="_Toc152605109"></a><a
!   name="_Toc139993159"></a><a name="_Toc126872236"></a><a name="_Toc115416167"></a><a
!   name="_(Network_provider):"></a><span style='mso-bookmark:_Toc170268894'><span
!   style='mso-bookmark:_Toc152605109'>(Network provider):</span></span></h5>
    <p class=listcontents style='margin-left:0pt'>[HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider]</p>
    </td>
   </tr>
   <tr style='mso-yfti-irow:2;mso-yfti-lastrow:yes'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
    <h5><a name="_Toc170268895"></a><a name="_Toc152605110"></a><a
!   name="_Toc139993160"></a><a name="_Toc126872237"></a><a name="_Toc115416168"></a><a
!   name="_(OpenAFS_Client):"></a><span style='mso-bookmark:_Toc170268895'><span
!   style='mso-bookmark:_Toc152605110'>(OpenAFS Client):</span></span></h5>
    <p class=listcontents style='margin-left:0pt'>[HKLM\SOFTWARE\OpenAFS\Client]</p>
    </td>
   </tr>
***************
*** 3025,3057 ****
   <tr style='mso-yfti-irow:0;mso-yfti-firstrow:yes'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
    <h6><a name="_Toc170268897"></a><a name="_Toc152605112"></a><a
!   name="_Toc115416170"></a><a name="_Toc126872239"></a><a name="_Toc139993162"></a><span
    style='mso-bookmark:_Toc170268897'><span style='mso-bookmark:_Toc152605112'><span
    style='mso-bookmark:_Toc115416170'>AFSCACHEPATH</span></span></span></h6>
    <p class=MsoList>Registry key&nbsp;&nbsp;&nbsp; : <a
    href="#_(Service_parameters):">(Service parameters)</a></p>
!   <p class=MsoList>Registry value : <a href="#_Value_:_CachePath"><span
!   class=SpellE>CachePath</span></a></p>
    <p class=MsoList>Valid values&nbsp;&nbsp;&nbsp; : string .</p>
    </td>
   </tr>
   <tr style='mso-yfti-irow:1'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
    <h6><a name="_Toc170268898"></a><a name="_Toc152605113"></a><a
!   name="_Toc115416171"></a><a name="_Toc126872240"></a><a name="_Toc139993163"></a><span
    style='mso-bookmark:_Toc170268898'><span style='mso-bookmark:_Toc152605113'><span
    style='mso-bookmark:_Toc115416171'>AFSCACHESIZE</span></span></span></h6>
    <p class=MsoList>Registry key&nbsp;&nbsp;&nbsp; : <a
    href="#_(Service_parameters):">(Service parameters)</a></p>
!   <p class=MsoList>Registry value : <a href="#_Value___:_CacheSize"><span
!   class=SpellE>CacheSize</span></a></p>
    <p class=MsoList>Valid values&nbsp;&nbsp;&nbsp; : numeric</p>
    </td>
   </tr>
   <tr style='mso-yfti-irow:2'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
    <h6><a name="_Toc170268899"></a><a name="_Toc152605114"></a><a
!   name="_Toc115416172"></a><a name="_Toc126872241"></a><a name="_Toc139993164"></a><span
    style='mso-bookmark:_Toc170268899'><span style='mso-bookmark:_Toc152605114'><span
    style='mso-bookmark:_Toc115416172'>AFSCELLNAME</span></span></span></h6>
    <p class=MsoList>Registry key&nbsp;&nbsp;&nbsp; : <a
--- 2961,2991 ----
   <tr style='mso-yfti-irow:0;mso-yfti-firstrow:yes'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
    <h6><a name="_Toc170268897"></a><a name="_Toc152605112"></a><a
!   name="_Toc115416170"></a><a name="_Toc139993162"></a><a name="_Toc126872239"></a><span
    style='mso-bookmark:_Toc170268897'><span style='mso-bookmark:_Toc152605112'><span
    style='mso-bookmark:_Toc115416170'>AFSCACHEPATH</span></span></span></h6>
    <p class=MsoList>Registry key&nbsp;&nbsp;&nbsp; : <a
    href="#_(Service_parameters):">(Service parameters)</a></p>
!   <p class=MsoList>Registry value : <a href="#_Value_:_CachePath">CachePath</a></p>
    <p class=MsoList>Valid values&nbsp;&nbsp;&nbsp; : string .</p>
    </td>
   </tr>
   <tr style='mso-yfti-irow:1'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
    <h6><a name="_Toc170268898"></a><a name="_Toc152605113"></a><a
!   name="_Toc115416171"></a><a name="_Toc139993163"></a><a name="_Toc126872240"></a><span
    style='mso-bookmark:_Toc170268898'><span style='mso-bookmark:_Toc152605113'><span
    style='mso-bookmark:_Toc115416171'>AFSCACHESIZE</span></span></span></h6>
    <p class=MsoList>Registry key&nbsp;&nbsp;&nbsp; : <a
    href="#_(Service_parameters):">(Service parameters)</a></p>
!   <p class=MsoList>Registry value : <a href="#_Value___:_CacheSize">CacheSize</a></p>
    <p class=MsoList>Valid values&nbsp;&nbsp;&nbsp; : numeric</p>
    </td>
   </tr>
   <tr style='mso-yfti-irow:2'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
    <h6><a name="_Toc170268899"></a><a name="_Toc152605114"></a><a
!   name="_Toc115416172"></a><a name="_Toc139993164"></a><a name="_Toc126872241"></a><span
    style='mso-bookmark:_Toc170268899'><span style='mso-bookmark:_Toc152605114'><span
    style='mso-bookmark:_Toc115416172'>AFSCELLNAME</span></span></span></h6>
    <p class=MsoList>Registry key&nbsp;&nbsp;&nbsp; : <a
***************
*** 3063,3101 ****
   <tr style='mso-yfti-irow:3'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
    <h6><a name="_Toc170268900"></a><a name="_Toc152605115"></a><a
!   name="_Toc115416173"></a><a name="_Toc126872242"></a><a name="_Toc139993165"></a><span
    style='mso-bookmark:_Toc170268900'><span style='mso-bookmark:_Toc152605115'><span
    style='mso-bookmark:_Toc115416173'>FREELANCEMODE</span></span></span></h6>
    <p class=MsoList>Registry key&nbsp;&nbsp;&nbsp; : <a
    href="#_(Service_parameters):">(Service parameters)</a></p>
!   <p class=MsoList>Registry value : <a href="#_Value_:_FreelanceClient"><span
!   class=SpellE>FreelanceClient</span></a></p>
    <p class=MsoList>Valid values&nbsp;&nbsp;&nbsp; : '1' or '0'</p>
    </td>
   </tr>
   <tr style='mso-yfti-irow:4'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
    <h6><a name="_Toc170268901"></a><a name="_Toc152605116"></a><a
!   name="_Toc115416174"></a><a name="_Toc126872243"></a><a name="_Toc139993166"></a><span
    style='mso-bookmark:_Toc170268901'><span style='mso-bookmark:_Toc152605116'><span
    style='mso-bookmark:_Toc115416174'>HIDEDOTFILES</span></span></span></h6>
    <p class=MsoList>Registry key&nbsp;&nbsp;&nbsp; : <a
    href="#_(Service_parameters):">(Service parameters)</a></p>
!   <p class=MsoList>Registry value : <a href="#_Value_:_HideDotFiles"><span
!   class=SpellE>HideDotFiles</span></a></p>
    <p class=MsoList>Valid values&nbsp;&nbsp;&nbsp; : '1' or '0'</p>
    </td>
   </tr>
   <tr style='mso-yfti-irow:5'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
    <h6><a name="_Toc170268902"></a><a name="_Toc152605117"></a><a
!   name="_Toc115416175"></a><a name="_Toc126872244"></a><a name="_Toc139993167"></a><span
    style='mso-bookmark:_Toc170268902'><span style='mso-bookmark:_Toc152605117'><span
    style='mso-bookmark:_Toc115416175'>LOGONOPTIONS</span></span></span></h6>
    <p class=MsoList>Registry key&nbsp;&nbsp;&nbsp; : <a
    href="#_(Network_provider):">(Network provider)</a></p>
!   <p class=MsoList>Registry value : <a href="#_Value___:_LogonOptions"><span
!   class=SpellE>LogonOptions</span></a></p>
    <p class=MsoList>Valid values&nbsp;&nbsp;&nbsp; : '0', '1' or '3'</p>
    <p class=MsoNormal>See <a href="#_Appendix_A:_Registry_Values">Appendix A</a>
    <a href="#_A.2.1_Domain_specific_configuration">section 2.1 (Domain specific
--- 2997,3032 ----
   <tr style='mso-yfti-irow:3'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
    <h6><a name="_Toc170268900"></a><a name="_Toc152605115"></a><a
!   name="_Toc115416173"></a><a name="_Toc139993165"></a><a name="_Toc126872242"></a><span
    style='mso-bookmark:_Toc170268900'><span style='mso-bookmark:_Toc152605115'><span
    style='mso-bookmark:_Toc115416173'>FREELANCEMODE</span></span></span></h6>
    <p class=MsoList>Registry key&nbsp;&nbsp;&nbsp; : <a
    href="#_(Service_parameters):">(Service parameters)</a></p>
!   <p class=MsoList>Registry value : <a href="#_Value_:_FreelanceClient">FreelanceClient</a></p>
    <p class=MsoList>Valid values&nbsp;&nbsp;&nbsp; : '1' or '0'</p>
    </td>
   </tr>
   <tr style='mso-yfti-irow:4'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
    <h6><a name="_Toc170268901"></a><a name="_Toc152605116"></a><a
!   name="_Toc115416174"></a><a name="_Toc139993166"></a><a name="_Toc126872243"></a><span
    style='mso-bookmark:_Toc170268901'><span style='mso-bookmark:_Toc152605116'><span
    style='mso-bookmark:_Toc115416174'>HIDEDOTFILES</span></span></span></h6>
    <p class=MsoList>Registry key&nbsp;&nbsp;&nbsp; : <a
    href="#_(Service_parameters):">(Service parameters)</a></p>
!   <p class=MsoList>Registry value : <a href="#_Value_:_HideDotFiles">HideDotFiles</a></p>
    <p class=MsoList>Valid values&nbsp;&nbsp;&nbsp; : '1' or '0'</p>
    </td>
   </tr>
   <tr style='mso-yfti-irow:5'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
    <h6><a name="_Toc170268902"></a><a name="_Toc152605117"></a><a
!   name="_Toc115416175"></a><a name="_Toc139993167"></a><a name="_Toc126872244"></a><span
    style='mso-bookmark:_Toc170268902'><span style='mso-bookmark:_Toc152605117'><span
    style='mso-bookmark:_Toc115416175'>LOGONOPTIONS</span></span></span></h6>
    <p class=MsoList>Registry key&nbsp;&nbsp;&nbsp; : <a
    href="#_(Network_provider):">(Network provider)</a></p>
!   <p class=MsoList>Registry value : <a href="#_Value___:_LogonOptions">LogonOptions</a></p>
    <p class=MsoList>Valid values&nbsp;&nbsp;&nbsp; : '0', '1' or '3'</p>
    <p class=MsoNormal>See <a href="#_Appendix_A:_Registry_Values">Appendix A</a>
    <a href="#_A.2.1_Domain_specific_configuration">section 2.1 (Domain specific
***************
*** 3105,3130 ****
   <tr style='mso-yfti-irow:6'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
    <h6><a name="_Toc170268903"></a><a name="_Toc152605118"></a><a
!   name="_Toc115416176"></a><a name="_Toc126872245"></a><a name="_Toc139993168"></a><span
    style='mso-bookmark:_Toc170268903'><span style='mso-bookmark:_Toc152605118'><span
    style='mso-bookmark:_Toc115416176'>MOUNTROOT</span></span></span></h6>
    <p class=MsoList>Registry key&nbsp;&nbsp;&nbsp; : <a
    href="#_(Service_parameters):">(Service parameters)</a></p>
!   <p class=MsoList>Registry value : <a href="#_Value_:_Mountroot"><span
!   class=SpellE>Mountroot</span></a></p>
    <p class=MsoList>Valid values&nbsp;&nbsp;&nbsp; : string</p>
    </td>
   </tr>
   <tr style='mso-yfti-irow:7'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
    <h6><a name="_Toc170268904"></a><a name="_Toc152605119"></a><a
!   name="_Toc115416177"></a><a name="_Toc126872246"></a><a name="_Toc139993169"></a><span
    style='mso-bookmark:_Toc170268904'><span style='mso-bookmark:_Toc152605119'><span
    style='mso-bookmark:_Toc115416177'>NETBIOSNAME</span></span></span></h6>
    <p class=MsoList>Registry key&nbsp;&nbsp;&nbsp; : <a
    href="#_(Service_parameters):">(Service parameters)</a></p>
!   <p class=MsoList>Registry value : <a href="#_Value___:_NetbiosName"><span
!   class=SpellE>NetbiosName</span></a></p>
    <p class=MsoList>Valid values&nbsp;&nbsp;&nbsp; : string (at most 15
    characters)</p>
    </td>
--- 3036,3059 ----
   <tr style='mso-yfti-irow:6'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
    <h6><a name="_Toc170268903"></a><a name="_Toc152605118"></a><a
!   name="_Toc115416176"></a><a name="_Toc139993168"></a><a name="_Toc126872245"></a><span
    style='mso-bookmark:_Toc170268903'><span style='mso-bookmark:_Toc152605118'><span
    style='mso-bookmark:_Toc115416176'>MOUNTROOT</span></span></span></h6>
    <p class=MsoList>Registry key&nbsp;&nbsp;&nbsp; : <a
    href="#_(Service_parameters):">(Service parameters)</a></p>
!   <p class=MsoList>Registry value : <a href="#_Value_:_Mountroot">Mountroot</a></p>
    <p class=MsoList>Valid values&nbsp;&nbsp;&nbsp; : string</p>
    </td>
   </tr>
   <tr style='mso-yfti-irow:7'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
    <h6><a name="_Toc170268904"></a><a name="_Toc152605119"></a><a
!   name="_Toc115416177"></a><a name="_Toc139993169"></a><a name="_Toc126872246"></a><span
    style='mso-bookmark:_Toc170268904'><span style='mso-bookmark:_Toc152605119'><span
    style='mso-bookmark:_Toc115416177'>NETBIOSNAME</span></span></span></h6>
    <p class=MsoList>Registry key&nbsp;&nbsp;&nbsp; : <a
    href="#_(Service_parameters):">(Service parameters)</a></p>
!   <p class=MsoList>Registry value : <a href="#_Value___:_NetbiosName">NetbiosName</a></p>
    <p class=MsoList>Valid values&nbsp;&nbsp;&nbsp; : string (at most 15
    characters)</p>
    </td>
***************
*** 3132,3209 ****
   <tr style='mso-yfti-irow:8'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
    <h6><a name="_Toc170268905"></a><a name="_Toc152605120"></a><a
!   name="_Toc115416178"></a><a name="_Toc126872247"></a><a name="_Toc139993170"></a><span
    style='mso-bookmark:_Toc170268905'><span style='mso-bookmark:_Toc152605120'><span
    style='mso-bookmark:_Toc115416178'>NOFINDLANABYNAME</span></span></span></h6>
    <p class=MsoList>Registry key&nbsp;&nbsp;&nbsp; : <a
    href="#_(Service_parameters):">(Service parameters)</a></p>
!   <p class=MsoList>Registry value : <a href="#_Value___:_NoFindLanaByName"><span
!   class=SpellE>NoFindLanaByName</span></a></p>
    <p class=MsoList>Valid values&nbsp;&nbsp;&nbsp; : '1' or '0'</p>
    </td>
   </tr>
   <tr style='mso-yfti-irow:9'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
    <h6><a name="_Toc170268906"></a><a name="_Toc152605121"></a><a
!   name="_Toc115416179"></a><a name="_Toc126872248"></a><a name="_Toc139993171"></a><span
    style='mso-bookmark:_Toc170268906'><span style='mso-bookmark:_Toc152605121'><span
    style='mso-bookmark:_Toc115416179'>RXMAXMTU</span></span></span></h6>
    <p class=MsoList>Registry key&nbsp;&nbsp;&nbsp; : <a
    href="#_(Service_parameters):">(Service parameters)</a></p>
!   <p class=MsoList>Registry value : <a href="#_Value_:_RxMaxMTU"><span
!   class=SpellE>RxMaxMTU</span></a></p>
    <p class=MsoList>Valid values&nbsp;&nbsp;&nbsp; : numeric</p>
    </td>
   </tr>
   <tr style='mso-yfti-irow:10'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
    <h6><a name="_Toc170268907"></a><a name="_Toc152605122"></a><a
!   name="_Toc115416180"></a><a name="_Toc126872249"></a><a name="_Toc139993172"></a><span
    style='mso-bookmark:_Toc170268907'><span style='mso-bookmark:_Toc152605122'><span
    style='mso-bookmark:_Toc115416180'>SECURITYLEVEL</span></span></span></h6>
    <p class=MsoList>Registry key&nbsp;&nbsp;&nbsp; : <a
    href="#_(Service_parameters):">(Service parameters)</a></p>
!   <p class=MsoList>Registry value : <a href="#_Value_:_SecurityLevel"><span
!   class=SpellE>SecurityLevel</span></a></p>
    <p class=MsoList>Valid values&nbsp;&nbsp;&nbsp; : '1' or '0'</p>
    </td>
   </tr>
   <tr style='mso-yfti-irow:11'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
    <h6><a name="_Toc170268908"></a><a name="_Toc152605123"></a><a
!   name="_Toc115416181"></a><a name="_Toc126872250"></a><a name="_Toc139993173"></a><span
    style='mso-bookmark:_Toc170268908'><span style='mso-bookmark:_Toc152605123'><span
    style='mso-bookmark:_Toc115416181'>SMBAUTHTYPE</span></span></span></h6>
    <p class=MsoList>Registry key&nbsp;&nbsp;&nbsp; : <a
    href="#_(Service_parameters):">(Service parameters)</a></p>
!   <p class=MsoList>Registry value : <a href="#_Value___:_smbAuthType"><span
!   class=SpellE>SMBAuthType</span></a></p>
    <p class=MsoList>Valid values&nbsp;&nbsp;&nbsp; : '0','1' or '2'</p>
    </td>
   </tr>
   <tr style='mso-yfti-irow:12'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
    <h6><a name="_Toc170268909"></a><a name="_Toc152605124"></a><a
!   name="_Toc115416182"></a><a name="_Toc126872251"></a><a name="_Toc139993174"></a><span
    style='mso-bookmark:_Toc170268909'><span style='mso-bookmark:_Toc152605124'><span
    style='mso-bookmark:_Toc115416182'>STOREANSIFILENAMES</span></span></span></h6>
    <p class=MsoList>Registry key&nbsp;&nbsp;&nbsp; : <a
    href="#_(OpenAFS_Client):">(OpenAFS Client)</a></p>
!   <p class=MsoList>Registry value : <a href="#_Value___:_StoreAnsiFilenames"><span
!   class=SpellE>StoreAnsiFilenames</span></a></p>
    <p class=MsoList>Valid values&nbsp;&nbsp;&nbsp; : '0' or '1'</p>
    </td>
   </tr>
   <tr style='mso-yfti-irow:13;mso-yfti-lastrow:yes'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
    <h6><a name="_Toc170268910"></a><a name="_Toc152605125"></a><a
!   name="_Toc115416183"></a><a name="_Toc126872252"></a><a name="_Toc139993175"></a><span
    style='mso-bookmark:_Toc170268910'><span style='mso-bookmark:_Toc152605125'><span
    style='mso-bookmark:_Toc115416183'>USEDNS</span></span></span></h6>
    <p class=MsoList>Registry key&nbsp;&nbsp;&nbsp; : <a
    href="#_(Service_parameters):">(Service parameters)</a></p>
!   <p class=MsoList>Registry value : <a href="#_Value_:_UseDNS"><span
!   class=SpellE>UseDNS</span></a></p>
    <p class=MsoList>Valid values&nbsp;&nbsp;&nbsp; : '1' or '0'</p>
    </td>
   </tr>
--- 3061,3132 ----
   <tr style='mso-yfti-irow:8'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
    <h6><a name="_Toc170268905"></a><a name="_Toc152605120"></a><a
!   name="_Toc115416178"></a><a name="_Toc139993170"></a><a name="_Toc126872247"></a><span
    style='mso-bookmark:_Toc170268905'><span style='mso-bookmark:_Toc152605120'><span
    style='mso-bookmark:_Toc115416178'>NOFINDLANABYNAME</span></span></span></h6>
    <p class=MsoList>Registry key&nbsp;&nbsp;&nbsp; : <a
    href="#_(Service_parameters):">(Service parameters)</a></p>
!   <p class=MsoList>Registry value : <a href="#_Value___:_NoFindLanaByName">NoFindLanaByName</a></p>
    <p class=MsoList>Valid values&nbsp;&nbsp;&nbsp; : '1' or '0'</p>
    </td>
   </tr>
   <tr style='mso-yfti-irow:9'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
    <h6><a name="_Toc170268906"></a><a name="_Toc152605121"></a><a
!   name="_Toc115416179"></a><a name="_Toc139993171"></a><a name="_Toc126872248"></a><span
    style='mso-bookmark:_Toc170268906'><span style='mso-bookmark:_Toc152605121'><span
    style='mso-bookmark:_Toc115416179'>RXMAXMTU</span></span></span></h6>
    <p class=MsoList>Registry key&nbsp;&nbsp;&nbsp; : <a
    href="#_(Service_parameters):">(Service parameters)</a></p>
!   <p class=MsoList>Registry value : <a href="#_Value_:_RxMaxMTU">RxMaxMTU</a></p>
    <p class=MsoList>Valid values&nbsp;&nbsp;&nbsp; : numeric</p>
    </td>
   </tr>
   <tr style='mso-yfti-irow:10'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
    <h6><a name="_Toc170268907"></a><a name="_Toc152605122"></a><a
!   name="_Toc115416180"></a><a name="_Toc139993172"></a><a name="_Toc126872249"></a><span
    style='mso-bookmark:_Toc170268907'><span style='mso-bookmark:_Toc152605122'><span
    style='mso-bookmark:_Toc115416180'>SECURITYLEVEL</span></span></span></h6>
    <p class=MsoList>Registry key&nbsp;&nbsp;&nbsp; : <a
    href="#_(Service_parameters):">(Service parameters)</a></p>
!   <p class=MsoList>Registry value : <a href="#_Value_:_SecurityLevel">SecurityLevel</a></p>
    <p class=MsoList>Valid values&nbsp;&nbsp;&nbsp; : '1' or '0'</p>
    </td>
   </tr>
   <tr style='mso-yfti-irow:11'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
    <h6><a name="_Toc170268908"></a><a name="_Toc152605123"></a><a
!   name="_Toc115416181"></a><a name="_Toc139993173"></a><a name="_Toc126872250"></a><span
    style='mso-bookmark:_Toc170268908'><span style='mso-bookmark:_Toc152605123'><span
    style='mso-bookmark:_Toc115416181'>SMBAUTHTYPE</span></span></span></h6>
    <p class=MsoList>Registry key&nbsp;&nbsp;&nbsp; : <a
    href="#_(Service_parameters):">(Service parameters)</a></p>
!   <p class=MsoList>Registry value : <a href="#_Value___:_smbAuthType">SMBAuthType</a></p>
    <p class=MsoList>Valid values&nbsp;&nbsp;&nbsp; : '0','1' or '2'</p>
    </td>
   </tr>
   <tr style='mso-yfti-irow:12'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
    <h6><a name="_Toc170268909"></a><a name="_Toc152605124"></a><a
!   name="_Toc115416182"></a><a name="_Toc139993174"></a><a name="_Toc126872251"></a><span
    style='mso-bookmark:_Toc170268909'><span style='mso-bookmark:_Toc152605124'><span
    style='mso-bookmark:_Toc115416182'>STOREANSIFILENAMES</span></span></span></h6>
    <p class=MsoList>Registry key&nbsp;&nbsp;&nbsp; : <a
    href="#_(OpenAFS_Client):">(OpenAFS Client)</a></p>
!   <p class=MsoList>Registry value : <a href="#_Value___:_StoreAnsiFilenames">StoreAnsiFilenames</a></p>
    <p class=MsoList>Valid values&nbsp;&nbsp;&nbsp; : '0' or '1'</p>
    </td>
   </tr>
   <tr style='mso-yfti-irow:13;mso-yfti-lastrow:yes'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
    <h6><a name="_Toc170268910"></a><a name="_Toc152605125"></a><a
!   name="_Toc115416183"></a><a name="_Toc139993175"></a><a name="_Toc126872252"></a><span
    style='mso-bookmark:_Toc170268910'><span style='mso-bookmark:_Toc152605125'><span
    style='mso-bookmark:_Toc115416183'>USEDNS</span></span></span></h6>
    <p class=MsoList>Registry key&nbsp;&nbsp;&nbsp; : <a
    href="#_(Service_parameters):">(Service parameters)</a></p>
!   <p class=MsoList>Registry value : <a href="#_Value_:_UseDNS">UseDNS</a></p>
    <p class=MsoList>Valid values&nbsp;&nbsp;&nbsp; : '1' or '0'</p>
    </td>
   </tr>
***************
*** 3215,3247 ****
  style='mso-bookmark:_Toc152605126'>7.2.1.2.2 AFSCreds.exe Properties</span></span></h5>
  
  <p class=MsoNormal>These properties are combined to add a command line option
! to the shortcut that will be created in the <span class=SpellE>Start:Programs:OpenAFS</span>
! and <span class=SpellE>Start:Programs:Startup</span> folders (see
! CREDSSTARTUP). &nbsp;The method of specifying the option was chosen for easy
! integration with the Windows Installer user interface.&nbsp; Although other
! methods can be used to specify options to AFSCREDS.EXE, it is advised that they
! be avoided as transforms including such options may not apply to future
! releases of OpenAFS.</p>
  
  <table class=MsoNormalTable border=1 cellspacing=3 cellpadding=0
   style='mso-cellspacing:2.2pt;mso-padding-alt:0pt 0pt 0pt 0pt'>
   <tr style='mso-yfti-irow:0;mso-yfti-firstrow:yes'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
    <h6><a name="_Toc170268912"></a><a name="_Toc152605127"></a><a
!   name="_Toc115416185"></a><a name="_Toc126872254"></a><a name="_Toc139993177"></a><span
    style='mso-bookmark:_Toc170268912'><span style='mso-bookmark:_Toc152605127'><span
    style='mso-bookmark:_Toc115416185'>CREDSSTARTUP</span></span></span></h6>
    <p class=MsoList>Valid values&nbsp;&nbsp;&nbsp; : '1' or '0'</p>
    <p class=MsoList>Controls whether AFSCreds.exe starts up automatically when
!   the user logs on.&nbsp; When CREDSSTARTUP is '1' a shortcut is added to the
!   'Startup' folder in the 'Program menu' which starts AFSCREDS.EXE with the
!   options that are determined by the other CREDS* properties.</p>
    </td>
   </tr>
   <tr style='mso-yfti-irow:1'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
    <h6><a name="_Toc170268913"></a><a name="_Toc152605128"></a><a
!   name="_Toc115416186"></a><a name="_Toc126872255"></a><a name="_Toc139993178"></a><span
    style='mso-bookmark:_Toc170268913'><span style='mso-bookmark:_Toc152605128'><span
    style='mso-bookmark:_Toc115416186'>CREDSAUTOINIT</span></span></span></h6>
    <p class=MsoList>Valid values&nbsp;&nbsp;&nbsp; : '-a' or ''</p>
--- 3138,3169 ----
  style='mso-bookmark:_Toc152605126'>7.2.1.2.2 AFSCreds.exe Properties</span></span></h5>
  
  <p class=MsoNormal>These properties are combined to add a command line option
! to the shortcut that will be created in the Start:Programs:OpenAFS and
! Start:Programs:Startup folders (see CREDSSTARTUP). &nbsp;The method of
! specifying the option was chosen for easy integration with the Windows
! Installer user interface.&nbsp; Although other methods can be used to specify
! options to AFSCREDS.EXE, it is advised that they be avoided as transforms
! including such options may not apply to future releases of OpenAFS.</p>
  
  <table class=MsoNormalTable border=1 cellspacing=3 cellpadding=0
   style='mso-cellspacing:2.2pt;mso-padding-alt:0pt 0pt 0pt 0pt'>
   <tr style='mso-yfti-irow:0;mso-yfti-firstrow:yes'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
    <h6><a name="_Toc170268912"></a><a name="_Toc152605127"></a><a
!   name="_Toc115416185"></a><a name="_Toc139993177"></a><a name="_Toc126872254"></a><span
    style='mso-bookmark:_Toc170268912'><span style='mso-bookmark:_Toc152605127'><span
    style='mso-bookmark:_Toc115416185'>CREDSSTARTUP</span></span></span></h6>
    <p class=MsoList>Valid values&nbsp;&nbsp;&nbsp; : '1' or '0'</p>
    <p class=MsoList>Controls whether AFSCreds.exe starts up automatically when
!   the user logs on.&nbsp; When CREDSSTARTUP is '1' a shortcut is added to the 'Startup'
!   folder in the 'Program menu' which starts AFSCREDS.EXE with the options that
!   are determined by the other CREDS* properties.</p>
    </td>
   </tr>
   <tr style='mso-yfti-irow:1'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
    <h6><a name="_Toc170268913"></a><a name="_Toc152605128"></a><a
!   name="_Toc115416186"></a><a name="_Toc139993178"></a><a name="_Toc126872255"></a><span
    style='mso-bookmark:_Toc170268913'><span style='mso-bookmark:_Toc152605128'><span
    style='mso-bookmark:_Toc115416186'>CREDSAUTOINIT</span></span></span></h6>
    <p class=MsoList>Valid values&nbsp;&nbsp;&nbsp; : '-a' or ''</p>
***************
*** 3251,3257 ****
   <tr style='mso-yfti-irow:2'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
    <h6><a name="_Toc170268914"></a><a name="_Toc152605129"></a><a
!   name="_Toc115416187"></a><a name="_Toc126872256"></a><a name="_Toc139993179"></a><span
    style='mso-bookmark:_Toc170268914'><span style='mso-bookmark:_Toc152605129'><span
    style='mso-bookmark:_Toc115416187'>CREDSIPCHDET</span></span></span></h6>
    <p class=MsoList>Valid values&nbsp;&nbsp;&nbsp; : '-n' or ''</p>
--- 3173,3179 ----
   <tr style='mso-yfti-irow:2'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
    <h6><a name="_Toc170268914"></a><a name="_Toc152605129"></a><a
!   name="_Toc115416187"></a><a name="_Toc139993179"></a><a name="_Toc126872256"></a><span
    style='mso-bookmark:_Toc170268914'><span style='mso-bookmark:_Toc152605129'><span
    style='mso-bookmark:_Toc115416187'>CREDSIPCHDET</span></span></span></h6>
    <p class=MsoList>Valid values&nbsp;&nbsp;&nbsp; : '-n' or ''</p>
***************
*** 3261,3267 ****
   <tr style='mso-yfti-irow:3'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
    <h6><a name="_Toc170268915"></a><a name="_Toc152605130"></a><a
!   name="_Toc115416188"></a><a name="_Toc126872257"></a><a name="_Toc139993180"></a><span
    style='mso-bookmark:_Toc170268915'><span style='mso-bookmark:_Toc152605130'><span
    style='mso-bookmark:_Toc115416188'>CREDSQUIET</span></span></span></h6>
    <p class=MsoList>Valid values&nbsp;&nbsp;&nbsp; : '-q' or ''</p>
--- 3183,3189 ----
   <tr style='mso-yfti-irow:3'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
    <h6><a name="_Toc170268915"></a><a name="_Toc152605130"></a><a
!   name="_Toc115416188"></a><a name="_Toc139993180"></a><a name="_Toc126872257"></a><span
    style='mso-bookmark:_Toc170268915'><span style='mso-bookmark:_Toc152605130'><span
    style='mso-bookmark:_Toc115416188'>CREDSQUIET</span></span></span></h6>
    <p class=MsoList>Valid values&nbsp;&nbsp;&nbsp; : '-q' or ''</p>
***************
*** 3271,3277 ****
   <tr style='mso-yfti-irow:4'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
    <h6><a name="_Toc170268916"></a><a name="_Toc152605131"></a><a
!   name="_Toc115416189"></a><a name="_Toc126872258"></a><a name="_Toc139993181"></a><span
    style='mso-bookmark:_Toc170268916'><span style='mso-bookmark:_Toc152605131'><span
    style='mso-bookmark:_Toc115416189'>CREDSRENEWDRMAP</span></span></span></h6>
    <p class=MsoList>Valid values&nbsp;&nbsp;&nbsp; : '-m' or '’</p>
--- 3193,3199 ----
   <tr style='mso-yfti-irow:4'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
    <h6><a name="_Toc170268916"></a><a name="_Toc152605131"></a><a
!   name="_Toc115416189"></a><a name="_Toc139993181"></a><a name="_Toc126872258"></a><span
    style='mso-bookmark:_Toc170268916'><span style='mso-bookmark:_Toc152605131'><span
    style='mso-bookmark:_Toc115416189'>CREDSRENEWDRMAP</span></span></span></h6>
    <p class=MsoList>Valid values&nbsp;&nbsp;&nbsp; : '-m' or '’</p>
***************
*** 3281,3287 ****
   <tr style='mso-yfti-irow:5;mso-yfti-lastrow:yes'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
    <h6><a name="_Toc170268917"></a><a name="_Toc152605132"></a><a
!   name="_Toc115416190"></a><a name="_Toc126872259"></a><a name="_Toc139993182"></a><span
    style='mso-bookmark:_Toc170268917'><span style='mso-bookmark:_Toc152605132'><span
    style='mso-bookmark:_Toc115416190'>CREDSSHOW</span></span></span></h6>
    <p class=MsoList>Valid values&nbsp;&nbsp;&nbsp; : '-s' or ''</p>
--- 3203,3209 ----
   <tr style='mso-yfti-irow:5;mso-yfti-lastrow:yes'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
    <h6><a name="_Toc170268917"></a><a name="_Toc152605132"></a><a
!   name="_Toc115416190"></a><a name="_Toc139993182"></a><a name="_Toc126872259"></a><span
    style='mso-bookmark:_Toc170268917'><span style='mso-bookmark:_Toc152605132'><span
    style='mso-bookmark:_Toc115416190'>CREDSSHOW</span></span></span></h6>
    <p class=MsoList>Valid values&nbsp;&nbsp;&nbsp; : '-s' or ''</p>
***************
*** 3307,3315 ****
  style='mso-bookmark:_Toc170268919'><span style='mso-bookmark:_Toc152605134'><span
  style='mso-bookmark:_Toc115416192'>7.2.3 Replacing Configuration Files</span></span></span></h3>
  
! <p class=MsoNormal>The OpenAFS configuration files (<span class=SpellE>CellServDB</span>)
! can be replaced by your own configuration files.&nbsp; These files are
! contained in separate MSI components so that you can disable them individually.</p>
  
  <p class=MsoNormal>The recommended method for replacing these files is to first
  disable the components containing the configuration files that you want to
--- 3229,3237 ----
  style='mso-bookmark:_Toc170268919'><span style='mso-bookmark:_Toc152605134'><span
  style='mso-bookmark:_Toc115416192'>7.2.3 Replacing Configuration Files</span></span></span></h3>
  
! <p class=MsoNormal>The OpenAFS configuration files (CellServDB) can be replaced
! by your own configuration files.&nbsp; These files are contained in separate
! MSI components so that you can disable them individually.</p>
  
  <p class=MsoNormal>The recommended method for replacing these files is to first
  disable the components containing the configuration files that you want to
***************
*** 3320,3327 ****
  an embedded stream.&nbsp; The method outlined here places the file in the same
  directory as the MSI for deployment.</p>
  
! <p class=MsoNormal>The walkthrough below is to add a custom '<span
! class=SpellE>CellServDB</span>' file.</p>
  
  <p class=MsoNormal style='margin-top:4.3pt;margin-right:0pt;margin-bottom:4.3pt;
  margin-left:18.0pt;text-indent:-18.0pt'>1.<span style='font-size:7.0pt;
--- 3242,3248 ----
  an embedded stream.&nbsp; The method outlined here places the file in the same
  directory as the MSI for deployment.</p>
  
! <p class=MsoNormal>The walkthrough below is to add a custom 'CellServDB' file.</p>
  
  <p class=MsoNormal style='margin-top:4.3pt;margin-right:0pt;margin-bottom:4.3pt;
  margin-left:18.0pt;text-indent:-18.0pt'>1.<span style='font-size:7.0pt;
***************
*** 3339,3345 ****
  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_">7.2.3.1</a>.&nbsp; For this
! example, the component name is '<span class=SpellE>elf_CellServDB</span>'.</p>
  
  <p class=MsoNormal style='margin-top:4.3pt;margin-right:0pt;margin-bottom:4.3pt;
  margin-left:39.6pt;text-indent:-21.6pt'>1.3.<span style='font-size:7.0pt;
--- 3260,3266 ----
  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_">7.2.3.1</a>.&nbsp; For this
! example, the component name is 'elf_CellServDB'.</p>
  
  <p class=MsoNormal style='margin-top:4.3pt;margin-right:0pt;margin-bottom:4.3pt;
  margin-left:39.6pt;text-indent:-21.6pt'>1.3.<span style='font-size:7.0pt;
***************
*** 3349,3359 ****
  <p class=MsoNormal style='margin-top:4.3pt;margin-right:0pt;margin-bottom:4.3pt;
  margin-left:39.6pt;text-indent:-21.6pt'>1.4.<span style='font-size:7.0pt;
  font-family:"Times New Roman"'>&nbsp;&nbsp; </span>Enter a condition that
! evaluates to false. I.e. 'DONOTINSTALL'. (Note that an undefined property
! always evaluates to false).</p>
  
! <p class=MsoNormal>Note that you can also use this step to disable other configuration
! files without providing replacements.</p>
  
  <p class=MsoNormal style='margin-left:18.0pt;text-indent:-18.0pt'>2.<span
  style='font-size:7.0pt;font-family:"Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
--- 3270,3280 ----
  <p class=MsoNormal style='margin-top:4.3pt;margin-right:0pt;margin-bottom:4.3pt;
  margin-left:39.6pt;text-indent:-21.6pt'>1.4.<span style='font-size:7.0pt;
  font-family:"Times New Roman"'>&nbsp;&nbsp; </span>Enter a condition that
! evaluates to false. I.e. 'DONOTINSTALL'. (Note that an undefined property always
! evaluates to false).</p>
  
! <p class=MsoNormal>Note that you can also use this step to disable other
! configuration files without providing replacements.</p>
  
  <p class=MsoNormal style='margin-left:18.0pt;text-indent:-18.0pt'>2.<span
  style='font-size:7.0pt;font-family:"Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
***************
*** 3380,3392 ****
    </td>
    <td width=475 valign=top style='width:356.55pt;border:solid windowtext 1.0pt;
    border-left:none;padding:0pt 5.4pt 0pt 5.4pt;height:23.35pt'>
!   <p class=preformattedtext><span class=SpellE>cmf_my_CellServDB</span></p>
    </td>
   </tr>
   <tr style='mso-yfti-irow:1'>
    <td width=115 valign=top style='width:86.25pt;border:solid windowtext 1.0pt;
    border-top:none;padding:0pt 5.4pt 0pt 5.4pt'>
!   <p class=preformattedtext><span class=SpellE>ComponentID</span></p>
    </td>
    <td width=475 valign=top style='width:356.55pt;border-top:none;border-left:
    none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
--- 3301,3313 ----
    </td>
    <td width=475 valign=top style='width:356.55pt;border:solid windowtext 1.0pt;
    border-left:none;padding:0pt 5.4pt 0pt 5.4pt;height:23.35pt'>
!   <p class=preformattedtext>cmf_my_CellServDB</p>
    </td>
   </tr>
   <tr style='mso-yfti-irow:1'>
    <td width=115 valign=top style='width:86.25pt;border:solid windowtext 1.0pt;
    border-top:none;padding:0pt 5.4pt 0pt 5.4pt'>
!   <p class=preformattedtext>ComponentID</p>
    </td>
    <td width=475 valign=top style='width:356.55pt;border-top:none;border-left:
    none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
***************
*** 3402,3408 ****
    <td width=475 valign=top style='width:356.55pt;border-top:none;border-left:
    none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
    padding:0pt 5.4pt 0pt 5.4pt'>
!   <p class=preformattedtext><span class=SpellE>dirClient</span></p>
    </td>
   </tr>
   <tr style='mso-yfti-irow:3'>
--- 3323,3329 ----
    <td width=475 valign=top style='width:356.55pt;border-top:none;border-left:
    none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
    padding:0pt 5.4pt 0pt 5.4pt'>
!   <p class=preformattedtext>dirClient</p>
    </td>
   </tr>
   <tr style='mso-yfti-irow:3'>
***************
*** 3430,3460 ****
   <tr style='mso-yfti-irow:5;mso-yfti-lastrow:yes'>
    <td width=115 valign=top style='width:86.25pt;border:solid windowtext 1.0pt;
    border-top:none;padding:0pt 5.4pt 0pt 5.4pt'>
!   <p class=preformattedtext><span class=SpellE>KeyPath</span></p>
    </td>
    <td width=475 valign=top style='width:356.55pt;border-top:none;border-left:
    none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
    padding:0pt 5.4pt 0pt 5.4pt'>
!   <p class=preformattedtext><span class=SpellE>fil_my_CellServDB</span></p>
    </td>
   </tr>
  </table>
  
! <p class=MsoNormal style='margin-left:35.45pt'>Note that the <span
! class=SpellE>ComponentId</span> 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'>The Attributes value of 144 is a
! sum of <span class=SpellE>msidbComponentAttributesPermanent</span> (16) and <span
! class=SpellE>msidbComponentAttributesNeverOverwrite</span> (128).&nbsp; This
! ensures that local modifications are not overwritten or lost during an
! installation or <span class=SpellE>uninstallation</span>.&nbsp; These are the
! same settings used on the default configuration files.</p>
  
  <p class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
! '<span class=SpellE>fil_my_CellServDB</span>' is a key into the 'File' table
! which we will fill later.</p>
  
  <p class=MsoNormal style='margin-left:18.0pt;text-indent:-18.0pt'>3.<span
  style='font-size:7.0pt;font-family:"Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
--- 3351,3379 ----
   <tr style='mso-yfti-irow:5;mso-yfti-lastrow:yes'>
    <td width=115 valign=top style='width:86.25pt;border:solid windowtext 1.0pt;
    border-top:none;padding:0pt 5.4pt 0pt 5.4pt'>
!   <p class=preformattedtext>KeyPath</p>
    </td>
    <td width=475 valign=top style='width:356.55pt;border-top:none;border-left:
    none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
    padding:0pt 5.4pt 0pt 5.4pt'>
!   <p class=preformattedtext>fil_my_CellServDB</p>
    </td>
   </tr>
  </table>
  
! <p class=MsoNormal style='margin-left:35.45pt'>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'>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>&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>
  
  <p class=MsoNormal style='margin-left:18.0pt;text-indent:-18.0pt'>3.<span
  style='font-size:7.0pt;font-family:"Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
***************
*** 3477,3494 ****
    </td>
    <td width=462 valign=top style='width:346.2pt;border:solid windowtext 1.0pt;
    border-left:none;padding:0pt 5.4pt 0pt 5.4pt'>
!   <p class=preformattedtext><span class=SpellE>fea_my_CellServDB</span></p>
    </td>
   </tr>
   <tr style='mso-yfti-irow:1'>
    <td width=126 valign=top style='width:94.8pt;border:solid windowtext 1.0pt;
    border-top:none;padding:0pt 5.4pt 0pt 5.4pt'>
!   <p class=preformattedtext><span class=SpellE>Feature_Parent</span></p>
    </td>
    <td width=462 valign=top style='width:346.2pt;border-top:none;border-left:
    none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
    padding:0pt 5.4pt 0pt 5.4pt'>
!   <p class=preformattedtext><span class=SpellE>feaClient</span></p>
    </td>
   </tr>
   <tr style='mso-yfti-irow:2'>
--- 3396,3413 ----
    </td>
    <td width=462 valign=top style='width:346.2pt;border:solid windowtext 1.0pt;
    border-left:none;padding:0pt 5.4pt 0pt 5.4pt'>
!   <p class=preformattedtext>fea_my_CellServDB</p>
    </td>
   </tr>
   <tr style='mso-yfti-irow:1'>
    <td width=126 valign=top style='width:94.8pt;border:solid windowtext 1.0pt;
    border-top:none;padding:0pt 5.4pt 0pt 5.4pt'>
!   <p class=preformattedtext>Feature_Parent</p>
    </td>
    <td width=462 valign=top style='width:346.2pt;border-top:none;border-left:
    none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
    padding:0pt 5.4pt 0pt 5.4pt'>
!   <p class=preformattedtext>feaClient</p>
    </td>
   </tr>
   <tr style='mso-yfti-irow:2'>
***************
*** 3560,3578 ****
  </table>
  
  <p class=MsoNormal style='margin-left:35.45pt'>It is important to create the
! new feature under the '<span class=SpellE>feaClient</span>' feature, which will
! ensure that the configuration file will be installed when the client binaries
! are installed.</p>
  
  <p class=MsoNormal style='margin-left:35.45pt'>Setting 'Display' to 0 will hide
  this feature from the feature selection dialog during an interactive
  installation.&nbsp; A value of 30 for 'Level' allows this feature to be
  installed by default (on a 'Typical' installation).</p>
  
! <p class=MsoNormal style='margin-left:35.45pt'>The 'Attributes' value is <span
! class=SpellE>msidbFeatureAttributesDisallowAdvertise</span> (8), which is set
! on all features in the OpenAFS MSI.&nbsp; The OpenAFS MSI is not designed for
! an advertised installation.</p>
  
  <p class=MsoNormal style='margin-left:18.0pt;text-indent:-18.0pt'>4.<span
  style='font-size:7.0pt;font-family:"Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
--- 3479,3496 ----
  </table>
  
  <p class=MsoNormal style='margin-left:35.45pt'>It is important to create the
! new feature under the 'feaClient' feature, which will ensure that the
! configuration file will be installed when the client binaries are installed.</p>
  
  <p class=MsoNormal style='margin-left:35.45pt'>Setting 'Display' to 0 will hide
  this feature from the feature selection dialog during an interactive
  installation.&nbsp; A value of 30 for 'Level' allows this feature to be
  installed by default (on a 'Typical' installation).</p>
  
! <p class=MsoNormal style='margin-left:35.45pt'>The 'Attributes' value is
! msidbFeatureAttributesDisallowAdvertise (8), which is set on all features in
! the OpenAFS MSI.&nbsp; The OpenAFS MSI is not designed for an advertised
! installation.</p>
  
  <p class=MsoNormal style='margin-left:18.0pt;text-indent:-18.0pt'>4.<span
  style='font-size:7.0pt;font-family:"Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
***************
*** 3580,3586 ****
  
  <p class=MsoNormal style='margin-left:39.6pt;text-indent:-21.6pt'>4.1.<span
  style='font-size:7.0pt;font-family:"Times New Roman"'>&nbsp;&nbsp; </span>Select
! the '<span class=SpellE>FeatureComponents</span>' table.</p>
  
  <p class=MsoNormal style='margin-left:39.6pt;text-indent:-21.6pt'>4.2.<span
  style='font-size:7.0pt;font-family:"Times New Roman"'>&nbsp;&nbsp; </span>Add a
--- 3498,3504 ----
  
  <p class=MsoNormal style='margin-left:39.6pt;text-indent:-21.6pt'>4.1.<span
  style='font-size:7.0pt;font-family:"Times New Roman"'>&nbsp;&nbsp; </span>Select
! the 'FeatureComponents' table.</p>
  
  <p class=MsoNormal style='margin-left:39.6pt;text-indent:-21.6pt'>4.2.<span
  style='font-size:7.0pt;font-family:"Times New Roman"'>&nbsp;&nbsp; </span>Add a
***************
*** 3595,3601 ****
    </td>
    <td width=462 valign=top style='width:346.5pt;border:solid windowtext 1.0pt;
    border-left:none;padding:0pt 5.4pt 0pt 5.4pt'>
!   <p class=preformattedtext><span class=SpellE>fea_my_CellServDB</span></p>
    </td>
   </tr>
   <tr style='mso-yfti-irow:1;mso-yfti-lastrow:yes'>
--- 3513,3519 ----
    </td>
    <td width=462 valign=top style='width:346.5pt;border:solid windowtext 1.0pt;
    border-left:none;padding:0pt 5.4pt 0pt 5.4pt'>
!   <p class=preformattedtext>fea_my_CellServDB</p>
    </td>
   </tr>
   <tr style='mso-yfti-irow:1;mso-yfti-lastrow:yes'>
***************
*** 3606,3612 ****
    <td width=462 valign=top style='width:346.5pt;border-top:none;border-left:
    none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
    padding:0pt 5.4pt 0pt 5.4pt'>
!   <p class=preformattedtext><span class=SpellE>cmf_my_CellServDB</span></p>
    </td>
   </tr>
  </table>
--- 3524,3530 ----
    <td width=462 valign=top style='width:346.5pt;border-top:none;border-left:
    none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
    padding:0pt 5.4pt 0pt 5.4pt'>
!   <p class=preformattedtext>cmf_my_CellServDB</p>
    </td>
   </tr>
  </table>
***************
*** 3632,3638 ****
    </td>
    <td width=462 valign=top style='width:346.5pt;border:solid windowtext 1.0pt;
    border-left:none;padding:0pt 5.4pt 0pt 5.4pt'>
!   <p class=preformattedtext><span class=SpellE>fil_my_CellServDB</span></p>
    </td>
   </tr>
   <tr style='mso-yfti-irow:1'>
--- 3550,3556 ----
    </td>
    <td width=462 valign=top style='width:346.5pt;border:solid windowtext 1.0pt;
    border-left:none;padding:0pt 5.4pt 0pt 5.4pt'>
!   <p class=preformattedtext>fil_my_CellServDB</p>
    </td>
   </tr>
   <tr style='mso-yfti-irow:1'>
***************
*** 3643,3666 ****
    <td width=462 valign=top style='width:346.5pt;border-top:none;border-left:
    none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
    padding:0pt 5.4pt 0pt 5.4pt'>
!   <p class=preformattedtext><span class=SpellE>cmf_my_CellServDB</span></p>
    </td>
   </tr>
   <tr style='mso-yfti-irow:2'>
    <td width=126 valign=top style='width:94.5pt;border:solid windowtext 1.0pt;
    border-top:none;padding:0pt 5.4pt 0pt 5.4pt'>
!   <p class=preformattedtext><span class=SpellE>FileName</span></p>
    </td>
    <td width=462 valign=top style='width:346.5pt;border-top:none;border-left:
    none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
    padding:0pt 5.4pt 0pt 5.4pt'>
!   <p class=preformattedtext><span class=SpellE>CellServDB</span></p>
    </td>
   </tr>
   <tr style='mso-yfti-irow:3'>
    <td width=126 valign=top style='width:94.5pt;border:solid windowtext 1.0pt;
    border-top:none;padding:0pt 5.4pt 0pt 5.4pt'>
!   <p class=preformattedtext><span class=SpellE>FileSize</span></p>
    </td>
    <td width=462 valign=top style='width:346.5pt;border-top:none;border-left:
    none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
--- 3561,3584 ----
    <td width=462 valign=top style='width:346.5pt;border-top:none;border-left:
    none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
    padding:0pt 5.4pt 0pt 5.4pt'>
!   <p class=preformattedtext>cmf_my_CellServDB</p>
    </td>
   </tr>
   <tr style='mso-yfti-irow:2'>
    <td width=126 valign=top style='width:94.5pt;border:solid windowtext 1.0pt;
    border-top:none;padding:0pt 5.4pt 0pt 5.4pt'>
!   <p class=preformattedtext>FileName</p>
    </td>
    <td width=462 valign=top style='width:346.5pt;border-top:none;border-left:
    none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
    padding:0pt 5.4pt 0pt 5.4pt'>
!   <p class=preformattedtext>CellServDB</p>
    </td>
   </tr>
   <tr style='mso-yfti-irow:3'>
    <td width=126 valign=top style='width:94.5pt;border:solid windowtext 1.0pt;
    border-top:none;padding:0pt 5.4pt 0pt 5.4pt'>
!   <p class=preformattedtext>FileSize</p>
    </td>
    <td width=462 valign=top style='width:346.5pt;border-top:none;border-left:
    none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
***************
*** 3695,3705 ****
  <p class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  &nbsp;&nbsp;&nbsp; (leave other fields blank)</p>
  
! <p class=MsoNormal style='margin-left:35.45pt'>The 'Attributes' value is <span
! class=SpellE>msidbFileAttributesNonCompressed</span> (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'>Finally, the 'Sequence' value of
  1000 will be used later to distinguish the file as being in a separate source
--- 3613,3623 ----
  <p class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  &nbsp;&nbsp;&nbsp; (leave other fields blank)</p>
  
! <p class=MsoNormal style='margin-left:35.45pt'>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'>Finally, the 'Sequence' value of
  1000 will be used later to distinguish the file as being in a separate source
***************
*** 3722,3728 ****
   <tr style='mso-yfti-irow:0;mso-yfti-firstrow:yes'>
    <td width=126 valign=top style='width:94.5pt;border:solid windowtext 1.0pt;
    padding:0pt 5.4pt 0pt 5.4pt'>
!   <p class=preformattedtext><span class=SpellE>DiskId</span></p>
    </td>
    <td width=462 valign=top style='width:346.5pt;border:solid windowtext 1.0pt;
    border-left:none;padding:0pt 5.4pt 0pt 5.4pt'>
--- 3640,3646 ----
   <tr style='mso-yfti-irow:0;mso-yfti-firstrow:yes'>
    <td width=126 valign=top style='width:94.5pt;border:solid windowtext 1.0pt;
    padding:0pt 5.4pt 0pt 5.4pt'>
!   <p class=preformattedtext>DiskId</p>
    </td>
    <td width=462 valign=top style='width:346.5pt;border:solid windowtext 1.0pt;
    border-left:none;padding:0pt 5.4pt 0pt 5.4pt'>
***************
*** 3732,3738 ****
   <tr style='mso-yfti-irow:1;mso-yfti-lastrow:yes'>
    <td width=126 valign=top style='width:94.5pt;border:solid windowtext 1.0pt;
    border-top:none;padding:0pt 5.4pt 0pt 5.4pt'>
!   <p class=preformattedtext><span class=SpellE>LastSequence</span></p>
    </td>
    <td width=462 valign=top style='width:346.5pt;border-top:none;border-left:
    none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
--- 3650,3656 ----
   <tr style='mso-yfti-irow:1;mso-yfti-lastrow:yes'>
    <td width=126 valign=top style='width:94.5pt;border:solid windowtext 1.0pt;
    border-top:none;padding:0pt 5.4pt 0pt 5.4pt'>
!   <p class=preformattedtext>LastSequence</p>
    </td>
    <td width=462 valign=top style='width:346.5pt;border-top:none;border-left:
    none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
***************
*** 3753,3761 ****
  name="_2.3.1_Components_for_Configuration_"></a><span style='mso-bookmark:_Toc170268920'><span
  style='mso-bookmark:_Toc152605135'>7.2.3.1 Components for Configuration Files</span></span></h4>
  
! <p class=preformattedtext style='text-indent:35.45pt'><span class=SpellE>CellServDB</span>:
! '<span class=SpellE>cpf_CellServDB</span>' (ID
! {D5BA4C15-DBEC-4292-91FC-B54C30F24F2A})</p>
  
  <h3><a name="_Toc170268921"></a><a name="_Toc152605136"></a><a
  name="_Toc115416194"></a><a name="_Toc139993186"></a><a name="_Toc126872263"></a><span
--- 3671,3678 ----
  name="_2.3.1_Components_for_Configuration_"></a><span style='mso-bookmark:_Toc170268920'><span
  style='mso-bookmark:_Toc152605135'>7.2.3.1 Components for Configuration Files</span></span></h4>
  
! <p class=preformattedtext style='text-indent:35.45pt'>CellServDB:
! 'cpf_CellServDB' (ID {D5BA4C15-DBEC-4292-91FC-B54C30F24F2A})</p>
  
  <h3><a name="_Toc170268921"></a><a name="_Toc152605136"></a><a
  name="_Toc115416194"></a><a name="_Toc139993186"></a><a name="_Toc126872263"></a><span
***************
*** 3766,3776 ****
  keys.</p>
  
  <p class=MsoNormal>&nbsp;&nbsp;&nbsp; Refer to <a
! href="#_Appendix_A:_Registry_Values">Appendix <span class=GramE>A</span></a>
! section 2.1 for more information.</p>
  
! <p class=MsoNormal>&nbsp;&nbsp;&nbsp; Columns that are unspecified should be left
! empty.</p>
  
  <p class=MsoNormal>&nbsp;&nbsp;&nbsp; We create a new feature and component to
  hold the new registry keys.</p>
--- 3683,3693 ----
  keys.</p>
  
  <p class=MsoNormal>&nbsp;&nbsp;&nbsp; Refer to <a
! href="#_Appendix_A:_Registry_Values">Appendix A</a> section 2.1 for more
! information.</p>
  
! <p class=MsoNormal>&nbsp;&nbsp;&nbsp; Columns that are unspecified should be
! left empty.</p>
  
  <p class=MsoNormal>&nbsp;&nbsp;&nbsp; We create a new feature and component to
  hold the new registry keys.</p>
***************
*** 3787,3796 ****
    <p class=MsoNormal>&nbsp;&nbsp;&nbsp;
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (new row)<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
!   Feature&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : '<span
!   class=SpellE>feaDomainKeys</span>'<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Feature
!   Parent : '<span class=SpellE>feaClient</span>'<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    Display&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : 0<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
--- 3704,3713 ----
    <p class=MsoNormal>&nbsp;&nbsp;&nbsp;
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (new row)<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
!   Feature&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; :
!   'feaDomainKeys'<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Feature
!   Parent : 'feaClient'<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    Display&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : 0<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
***************
*** 3810,3832 ****
    <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; : '<span class=SpellE>rcm_DomainKeys</span>'<br>
!   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span
!   class=SpellE>ComponentId</span>&nbsp; :
!   '{4E3FCBF4-8BE7-40B2-A108-C47CF743C627}'<br>
!   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Directory&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
!   : 'TARGETDIR'<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    Attributes&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : 4<br>
!   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span
!   class=SpellE>KeyPath</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
!   : 'reg_domkey0'</p>
    </td>
   </tr>
   <tr style='mso-yfti-irow:4'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <p class=MsoNormal>&nbsp;&nbsp;&nbsp; '<span class=SpellE>FeatureComponents</span>'
!   table:</p>
    </td>
   </tr>
   <tr style='mso-yfti-irow:5'>
--- 3727,3746 ----
    <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_DomainKeys'<br>
!   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
!   ComponentId&nbsp; : '{4E3FCBF4-8BE7-40B2-A108-C47CF743C627}'<br>
!   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
!   Directory&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : 'TARGETDIR'<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    Attributes&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : 4<br>
!   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
!   KeyPath&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : 'reg_domkey0'</p>
    </td>
   </tr>
   <tr style='mso-yfti-irow:4'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <p class=MsoNormal>&nbsp;&nbsp;&nbsp; 'FeatureComponents' table:</p>
    </td>
   </tr>
   <tr style='mso-yfti-irow:5'>
***************
*** 3834,3843 ****
    <p class=MsoNormal>&nbsp;&nbsp;&nbsp;
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (new row)<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
!   Feature&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : '<span
!   class=SpellE>feaDomainKeys</span>'<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
!   Component&nbsp;&nbsp;&nbsp;&nbsp; : '<span class=SpellE>rcm_DomainKeys</span>'</p>
    </td>
   </tr>
   <tr style='mso-yfti-irow:6'>
--- 3748,3757 ----
    <p class=MsoNormal>&nbsp;&nbsp;&nbsp;
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (new row)<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
!   Feature&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; :
!   'feaDomainKeys'<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:6'>
***************
*** 3857,3865 ****
    : 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; : '<span class=SpellE>rcm_DomainKeys</span>'</p>
    </td>
   </tr>
   <tr style='mso-yfti-irow:8'>
--- 3771,3780 ----
    : 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'>
***************
*** 3874,3885 ****
    : 2<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    Key&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
!   : 'SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider\Domain'<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>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
!   Component&nbsp;&nbsp;&nbsp;&nbsp; : '<span class=SpellE>rcm_DomainKeys</span>'</p>
    </td>
   </tr>
   <tr style='mso-yfti-irow:9'>
--- 3789,3801 ----
    : 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>
    &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:9'>
***************
*** 3894,3905 ****
    : 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;
    Name&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    : '*'<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
!   Component&nbsp;&nbsp;&nbsp;&nbsp; : '<span class=SpellE>rcm_DomainKeys</span>'</p>
    </td>
   </tr>
   <tr style='mso-yfti-irow:10'>
--- 3810,3822 ----
    : 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;
    Name&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    : '*'<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:10'>
***************
*** 3918,3929 ****
    'SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider\Domain\ATHENA.MIT.EDU'<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;
!   : '<span class=SpellE>LogonOptions</span>'<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    Value&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    : 1<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
!   Component&nbsp;&nbsp;&nbsp;&nbsp; : '<span class=SpellE>rcm_DomainKeys</span>'</p>
    </td>
   </tr>
   <tr style='mso-yfti-irow:11'>
--- 3835,3846 ----
    'SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider\Domain\ATHENA.MIT.EDU'<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>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    Value&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    : 1<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:11'>
***************
*** 3938,3950 ****
    : 2<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    Key&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
!   :
!   SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider\Domain\LOCALHOST'<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    Name&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    : '*'<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
!   Component&nbsp;&nbsp;&nbsp;&nbsp; : '<span class=SpellE>rcm_DomainKeys</span>'</p>
    </td>
   </tr>
   <tr style='mso-yfti-irow:12'>
--- 3855,3866 ----
    : 2<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    Key&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
!   : SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider\Domain\LOCALHOST'<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    Name&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    : '*'<br>
    &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:12'>
***************
*** 3959,3973 ****
    : 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;
!   : '<span class=SpellE>LogonOptions</span>'<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    Value&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    : 0<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
!   Component&nbsp;&nbsp;&nbsp;&nbsp; : '<span class=SpellE>rcm_DomainKeys</span>'</p>
    </td>
   </tr>
   <tr style='mso-yfti-irow:13;mso-yfti-lastrow:yes'>
--- 3875,3890 ----
    : 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>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    Value&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    : 0<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
!   Component&nbsp;&nbsp;&nbsp;&nbsp; : 'rcm_DomainKeys'</p>
    </td>
   </tr>
   <tr style='mso-yfti-irow:13;mso-yfti-lastrow:yes'>
***************
*** 3986,4006 ****
    '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;
!   : '<span class=SpellE>FailLoginsSilently</span>'<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    Value&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    : 1<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
!   Component&nbsp;&nbsp;&nbsp;&nbsp; : '<span class=SpellE>rcm_DomainKeys</span>'</p>
    </td>
   </tr>
  </table>
  
  <p class=MsoNormal>&nbsp;</p>
  
! <p class=MsoNormal>The example adds domain specific keys for 'ATHENA.MIT.EDU'
! (enable integrated logon) and 'LOCALHOST' (disable integrated logon and fail
! logins silently).</p>
  
  <h3><a name="_Toc170268922"></a><a name="_Toc152605137"></a><a
  name="_Toc115416195"></a><a name="_Toc139993187"></a><a name="_Toc126872264"></a><span
--- 3903,3923 ----
    '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;
!   : 'FailLoginsSilently'<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    Value&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    : 1<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
!   Component&nbsp;&nbsp;&nbsp;&nbsp; : 'rcm_DomainKeys'</p>
    </td>
   </tr>
  </table>
  
  <p class=MsoNormal>&nbsp;</p>
  
! <p class=MsoNormal>The example adds domain specific keys for 'ATHENA.MIT.EDU' (enable
! integrated logon) and 'LOCALHOST' (disable integrated logon and fail logins
! silently).</p>
  
  <h3><a name="_Toc170268922"></a><a name="_Toc152605137"></a><a
  name="_Toc115416195"></a><a name="_Toc139993187"></a><a name="_Toc126872264"></a><span
***************
*** 4009,4016 ****
  Registry Keys</span></span></span></h3>
  
  <p class=MsoNormal>Following is an example for adding site specific Freelance
! registry keys to pre-populate the <span class=SpellE>Mountpoints</span> and
! Symlinks in the fake <span class=SpellE>root.afs</span> volume.</p>
  
  <p class=MsoNormal>&nbsp;&nbsp;&nbsp; Columns that are unspecified should be
  left empty.</p>
--- 3926,3933 ----
  Registry Keys</span></span></span></h3>
  
  <p class=MsoNormal>Following is an example for adding site specific Freelance
! registry keys to pre-populate the Mountpoints and Symlinks in the fake root.afs
! volume.</p>
  
  <p class=MsoNormal>&nbsp;&nbsp;&nbsp; Columns that are unspecified should be
  left empty.</p>
***************
*** 4030,4039 ****
    <p class=MsoNormal>&nbsp;&nbsp;&nbsp;
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (new row)<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
!   Feature&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : '<span
!   class=SpellE>feaFreelanceKeys</span>'<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Feature
!   Parent : '<span class=SpellE>feaClient</span>'<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    Display&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : 0<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
--- 3947,3955 ----
    <p class=MsoNormal>&nbsp;&nbsp;&nbsp;
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (new row)<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
!   Feature&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : 'feaFreelanceKeys'<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Feature
!   Parent : 'feaClient'<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    Display&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : 0<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
***************
*** 4053,4075 ****
    <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; : '<span class=SpellE>rcm_FreelanceKeys</span>'<br>
!   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span
!   class=SpellE>ComponentId</span>&nbsp; :
!   '{4E3B3CBF4-9AE7-40C3-7B09-C48CF842C583}'<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    Directory&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : 'TARGETDIR'<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    Attributes&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : 4<br>
!   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span
!   class=SpellE>KeyPath</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
!   : 'reg_freekey0'</p>
    </td>
   </tr>
   <tr style='mso-yfti-irow:4'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <p class=MsoNormal>&nbsp;&nbsp;&nbsp; '<span class=SpellE>FeatureComponents</span>'
!   table:</p>
    </td>
   </tr>
   <tr style='mso-yfti-irow:5'>
--- 3969,3989 ----
    <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;
!   ComponentId&nbsp; : '{4E3B3CBF4-9AE7-40C3-7B09-C48CF842C583}'<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    Directory&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : 'TARGETDIR'<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    Attributes&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : 4<br>
!   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
!   KeyPath&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; :
!   'reg_freekey0'</p>
    </td>
   </tr>
   <tr style='mso-yfti-irow:4'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <p class=MsoNormal>&nbsp;&nbsp;&nbsp; 'FeatureComponents' table:</p>
    </td>
   </tr>
   <tr style='mso-yfti-irow:5'>
***************
*** 4077,4086 ****
    <p class=MsoNormal>&nbsp;&nbsp;&nbsp;
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (new row)<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
!   Feature&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : '<span
!   class=SpellE>feaFreelanceKeys</span>'<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
!   Component&nbsp;&nbsp;&nbsp;&nbsp; : '<span class=SpellE>rcm_FreelanceKeys</span>'</p>
    </td>
   </tr>
   <tr style='mso-yfti-irow:6'>
--- 3991,4000 ----
    <p class=MsoNormal>&nbsp;&nbsp;&nbsp;
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (new row)<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
!   Feature&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; :
!   'feaFreelanceKeys'<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
!   Component&nbsp;&nbsp;&nbsp;&nbsp; : 'rcm_FreelanceKeys'</p>
    </td>
   </tr>
   <tr style='mso-yfti-irow:6'>
***************
*** 4098,4108 ****
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    Root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    : 2<br>
!   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
!   Key&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    : 'SOFTWARE\OpenAFS\Client\Freelance'<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
!   Component&nbsp;&nbsp;&nbsp;&nbsp; : '<span class=SpellE>rcm_FreelanceKeys</span>'</p>
    </td>
   </tr>
   <tr style='mso-yfti-irow:8'>
--- 4012,4021 ----
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    Root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    : 2<br>
!   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Key&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    : 'SOFTWARE\OpenAFS\Client\Freelance'<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
!   Component&nbsp;&nbsp;&nbsp;&nbsp; : 'rcm_FreelanceKeys'</p>
    </td>
   </tr>
   <tr style='mso-yfti-irow:8'>
***************
*** 4123,4131 ****
    : '0'<br>
    &nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    Value&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
!   &nbsp;&nbsp; : '<span class=SpellE>athena.mit.edu#athena.mit.edu:root.cell</span>.'<br>
!   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Component&nbsp;&nbsp;&nbsp;&nbsp;
!   : '<span class=SpellE>rcm_FreelanceKeys</span>'</p>
    </td>
   </tr>
   <tr style='mso-yfti-irow:9'>
--- 4036,4044 ----
    : '0'<br>
    &nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    Value&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
!   &nbsp;&nbsp; : 'athena.mit.edu#athena.mit.edu:root.cell.'<br>
!   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
!   Component&nbsp;&nbsp;&nbsp;&nbsp; : 'rcm_FreelanceKeys'</p>
    </td>
   </tr>
   <tr style='mso-yfti-irow:9'>
***************
*** 4133,4140 ****
    <p class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    (new row)<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
!   Registry&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; :
!   'reg_freekey2'<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    Root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    : 2<br>
--- 4046,4052 ----
    <p class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    (new row)<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
!   Registry&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : 'reg_freekey2'<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    Root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    : 2<br>
***************
*** 4144,4153 ****
    &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;
    : '1'<br>
!   &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Value&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
!   &nbsp;&nbsp; : '.<span class=SpellE>athena.mit.edu%athena.mit.edu:root.cell</span>.'<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
!   Component&nbsp;&nbsp;&nbsp;&nbsp; : '<span class=SpellE>rcm_FreelanceKeys</span>'</p>
    </td>
   </tr>
   <tr style='mso-yfti-irow:10'>
--- 4056,4066 ----
    &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;
    : '1'<br>
!   &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
!   Value&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
!   &nbsp;&nbsp; : '.athena.mit.edu%athena.mit.edu:root.cell.'<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
!   Component&nbsp;&nbsp;&nbsp;&nbsp; : 'rcm_FreelanceKeys'</p>
    </td>
   </tr>
   <tr style='mso-yfti-irow:10'>
***************
*** 4164,4170 ****
    Key&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    : 'SOFTWARE\OpenAFS\Client\Freelance\Symlinks'<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
!   Component&nbsp;&nbsp;&nbsp;&nbsp; : '<span class=SpellE>rcm_FreelanceKeys</span>'</p>
    </td>
   </tr>
   <tr style='mso-yfti-irow:11'>
--- 4077,4083 ----
    Key&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    : 'SOFTWARE\OpenAFS\Client\Freelance\Symlinks'<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
!   Component&nbsp;&nbsp;&nbsp;&nbsp; : 'rcm_FreelanceKeys'</p>
    </td>
   </tr>
   <tr style='mso-yfti-irow:11'>
***************
*** 4184,4193 ****
    Name&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    : '0'<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
!   Value&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
!   &nbsp;&nbsp; : 'athena:athena.mit.edu.'<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
!   Component&nbsp;&nbsp;&nbsp;&nbsp; : '<span class=SpellE>rcm_FreelanceKeys</span>'</p>
    </td>
   </tr>
   <tr style='mso-yfti-irow:12;mso-yfti-lastrow:yes'>
--- 4097,4106 ----
    Name&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    : '0'<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
!   Value&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;
!   : 'athena:athena.mit.edu.'<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
!   Component&nbsp;&nbsp;&nbsp;&nbsp; : 'rcm_FreelanceKeys'</p>
    </td>
   </tr>
   <tr style='mso-yfti-irow:12;mso-yfti-lastrow:yes'>
***************
*** 4195,4201 ****
    <p class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    (new row)<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
!   Registry&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : 'reg_freekey5'<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    Root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    : 2<br>
--- 4108,4115 ----
    <p class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    (new row)<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
!   Registry&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; :
!   'reg_freekey5'<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    Root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    : 2<br>
***************
*** 4209,4223 ****
    Value&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    &nbsp;&nbsp; : '.athena:.athena.mit.edu.'<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
!   Component&nbsp;&nbsp;&nbsp;&nbsp; : '<span class=SpellE>rcm_FreelanceKeys</span>'</p>
    </td>
   </tr>
  </table>
  
! <p class=MsoNormal>The example adds a read-only <span class=SpellE>mountpoint</span>
! to the athena.mit.edu cell's <span class=SpellE>root.afs</span> volume as well
! as a read-write <span class=SpellE>mountpoint</span>.&nbsp; Aliases are also
! provided using symlinks.</p>
  
  <h2><a name="_Toc170268923"></a><a name="_Toc152605138"></a><a
  name="_Ref115275867"></a><a name="_Toc139993188"></a><a name="_Toc126872265"></a><a
--- 4123,4136 ----
    Value&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    &nbsp;&nbsp; : '.athena:.athena.mit.edu.'<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
!   Component&nbsp;&nbsp;&nbsp;&nbsp; : 'rcm_FreelanceKeys'</p>
    </td>
   </tr>
  </table>
  
! <p class=MsoNormal>The example adds a read-only mountpoint to the
! athena.mit.edu cell's root.afs volume as well as a read-write mountpoint.&nbsp;
! Aliases are also provided using symlinks.</p>
  
  <h2><a name="_Toc170268923"></a><a name="_Toc152605138"></a><a
  name="_Ref115275867"></a><a name="_Toc139993188"></a><a name="_Toc126872265"></a><a
***************
*** 4239,4253 ****
  <p class=MsoNormal>A sample walkthrough of adding a new configuration file is
  in section 2.3.</p>
  
! <p class=MsoNormal>Add new features under the '<span class=SpellE>feaClient</span>'
! or '<span class=SpellE>feaServer</span>' as appropriate and set the 'Level'
! column for those features to equal the 'Level' for their parent features for
! consistency.&nbsp; Note that none of the features in the OpenAFS for Windows
! MSI package are designed to be installed to run from 'source' or
! 'advertised'.&nbsp; It is recommended that you set '<span class=SpellE>msidbFeatureAttributesFavorLocal</span>'
! (0), '<span class=SpellE>msidbFeatureAttributesFollowParent</span>' (2) and '<span
! class=SpellE>msidbFeatureAttributesDisallowAdvertise</span>' (8) attributes for
! new features.</p>
  
  <p class=MsoNormal>If you are creating new components, retain the same
  component GUID when creating new transforms against new releases of the OpenAFS
--- 4152,4165 ----
  <p class=MsoNormal>A sample walkthrough of adding a new configuration file is
  in section 2.3.</p>
  
! <p class=MsoNormal>Add new features under the 'feaClient' or 'feaServer' as
! appropriate and set the 'Level' column for those features to equal the 'Level'
! for their parent features for consistency.&nbsp; Note that none of the features
! in the OpenAFS for Windows MSI package are designed to be installed to run from
! 'source' or 'advertised'.&nbsp; It is recommended that you set
! 'msidbFeatureAttributesFavorLocal' (0), 'msidbFeatureAttributesFollowParent'
! (2) and 'msidbFeatureAttributesDisallowAdvertise' (8) attributes for new
! features.</p>
  
  <p class=MsoNormal>If you are creating new components, retain the same
  component GUID when creating new transforms against new releases of the OpenAFS
***************
*** 4256,4267 ****
  <p class=MsoNormal>After making the adjustments to the MSI database using
  ORCA.EXE you can generate a transform with MSITRAN.EXE as follows :</p>
  
! <p class=MsoNormal>(Modified MSI package is '<span class=SpellE>openafs-en_US_new.msi</span>'
! and the original MSI package is '<span class=SpellE>openafs-en_US.msi</span>'.&nbsp;
! Generates transform '<span class=SpellE>openafs-transform.mst</span>')</p>
  
! <p class=MsoNormal>&nbsp;&nbsp;&nbsp; &gt; msitran.exe -g <span class=SpellE>openafs-en_US.msi</span>
! <span class=SpellE>openafs-en_US_new.msi</span> <span class=SpellE>openafs-transform.mst</span></p>
  
  <p class=MsoNormal>See the Platform SDK documentation for information on
  command line options for MSITRAN.EXE.</p>
--- 4168,4179 ----
  <p class=MsoNormal>After making the adjustments to the MSI database using
  ORCA.EXE you can generate a transform with MSITRAN.EXE as follows :</p>
  
! <p class=MsoNormal>(Modified MSI package is 'openafs-en_US_new.msi' and the
! original MSI package is 'openafs-en_US.msi'.&nbsp; Generates transform
! 'openafs-transform.mst')</p>
  
! <p class=MsoNormal>&nbsp;&nbsp;&nbsp; &gt; msitran.exe -g openafs-en_US.msi
! openafs-en_US_new.msi openafs-transform.mst</p>
  
  <p class=MsoNormal>See the Platform SDK documentation for information on
  command line options for MSITRAN.EXE.</p>
***************
*** 4289,4295 ****
  
  <p class=MsoNormal style='margin-left:36.0pt;text-indent:-18.0pt'>2)<span
  style='font-size:7.0pt;font-family:"Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
! </span>MIT's <span class=SpellE>Transarc</span> AFS MSI package<br>
  Upgrade code {5332B94F-DE38-4927-9EAB-51F4A64193A7}<br>
  Up to version 3.6.2</p>
  
--- 4201,4207 ----
  
  <p class=MsoNormal style='margin-left:36.0pt;text-indent:-18.0pt'>2)<span
  style='font-size:7.0pt;font-family:"Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
! </span>MIT's Transarc AFS MSI package<br>
  Upgrade code {5332B94F-DE38-4927-9EAB-51F4A64193A7}<br>
  Up to version 3.6.2</p>
  
***************
*** 4301,4315 ****
  <p class=MsoNormal>Note that versions of the OpenAFS NSIS package prior to
  1.3.65 had a bug where it couldn't be uninstalled properly in unattended
  mode.&nbsp; Therefore the MSI package will not try to uninstall an OpenAFS NSIS
! package if running unattended.&nbsp; This means that group policy based deployments
! will fail on machines that have the OpenAFS NSIS package installed.</p>
  
  <p class=MsoNormal>If you have used a different MSI package to install OpenAFS
  and wish to upgrade it you can author rows into the 'Upgrade' table as
  described in the Platform SDK.</p>
  
  <p class=MsoNormal>When performing an upgrade with msiexec.exe execute the MSI
! with the repair options &quot;<span class=SpellE>vomus</span>&quot;.</p>
  
  <h1><a name="_Toc170268925"></a><a name="_Toc152605140"></a><a
  name="_Toc139993190"></a><a name="_Toc126872267"></a><a name="_Toc115417116"></a><a
--- 4213,4227 ----
  <p class=MsoNormal>Note that versions of the OpenAFS NSIS package prior to
  1.3.65 had a bug where it couldn't be uninstalled properly in unattended
  mode.&nbsp; Therefore the MSI package will not try to uninstall an OpenAFS NSIS
! package if running unattended.&nbsp; This means that group policy based
! deployments will fail on machines that have the OpenAFS NSIS package installed.</p>
  
  <p class=MsoNormal>If you have used a different MSI package to install OpenAFS
  and wish to upgrade it you can author rows into the 'Upgrade' table as
  described in the Platform SDK.</p>
  
  <p class=MsoNormal>When performing an upgrade with msiexec.exe execute the MSI
! with the repair options &quot;vomus&quot;.</p>
  
  <h1><a name="_Toc170268925"></a><a name="_Toc152605140"></a><a
  name="_Toc139993190"></a><a name="_Toc126872267"></a><a name="_Toc115417116"></a><a
***************
*** 4328,4337 ****
  
  <h3><a name="_Toc170268927"></a><a name="_Toc152605142"></a><a
  name="_Toc115416200"></a><a name="_Toc139993192"></a><a name="_Toc126872269"></a><span
- class=SpellE><span style='mso-bookmark:_Toc170268927'><span style='mso-bookmark:
- _Toc152605142'><span style='mso-bookmark:_Toc115416200'>Regkey</span></span></span></span><span
  style='mso-bookmark:_Toc170268927'><span style='mso-bookmark:_Toc152605142'><span
! style='mso-bookmark:_Toc115416200'>:<br>
  [HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters]</span></span></span></h3>
  
  <table class=MsoNormalTable border=1 cellspacing=3 cellpadding=0
--- 4240,4247 ----
  
  <h3><a name="_Toc170268927"></a><a name="_Toc152605142"></a><a
  name="_Toc115416200"></a><a name="_Toc139993192"></a><a name="_Toc126872269"></a><span
  style='mso-bookmark:_Toc170268927'><span style='mso-bookmark:_Toc152605142'><span
! style='mso-bookmark:_Toc115416200'>Regkey:<br>
  [HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters]</span></span></span></h3>
  
  <table class=MsoNormalTable border=1 cellspacing=3 cellpadding=0
***************
*** 4340,4372 ****
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:145.25pt'>
    <h5><a name="_Toc170268928"></a><a name="_Toc152605143"></a><a
!   name="_Toc115416201"></a><a name="_Toc126872270"></a><a name="_Toc139993193"></a><span
    style='mso-bookmark:_Toc170268928'><span style='mso-bookmark:_Toc152605143'><span
!   style='mso-bookmark:_Toc115416201'>Value: <span class=SpellE>LANadapter</span></span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD<br>
    Default: -1<br>
!   Variable: <span class=SpellE>LANadapter</span></p>
!   <p class=MsoBodyText>LAN adapter number to use.&nbsp; This is the <span
!   class=SpellE>lana</span> number of the LAN adapter that the SMB server should
!   bind to.&nbsp; If unspecified or set to -1, a LAN adapter with named 'AFS' or
!   a loopback adapter will be selected.&nbsp; If neither are present, then all
!   available adapters will be bound to.&nbsp; When binding to a non-loopback
!   adapter, the NetBIOS name hostname%-AFS' will be used (where %hostname% is
!   the NetBIOS name of the host truncated to 11 characters). Otherwise, the
!   NetBIOS name will be 'AFS'.</p>
    </td>
   </tr>
   <tr style='mso-yfti-irow:1;height:79.25pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:79.25pt'>
    <h5><a name="_Toc170268929"></a><a name="_Toc152605144"></a><a
!   name="_Value___:_CacheSize"></a><a name="_Toc115416202"></a><a
!   name="_Toc126872271"></a><a name="_Toc139993194"></a><span style='mso-bookmark:
!   _Toc170268929'><span style='mso-bookmark:_Toc152605144'>Value: <span
!   class=SpellE>CacheSize</span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD<br>
    Default: 98304 (CM_CONFIGDEFAULT_CACHESIZE)<br>
!   Variable: <span class=SpellE>cm_initParams.cacheSize</span></p>
    <p class=MsoBodyText>Size of the AFS cache in 1k blocks.</p>
    </td>
   </tr>
--- 4250,4280 ----
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:145.25pt'>
    <h5><a name="_Toc170268928"></a><a name="_Toc152605143"></a><a
!   name="_Toc115416201"></a><a name="_Toc139993193"></a><a name="_Toc126872270"></a><span
    style='mso-bookmark:_Toc170268928'><span style='mso-bookmark:_Toc152605143'><span
!   style='mso-bookmark:_Toc115416201'>Value: LANadapter</span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD<br>
    Default: -1<br>
!   Variable: LANadapter</p>
!   <p class=MsoBodyText>LAN adapter number to use.&nbsp; This is the lana number
!   of the LAN adapter that the SMB server should bind to.&nbsp; If unspecified
!   or set to -1, a LAN adapter with named 'AFS' or a loopback adapter will be
!   selected.&nbsp; If neither are present, then all available adapters will be
!   bound to.&nbsp; When binding to a non-loopback adapter, the NetBIOS name
!   hostname%-AFS' will be used (where %hostname% is the NetBIOS name of the host
!   truncated to 11 characters). Otherwise, the NetBIOS name will be 'AFS'.</p>
    </td>
   </tr>
   <tr style='mso-yfti-irow:1;height:79.25pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:79.25pt'>
    <h5><a name="_Toc170268929"></a><a name="_Toc152605144"></a><a
!   name="_Toc139993194"></a><a name="_Toc126872271"></a><a name="_Toc115416202"></a><a
!   name="_Value___:_CacheSize"></a><span style='mso-bookmark:_Toc170268929'><span
!   style='mso-bookmark:_Toc152605144'>Value: CacheSize</span></span></h5>
    <p class=MsoBodyText>Type: DWORD<br>
    Default: 98304 (CM_CONFIGDEFAULT_CACHESIZE)<br>
!   Variable: cm_initParams.cacheSize</p>
    <p class=MsoBodyText>Size of the AFS cache in 1k blocks.</p>
    </td>
   </tr>
***************
*** 4374,4431 ****
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:79.25pt'>
    <h5><a name="_Toc170268930"></a><a name="_Toc152605145"></a><a
!   name="_Toc115416203"></a><a name="_Toc126872272"></a><a name="_Toc139993195"></a><span
    style='mso-bookmark:_Toc170268930'><span style='mso-bookmark:_Toc152605145'><span
!   style='mso-bookmark:_Toc115416203'>Value: <span class=SpellE>ChunkSize</span></span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD<br>
    Default: 20 (CM_CONFIGDEFAULT_CHUNKSIZE)<br>
!   Variable: <span class=SpellE>cm_logChunkSize</span> (<span class=SpellE>cm_chunkSize</span>
!   = 1 &lt;&lt; <span class=SpellE>cm_logChunkSize</span>)</p>
    <p class=MsoBodyText>Size of chunk for reading and writing. Actual chunk size
!   is 2^cm_logChunkSize.  The default chunk size is therefore 1 MB.</p>
    </td>
   </tr>
   <tr style='mso-yfti-irow:3;height:92.0pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:92.0pt'>
    <h5><a name="_Toc170268931"></a><a name="_Toc152605146"></a><a
!   name="_Toc115416204"></a><a name="_Toc126872273"></a><a name="_Toc139993196"></a><span
    style='mso-bookmark:_Toc170268931'><span style='mso-bookmark:_Toc152605146'><span
    style='mso-bookmark:_Toc115416204'>Value: Daemons</span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD<br>
    Default: 2 (CM_CONFIGDEFAULT_DAEMONS)<br>
!   Variable: <span class=SpellE>numBkgD</span></p>
!   <p class=MsoBodyText>Number of background daemons (number of threads of <span
!   class=SpellE>cm_BkgDaemon</span>). (see <span class=SpellE>cm_BkgDaemon</span>
!   in <span class=SpellE>cm_daemon.c</span>)</p>
    </td>
   </tr>
   <tr style='mso-yfti-irow:4;height:92.0pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:92.0pt'>
    <h5><a name="_Toc170268932"></a><a name="_Toc152605147"></a><a
!   name="_Toc115416205"></a><a name="_Toc126872274"></a><a name="_Toc139993197"></a><span
    style='mso-bookmark:_Toc170268932'><span style='mso-bookmark:_Toc152605147'><span
!   style='mso-bookmark:_Toc115416205'>Value: <span class=SpellE>ServerThreads</span></span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD<br>
    Default: 25 (CM_CONFIGDEFAULT_SVTHREADS)<br>
!   Variable: <span class=SpellE>numSvThreads</span></p>
!   <p class=MsoBodyText>Number of SMB server threads (number of threads of <span
!   class=SpellE>smb_Server</span>). (see <span class=SpellE>smb_Server</span> in
!   <span class=SpellE>smb.c</span>).</p>
    </td>
   </tr>
   <tr style='mso-yfti-irow:5;height:79.25pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:79.25pt'>
    <h5><a name="_Toc170268933"></a><a name="_Toc152605148"></a><a
!   name="_Toc115416206"></a><a name="_Toc126872275"></a><a name="_Toc139993198"></a><a
!   name="_Value:_Stats"></a><span style='mso-bookmark:_Toc170268933'><span
    style='mso-bookmark:_Toc152605148'><span style='mso-bookmark:_Toc115416206'>Value:
    Stats</span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD<br>
    Default: 10000 (CM_CONFIGDEFAULT_STATS)<br>
!   Variable: <span class=SpellE>cm_initParams.nStatCaches</span></p>
    <p class=MsoBodyText>Cache configuration.</p>
    </td>
   </tr>
--- 4282,4336 ----
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:79.25pt'>
    <h5><a name="_Toc170268930"></a><a name="_Toc152605145"></a><a
!   name="_Toc115416203"></a><a name="_Toc139993195"></a><a name="_Toc126872272"></a><span
    style='mso-bookmark:_Toc170268930'><span style='mso-bookmark:_Toc152605145'><span
!   style='mso-bookmark:_Toc115416203'>Value: ChunkSize</span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD<br>
    Default: 20 (CM_CONFIGDEFAULT_CHUNKSIZE)<br>
!   Variable: cm_logChunkSize (cm_chunkSize = 1 &lt;&lt; cm_logChunkSize)</p>
    <p class=MsoBodyText>Size of chunk for reading and writing. Actual chunk size
!   is 2^cm_logChunkSize. The default chunk size is therefore 1 MB.</p>
    </td>
   </tr>
   <tr style='mso-yfti-irow:3;height:92.0pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:92.0pt'>
    <h5><a name="_Toc170268931"></a><a name="_Toc152605146"></a><a
!   name="_Toc115416204"></a><a name="_Toc139993196"></a><a name="_Toc126872273"></a><span
    style='mso-bookmark:_Toc170268931'><span style='mso-bookmark:_Toc152605146'><span
    style='mso-bookmark:_Toc115416204'>Value: Daemons</span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD<br>
    Default: 2 (CM_CONFIGDEFAULT_DAEMONS)<br>
!   Variable: numBkgD</p>
!   <p class=MsoBodyText>Number of background daemons (number of threads of cm_BkgDaemon).
!   (see cm_BkgDaemon in cm_daemon.c)</p>
    </td>
   </tr>
   <tr style='mso-yfti-irow:4;height:92.0pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:92.0pt'>
    <h5><a name="_Toc170268932"></a><a name="_Toc152605147"></a><a
!   name="_Toc115416205"></a><a name="_Toc139993197"></a><a name="_Toc126872274"></a><span
    style='mso-bookmark:_Toc170268932'><span style='mso-bookmark:_Toc152605147'><span
!   style='mso-bookmark:_Toc115416205'>Value: ServerThreads</span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD<br>
    Default: 25 (CM_CONFIGDEFAULT_SVTHREADS)<br>
!   Variable: numSvThreads</p>
!   <p class=MsoBodyText>Number of SMB server threads (number of threads of
!   smb_Server). (see smb_Server in smb.c).</p>
    </td>
   </tr>
   <tr style='mso-yfti-irow:5;height:79.25pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:79.25pt'>
    <h5><a name="_Toc170268933"></a><a name="_Toc152605148"></a><a
!   name="_Toc115416206"></a><a name="_Value:_Stats"></a><a name="_Toc139993198"></a><a
!   name="_Toc126872275"></a><span style='mso-bookmark:_Toc170268933'><span
    style='mso-bookmark:_Toc152605148'><span style='mso-bookmark:_Toc115416206'>Value:
    Stats</span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD<br>
    Default: 10000 (CM_CONFIGDEFAULT_STATS)<br>
!   Variable: cm_initParams.nStatCaches</p>
    <p class=MsoBodyText>Cache configuration.</p>
    </td>
   </tr>
***************
*** 4433,4442 ****
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:78.5pt'>
    <h5><a name="_Toc170268934"></a><a name="_Toc152605149"></a><a
!   name="_Value_:_LogoffPreserveTokens"></a><a name="_Toc115416207"></a><a
!   name="_Toc126872276"></a><a name="_Toc139993199"></a><span style='mso-bookmark:
!   _Toc170268934'><span style='mso-bookmark:_Toc152605149'>Value: <span
!   class=SpellE>LogoffPreserveTokens</span></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
--- 4338,4346 ----
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:78.5pt'>
    <h5><a name="_Toc170268934"></a><a name="_Toc152605149"></a><a
!   name="_Toc139993199"></a><a name="_Toc126872276"></a><a name="_Toc115416207"></a><a
!   name="_Value_:_LogoffPreserveTokens"></a><span style='mso-bookmark:_Toc170268934'><span
!   style='mso-bookmark:_Toc152605149'>Value: LogoffPreserveTokens</span></span></h5>
    <p class=MsoBodyText>Type: DWORD {1,0}<br>
    Default : 0</p>
    <p class=MsoBodyText>If enabled (set to 1), the Logoff Event handler will not
***************
*** 4448,4459 ****
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:79.25pt'>
    <h5><a name="_Toc170268935"></a><a name="_Toc152605150"></a><a
!   name="_Toc115416208"></a><a name="_Toc126872277"></a><a name="_Toc139993200"></a><span
    style='mso-bookmark:_Toc170268935'><span style='mso-bookmark:_Toc152605150'><span
!   style='mso-bookmark:_Toc115416208'>Value: <span class=SpellE>RootVolume</span></span></span></span></h5>
    <p class=MsoBodyText>Type: REG_SZ<br>
!   Default: &quot;<span class=SpellE>root.afs</span>&quot;<br>
!   Variable: <span class=SpellE>cm_rootVolumeName</span></p>
    <p class=MsoBodyText>Root volume name.</p>
    </td>
   </tr>
--- 4352,4363 ----
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:79.25pt'>
    <h5><a name="_Toc170268935"></a><a name="_Toc152605150"></a><a
!   name="_Toc115416208"></a><a name="_Toc139993200"></a><a name="_Toc126872277"></a><span
    style='mso-bookmark:_Toc170268935'><span style='mso-bookmark:_Toc152605150'><span
!   style='mso-bookmark:_Toc115416208'>Value: RootVolume</span></span></span></h5>
    <p class=MsoBodyText>Type: REG_SZ<br>
!   Default: &quot;root.afs&quot;<br>
!   Variable: cm_rootVolumeName</p>
    <p class=MsoBodyText>Root volume name.</p>
    </td>
   </tr>
***************
*** 4461,4496 ****
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:145.25pt'>
    <h5><a name="_Toc170268936"></a><a name="_Toc152605151"></a><a
!   name="_Value_:_Mountroot"></a><a name="_Toc115416209"></a><a
!   name="_Toc126872278"></a><a name="_Toc139993201"></a><span style='mso-bookmark:
!   _Toc170268936'><span style='mso-bookmark:_Toc152605151'>Value: <span
!   class=SpellE>MountRoot</span></span></span></h5>
    <p class=MsoBodyText>Type: REG_SZ<br>
!   Default: &quot;/<span class=SpellE>afs</span>&quot;<br>
!   Variable: <span class=SpellE>cm_mountRoot</span></p>
    <p class=MsoBodyText>Name of root mount point.&nbsp; In symlinks, if a path
!   starts with <span class=SpellE>cm_mountRoot</span>, it is assumed that the
!   path is absolute (as opposed to relative) and is adjusted accordingly. <span
!   class=SpellE>Eg</span>: if a path is specified as /<span class=SpellE>afs/athena.mit.edu/foo/bar/baz</span>
!   and <span class=SpellE>cm_mountRoot</span> is &quot;/<span class=SpellE>afs</span>&quot;,
!   then the path is interpreted as \\afs\all\athena.mit.edu\foo\bar\baz.&nbsp;
!   If a path does not start with <span class=SpellE>with</span> <span
!   class=SpellE>cm_mountRoot</span>, the path is assumed to be relative and
!   suffixed to the reference directory (i.e. directory where the <span
!   class=SpellE>symlink</span> exists)</p>
    </td>
   </tr>
   <tr style='mso-yfti-irow:9;height:92.0pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:92.0pt'>
    <h5><a name="_Toc170268937"></a><a name="_Toc152605152"></a><a
!   name="_Value_:_CachePath"></a><a name="_Toc115416210"></a><a
!   name="_Toc126872279"></a><a name="_Toc139993202"></a><span style='mso-bookmark:
!   _Toc170268937'><span style='mso-bookmark:_Toc152605152'>Value: <span
!   class=SpellE>CachePath</span></span></span></h5>
    <p class=MsoBodyText>Type: REG_SZ or REG_EXPAND_SZ<br>
!   Default: &quot;%TEMP%\<span class=SpellE>AFSCache</span>&quot;<br>
!   Variable: <span class=SpellE>cm_CachePath</span></p>
    <p class=MsoBodyText>Location of on-disk cache file.&nbsp; The default is the
    SYSTEM account's TEMP directory.&nbsp; The attributes assigned to the file
    are HIDDEN and SYSTEM.</p>
--- 4365,4396 ----
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:145.25pt'>
    <h5><a name="_Toc170268936"></a><a name="_Toc152605151"></a><a
!   name="_Toc139993201"></a><a name="_Toc126872278"></a><a name="_Toc115416209"></a><a
!   name="_Value_:_Mountroot"></a><span style='mso-bookmark:_Toc170268936'><span
!   style='mso-bookmark:_Toc152605151'>Value: MountRoot</span></span></h5>
    <p class=MsoBodyText>Type: REG_SZ<br>
!   Default: &quot;/afs&quot;<br>
!   Variable: cm_mountRoot</p>
    <p class=MsoBodyText>Name of root mount point.&nbsp; In symlinks, if a path
!   starts with cm_mountRoot, it is assumed that the path is absolute (as opposed
!   to relative) and is adjusted accordingly. Eg: if a path is specified as
!   /afs/athena.mit.edu/foo/bar/baz and cm_mountRoot is &quot;/afs&quot;, then
!   the path is interpreted as \\afs\all\athena.mit.edu\foo\bar\baz.&nbsp; If a
!   path does not start with with cm_mountRoot, the path is assumed to be
!   relative and suffixed to the reference directory (i.e. directory where the
!   symlink exists)</p>
    </td>
   </tr>
   <tr style='mso-yfti-irow:9;height:92.0pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:92.0pt'>
    <h5><a name="_Toc170268937"></a><a name="_Toc152605152"></a><a
!   name="_Toc139993202"></a><a name="_Toc126872279"></a><a name="_Toc115416210"></a><a
!   name="_Value_:_CachePath"></a><span style='mso-bookmark:_Toc170268937'><span
!   style='mso-bookmark:_Toc152605152'>Value: CachePath</span></span></h5>
    <p class=MsoBodyText>Type: REG_SZ or REG_EXPAND_SZ<br>
!   Default: &quot;%TEMP%\AFSCache&quot;<br>
!   Variable: cm_CachePath</p>
    <p class=MsoBodyText>Location of on-disk cache file.&nbsp; The default is the
    SYSTEM account's TEMP directory.&nbsp; The attributes assigned to the file
    are HIDDEN and SYSTEM.</p>
***************
*** 4500,4528 ****
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:119.0pt'>
    <h5><a name="_Toc170268938"></a><a name="_Toc152605153"></a><a
!   name="_Toc115416211"></a><a name="_Toc126872280"></a><a name="_Toc139993203"></a><span
    style='mso-bookmark:_Toc170268938'><span style='mso-bookmark:_Toc152605153'><span
!   style='mso-bookmark:_Toc115416211'>Value: <span class=SpellE>NonPersistentCaching</span></span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD [0..1]<br>
    Default: 0<br>
!   Variable: <span class=SpellE>buf_CacheType</span></p>
    <p class=MsoBodyText>When this registry value is set to a non-zero value, the
!   <span class=SpellE>CachePath</span> value is ignored and the cache data is
!   stored in the windows paging file.&nbsp; This disables the use of persistent
!   caching and the ability to maintain a single UUID for the AFS client service 
!   across restarts.</p>
    </td>
   </tr>
   <tr style='mso-yfti-irow:11;height:125.5pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:125.5pt'>
    <h5><a name="_Toc170268939"></a><a name="_Toc152605154"></a><a
!   name="_Toc115416212"></a><a name="_Toc126872281"></a><a name="_Toc139993204"></a><span
    style='mso-bookmark:_Toc170268939'><span style='mso-bookmark:_Toc152605154'><span
!   style='mso-bookmark:_Toc115416212'>Value: <span class=SpellE>ValidateCache</span></span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD [0..2]<br>
    Default: 1<br>
!   Variable: <span class=SpellE>buf_CacheType</span></p>
    <p class=MsoBodyText>This value determines if and when persistent cache
    validation is performed.</p>
    <p class=MsoBodyText>0 - Validation is disabled<br>
--- 4400,4427 ----
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:119.0pt'>
    <h5><a name="_Toc170268938"></a><a name="_Toc152605153"></a><a
!   name="_Toc115416211"></a><a name="_Toc139993203"></a><a name="_Toc126872280"></a><span
    style='mso-bookmark:_Toc170268938'><span style='mso-bookmark:_Toc152605153'><span
!   style='mso-bookmark:_Toc115416211'>Value: NonPersistentCaching</span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD [0..1]<br>
    Default: 0<br>
!   Variable: buf_CacheType</p>
    <p class=MsoBodyText>When this registry value is set to a non-zero value, the
!   CachePath value is ignored and the cache data is stored in the windows paging
!   file.&nbsp; This disables the use of persistent caching and the ability to
!   maintain a single UUID for the AFS client service across restarts.</p>
    </td>
   </tr>
   <tr style='mso-yfti-irow:11;height:125.5pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:125.5pt'>
    <h5><a name="_Toc170268939"></a><a name="_Toc152605154"></a><a
!   name="_Toc115416212"></a><a name="_Toc139993204"></a><a name="_Toc126872281"></a><span
    style='mso-bookmark:_Toc170268939'><span style='mso-bookmark:_Toc152605154'><span
!   style='mso-bookmark:_Toc115416212'>Value: ValidateCache</span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD [0..2]<br>
    Default: 1<br>
!   Variable: buf_CacheType</p>
    <p class=MsoBodyText>This value determines if and when persistent cache
    validation is performed.</p>
    <p class=MsoBodyText>0 - Validation is disabled<br>
***************
*** 4534,4560 ****
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:79.25pt'>
    <h5><a name="_Toc170268940"></a><a name="_Toc152605155"></a><a
!   name="_Toc115416213"></a><a name="_Toc126872282"></a><a name="_Toc139993205"></a><span
    style='mso-bookmark:_Toc170268940'><span style='mso-bookmark:_Toc152605155'><span
!   style='mso-bookmark:_Toc115416213'>Value: <span class=SpellE>TrapOnPanic</span></span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD {1,0}<br>
    Default: 0<br>
!   Variable: <span class=SpellE>traceOnPanic</span></p>
    <p class=MsoBodyText>Issues a breakpoint in the event of a panic.
!   (breakpoint: _<span class=SpellE>asm</span> <span class=SpellE>int</span> 3).</p>
    </td>
   </tr>
   <tr style='mso-yfti-irow:13;height:92.0pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:92.0pt'>
    <h5><a name="_Toc170268941"></a><a name="_Toc152605156"></a><a
!   name="_Value___:_NetbiosName"></a><a name="_Toc115416214"></a><a
!   name="_Toc126872283"></a><a name="_Toc139993206"></a><span style='mso-bookmark:
!   _Toc170268941'><span style='mso-bookmark:_Toc152605156'>Value: <span
!   class=SpellE>NetbiosName</span></span></span></h5>
    <p class=MsoBodyText>Type: REG_EXPAND_SZ<br>
    Default: &quot;AFS&quot;<br>
!   Variable: <span class=SpellE>cm_NetbiosName</span></p>
    <p class=MsoBodyText>Specifies the NetBIOS name to be used when binding to a
    Loopback adapter.&nbsp; To provide the old behavior specify a value of&nbsp;
    &quot;%COMPUTERNAME%-AFS&quot;.</p>
--- 4433,4458 ----
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:79.25pt'>
    <h5><a name="_Toc170268940"></a><a name="_Toc152605155"></a><a
!   name="_Toc115416213"></a><a name="_Toc139993205"></a><a name="_Toc126872282"></a><span
    style='mso-bookmark:_Toc170268940'><span style='mso-bookmark:_Toc152605155'><span
!   style='mso-bookmark:_Toc115416213'>Value: TrapOnPanic</span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD {1,0}<br>
    Default: 0<br>
!   Variable: traceOnPanic</p>
    <p class=MsoBodyText>Issues a breakpoint in the event of a panic.
!   (breakpoint: _asm int 3).</p>
    </td>
   </tr>
   <tr style='mso-yfti-irow:13;height:92.0pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:92.0pt'>
    <h5><a name="_Toc170268941"></a><a name="_Toc152605156"></a><a
!   name="_Toc139993206"></a><a name="_Toc126872283"></a><a name="_Toc115416214"></a><a
!   name="_Value___:_NetbiosName"></a><span style='mso-bookmark:_Toc170268941'><span
!   style='mso-bookmark:_Toc152605156'>Value: NetbiosName</span></span></h5>
    <p class=MsoBodyText>Type: REG_EXPAND_SZ<br>
    Default: &quot;AFS&quot;<br>
!   Variable: cm_NetbiosName</p>
    <p class=MsoBodyText>Specifies the NetBIOS name to be used when binding to a
    Loopback adapter.&nbsp; To provide the old behavior specify a value of&nbsp;
    &quot;%COMPUTERNAME%-AFS&quot;.</p>
***************
*** 4564,4596 ****
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:152.0pt'>
    <h5><a name="_Toc170268942"></a><a name="_Toc152605157"></a><a
!   name="_Toc115416215"></a><a name="_Toc126872284"></a><a name="_Toc139993207"></a><span
    style='mso-bookmark:_Toc170268942'><span style='mso-bookmark:_Toc152605157'><span
!   style='mso-bookmark:_Toc115416215'>Value: <span class=SpellE>IsGateway</span></span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD {1,0}<br>
    Default: 0<br>
!   Variable: <span class=SpellE>isGateway</span></p>
    <p class=MsoBodyText>Select whether or not this AFS client should act as a
    gateway.&nbsp; If set and the NetBIOS name hostname-AFS is bound to a
    physical NIC, other machines in the subnet can access AFS via SMB connections
    to hostname-AFS.</p>
!   <p class=MsoBodyText>When <span class=SpellE>IsGateway</span> is non-zero,
!   the LAN adapter detection code will avoid binding to a loopback
!   adapter.&nbsp; This will ensure that the NetBIOS name will be of the form
!   hostname-AFS instead of the value set by the &quot;<span class=SpellE>NetbiosName</span>&quot;
!   registry value.</p>
    </td>
   </tr>
   <tr style='mso-yfti-irow:15;height:92.0pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:92.0pt'>
    <h5><a name="_Toc170268943"></a><a name="_Toc152605158"></a><a
!   name="_Toc115416216"></a><a name="_Toc126872285"></a><a name="_Toc139993208"></a><span
    style='mso-bookmark:_Toc170268943'><span style='mso-bookmark:_Toc152605158'><span
!   style='mso-bookmark:_Toc115416216'>Value: <span class=SpellE>ReportSessionStartups</span></span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD {1,0}<br>
    Default: 0<br>
!   Variable: <span class=SpellE>reportSessionStartups</span></p>
    <p class=MsoBodyText>If enabled, all SMB sessions created are recorded in the
    Application event log.&nbsp; This also enables other events such as drive
    mappings or various error types to be logged.</p>
--- 4462,4493 ----
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:152.0pt'>
    <h5><a name="_Toc170268942"></a><a name="_Toc152605157"></a><a
!   name="_Toc115416215"></a><a name="_Toc139993207"></a><a name="_Toc126872284"></a><span
    style='mso-bookmark:_Toc170268942'><span style='mso-bookmark:_Toc152605157'><span
!   style='mso-bookmark:_Toc115416215'>Value: IsGateway</span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD {1,0}<br>
    Default: 0<br>
!   Variable: isGateway</p>
    <p class=MsoBodyText>Select whether or not this AFS client should act as a
    gateway.&nbsp; If set and the NetBIOS name hostname-AFS is bound to a
    physical NIC, other machines in the subnet can access AFS via SMB connections
    to hostname-AFS.</p>
!   <p class=MsoBodyText>When IsGateway is non-zero, the LAN adapter detection
!   code will avoid binding to a loopback adapter.&nbsp; This will ensure that
!   the NetBIOS name will be of the form hostname-AFS instead of the value set by
!   the &quot;NetbiosName&quot; registry value.</p>
    </td>
   </tr>
   <tr style='mso-yfti-irow:15;height:92.0pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:92.0pt'>
    <h5><a name="_Toc170268943"></a><a name="_Toc152605158"></a><a
!   name="_Toc115416216"></a><a name="_Toc139993208"></a><a name="_Toc126872285"></a><span
    style='mso-bookmark:_Toc170268943'><span style='mso-bookmark:_Toc152605158'><span
!   style='mso-bookmark:_Toc115416216'>Value: ReportSessionStartups</span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD {1,0}<br>
    Default: 0<br>
!   Variable: reportSessionStartups</p>
    <p class=MsoBodyText>If enabled, all SMB sessions created are recorded in the
    Application event log.&nbsp; This also enables other events such as drive
    mappings or various error types to be logged.</p>
***************
*** 4600,4612 ****
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:79.25pt'>
    <h5><a name="_Toc170268944"></a><a name="_Toc152605159"></a><a
!   name="_Value_:_TraceBufferSize"></a><a name="_Toc115416217"></a><a
!   name="_Toc126872286"></a><a name="_Toc139993209"></a><span style='mso-bookmark:
!   _Toc170268944'><span style='mso-bookmark:_Toc152605159'>Value: <span
!   class=SpellE>TraceBufferSize</span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD<br>
    Default: 5000 (CM_CONFIGDEFAULT_TRACEBUFSIZE)<br>
!   Variable: <span class=SpellE>traceBufSize</span></p>
    <p class=MsoBodyText>Number of entries to keep in trace log.</p>
    </td>
   </tr>
--- 4497,4508 ----
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:79.25pt'>
    <h5><a name="_Toc170268944"></a><a name="_Toc152605159"></a><a
!   name="_Toc139993209"></a><a name="_Toc126872286"></a><a name="_Toc115416217"></a><a
!   name="_Value_:_TraceBufferSize"></a><span style='mso-bookmark:_Toc170268944'><span
!   style='mso-bookmark:_Toc152605159'>Value: TraceBufferSize</span></span></h5>
    <p class=MsoBodyText>Type: DWORD<br>
    Default: 5000 (CM_CONFIGDEFAULT_TRACEBUFSIZE)<br>
!   Variable: traceBufSize</p>
    <p class=MsoBodyText>Number of entries to keep in trace log.</p>
    </td>
   </tr>
***************
*** 4614,4644 ****
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:92.0pt'>
    <h5><a name="_Toc170268945"></a><a name="_Toc152605160"></a><a
!   name="_Value_:_SysName"></a><a name="_Toc115416218"></a><a
!   name="_Toc126872287"></a><a name="_Toc139993210"></a><span style='mso-bookmark:
!   _Toc170268945'><span style='mso-bookmark:_Toc152605160'>Value: <span
!   class=SpellE>SysName</span></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>
!   Variable: <span class=SpellE>cm_sysName</span></p>
!   <p class=MsoBodyText>Provides an initial value for &quot;<span class=SpellE>fs</span>
!   <span class=SpellE>sysname</span>&quot;.&nbsp; The string can contain one or
!   more replacement values for @sys in order of preference separated by
!   whitespace.</p>
    </td>
   </tr>
   <tr style='mso-yfti-irow:18;height:79.25pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:79.25pt'>
    <h5><a name="_Toc170268946"></a><a name="_Toc152605161"></a><a
!   name="_Value_:_SecurityLevel"></a><a name="_Toc115416219"></a><a
!   name="_Toc126872288"></a><a name="_Toc139993211"></a><span style='mso-bookmark:
!   _Toc170268946'><span style='mso-bookmark:_Toc152605161'>Value: <span
!   class=SpellE>SecurityLevel</span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD {1,0}<br>
    Default: 0<br>
!   Variable: <span class=SpellE>cryptall</span></p>
    <p class=MsoBodyText>Enables encryption on RX calls.</p>
    </td>
   </tr>
--- 4510,4537 ----
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:92.0pt'>
    <h5><a name="_Toc170268945"></a><a name="_Toc152605160"></a><a
!   name="_Toc139993210"></a><a name="_Toc126872287"></a><a name="_Toc115416218"></a><a
!   name="_Value_:_SysName"></a><span style='mso-bookmark:_Toc170268945'><span
!   style='mso-bookmark:_Toc152605160'>Value: SysName</span></span></h5>
    <p class=MsoBodyText>Type: REG_SZ<br>
    Default: &quot;x86_win32 i386_w2k i386_nt40&quot; (X86) <br>
    “amd64_win64 x86_win32 i386_w2k” (AMD64)<br>
!   Variable: cm_sysName</p>
!   <p class=MsoBodyText>Provides an initial value for &quot;fs
!   sysname&quot;.&nbsp; The string can contain one or more replacement values
!   for @sys in order of preference separated by whitespace.</p>
    </td>
   </tr>
   <tr style='mso-yfti-irow:18;height:79.25pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:79.25pt'>
    <h5><a name="_Toc170268946"></a><a name="_Toc152605161"></a><a
!   name="_Toc139993211"></a><a name="_Toc126872288"></a><a name="_Toc115416219"></a><a
!   name="_Value_:_SecurityLevel"></a><span style='mso-bookmark:_Toc170268946'><span
!   style='mso-bookmark:_Toc152605161'>Value: SecurityLevel</span></span></h5>
    <p class=MsoBodyText>Type: DWORD {1,0}<br>
    Default: 0<br>
!   Variable: cryptall</p>
    <p class=MsoBodyText>Enables encryption on RX calls.</p>
    </td>
   </tr>
***************
*** 4646,4675 ****
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:112.25pt'>
    <h5><a name="_Toc170268947"></a><a name="_Toc152605162"></a><a
!   name="_Value_:_UseDNS"></a><a name="_Toc115416220"></a><a name="_Toc126872289"></a><a
!   name="_Toc139993212"></a><span style='mso-bookmark:_Toc170268947'><span
!   style='mso-bookmark:_Toc152605162'>Value: <span class=SpellE>UseDNS</span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD {1,0}<br>
    Default: 1<br>
!   Variable: <span class=SpellE>cm_dnsEnabled</span></p>
!   <p class=MsoBodyText>Enables resolving <span class=SpellE>volservers</span>
!   using AFSDB DNS queries.</p>
    <p class=MsoBodyText>As of 1.3.60, this value is ignored as the DNS query
!   support utilizes the Win32 <span class=SpellE>DNSQuery</span> API which is
!   available on Win2000 and above.</p>
    </td>
   </tr>
   <tr style='mso-yfti-irow:20;height:79.25pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:79.25pt'>
    <h5><a name="_Toc170268948"></a><a name="_Toc152605163"></a><a
!   name="_Value_:_FreelanceClient"></a><a name="_Toc115416221"></a><a
!   name="_Toc126872290"></a><a name="_Toc139993213"></a><span style='mso-bookmark:
!   _Toc170268948'><span style='mso-bookmark:_Toc152605163'>Value: <span
!   class=SpellE>FreelanceClient</span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD {1,0}<br>
    Default: 0<br>
!   Variable: <span class=SpellE>cm_freelanceEnabled</span></p>
    <p class=MsoBodyText>Enables freelance client.</p>
    </td>
   </tr>
--- 4539,4565 ----
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:112.25pt'>
    <h5><a name="_Toc170268947"></a><a name="_Toc152605162"></a><a
!   name="_Toc139993212"></a><a name="_Toc126872289"></a><a name="_Toc115416220"></a><a
!   name="_Value_:_UseDNS"></a><span style='mso-bookmark:_Toc170268947'><span
!   style='mso-bookmark:_Toc152605162'>Value: UseDNS</span></span></h5>
    <p class=MsoBodyText>Type: DWORD {1,0}<br>
    Default: 1<br>
!   Variable: cm_dnsEnabled</p>
!   <p class=MsoBodyText>Enables resolving volservers using AFSDB DNS queries.</p>
    <p class=MsoBodyText>As of 1.3.60, this value is ignored as the DNS query
!   support utilizes the Win32 DNSQuery API which is available on Win2000 and above.</p>
    </td>
   </tr>
   <tr style='mso-yfti-irow:20;height:79.25pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:79.25pt'>
    <h5><a name="_Toc170268948"></a><a name="_Toc152605163"></a><a
!   name="_Toc139993213"></a><a name="_Toc126872290"></a><a name="_Toc115416221"></a><a
!   name="_Value_:_FreelanceClient"></a><span style='mso-bookmark:_Toc170268948'><span
!   style='mso-bookmark:_Toc152605163'>Value: FreelanceClient</span></span></h5>
    <p class=MsoBodyText>Type: DWORD {1,0}<br>
    Default: 0<br>
!   Variable: cm_freelanceEnabled</p>
    <p class=MsoBodyText>Enables freelance client.</p>
    </td>
   </tr>
***************
*** 4677,4704 ****
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:92.0pt'>
    <h5><a name="_Toc170268949"></a><a name="_Toc152605164"></a><a
!   name="_Value_:_HideDotFiles"></a><a name="_Toc115416222"></a><a
!   name="_Toc126872291"></a><a name="_Toc139993214"></a><a
!   name="_Value:_HideDotFiles"></a><span style='mso-bookmark:_Toc170268949'><span
!   style='mso-bookmark:_Toc152605164'>Value: <span class=SpellE>HideDotFiles</span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD {1,0}<br>
    Default: 1<br>
!   Variable: <span class=SpellE>smb_hideDotFiles</span></p>
!   <p class=MsoBodyText>Enables marking <span class=SpellE>dotfiles</span> with
!   the hidden attribute.&nbsp; Dot files are files whose name starts with a
!   period (excluding &quot;.&quot; and &quot;..&quot;).</p>
    </td>
   </tr>
   <tr style='mso-yfti-irow:22;height:79.25pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:79.25pt'>
    <h5><a name="_Toc170268950"></a><a name="_Toc152605165"></a><a
!   name="_Toc115416223"></a><a name="_Toc126872292"></a><a name="_Toc139993215"></a><span
    style='mso-bookmark:_Toc170268950'><span style='mso-bookmark:_Toc152605165'><span
!   style='mso-bookmark:_Toc115416223'>Value: <span class=SpellE>MaxMpxRequests</span></span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD<br>
    Default: 50<br>
!   Variable: <span class=SpellE>smb_maxMpxRequests</span></p>
    <p class=MsoBodyText>Maximum number of multiplexed SMB requests that can be
    made.</p>
    </td>
--- 4567,4594 ----
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:92.0pt'>
    <h5><a name="_Toc170268949"></a><a name="_Toc152605164"></a><a
!   name="_Value:_HideDotFiles"></a><a name="_Toc139993214"></a><a
!   name="_Toc126872291"></a><a name="_Toc115416222"></a><a
!   name="_Value_:_HideDotFiles"></a><span style='mso-bookmark:_Toc170268949'><span
!   style='mso-bookmark:_Toc152605164'>Value: HideDotFiles</span></span></h5>
    <p class=MsoBodyText>Type: DWORD {1,0}<br>
    Default: 1<br>
!   Variable: smb_hideDotFiles</p>
!   <p class=MsoBodyText>Enables marking dotfiles with the hidden
!   attribute.&nbsp; Dot files are files whose name starts with a period
!   (excluding &quot;.&quot; and &quot;..&quot;).</p>
    </td>
   </tr>
   <tr style='mso-yfti-irow:22;height:79.25pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:79.25pt'>
    <h5><a name="_Toc170268950"></a><a name="_Toc152605165"></a><a
!   name="_Toc115416223"></a><a name="_Toc139993215"></a><a name="_Toc126872292"></a><span
    style='mso-bookmark:_Toc170268950'><span style='mso-bookmark:_Toc152605165'><span
!   style='mso-bookmark:_Toc115416223'>Value: MaxMpxRequests</span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD<br>
    Default: 50<br>
!   Variable: smb_maxMpxRequests</p>
    <p class=MsoBodyText>Maximum number of multiplexed SMB requests that can be
    made.</p>
    </td>
***************
*** 4707,4718 ****
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:79.25pt'>
    <h5><a name="_Toc170268951"></a><a name="_Toc152605166"></a><a
!   name="_Toc115416224"></a><a name="_Toc126872293"></a><a name="_Toc139993216"></a><span
    style='mso-bookmark:_Toc170268951'><span style='mso-bookmark:_Toc152605166'><span
!   style='mso-bookmark:_Toc115416224'>Value: <span class=SpellE>MaxVCPerServer</span></span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD<br>
    Default: 100<br>
!   Variable: <span class=SpellE>smb_maxVCPerServer</span></p>
    <p class=MsoBodyText>Maximum number of SMB virtual circuits.</p>
    </td>
   </tr>
--- 4597,4608 ----
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:79.25pt'>
    <h5><a name="_Toc170268951"></a><a name="_Toc152605166"></a><a
!   name="_Toc115416224"></a><a name="_Toc139993216"></a><a name="_Toc126872293"></a><span
    style='mso-bookmark:_Toc170268951'><span style='mso-bookmark:_Toc152605166'><span
!   style='mso-bookmark:_Toc115416224'>Value: MaxVCPerServer</span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD<br>
    Default: 100<br>
!   Variable: smb_maxVCPerServer</p>
    <p class=MsoBodyText>Maximum number of SMB virtual circuits.</p>
    </td>
   </tr>
***************
*** 4720,4760 ****
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:79.25pt'>
    <h5><a name="_Toc170268952"></a><a name="_Toc152605167"></a><a
!   name="_Value_:_Cell"></a><a name="_Toc115416225"></a><a name="_Toc126872294"></a><a
!   name="_Toc139993217"></a><span style='mso-bookmark:_Toc170268952'><span
    style='mso-bookmark:_Toc152605167'>Value: Cell</span></span></h5>
    <p class=MsoBodyText>Type: REG_SZ<br>
    Default: &lt;none&gt;<br>
!   Variable: <span class=SpellE>rootCellName</span></p>
!   <p class=MsoBodyText>Name of root cell (the cell from which <span
!   class=SpellE>root.afs</span> should be mounted in \\afs\all).</p>
    </td>
   </tr>
   <tr style='mso-yfti-irow:25;height:79.25pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:79.25pt'>
    <h5><a name="_Toc170268953"></a><a name="_Toc152605168"></a><a
!   name="_Toc115416226"></a><a name="_Toc126872295"></a><a name="_Toc139993218"></a><span
    style='mso-bookmark:_Toc170268953'><span style='mso-bookmark:_Toc152605168'><span
!   style='mso-bookmark:_Toc115416226'>Value: <span class=SpellE>RxNoJumbo</span></span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD {0,1}<br>
    Default: 0<br>
!   Variable: <span class=SpellE>rx_nojumbo</span></p>
    <p class=MsoBodyText>If enabled, does not send or indicate that we are able
!   to send or receive RX <span class=SpellE>jumbograms</span>.</p>
    </td>
   </tr>
   <tr style='mso-yfti-irow:26;height:124.75pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:124.75pt'>
    <h5><a name="_Toc170268954"></a><a name="_Toc152605169"></a><a
!   name="_Value_:_RxMaxMTU"></a><a name="_Toc115416227"></a><a
!   name="_Toc126872296"></a><a name="_Toc139993219"></a><span style='mso-bookmark:
!   _Toc170268954'><span style='mso-bookmark:_Toc152605169'>Value: <span
!   class=SpellE>RxMaxMTU</span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD<br>
    Default: -1<br>
!   Variable: <span class=SpellE>rx_mtu</span></p>
    <p class=MsoBodyText>If set to anything other than -1, uses that value as the
    maximum MTU supported by the RX interface.</p>
    <p class=MsoBodyText>In order to enable OpenAFS to operate across the Cisco
--- 4610,4649 ----
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:79.25pt'>
    <h5><a name="_Toc170268952"></a><a name="_Toc152605167"></a><a
!   name="_Toc139993217"></a><a name="_Toc126872294"></a><a name="_Toc115416225"></a><a
!   name="_Value_:_Cell"></a><span style='mso-bookmark:_Toc170268952'><span
    style='mso-bookmark:_Toc152605167'>Value: Cell</span></span></h5>
    <p class=MsoBodyText>Type: REG_SZ<br>
    Default: &lt;none&gt;<br>
!   Variable: rootCellName</p>
!   <p class=MsoBodyText>Name of root cell (the cell from which root.afs should
!   be mounted in \\afs\all).</p>
    </td>
   </tr>
   <tr style='mso-yfti-irow:25;height:79.25pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:79.25pt'>
    <h5><a name="_Toc170268953"></a><a name="_Toc152605168"></a><a
!   name="_Toc115416226"></a><a name="_Toc139993218"></a><a name="_Toc126872295"></a><span
    style='mso-bookmark:_Toc170268953'><span style='mso-bookmark:_Toc152605168'><span
!   style='mso-bookmark:_Toc115416226'>Value: RxNoJumbo</span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD {0,1}<br>
    Default: 0<br>
!   Variable: rx_nojumbo</p>
    <p class=MsoBodyText>If enabled, does not send or indicate that we are able
!   to send or receive RX jumbograms.</p>
    </td>
   </tr>
   <tr style='mso-yfti-irow:26;height:124.75pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:124.75pt'>
    <h5><a name="_Toc170268954"></a><a name="_Toc152605169"></a><a
!   name="_Toc139993219"></a><a name="_Toc126872296"></a><a name="_Toc115416227"></a><a
!   name="_Value_:_RxMaxMTU"></a><span style='mso-bookmark:_Toc170268954'><span
!   style='mso-bookmark:_Toc152605169'>Value: RxMaxMTU</span></span></h5>
    <p class=MsoBodyText>Type: DWORD<br>
    Default: -1<br>
!   Variable: rx_mtu</p>
    <p class=MsoBodyText>If set to anything other than -1, uses that value as the
    maximum MTU supported by the RX interface.</p>
    <p class=MsoBodyText>In order to enable OpenAFS to operate across the Cisco
***************
*** 4765,4781 ****
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:151.75pt'>
    <h5><a name="_Toc170268955"></a><a name="_Toc152605170"></a><a
!   name="_Value:_ConnDeadTimeout"></a><a name="_Toc115416228"></a><a
!   name="_Toc126872297"></a><a name="_Toc139993220"></a><span style='mso-bookmark:
!   _Toc170268955'><span style='mso-bookmark:_Toc152605170'>Value: <span
!   class=SpellE>ConnDeadTimeout</span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD<br>
    Default: 60 (seconds)<br>
!   Variable: <span class=SpellE>ConnDeadtimeout</span></p>
    <p class=MsoBodyText>The Connection Dead Time is enforced to be at a minimum
    15 seconds longer than the minimum SMB timeout as specified by
!   [HKLM\SYSTEM\CurrentControlSet\Services\lanmanworkstation\parameters] <span
!   class=SpellE>SessTimeout</span></p>
    <p class=MsoBodyText>If the minimum SMB timeout is not specified the value is
    45 seconds.&nbsp; See <a
    href="http://support.microsoft.com/support/kb/articles/Q102/0/67.asp">http://support.microsoft.com:80/support/kb/articles/Q102/0/67.asp</a></p>
--- 4654,4669 ----
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:151.75pt'>
    <h5><a name="_Toc170268955"></a><a name="_Toc152605170"></a><a
!   name="_Toc139993220"></a><a name="_Toc126872297"></a><a name="_Toc115416228"></a><a
!   name="_Value:_ConnDeadTimeout"></a><span style='mso-bookmark:_Toc170268955'><span
!   style='mso-bookmark:_Toc152605170'>Value: ConnDeadTimeout</span></span></h5>
    <p class=MsoBodyText>Type: DWORD<br>
    Default: 60 (seconds)<br>
!   Variable: ConnDeadtimeout</p>
    <p class=MsoBodyText>The Connection Dead Time is enforced to be at a minimum
    15 seconds longer than the minimum SMB timeout as specified by
!   [HKLM\SYSTEM\CurrentControlSet\Services\lanmanworkstation\parameters]
!   SessTimeout</p>
    <p class=MsoBodyText>If the minimum SMB timeout is not specified the value is
    45 seconds.&nbsp; See <a
    href="http://support.microsoft.com/support/kb/articles/Q102/0/67.asp">http://support.microsoft.com:80/support/kb/articles/Q102/0/67.asp</a></p>
***************
*** 4785,4865 ****
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:92.0pt'>
    <h5><a name="_Toc170268956"></a><a name="_Toc152605171"></a><a
!   name="_Toc115416229"></a><a name="_Toc126872298"></a><a name="_Toc139993221"></a><span
    style='mso-bookmark:_Toc170268956'><span style='mso-bookmark:_Toc152605171'><span
!   style='mso-bookmark:_Toc115416229'>Value: <span class=SpellE>HardDeadTimeout</span></span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD<br>
    Default: 120 (seconds)<br>
!   Variable: <span class=SpellE>HardDeadtimeout</span></p>
    <p class=MsoBodyText>The Hard Dead Time is enforced to be at least double the
!   <span class=SpellE>ConnDeadTimeout</span>.&nbsp; The provides an opportunity
!   for at least one retry.</p>
    </td>
   </tr>
   <tr style='mso-yfti-irow:29;height:158.5pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:158.5pt'>
    <h5><a name="_Toc170268957"></a><a name="_Toc152605172"></a><a
!   name="_Value__:_TraceOption"></a><a name="_Toc115416230"></a><a
!   name="_Toc126872299"></a><a name="_Toc139993222"></a><span style='mso-bookmark:
!   _Toc170268957'><span style='mso-bookmark:_Toc152605172'>Value: <span
!   class=SpellE>TraceOption</span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD {0-15}<br>
    Default: 0</p>
    <p class=MsoBodyText>Enables logging of debug output to the Windows Event
    Log.</p>
    <p class=MsoBodyText>Bit 0 enables logging of &quot;Logon Events&quot;
!   processed by the Network Provider and <span class=SpellE>Winlogon</span>
!   Event Notification Handler.&nbsp; </p>
    <p class=MsoBodyText>Bit 1 enables logging of events captured by the AFS
    Client Service.</p>
!   <p class=MsoBodyText>Bit 2 enables real-time viewing of &quot;<span
!   class=SpellE>fs</span> trace&quot; logging with <span class=SpellE>DbgView</span>
!   or similar tools.</p>
!   <p class=MsoBodyText>Bit 3 enables &quot;<span class=SpellE>fs</span>
!   trace&quot; logging on startup.</p>
    </td>
   </tr>
   <tr style='mso-yfti-irow:30;height:98.5pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:98.5pt'>
    <h5><a name="_Toc170268958"></a><a name="_Toc152605173"></a><a
!   name="_Toc115416231"></a><a name="_Toc126872300"></a><a name="_Toc139993223"></a><span
    style='mso-bookmark:_Toc170268958'><span style='mso-bookmark:_Toc152605173'><span
!   style='mso-bookmark:_Toc115416231'>Value: <span class=SpellE>AllSubmount</span></span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD {0, 1}<br>
    Default: 1</p>
!   <p class=MsoBodyText>Variable: <span class=SpellE>allSubmount</span> (<span
!   class=SpellE>smb.c</span>)</p>
    <p class=MsoBodyText>By setting this value to 0, the
    &quot;\\NetbiosName\all&quot; mount point will not be created.&nbsp; This
!   allows the read-write versions of <span class=SpellE>root.afs</span> to be
!   hidden.</p>
    </td>
   </tr>
   <tr style='mso-yfti-irow:31;height:78.5pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:78.5pt'>
    <h5><a name="_Toc170268959"></a><a name="_Toc152605174"></a><a
!   name="_Value___:_NoFindLanaByName"></a><a name="_Toc115416232"></a><a
!   name="_Toc126872301"></a><a name="_Toc139993224"></a><span style='mso-bookmark:
!   _Toc170268959'><span style='mso-bookmark:_Toc152605174'>Value: <span
!   class=SpellE>NoFindLanaByName</span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD {0, 1}<br>
    Default: 0</p>
!   <p class=MsoBodyText>Disables the attempt to identity the network adapter to use
!   by looking for an adapter with a display name of &quot;AFS&quot;.</p>
    </td>
   </tr>
   <tr style='mso-yfti-irow:32;height:78.5pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:78.5pt'>
    <h5><a name="_Toc170268960"></a><a name="_Toc152605175"></a><a
!   name="_Toc115416233"></a><a name="_Toc126872302"></a><a name="_Toc139993225"></a><span
    style='mso-bookmark:_Toc170268960'><span style='mso-bookmark:_Toc152605175'><span
!   style='mso-bookmark:_Toc115416233'>Value: <span class=SpellE>MaxCPUs</span></span></span></span></h5>
!   <p class=MsoBodyText>Type: DWORD {1..32} or {1..64} depending on the
!   architecture<br>
    Default: &lt;no default&gt;</p>
    <p class=MsoBodyText>If this value is specified, afsd_service.exe will
    restrict itself to executing on the specified number of CPUs if there are a
--- 4673,4745 ----
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:92.0pt'>
    <h5><a name="_Toc170268956"></a><a name="_Toc152605171"></a><a
!   name="_Toc115416229"></a><a name="_Toc139993221"></a><a name="_Toc126872298"></a><span
    style='mso-bookmark:_Toc170268956'><span style='mso-bookmark:_Toc152605171'><span
!   style='mso-bookmark:_Toc115416229'>Value: HardDeadTimeout</span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD<br>
    Default: 120 (seconds)<br>
!   Variable: HardDeadtimeout</p>
    <p class=MsoBodyText>The Hard Dead Time is enforced to be at least double the
!   ConnDeadTimeout.&nbsp; The provides an opportunity for at least one retry.</p>
    </td>
   </tr>
   <tr style='mso-yfti-irow:29;height:158.5pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:158.5pt'>
    <h5><a name="_Toc170268957"></a><a name="_Toc152605172"></a><a
!   name="_Toc139993222"></a><a name="_Toc126872299"></a><a name="_Toc115416230"></a><a
!   name="_Value__:_TraceOption"></a><span style='mso-bookmark:_Toc170268957'><span
!   style='mso-bookmark:_Toc152605172'>Value: TraceOption</span></span></h5>
    <p class=MsoBodyText>Type: DWORD {0-15}<br>
    Default: 0</p>
    <p class=MsoBodyText>Enables logging of debug output to the Windows Event
    Log.</p>
    <p class=MsoBodyText>Bit 0 enables logging of &quot;Logon Events&quot;
!   processed by the Network Provider and Winlogon Event Notification
!   Handler.&nbsp; </p>
    <p class=MsoBodyText>Bit 1 enables logging of events captured by the AFS
    Client Service.</p>
!   <p class=MsoBodyText>Bit 2 enables real-time viewing of &quot;fs trace&quot;
!   logging with DbgView or similar tools.</p>
!   <p class=MsoBodyText>Bit 3 enables &quot;fs trace&quot; logging on startup.</p>
    </td>
   </tr>
   <tr style='mso-yfti-irow:30;height:98.5pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:98.5pt'>
    <h5><a name="_Toc170268958"></a><a name="_Toc152605173"></a><a
!   name="_Toc115416231"></a><a name="_Toc139993223"></a><a name="_Toc126872300"></a><span
    style='mso-bookmark:_Toc170268958'><span style='mso-bookmark:_Toc152605173'><span
!   style='mso-bookmark:_Toc115416231'>Value: AllSubmount</span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD {0, 1}<br>
    Default: 1</p>
!   <p class=MsoBodyText>Variable: allSubmount (smb.c)</p>
    <p class=MsoBodyText>By setting this value to 0, the
    &quot;\\NetbiosName\all&quot; mount point will not be created.&nbsp; This
!   allows the read-write versions of root.afs to be hidden.</p>
    </td>
   </tr>
   <tr style='mso-yfti-irow:31;height:78.5pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:78.5pt'>
    <h5><a name="_Toc170268959"></a><a name="_Toc152605174"></a><a
!   name="_Toc139993224"></a><a name="_Toc126872301"></a><a name="_Toc115416232"></a><a
!   name="_Value___:_NoFindLanaByName"></a><span style='mso-bookmark:_Toc170268959'><span
!   style='mso-bookmark:_Toc152605174'>Value: NoFindLanaByName</span></span></h5>
    <p class=MsoBodyText>Type: DWORD {0, 1}<br>
    Default: 0</p>
!   <p class=MsoBodyText>Disables the attempt to identity the network adapter to
!   use by looking for an adapter with a display name of &quot;AFS&quot;.</p>
    </td>
   </tr>
   <tr style='mso-yfti-irow:32;height:78.5pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:78.5pt'>
    <h5><a name="_Toc170268960"></a><a name="_Toc152605175"></a><a
!   name="_Toc115416233"></a><a name="_Toc139993225"></a><a name="_Toc126872302"></a><span
    style='mso-bookmark:_Toc170268960'><span style='mso-bookmark:_Toc152605175'><span
!   style='mso-bookmark:_Toc115416233'>Value: MaxCPUs</span></span></span></h5>
!   <p class=MsoBodyText>Type: DWORD {1..32} or {1..64} depending on the architecture<br>
    Default: &lt;no default&gt;</p>
    <p class=MsoBodyText>If this value is specified, afsd_service.exe will
    restrict itself to executing on the specified number of CPUs if there are a
***************
*** 4870,4879 ****
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:151.75pt'>
    <h5><a name="_Toc170268961"></a><a name="_Toc152605176"></a><a
!   name="_Value___:_smbAuthType"></a><a name="_Toc115416234"></a><a
!   name="_Toc126872303"></a><a name="_Toc139993226"></a><span style='mso-bookmark:
!   _Toc170268961'><span style='mso-bookmark:_Toc152605176'>Value: <span
!   class=SpellE>smbAuthType</span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD {0..2}<br>
    Default: 2</p>
    <p class=MsoBodyText>If this value is specified, it defines the type of SMB
--- 4750,4758 ----
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:151.75pt'>
    <h5><a name="_Toc170268961"></a><a name="_Toc152605176"></a><a
!   name="_Toc139993226"></a><a name="_Toc126872303"></a><a name="_Toc115416234"></a><a
!   name="_Value___:_smbAuthType"></a><span style='mso-bookmark:_Toc170268961'><span
!   style='mso-bookmark:_Toc152605176'>Value: smbAuthType</span></span></h5>
    <p class=MsoBodyText>Type: DWORD {0..2}<br>
    Default: 2</p>
    <p class=MsoBodyText>If this value is specified, it defines the type of SMB
***************
*** 4889,4914 ****
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:92.0pt'>
    <h5><a name="_Toc170268962"></a><a name="_Toc152605177"></a><a
!   name="_Value___:_MaxLogSize"></a><a name="_Toc115416235"></a><a
!   name="_Toc126872304"></a><a name="_Toc139993227"></a><span style='mso-bookmark:
!   _Toc170268962'><span style='mso-bookmark:_Toc152605177'>Value: <span
!   class=SpellE>MaxLogSize</span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD {0 .. MAXDWORD}<br>
    Default: 100K</p>
    <p class=MsoBodyText>This entry determines the maximum size of the
!   %WINDIR%\TEMP\<span class=SpellE>afsd_init.log</span> file.&nbsp; If the file
!   is larger than this value when afsd_service.exe starts the file will be reset
!   to 0 bytes.&nbsp; If this value is 0, it means the file should be allowed to
!   grow indefinitely.</p>
    </td>
   </tr>
   <tr style='mso-yfti-irow:35;height:65.75pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:65.75pt'>
    <h5><a name="_Toc170268963"></a><a name="_Toc152605178"></a><a
!   name="_Toc115416236"></a><a name="_Toc126872305"></a><a name="_Toc139993228"></a><span
    style='mso-bookmark:_Toc170268963'><span style='mso-bookmark:_Toc152605178'><span
!   style='mso-bookmark:_Toc115416236'>Value: <span class=SpellE>FlushOnHibernate</span></span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD {0,1}<br>
    Default: 1</p>
    <p class=MsoBodyText>If set, flushes all volumes before the machine goes on
--- 4768,4791 ----
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:92.0pt'>
    <h5><a name="_Toc170268962"></a><a name="_Toc152605177"></a><a
!   name="_Toc139993227"></a><a name="_Toc126872304"></a><a name="_Toc115416235"></a><a
!   name="_Value___:_MaxLogSize"></a><span style='mso-bookmark:_Toc170268962'><span
!   style='mso-bookmark:_Toc152605177'>Value: MaxLogSize</span></span></h5>
    <p class=MsoBodyText>Type: DWORD {0 .. MAXDWORD}<br>
    Default: 100K</p>
    <p class=MsoBodyText>This entry determines the maximum size of the
!   %WINDIR%\TEMP\afsd_init.log file.&nbsp; If the file is larger than this value
!   when afsd_service.exe starts the file will be reset to 0 bytes.&nbsp; If this
!   value is 0, it means the file should be allowed to grow indefinitely.</p>
    </td>
   </tr>
   <tr style='mso-yfti-irow:35;height:65.75pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:65.75pt'>
    <h5><a name="_Toc170268963"></a><a name="_Toc152605178"></a><a
!   name="_Toc115416236"></a><a name="_Toc139993228"></a><a name="_Toc126872305"></a><span
    style='mso-bookmark:_Toc170268963'><span style='mso-bookmark:_Toc152605178'><span
!   style='mso-bookmark:_Toc115416236'>Value: FlushOnHibernate</span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD {0,1}<br>
    Default: 1</p>
    <p class=MsoBodyText>If set, flushes all volumes before the machine goes on
***************
*** 4919,4926 ****
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:65.75pt'>
    <h5><a name="_Toc170268964"></a><a name="_Toc152605179"><span
!   style='mso-bookmark:_Toc170268964'>Value: </span></a><span class=SpellE><span
!   style='mso-bookmark:_Toc152605179'><span style='mso-bookmark:_Toc170268964'>daemonCheckDownInterval</span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD (seconds)<br>
    Default: 180</p>
    <p class=MsoBodyText><span style='mso-fareast-font-family:"Times New Roman"'>This
--- 4796,4802 ----
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:65.75pt'>
    <h5><a name="_Toc170268964"></a><a name="_Toc152605179"><span
!   style='mso-bookmark:_Toc170268964'>Value: daemonCheckDownInterval</span></a></h5>
    <p class=MsoBodyText>Type: DWORD (seconds)<br>
    Default: 180</p>
    <p class=MsoBodyText><span style='mso-fareast-font-family:"Times New Roman"'>This
***************
*** 4932,4939 ****
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:65.75pt'>
    <h5><a name="_Toc170268965"></a><a name="_Toc152605180"><span
!   style='mso-bookmark:_Toc170268965'>Value: </span></a><span class=SpellE><span
!   style='mso-bookmark:_Toc152605180'><span style='mso-bookmark:_Toc170268965'>daemonCheckUpInterval</span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD (seconds)<br>
    Default: 600</p>
    <p class=MsoBodyText>This value controls how frequently the AFS cache manager
--- 4808,4814 ----
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:65.75pt'>
    <h5><a name="_Toc170268965"></a><a name="_Toc152605180"><span
!   style='mso-bookmark:_Toc170268965'>Value: daemonCheckUpInterval</span></a></h5>
    <p class=MsoBodyText>Type: DWORD (seconds)<br>
    Default: 600</p>
    <p class=MsoBodyText>This value controls how frequently the AFS cache manager
***************
*** 4944,4951 ****
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:65.75pt'>
    <h5><a name="_Toc170268966"></a><a name="_Toc152605181"><span
!   style='mso-bookmark:_Toc170268966'>Value: </span></a><span class=SpellE><span
!   style='mso-bookmark:_Toc152605181'><span style='mso-bookmark:_Toc170268966'>daemonCheckVolInterval</span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD (seconds)<br>
    Default: 3600</p>
    <p class=MsoBodyText><span style='mso-fareast-font-family:"Times New Roman"'>This
--- 4819,4825 ----
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:65.75pt'>
    <h5><a name="_Toc170268966"></a><a name="_Toc152605181"><span
!   style='mso-bookmark:_Toc170268966'>Value: daemonCheckVolInterval</span></a></h5>
    <p class=MsoBodyText>Type: DWORD (seconds)<br>
    Default: 3600</p>
    <p class=MsoBodyText><span style='mso-fareast-font-family:"Times New Roman"'>This
***************
*** 4957,4964 ****
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:65.75pt'>
    <h5><a name="_Toc170268967"></a><a name="_Toc152605182"><span
!   style='mso-bookmark:_Toc170268967'>Value: </span></a><span class=SpellE><span
!   style='mso-bookmark:_Toc152605182'><span style='mso-bookmark:_Toc170268967'>daemonCheckCBInterval</span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD (seconds)<br>
    Default: 60</p>
    <p class=MsoBodyText><span style='mso-fareast-font-family:"Times New Roman"'>This
--- 4831,4837 ----
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:65.75pt'>
    <h5><a name="_Toc170268967"></a><a name="_Toc152605182"><span
!   style='mso-bookmark:_Toc170268967'>Value: daemonCheckCBInterval</span></a></h5>
    <p class=MsoBodyText>Type: DWORD (seconds)<br>
    Default: 60</p>
    <p class=MsoBodyText><span style='mso-fareast-font-family:"Times New Roman"'>This
***************
*** 4970,4977 ****
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:65.75pt'>
    <h5><a name="_Toc170268968"></a><a name="_Toc152605183"><span
!   style='mso-bookmark:_Toc170268968'>Value: </span></a><span class=SpellE><span
!   style='mso-bookmark:_Toc152605183'><span style='mso-bookmark:_Toc170268968'>daemonCheckLockInterval</span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD (seconds)<br>
    Default: 60</p>
    <p class=MsoBodyText><span style='mso-fareast-font-family:"Times New Roman"'>This
--- 4843,4849 ----
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:65.75pt'>
    <h5><a name="_Toc170268968"></a><a name="_Toc152605183"><span
!   style='mso-bookmark:_Toc170268968'>Value: daemonCheckLockInterval</span></a></h5>
    <p class=MsoBodyText>Type: DWORD (seconds)<br>
    Default: 60</p>
    <p class=MsoBodyText><span style='mso-fareast-font-family:"Times New Roman"'>This
***************
*** 4983,4990 ****
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:65.75pt'>
    <h5><a name="_Toc170268969"></a><a name="_Toc152605184"><span
!   style='mso-bookmark:_Toc170268969'>Value: </span></a><span class=SpellE><span
!   style='mso-bookmark:_Toc152605184'><span style='mso-bookmark:_Toc170268969'>daemonCheckTokenInterval</span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD (seconds)<br>
    Default: 180</p>
    <p class=MsoBodyText><span style='mso-fareast-font-family:"Times New Roman"'>This
--- 4855,4861 ----
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:65.75pt'>
    <h5><a name="_Toc170268969"></a><a name="_Toc152605184"><span
!   style='mso-bookmark:_Toc170268969'>Value: daemonCheckTokenInterval</span></a></h5>
    <p class=MsoBodyText>Type: DWORD (seconds)<br>
    Default: 180</p>
    <p class=MsoBodyText><span style='mso-fareast-font-family:"Times New Roman"'>This
***************
*** 4995,5002 ****
   <tr style='mso-yfti-irow:42;height:65.75pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:65.75pt'>
!   <h5><a name="_Toc170268970">Value: </a><span class=SpellE><span
!   style='mso-bookmark:_Toc170268970'>daemonCheckOfflineVolInterval</span></span></h5>
    <p class=MsoBodyText>Type: DWORD (seconds)<br>
    Default: 600</p>
    <p class=MsoBodyText>This value controls how frequently the AFS cache manager
--- 4866,4872 ----
   <tr style='mso-yfti-irow:42;height:65.75pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:65.75pt'>
!   <h5><a name="_Toc170268970">Value: daemonCheckOfflineVolInterval</a></h5>
    <p class=MsoBodyText>Type: DWORD (seconds)<br>
    Default: 600</p>
    <p class=MsoBodyText>This value controls how frequently the AFS cache manager
***************
*** 5009,5016 ****
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:65.75pt'>
    <h5><a name="_Toc170268971"></a><a name="_Toc152605185"><span
!   style='mso-bookmark:_Toc170268971'>Value: </span></a><span class=SpellE><span
!   style='mso-bookmark:_Toc152605185'><span style='mso-bookmark:_Toc170268971'>CallBackPort</span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD<br>
    Default: 7001</p>
    <p class=MsoBodyText>This value specifies which port number should be used
--- 4879,4885 ----
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:65.75pt'>
    <h5><a name="_Toc170268971"></a><a name="_Toc152605185"><span
!   style='mso-bookmark:_Toc170268971'>Value: CallBackPort</span></a></h5>
    <p class=MsoBodyText>Type: DWORD<br>
    Default: 7001</p>
    <p class=MsoBodyText>This value specifies which port number should be used
***************
*** 5026,5032 ****
    height:65.75pt'>
    <h5><a name="_Toc170268972"></a><a name="_Toc152605186"></a><a
    name="_Value:_EnableServerLocks"></a><span style='mso-bookmark:_Toc170268972'><span
!   style='mso-bookmark:_Toc152605186'>Value: <span class=SpellE>EnableServerLocks</span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD {0, 1, 2}<br>
    Default: 1</p>
    <p class=MsoBodyText>Determines whether or not the AFS file server is
--- 4895,4901 ----
    height:65.75pt'>
    <h5><a name="_Toc170268972"></a><a name="_Toc152605186"></a><a
    name="_Value:_EnableServerLocks"></a><span style='mso-bookmark:_Toc170268972'><span
!   style='mso-bookmark:_Toc152605186'>Value: EnableServerLocks</span></span></h5>
    <p class=MsoBodyText>Type: DWORD {0, 1, 2}<br>
    Default: 1</p>
    <p class=MsoBodyText>Determines whether or not the AFS file server is
***************
*** 5043,5052 ****
  
  <h3><a name="_Toc170268973"></a><a name="_Toc152605187"></a><a
  name="_Toc115416237"></a><a name="_Toc139993229"></a><a name="_Toc126872306"></a><span
- class=SpellE><span style='mso-bookmark:_Toc170268973'><span style='mso-bookmark:
- _Toc152605187'><span style='mso-bookmark:_Toc115416237'>Regkey</span></span></span></span><span
  style='mso-bookmark:_Toc170268973'><span style='mso-bookmark:_Toc152605187'><span
! style='mso-bookmark:_Toc115416237'>:<br>
  [HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters\GlobalAutoMapper]</span></span></span></h3>
  
  <table class=MsoNormalTable border=1 cellspacing=3 cellpadding=0
--- 4912,4919 ----
  
  <h3><a name="_Toc170268973"></a><a name="_Toc152605187"></a><a
  name="_Toc115416237"></a><a name="_Toc139993229"></a><a name="_Toc126872306"></a><span
  style='mso-bookmark:_Toc170268973'><span style='mso-bookmark:_Toc152605187'><span
! style='mso-bookmark:_Toc115416237'>Regkey:<br>
  [HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters\GlobalAutoMapper]</span></span></span></h3>
  
  <table class=MsoNormalTable border=1 cellspacing=3 cellpadding=0
***************
*** 5056,5068 ****
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:65.0pt'>
    <h5><a name="_Toc170268974"></a><a name="_Toc152605188"></a><a
!   name="_Toc115416238"></a><a name="_Toc126872307"></a><a name="_Toc139993230"></a><span
    style='mso-bookmark:_Toc170268974'><span style='mso-bookmark:_Toc152605188'><span
    style='mso-bookmark:_Toc115416238'>Value: &lt;Drive Letter:&gt; for example
    &quot;G:&quot;</span></span></span></h5>
    <p class=MsoBodyText>Type: REG_SZ</p>
!   <p class=MsoBodyText>Specifies the <span class=SpellE>submount</span> name to
!   be mapped by afsd_service.exe at startup to the provided drive letter.</p>
    <p class=MsoBodyText><b style='mso-bidi-font-weight:normal'><i
    style='mso-bidi-font-style:normal'>This option is deprecated.<o:p></o:p></i></b></p>
    </td>
--- 4923,4935 ----
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:65.0pt'>
    <h5><a name="_Toc170268974"></a><a name="_Toc152605188"></a><a
!   name="_Toc115416238"></a><a name="_Toc139993230"></a><a name="_Toc126872307"></a><span
    style='mso-bookmark:_Toc170268974'><span style='mso-bookmark:_Toc152605188'><span
    style='mso-bookmark:_Toc115416238'>Value: &lt;Drive Letter:&gt; for example
    &quot;G:&quot;</span></span></span></h5>
    <p class=MsoBodyText>Type: REG_SZ</p>
!   <p class=MsoBodyText>Specifies the submount name to be mapped by
!   afsd_service.exe at startup to the provided drive letter.</p>
    <p class=MsoBodyText><b style='mso-bidi-font-weight:normal'><i
    style='mso-bidi-font-style:normal'>This option is deprecated.<o:p></o:p></i></b></p>
    </td>
***************
*** 5071,5080 ****
  
  <h3><a name="_Toc170268975"></a><a name="_Toc152605189"></a><a
  name="_Toc115416239"></a><a name="_Toc139993231"></a><a name="_Toc126872308"></a><span
- class=SpellE><span style='mso-bookmark:_Toc170268975'><span style='mso-bookmark:
- _Toc152605189'><span style='mso-bookmark:_Toc115416239'>Regkey</span></span></span></span><span
  style='mso-bookmark:_Toc170268975'><span style='mso-bookmark:_Toc152605189'><span
! style='mso-bookmark:_Toc115416239'>:<br>
  [HKLM\SOFTWARE\OpenAFS\Client]</span></span></span></h3>
  
  <table class=MsoNormalTable border=1 cellspacing=3 cellpadding=0
--- 4938,4945 ----
  
  <h3><a name="_Toc170268975"></a><a name="_Toc152605189"></a><a
  name="_Toc115416239"></a><a name="_Toc139993231"></a><a name="_Toc126872308"></a><span
  style='mso-bookmark:_Toc170268975'><span style='mso-bookmark:_Toc152605189'><span
! style='mso-bookmark:_Toc115416239'>Regkey:<br>
  [HKLM\SOFTWARE\OpenAFS\Client]</span></span></span></h3>
  
  <table class=MsoNormalTable border=1 cellspacing=3 cellpadding=0
***************
*** 5083,5107 ****
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:78.5pt'>
    <h5><a name="_Toc170268976"></a><a name="_Toc152605190"></a><a
!   name="_Value___:_CellServDBDir"></a><a name="_Toc115416240"></a><a
!   name="_Toc126872309"></a><a name="_Toc139993232"></a><span style='mso-bookmark:
!   _Toc170268976'><span style='mso-bookmark:_Toc152605190'>Value: <span
!   class=SpellE>CellServDBDir</span></span></span></h5>
    <p class=MsoBodyText>Type: REG_SZ<br>
    Default: &lt;not defined&gt;</p>
!   <p class=MsoBodyText>Specifies the directory containing the <span
!   class=SpellE>CellServDB</span> file.&nbsp; When this value is not specified,
!   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:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:145.25pt'>
    <h5><a name="_Toc170268977"></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:
!   _Toc170268977'><span style='mso-bookmark:_Toc152605191'>Value: <span
!   class=SpellE>VerifyServiceSignature</span></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
--- 4948,4970 ----
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:78.5pt'>
    <h5><a name="_Toc170268976"></a><a name="_Toc152605190"></a><a
!   name="_Toc139993232"></a><a name="_Toc126872309"></a><a name="_Toc115416240"></a><a
!   name="_Value___:_CellServDBDir"></a><span style='mso-bookmark:_Toc170268976'><span
!   style='mso-bookmark:_Toc152605190'>Value: CellServDBDir</span></span></h5>
    <p class=MsoBodyText>Type: REG_SZ<br>
    Default: &lt;not defined&gt;</p>
!   <p class=MsoBodyText>Specifies the directory containing the CellServDB
!   file.&nbsp; When this value is not specified, 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:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:145.25pt'>
    <h5><a name="_Toc170268977"></a><a name="_Toc152605191"></a><a
!   name="_Toc139993233"></a><a name="_Toc126872310"></a><a name="_Toc115416241"></a><a
!   name="_Value___:_VerifyServiceSignature"></a><span style='mso-bookmark:_Toc170268977'><span
!   style='mso-bookmark:_Toc152605191'>Value: VerifyServiceSignature</span></span></h5>
    <p class=MsoBodyText>Type: REG_DWORD<br>
    Default: 0x1</p>
    <p class=MsoBodyText>This value can be used to disable the runtime
***************
*** 5119,5202 ****
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:105.5pt'>
    <h5><a name="_Toc170268978"></a><a name="_Toc152605192"></a><a
!   name="_Value___:_IoctlDebug"></a><a name="_Toc115416242"></a><a
!   name="_Toc126872311"></a><a name="_Toc139993234"></a><a
!   name="_Value:_IoctlDebug"></a><span style='mso-bookmark:_Toc170268978'><span
!   style='mso-bookmark:_Toc152605192'>Value: <span class=SpellE>IoctlDebug</span></span></span></h5>
    <p class=MsoBodyText>Type: REG_DWORD<br>
    Default: 0x0</p>
!   <p class=MsoBodyText>This value can be used to debug the cause of <span
!   class=SpellE>pioctl</span>() failures.&nbsp; Set a non-zero value and the <span
!   class=SpellE>pioctl</span>() library will output status information to <span
!   class=SpellE>stdout</span>.&nbsp; Executing command line tools such as
!   tokens.exe, fs.exe, etc can then be used to determine why the <span
!   class=SpellE>pioctl</span>() call is failing. </p>
    </td>
   </tr>
   <tr style='mso-yfti-irow:3;height:330.75pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:330.75pt'>
    <h5><a name="_Toc170268979"></a><a name="_Toc152605193"></a><a
!   name="_Toc115416243"></a><a name="_Toc126872312"></a><a name="_Toc139993235"></a><span
    style='mso-bookmark:_Toc170268979'><span style='mso-bookmark:_Toc152605193'><span
!   style='mso-bookmark:_Toc115416243'>Value: <span class=SpellE>MiniDumpType</span></span></span></span></h5>
    <p class=MsoBodyText>Type: REG_DWORD<br>
!   Default: 0x0 (<span class=SpellE>MiniDumpNormal</span>)</p>
!   <p class=MsoBodyText>This value is used to specify the type of <span
!   class=SpellE>minidump</span> generated by afsd_service.exe either when the
!   process crashes or when a user initiated is dump file is generated with the
!   &quot;fs.exe <span class=SpellE>minidump</span>&quot; command.</p>
    <p class=MsoBodyText>Valid values are dependent on the version of DbgHelp.dll
    installed on the machine.&nbsp; See the Microsoft Developer Library for
    further information.</p>
!   <p class=MsoBodyText><span class=SpellE>MiniDumpNormal</span> = 0x00000000,<br>
!   <span class=SpellE>MiniDumpWithDataSegs</span> = 0x00000001,<br>
!   <span class=SpellE>MiniDumpWithFullMemory</span> = 0x00000002,<br>
!   <span class=SpellE>MiniDumpWithHandleData</span> = 0x00000004,<br>
!   <span class=SpellE>MiniDumpFilterMemory</span> = 0x00000008,<br>
!   <span class=SpellE>MiniDumpScanMemory</span> = 0x00000010,<br>
!   <span class=SpellE>MiniDumpWithUnloadedModules</span> = 0x00000020,<br>
!   <span class=SpellE>MiniDumpWithIndirectlyReferencedMemory</span> =
!   0x00000040,<br>
!   <span class=SpellE>MiniDumpFilterModulePaths</span> = 0x00000080,<br>
!   <span class=SpellE>MiniDumpWithProcessThreadData</span> = 0x00000100,<br>
!   <span class=SpellE>MiniDumpWithPrivateReadWriteMemory</span> = 0x00000200,<br>
!   <span class=SpellE>MiniDumpWithoutOptionalData</span> = 0x00000400,<br>
!   <span class=SpellE>MiniDumpWithFullMemoryInfo</span> = 0x00000800,<br>
!   <span class=SpellE>MiniDumpWithThreadInfo</span> = 0x00001000,<br>
!   <span class=SpellE>MiniDumpWithCodeSegs</span> = 0x00002000</p>
    </td>
   </tr>
   <tr style='mso-yfti-irow:4;mso-yfti-lastrow:yes;height:138.25pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:138.25pt'>
    <h5><a name="_Toc170268980"></a><a name="_Toc152605194"></a><a
!   name="_Value___:_StoreAnsiFilenames"></a><a name="_Toc115416244"></a><a
!   name="_Toc126872313"></a><a name="_Toc139993236"></a><span style='mso-bookmark:
!   _Toc170268980'><span style='mso-bookmark:_Toc152605194'>Value: <span
!   class=SpellE>StoreAnsiFilenames</span></span></span></h5>
    <p class=MsoBodyText>Type: REG_DWORD<br>
    Default: 0x0</p>
!   <p class=MsoBodyText>This value can be used to force the AFS Client Service
!   to store filenames using the Windows system's ANSI character set instead of
!   the OEM Code Page character set which has traditionally been used by SMB file
    systems.&nbsp; </p>
    <p class=MsoBodyText>Note: The use of ANSI characters will render access to
!   files with 8-bit OEM file names <span class=SpellE>unaccessible</span> 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.</p>
    </td>
   </tr>
  </table>
  
  <h3><a name="_Toc170268981"></a><a name="_Toc152605195"></a><a
  name="_Toc115416245"></a><a name="_Toc139993237"></a><a name="_Toc126872314"></a><span
- class=SpellE><span style='mso-bookmark:_Toc170268981'><span style='mso-bookmark:
- _Toc152605195'><span style='mso-bookmark:_Toc115416245'>Regkey</span></span></span></span><span
  style='mso-bookmark:_Toc170268981'><span style='mso-bookmark:_Toc152605195'><span
! style='mso-bookmark:_Toc115416245'>:<br>
! [HKLM\SOFTWARE\OpenAFS\Client\<span class=SpellE>CSCPolicy</span>]</span></span></span></h3>
  
  <table class=MsoNormalTable border=1 cellspacing=3 cellpadding=0
   style='mso-cellspacing:2.2pt;mso-padding-alt:0pt 0pt 0pt 0pt'>
--- 4982,5059 ----
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:105.5pt'>
    <h5><a name="_Toc170268978"></a><a name="_Toc152605192"></a><a
!   name="_Value:_IoctlDebug"></a><a name="_Toc139993234"></a><a
!   name="_Toc126872311"></a><a name="_Toc115416242"></a><a
!   name="_Value___:_IoctlDebug"></a><span style='mso-bookmark:_Toc170268978'><span
!   style='mso-bookmark:_Toc152605192'>Value: IoctlDebug</span></span></h5>
    <p class=MsoBodyText>Type: REG_DWORD<br>
    Default: 0x0</p>
!   <p class=MsoBodyText>This value can be used to debug the cause of pioctl()
!   failures.&nbsp; Set a non-zero value and the pioctl() library will output
!   status information to stdout.&nbsp; Executing command line tools such as
!   tokens.exe, fs.exe, etc can then be used to determine why the pioctl() call
!   is failing. </p>
    </td>
   </tr>
   <tr style='mso-yfti-irow:3;height:330.75pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:330.75pt'>
    <h5><a name="_Toc170268979"></a><a name="_Toc152605193"></a><a
!   name="_Toc115416243"></a><a name="_Toc139993235"></a><a name="_Toc126872312"></a><span
    style='mso-bookmark:_Toc170268979'><span style='mso-bookmark:_Toc152605193'><span
!   style='mso-bookmark:_Toc115416243'>Value: MiniDumpType</span></span></span></h5>
    <p class=MsoBodyText>Type: REG_DWORD<br>
!   Default: 0x0 (MiniDumpNormal)</p>
!   <p class=MsoBodyText>This value is used to specify the type of minidump
!   generated by afsd_service.exe either when the process crashes or when a user
!   initiated is dump file is generated with the &quot;fs.exe minidump&quot;
!   command.</p>
    <p class=MsoBodyText>Valid values are dependent on the version of DbgHelp.dll
    installed on the machine.&nbsp; See the Microsoft Developer Library for
    further information.</p>
!   <p class=MsoBodyText>MiniDumpNormal = 0x00000000,<br>
!   MiniDumpWithDataSegs = 0x00000001,<br>
!   MiniDumpWithFullMemory = 0x00000002,<br>
!   MiniDumpWithHandleData = 0x00000004,<br>
!   MiniDumpFilterMemory = 0x00000008,<br>
!   MiniDumpScanMemory = 0x00000010,<br>
!   MiniDumpWithUnloadedModules = 0x00000020,<br>
!   MiniDumpWithIndirectlyReferencedMemory = 0x00000040,<br>
!   MiniDumpFilterModulePaths = 0x00000080,<br>
!   MiniDumpWithProcessThreadData = 0x00000100,<br>
!   MiniDumpWithPrivateReadWriteMemory = 0x00000200,<br>
!   MiniDumpWithoutOptionalData = 0x00000400,<br>
!   MiniDumpWithFullMemoryInfo = 0x00000800,<br>
!   MiniDumpWithThreadInfo = 0x00001000,<br>
!   MiniDumpWithCodeSegs = 0x00002000</p>
    </td>
   </tr>
   <tr style='mso-yfti-irow:4;mso-yfti-lastrow:yes;height:138.25pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:138.25pt'>
    <h5><a name="_Toc170268980"></a><a name="_Toc152605194"></a><a
!   name="_Toc139993236"></a><a name="_Toc126872313"></a><a name="_Toc115416244"></a><a
!   name="_Value___:_StoreAnsiFilenames"></a><span style='mso-bookmark:_Toc170268980'><span
!   style='mso-bookmark:_Toc152605194'>Value: StoreAnsiFilenames</span></span></h5>
    <p class=MsoBodyText>Type: REG_DWORD<br>
    Default: 0x0</p>
!   <p class=MsoBodyText>This value can be used to force the AFS Client Service to
!   store filenames using the Windows system's ANSI character set instead of the
!   OEM Code Page character set which has traditionally been used by SMB file
    systems.&nbsp; </p>
    <p class=MsoBodyText>Note: The use of ANSI characters will render access to
!   files with 8-bit OEM file names unaccessible from Windows.&nbsp; This option
!   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.</p>
    </td>
   </tr>
  </table>
  
  <h3><a name="_Toc170268981"></a><a name="_Toc152605195"></a><a
  name="_Toc115416245"></a><a name="_Toc139993237"></a><a name="_Toc126872314"></a><span
  style='mso-bookmark:_Toc170268981'><span style='mso-bookmark:_Toc152605195'><span
! style='mso-bookmark:_Toc115416245'>Regkey:<br>
! [HKLM\SOFTWARE\OpenAFS\Client\CSCPolicy]</span></span></span></h3>
  
  <table class=MsoNormalTable border=1 cellspacing=3 cellpadding=0
   style='mso-cellspacing:2.2pt;mso-padding-alt:0pt 0pt 0pt 0pt'>
***************
*** 5205,5214 ****
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:112.0pt'>
    <h5><a name="_Toc170268982"></a><a name="_Toc152605196"></a><a
!   name="_Toc115416246"></a><a name="_Toc126872315"></a><a name="_Toc139993238"></a><span
    style='mso-bookmark:_Toc170268982'><span style='mso-bookmark:_Toc152605196'><span
!   style='mso-bookmark:_Toc115416246'>Value: &quot;<span class=SpellE>smb/cifs</span>
!   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
--- 5062,5070 ----
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:112.0pt'>
    <h5><a name="_Toc170268982"></a><a name="_Toc152605196"></a><a
!   name="_Toc115416246"></a><a name="_Toc139993238"></a><a name="_Toc126872315"></a><span
    style='mso-bookmark:_Toc170268982'><span style='mso-bookmark:_Toc152605196'><span
!   style='mso-bookmark:_Toc115416246'>Value: &quot;smb/cifs share name&quot;</span></span></span></h5>
    <p class=MsoBodyText>Type: REG_SZ<br>
    Default: &lt;none&gt;</p>
    <p class=MsoBodyText>This key is used to map SMB/CIFS shares to Client Side
***************
*** 5222,5230 ****
  
  <h3><a name="_Toc170268983"></a><a name="_Toc152605197"></a><a
  name="_Toc139993239"></a><a name="_Toc126872316"></a><a name="_Toc115416247"></a><a
! name="_Regkey:_[HKLM\SOFTWARE\OpenAFS\Clie"></a><span class=SpellE><span
! style='mso-bookmark:_Toc170268983'><span style='mso-bookmark:_Toc152605197'>Regkey</span></span></span><span
! style='mso-bookmark:_Toc170268983'><span style='mso-bookmark:_Toc152605197'>:<br>
  [HKLM\SOFTWARE\OpenAFS\Client\Freelance]</span></span></h3>
  
  <table class=MsoNormalTable border=1 cellspacing=3 cellpadding=0
--- 5078,5085 ----
  
  <h3><a name="_Toc170268983"></a><a name="_Toc152605197"></a><a
  name="_Toc139993239"></a><a name="_Toc126872316"></a><a name="_Toc115416247"></a><a
! name="_Regkey:_[HKLM\SOFTWARE\OpenAFS\Clie"></a><span style='mso-bookmark:_Toc170268983'><span
! style='mso-bookmark:_Toc152605197'>Regkey:<br>
  [HKLM\SOFTWARE\OpenAFS\Client\Freelance]</span></span></h3>
  
  <table class=MsoNormalTable border=1 cellspacing=3 cellpadding=0
***************
*** 5234,5249 ****
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:138.5pt'>
    <h5><a name="_Toc170268984"></a><a name="_Toc152605198"></a><a
!   name="_Toc115416248"></a><a name="_Toc126872317"></a><a name="_Toc139993240"></a><span
    style='mso-bookmark:_Toc170268984'><span style='mso-bookmark:_Toc152605198'><span
    style='mso-bookmark:_Toc115416248'>Value: &quot;numeric value&quot;</span></span></span></h5>
    <p class=MsoBodyText>Type: REG_SZ<br>
    Default: &lt;none&gt;</p>
    <p class=MsoBodyText>This key is used to store dot terminated mount point
!   strings for use in constructing the fake <span class=SpellE>root.afs</span>
!   volume when Freelance (dynamic roots) mode is activated.</p>
!   <p class=MsoBodyText>&quot;<span class=SpellE>athena.mit.edu#athena.mit.edu:root.cell</span>.&quot;</p>
!   <p class=MsoBodyText>&quot;.<span class=SpellE>athena.mit.edu%athena.mit.edu:root.cell</span>.&quot;</p>
    <p class=MsoBodyText>These values used to be stored in afs_freelance.ini</p>
    </td>
   </tr>
--- 5089,5104 ----
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:138.5pt'>
    <h5><a name="_Toc170268984"></a><a name="_Toc152605198"></a><a
!   name="_Toc115416248"></a><a name="_Toc139993240"></a><a name="_Toc126872317"></a><span
    style='mso-bookmark:_Toc170268984'><span style='mso-bookmark:_Toc152605198'><span
    style='mso-bookmark:_Toc115416248'>Value: &quot;numeric value&quot;</span></span></span></h5>
    <p class=MsoBodyText>Type: REG_SZ<br>
    Default: &lt;none&gt;</p>
    <p class=MsoBodyText>This key is used to store dot terminated mount point
!   strings for use in constructing the fake root.afs volume when Freelance
!   (dynamic roots) mode is activated.</p>
!   <p class=MsoBodyText>&quot;athena.mit.edu#athena.mit.edu:root.cell.&quot;</p>
!   <p class=MsoBodyText>&quot;.athena.mit.edu%athena.mit.edu:root.cell.&quot;</p>
    <p class=MsoBodyText>These values used to be stored in afs_freelance.ini</p>
    </td>
   </tr>
***************
*** 5251,5259 ****
  
  <h3><a name="_Toc170268985"></a><a name="_Toc152605199"></a><a
  name="_Toc139993241"></a><a name="_Toc126872318"></a><a name="_Toc115416249"></a><a
! name="_Regkey:_[HKLM\SOFTWARE\OpenAFS\Clie_1"></a><span class=SpellE><span
! style='mso-bookmark:_Toc170268985'><span style='mso-bookmark:_Toc152605199'>Regkey</span></span></span><span
! style='mso-bookmark:_Toc170268985'><span style='mso-bookmark:_Toc152605199'>:<br>
  [HKLM\SOFTWARE\OpenAFS\Client\Freelance\Symlinks]</span></span></h3>
  
  <table class=MsoNormalTable border=1 cellspacing=3 cellpadding=0
--- 5106,5113 ----
  
  <h3><a name="_Toc170268985"></a><a name="_Toc152605199"></a><a
  name="_Toc139993241"></a><a name="_Toc126872318"></a><a name="_Toc115416249"></a><a
! name="_Regkey:_[HKLM\SOFTWARE\OpenAFS\Clie_1"></a><span style='mso-bookmark:
! _Toc170268985'><span style='mso-bookmark:_Toc152605199'>Regkey:<br>
  [HKLM\SOFTWARE\OpenAFS\Client\Freelance\Symlinks]</span></span></h3>
  
  <table class=MsoNormalTable border=1 cellspacing=3 cellpadding=0
***************
*** 5263,5292 ****
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:145.0pt'>
    <h5><a name="_Toc170268986"></a><a name="_Toc152605200"></a><a
!   name="_Toc115416250"></a><a name="_Toc126872319"></a><a name="_Toc139993242"></a><span
    style='mso-bookmark:_Toc170268986'><span style='mso-bookmark:_Toc152605200'><span
    style='mso-bookmark:_Toc115416250'>Value: &quot;numeric value&quot;</span></span></span></h5>
    <p class=MsoBodyText>Type: REG_SZ<br>
    Default: &lt;none&gt;</p>
!   <p class=MsoBodyText>This key is used to store a dot terminated <span
!   class=SpellE>symlink</span> strings for use in constructing the fake <span
!   class=SpellE>root.afs</span> volume when Freelance (dynamic roots) mode is
!   activated.</p>
!   <p class=MsoBodyText>&quot;<span class=SpellE>linkname:destination</span>-path.&quot;</p>
    <p class=MsoBodyText>&quot;athena:athena.mit.edu.&quot;</p>
!   <p class=MsoBodyText>&quot;<span class=SpellE>home:athena.mit.edu\user\j\a\jaltman</span>.&quot;</p>
!   <p class=MsoBodyText>&quot;<span class=SpellE>filename:path</span>\file.&quot;</p>
    </td>
   </tr>
  </table>
  
  <h3><a name="_Toc170268987"></a><a name="_Toc152605201"></a><a
  name="_Toc115416251"></a><a name="_Toc139993243"></a><a name="_Toc126872320"></a><span
- class=SpellE><span style='mso-bookmark:_Toc170268987'><span style='mso-bookmark:
- _Toc152605201'><span style='mso-bookmark:_Toc115416251'>Regkey</span></span></span></span><span
  style='mso-bookmark:_Toc170268987'><span style='mso-bookmark:_Toc152605201'><span
! style='mso-bookmark:_Toc115416251'>:<br>
! [HKLM\SOFTWARE\OpenAFS\Client\<span class=SpellE>Submounts</span>]</span></span></span></h3>
  
  <table class=MsoNormalTable border=1 cellspacing=3 cellpadding=0
   style='mso-cellspacing:2.2pt;mso-padding-alt:0pt 0pt 0pt 0pt'>
--- 5117,5143 ----
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:145.0pt'>
    <h5><a name="_Toc170268986"></a><a name="_Toc152605200"></a><a
!   name="_Toc115416250"></a><a name="_Toc139993242"></a><a name="_Toc126872319"></a><span
    style='mso-bookmark:_Toc170268986'><span style='mso-bookmark:_Toc152605200'><span
    style='mso-bookmark:_Toc115416250'>Value: &quot;numeric value&quot;</span></span></span></h5>
    <p class=MsoBodyText>Type: REG_SZ<br>
    Default: &lt;none&gt;</p>
!   <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>
!   <p class=MsoBodyText>&quot;filename:path\file.&quot;</p>
    </td>
   </tr>
  </table>
  
  <h3><a name="_Toc170268987"></a><a name="_Toc152605201"></a><a
  name="_Toc115416251"></a><a name="_Toc139993243"></a><a name="_Toc126872320"></a><span
  style='mso-bookmark:_Toc170268987'><span style='mso-bookmark:_Toc152605201'><span
! style='mso-bookmark:_Toc115416251'>Regkey:<br>
! [HKLM\SOFTWARE\OpenAFS\Client\Submounts]</span></span></span></h3>
  
  <table class=MsoNormalTable border=1 cellspacing=3 cellpadding=0
   style='mso-cellspacing:2.2pt;mso-padding-alt:0pt 0pt 0pt 0pt'>
***************
*** 5295,5326 ****
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:171.75pt'>
    <h5><a name="_Toc170268988"></a><a name="_Toc152605202"></a><a
!   name="_Toc115416252"></a><a name="_Toc126872321"></a><a name="_Toc139993244"></a><span
    style='mso-bookmark:_Toc170268988'><span style='mso-bookmark:_Toc152605202'><span
!   style='mso-bookmark:_Toc115416252'>Value: &quot;<span class=SpellE>submount</span>
!   name&quot;</span></span></span></h5>
    <p class=MsoBodyText>Type: REG_EXPAND_SZ<br>
    Default: &lt;none&gt;</p>
    <p class=MsoBodyText>This key is used to store mappings of UNIX style AFS
!   paths to <span class=SpellE>submount</span> names which can be referenced as
!   UNC paths.&nbsp; For example the <span class=SpellE>submount</span> string “/<span
!   class=SpellE>athena.mit.edu/user/j/a/jaltman</span>&quot; can be associated
!   with the <span class=SpellE>submount</span> name &quot;<span class=SpellE>jaltman.home</span>&quot;.&nbsp;
!   This can then be referenced as the UNC path \\AFS\jaltman.home.</p>
    <p class=MsoBodyText>These values used to be stored in afsdsbmt.ini</p>
!   <p class=MsoBodyText>NOTE: <span class=SpellE>Submounts</span> should no
!   longer be used with OpenAFS. Use the Windows Explorer to create drive
!   mappings to AFS UNC paths instead of using the AFS <span class=SpellE>Submount</span>
!   mechanism.</p>
    </td>
   </tr>
  </table>
  
  <h3><a name="_Toc170268989"></a><a name="_Toc152605203"></a><a
  name="_Toc139993245"></a><a name="_Toc126872322"></a><a name="_Toc115416253"></a><a
! name="_Regkey:_[HKLM\SOFTWARE\OpenAFS\Clie_2"></a><span class=SpellE><span
! style='mso-bookmark:_Toc170268989'><span style='mso-bookmark:_Toc152605203'>Regkey</span></span></span><span
! style='mso-bookmark:_Toc170268989'><span style='mso-bookmark:_Toc152605203'>:<br>
  [HKLM\SOFTWARE\OpenAFS\Client\Server Preferences\VLDB]</span></span></h3>
  
  <table class=MsoNormalTable border=1 cellspacing=3 cellpadding=0
--- 5146,5173 ----
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:171.75pt'>
    <h5><a name="_Toc170268988"></a><a name="_Toc152605202"></a><a
!   name="_Toc115416252"></a><a name="_Toc139993244"></a><a name="_Toc126872321"></a><span
    style='mso-bookmark:_Toc170268988'><span style='mso-bookmark:_Toc152605202'><span
!   style='mso-bookmark:_Toc115416252'>Value: &quot;submount name&quot;</span></span></span></h5>
    <p class=MsoBodyText>Type: REG_EXPAND_SZ<br>
    Default: &lt;none&gt;</p>
    <p class=MsoBodyText>This key is used to store mappings of UNIX style AFS
!   paths to submount names which can be referenced as UNC paths.&nbsp; For
!   example the submount string “/athena.mit.edu/user/j/a/jaltman&quot; can be
!   associated with the submount name &quot;jaltman.home&quot;.&nbsp; This can
!   then be referenced as the UNC path \\AFS\jaltman.home.</p>
    <p class=MsoBodyText>These values used to be stored in afsdsbmt.ini</p>
!   <p class=MsoBodyText>NOTE: Submounts should no longer be used with OpenAFS.
!   Use the Windows Explorer to create drive mappings to AFS UNC paths instead of
!   using the AFS Submount mechanism.</p>
    </td>
   </tr>
  </table>
  
  <h3><a name="_Toc170268989"></a><a name="_Toc152605203"></a><a
  name="_Toc139993245"></a><a name="_Toc126872322"></a><a name="_Toc115416253"></a><a
! name="_Regkey:_[HKLM\SOFTWARE\OpenAFS\Clie_2"></a><span style='mso-bookmark:
! _Toc170268989'><span style='mso-bookmark:_Toc152605203'>Regkey:<br>
  [HKLM\SOFTWARE\OpenAFS\Client\Server Preferences\VLDB]</span></span></h3>
  
  <table class=MsoNormalTable border=1 cellspacing=3 cellpadding=0
***************
*** 5330,5339 ****
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:105.5pt'>
    <h5><a name="_Toc170268990"></a><a name="_Toc152605204"></a><a
!   name="_Toc115416254"></a><a name="_Toc126872323"></a><a name="_Toc139993246"></a><span
    style='mso-bookmark:_Toc170268990'><span style='mso-bookmark:_Toc152605204'><span
!   style='mso-bookmark:_Toc115416254'>Value: &quot;hostname or <span
!   class=SpellE>ip</span> address&quot;</span></span></span></h5>
    <p class=MsoBodyText>Type: REG_DWORD<br>
    Default: &lt;none&gt;</p>
    <p class=MsoBodyText>This key is used to specify a default set of VLDB server
--- 5177,5185 ----
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:105.5pt'>
    <h5><a name="_Toc170268990"></a><a name="_Toc152605204"></a><a
!   name="_Toc115416254"></a><a name="_Toc139993246"></a><a name="_Toc126872323"></a><span
    style='mso-bookmark:_Toc170268990'><span style='mso-bookmark:_Toc152605204'><span
!   style='mso-bookmark:_Toc115416254'>Value: &quot;hostname or ip address&quot;</span></span></span></h5>
    <p class=MsoBodyText>Type: REG_DWORD<br>
    Default: &lt;none&gt;</p>
    <p class=MsoBodyText>This key is used to specify a default set of VLDB server
***************
*** 5347,5356 ****
  
  <h3><a name="_Toc170268991"></a><a name="_Toc152605205"></a><a
  name="_Toc115416255"></a><a name="_Toc139993247"></a><a name="_Toc126872324"></a><span
- class=SpellE><span style='mso-bookmark:_Toc170268991'><span style='mso-bookmark:
- _Toc152605205'><span style='mso-bookmark:_Toc115416255'>Regkey</span></span></span></span><span
  style='mso-bookmark:_Toc170268991'><span style='mso-bookmark:_Toc152605205'><span
! style='mso-bookmark:_Toc115416255'>:<br>
  [HKLM\SOFTWARE\OpenAFS\Client\Server Preferences\File]</span></span></span></h3>
  
  <table class=MsoNormalTable border=1 cellspacing=3 cellpadding=0
--- 5193,5200 ----
  
  <h3><a name="_Toc170268991"></a><a name="_Toc152605205"></a><a
  name="_Toc115416255"></a><a name="_Toc139993247"></a><a name="_Toc126872324"></a><span
  style='mso-bookmark:_Toc170268991'><span style='mso-bookmark:_Toc152605205'><span
! style='mso-bookmark:_Toc115416255'>Regkey:<br>
  [HKLM\SOFTWARE\OpenAFS\Client\Server Preferences\File]</span></span></span></h3>
  
  <table class=MsoNormalTable border=1 cellspacing=3 cellpadding=0
***************
*** 5360,5376 ****
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:105.5pt'>
    <h5><a name="_Toc170268992"></a><a name="_Toc152605206"></a><a
!   name="_Toc115416256"></a><a name="_Toc126872325"></a><a name="_Toc139993248"></a><span
    style='mso-bookmark:_Toc170268992'><span style='mso-bookmark:_Toc152605206'><span
!   style='mso-bookmark:_Toc115416256'>Value: &quot;hostname or <span
!   class=SpellE>ip</span> address&quot;</span></span></span></h5>
    <p class=MsoBodyText>Type: REG_DWORD<br>
    Default: &lt;none&gt;</p>
    <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>
--- 5204,5219 ----
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:105.5pt'>
    <h5><a name="_Toc170268992"></a><a name="_Toc152605206"></a><a
!   name="_Toc115416256"></a><a name="_Toc139993248"></a><a name="_Toc126872325"></a><span
    style='mso-bookmark:_Toc170268992'><span style='mso-bookmark:_Toc152605206'><span
!   style='mso-bookmark:_Toc115416256'>Value: &quot;hostname or ip address&quot;</span></span></span></h5>
    <p class=MsoBodyText>Type: REG_DWORD<br>
    Default: &lt;none&gt;</p>
    <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>
***************
*** 5385,5394 ****
  
  <h3><a name="_Toc170268994"></a><a name="_Toc152605208"></a><a
  name="_Toc115416258"></a><a name="_Toc139993250"></a><a name="_Toc126872327"></a><span
- class=SpellE><span style='mso-bookmark:_Toc170268994'><span style='mso-bookmark:
- _Toc152605208'><span style='mso-bookmark:_Toc115416258'>Regkey</span></span></span></span><span
  style='mso-bookmark:_Toc170268994'><span style='mso-bookmark:_Toc152605208'><span
! style='mso-bookmark:_Toc115416258'>:
  [HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters]</span></span></span></h3>
  
  <table class=MsoNormalTable border=1 cellspacing=3 cellpadding=0
--- 5228,5235 ----
  
  <h3><a name="_Toc170268994"></a><a name="_Toc152605208"></a><a
  name="_Toc115416258"></a><a name="_Toc139993250"></a><a name="_Toc126872327"></a><span
  style='mso-bookmark:_Toc170268994'><span style='mso-bookmark:_Toc152605208'><span
! style='mso-bookmark:_Toc115416258'>Regkey:
  [HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters]</span></span></span></h3>
  
  <table class=MsoNormalTable border=1 cellspacing=3 cellpadding=0
***************
*** 5398,5406 ****
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:65.75pt'>
    <h5><a name="_Toc170268995"></a><a name="_Toc152605209"></a><a
!   name="_Toc115416259"></a><a name="_Toc126872328"></a><a name="_Toc139993251"></a><span
    style='mso-bookmark:_Toc170268995'><span style='mso-bookmark:_Toc152605209'><span
!   style='mso-bookmark:_Toc115416259'>Value: <span class=SpellE>FailLoginsSilently</span></span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD<br>
    Default: 0</p>
    <p class=MsoBodyText>Do not display message boxes if the login fails.</p>
--- 5239,5247 ----
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:65.75pt'>
    <h5><a name="_Toc170268995"></a><a name="_Toc152605209"></a><a
!   name="_Toc115416259"></a><a name="_Toc139993251"></a><a name="_Toc126872328"></a><span
    style='mso-bookmark:_Toc170268995'><span style='mso-bookmark:_Toc152605209'><span
!   style='mso-bookmark:_Toc115416259'>Value: FailLoginsSilently</span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD<br>
    Default: 0</p>
    <p class=MsoBodyText>Do not display message boxes if the login fails.</p>
***************
*** 5410,5419 ****
  
  <h3><a name="_Toc170268996"></a><a name="_Toc152605210"></a><a
  name="_Toc115416260"></a><a name="_Toc139993252"></a><a name="_Toc126872329"></a><span
- class=SpellE><span style='mso-bookmark:_Toc170268996'><span style='mso-bookmark:
- _Toc152605210'><span style='mso-bookmark:_Toc115416260'>Regkey</span></span></span></span><span
  style='mso-bookmark:_Toc170268996'><span style='mso-bookmark:_Toc152605210'><span
! style='mso-bookmark:_Toc115416260'>:<br>
  [HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider]</span></span></span></h3>
  
  <table class=MsoNormalTable border=1 cellspacing=3 cellpadding=0
--- 5251,5258 ----
  
  <h3><a name="_Toc170268996"></a><a name="_Toc152605210"></a><a
  name="_Toc115416260"></a><a name="_Toc139993252"></a><a name="_Toc126872329"></a><span
  style='mso-bookmark:_Toc170268996'><span style='mso-bookmark:_Toc152605210'><span
! style='mso-bookmark:_Toc115416260'>Regkey:<br>
  [HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider]</span></span></span></h3>
  
  <table class=MsoNormalTable border=1 cellspacing=3 cellpadding=0
***************
*** 5422,5430 ****
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:65.75pt'>
    <h5><a name="_Toc170268997"></a><a name="_Toc152605211"></a><a
!   name="_Toc115416261"></a><a name="_Toc126872330"></a><a name="_Toc139993253"></a><span
    style='mso-bookmark:_Toc170268997'><span style='mso-bookmark:_Toc152605211'><span
!   style='mso-bookmark:_Toc115416261'>Value: <span class=SpellE>NoWarnings</span></span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD<br>
    Default: 0</p>
    <p class=MsoBodyText>Disables visible warnings during logon.</p>
--- 5261,5269 ----
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:65.75pt'>
    <h5><a name="_Toc170268997"></a><a name="_Toc152605211"></a><a
!   name="_Toc115416261"></a><a name="_Toc139993253"></a><a name="_Toc126872330"></a><span
    style='mso-bookmark:_Toc170268997'><span style='mso-bookmark:_Toc152605211'><span
!   style='mso-bookmark:_Toc115416261'>Value: NoWarnings</span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD<br>
    Default: 0</p>
    <p class=MsoBodyText>Disables visible warnings during logon.</p>
***************
*** 5434,5453 ****
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:65.75pt'>
    <h5><a name="_Toc170268998"></a><a name="_Toc152605212"></a><a
!   name="_Toc115416262"></a><a name="_Toc126872331"></a><a name="_Toc139993254"></a><span
    style='mso-bookmark:_Toc170268998'><span style='mso-bookmark:_Toc152605212'><span
!   style='mso-bookmark:_Toc115416262'>Value: <span class=SpellE>AuthentProviderPath</span></span></span></span></h5>
    <p class=MsoBodyText>Type: REG_SZ<br>
    NSIS: %WINDIR%\SYSTEM32\afslogon.dll</p>
    <p class=MsoBodyText>Specifies the install location of the authentication
!   provider <span class=SpellE>dll</span>.</p>
    </td>
   </tr>
   <tr style='mso-yfti-irow:2;height:65.75pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:65.75pt'>
    <h5><a name="_Toc170268999"></a><a name="_Toc152605213"></a><a
!   name="_Toc115416263"></a><a name="_Toc126872332"></a><a name="_Toc139993255"></a><span
    style='mso-bookmark:_Toc170268999'><span style='mso-bookmark:_Toc152605213'><span
    style='mso-bookmark:_Toc115416263'>Value: Class</span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD<br>
--- 5273,5292 ----
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:65.75pt'>
    <h5><a name="_Toc170268998"></a><a name="_Toc152605212"></a><a
!   name="_Toc115416262"></a><a name="_Toc139993254"></a><a name="_Toc126872331"></a><span
    style='mso-bookmark:_Toc170268998'><span style='mso-bookmark:_Toc152605212'><span
!   style='mso-bookmark:_Toc115416262'>Value: AuthentProviderPath</span></span></span></h5>
    <p class=MsoBodyText>Type: REG_SZ<br>
    NSIS: %WINDIR%\SYSTEM32\afslogon.dll</p>
    <p class=MsoBodyText>Specifies the install location of the authentication
!   provider dll.</p>
    </td>
   </tr>
   <tr style='mso-yfti-irow:2;height:65.75pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:65.75pt'>
    <h5><a name="_Toc170268999"></a><a name="_Toc152605213"></a><a
!   name="_Toc115416263"></a><a name="_Toc139993255"></a><a name="_Toc126872332"></a><span
    style='mso-bookmark:_Toc170268999'><span style='mso-bookmark:_Toc152605213'><span
    style='mso-bookmark:_Toc115416263'>Value: Class</span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD<br>
***************
*** 5459,5467 ****
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:92.0pt'>
    <h5><a name="_Toc170269000"></a><a name="_Toc152605214"></a><a
!   name="_Toc115416264"></a><a name="_Toc126872333"></a><a name="_Toc139993256"></a><span
    style='mso-bookmark:_Toc170269000'><span style='mso-bookmark:_Toc152605214'><span
!   style='mso-bookmark:_Toc115416264'>Value: <span class=SpellE>DependOnGroup</span></span></span></span></h5>
    <p class=MsoBodyText>Type: REG_MULTI_SZ<br>
    NSIS: PNP_TDI</p>
    <p class=MsoBodyText>Specifies the service groups upon which the AFS Client
--- 5298,5306 ----
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:92.0pt'>
    <h5><a name="_Toc170269000"></a><a name="_Toc152605214"></a><a
!   name="_Toc115416264"></a><a name="_Toc139993256"></a><a name="_Toc126872333"></a><span
    style='mso-bookmark:_Toc170269000'><span style='mso-bookmark:_Toc152605214'><span
!   style='mso-bookmark:_Toc115416264'>Value: DependOnGroup</span></span></span></h5>
    <p class=MsoBodyText>Type: REG_MULTI_SZ<br>
    NSIS: PNP_TDI</p>
    <p class=MsoBodyText>Specifies the service groups upon which the AFS Client
***************
*** 5474,5484 ****
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:92.0pt'>
    <h5><a name="_Toc170269001"></a><a name="_Toc152605215"></a><a
!   name="_Toc115416265"></a><a name="_Toc126872334"></a><a name="_Toc139993257"></a><span
    style='mso-bookmark:_Toc170269001'><span style='mso-bookmark:_Toc152605215'><span
!   style='mso-bookmark:_Toc115416265'>Value: <span class=SpellE>DependOnService</span></span></span></span></h5>
    <p class=MsoBodyText>Type: REG_MULTI_SZ<br>
!   NSIS: <span class=SpellE>Tcpip</span> NETBIOS <span class=SpellE>RpcSs</span></p>
    <p class=MsoBodyText>Specifies a list of services upon which the AFS Client
    Service depends.&nbsp; Windows should not attempt to start the AFS Client
    Service until all of the specified services have successfully started.</p>
--- 5313,5323 ----
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:92.0pt'>
    <h5><a name="_Toc170269001"></a><a name="_Toc152605215"></a><a
!   name="_Toc115416265"></a><a name="_Toc139993257"></a><a name="_Toc126872334"></a><span
    style='mso-bookmark:_Toc170269001'><span style='mso-bookmark:_Toc152605215'><span
!   style='mso-bookmark:_Toc115416265'>Value: DependOnService</span></span></span></h5>
    <p class=MsoBodyText>Type: REG_MULTI_SZ<br>
!   NSIS: Tcpip NETBIOS RpcSs</p>
    <p class=MsoBodyText>Specifies a list of services upon which the AFS Client
    Service depends.&nbsp; Windows should not attempt to start the AFS Client
    Service until all of the specified services have successfully started.</p>
***************
*** 5488,5498 ****
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:65.75pt'>
    <h5><a name="_Toc170269002"></a><a name="_Toc152605216"></a><a
!   name="_Toc115416266"></a><a name="_Toc126872335"></a><a name="_Toc139993258"></a><span
    style='mso-bookmark:_Toc170269002'><span style='mso-bookmark:_Toc152605216'><span
    style='mso-bookmark:_Toc115416266'>Value: Name</span></span></span></h5>
    <p class=MsoBodyText>Type: REG_SZ<br>
!   NSIS: &quot;<span class=SpellE>OpenAFSDaemon</span>&quot;</p>
    <p class=MsoBodyText>Specifies the display name of the AFS Client Service</p>
    </td>
   </tr>
--- 5327,5337 ----
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:65.75pt'>
    <h5><a name="_Toc170269002"></a><a name="_Toc152605216"></a><a
!   name="_Toc115416266"></a><a name="_Toc139993258"></a><a name="_Toc126872335"></a><span
    style='mso-bookmark:_Toc170269002'><span style='mso-bookmark:_Toc152605216'><span
    style='mso-bookmark:_Toc115416266'>Value: Name</span></span></span></h5>
    <p class=MsoBodyText>Type: REG_SZ<br>
!   NSIS: &quot;OpenAFSDaemon&quot;</p>
    <p class=MsoBodyText>Specifies the display name of the AFS Client Service</p>
    </td>
   </tr>
***************
*** 5500,5508 ****
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:65.75pt'>
    <h5><a name="_Toc170269003"></a><a name="_Toc152605217"></a><a
!   name="_Toc115416267"></a><a name="_Toc126872336"></a><a name="_Toc139993259"></a><span
    style='mso-bookmark:_Toc170269003'><span style='mso-bookmark:_Toc152605217'><span
!   style='mso-bookmark:_Toc115416267'>Value: <span class=SpellE>ProviderPath</span></span></span></span></h5>
    <p class=MsoBodyText>Type: REG_SZ<br>
    NSIS: %WINDIR%\SYSTEM32\afslogon.dll</p>
    <p class=MsoBodyText>Specifies the DLL to use for the network provider</p>
--- 5339,5347 ----
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:65.75pt'>
    <h5><a name="_Toc170269003"></a><a name="_Toc152605217"></a><a
!   name="_Toc115416267"></a><a name="_Toc139993259"></a><a name="_Toc126872336"></a><span
    style='mso-bookmark:_Toc170269003'><span style='mso-bookmark:_Toc152605217'><span
!   style='mso-bookmark:_Toc115416267'>Value: ProviderPath</span></span></span></h5>
    <p class=MsoBodyText>Type: REG_SZ<br>
    NSIS: %WINDIR%\SYSTEM32\afslogon.dll</p>
    <p class=MsoBodyText>Specifies the DLL to use for the network provider</p>
***************
*** 5521,5528 ****
  are only relevant when using integrated login.&nbsp; A domain refers to an
  Active Directory (AD) domain, a trusted Kerberos (non-AD) realm or the local
  machine (i.e. local account logins).&nbsp; The domain name that is used for
! selecting the domain would be the domain that is passed into the <span
! class=SpellE>NPLogonNotify</span> function of the network provider.</p>
  
  <p class=MsoBodyText>Domain specific registry keys are:</p>
  
--- 5360,5367 ----
  are only relevant when using integrated login.&nbsp; A domain refers to an
  Active Directory (AD) domain, a trusted Kerberos (non-AD) realm or the local
  machine (i.e. local account logins).&nbsp; The domain name that is used for
! selecting the domain would be the domain that is passed into the NPLogonNotify
! function of the network provider.</p>
  
  <p class=MsoBodyText>Domain specific registry keys are:</p>
  
***************
*** 5553,5559 ****
  style='mso-bookmark:_Toc170269008'><span style='mso-bookmark:_Toc152605222'><span
  style='mso-bookmark:_Toc115416272'>[HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider\Domain\LOCALHOST]</span></span></span></h3>
  
! <p class=MsoBodyText>&nbsp; (<span class=SpellE>Localhost</span> key)</p>
  
  <h3><a name="_Toc170269009"></a><a name="_Toc152605223"></a><a
  name="_Toc115416273"></a><a name="_Toc139993265"></a><a name="_Toc126872342"></a><span
--- 5392,5398 ----
  style='mso-bookmark:_Toc170269008'><span style='mso-bookmark:_Toc152605222'><span
  style='mso-bookmark:_Toc115416272'>[HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider\Domain\LOCALHOST]</span></span></span></h3>
  
! <p class=MsoBodyText>&nbsp; (Localhost key)</p>
  
  <h3><a name="_Toc170269009"></a><a name="_Toc152605223"></a><a
  name="_Toc115416273"></a><a name="_Toc139993265"></a><a name="_Toc126872342"></a><span
***************
*** 5596,5609 ****
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:191.0pt'>
    <h5><a name="_Toc170269012"></a><a name="_Toc152605226"></a><a
!   name="_Value___:_LogonOptions"></a><a name="_Toc115416276"></a><a
!   name="_Toc126872345"></a><a name="_Toc139993268"></a><span style='mso-bookmark:
!   _Toc170269012'><span style='mso-bookmark:_Toc152605226'>Value: <span
!   class=SpellE>LogonOptions</span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD<br>
    Default: 0x01</p>
!   <p class=MsoBodyText>NSIS/<span class=SpellE>WiX</span>: depends on user
!   configuration</p>
    <p class=MsoBodyText>0x00 - Integrated Logon is not used<br>
    0x01 - Integrated Logon is used<br>
    0x02 - High Security Mode is used (deprecated)<br>
--- 5435,5446 ----
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:191.0pt'>
    <h5><a name="_Toc170269012"></a><a name="_Toc152605226"></a><a
!   name="_Toc139993268"></a><a name="_Toc126872345"></a><a name="_Toc115416276"></a><a
!   name="_Value___:_LogonOptions"></a><span style='mso-bookmark:_Toc170269012'><span
!   style='mso-bookmark:_Toc152605226'>Value: LogonOptions</span></span></h5>
    <p class=MsoBodyText>Type: DWORD<br>
    Default: 0x01</p>
!   <p class=MsoBodyText>NSIS/WiX: depends on user configuration</p>
    <p class=MsoBodyText>0x00 - Integrated Logon is not used<br>
    0x01 - Integrated Logon is used<br>
    0x02 - High Security Mode is used (deprecated)<br>
***************
*** 5611,5631 ****
    <p class=MsoBodyText>High Security Mode generates random SMB names for the
    creation of Drive Mappings.&nbsp; This mode should not be used without
    Integrated Logon.</p>
!   <p class=MsoBodyText>As of 1.3.65 the SMB server supports SMB authentication.&nbsp;
!   The High Security Mode should not be used when using SMB authentication (<span
!   class=SpellE>SMBAuthType</span> setting is non zero).</p>
    </td>
   </tr>
   <tr style='mso-yfti-irow:1;height:92.0pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:92.0pt'>
    <h5><a name="_Toc170269013"></a><a name="_Toc152605227"></a><a
!   name="_Toc115416277"></a><a name="_Toc126872346"></a><a name="_Toc139993269"></a><span
    style='mso-bookmark:_Toc170269013'><span style='mso-bookmark:_Toc152605227'><span
!   style='mso-bookmark:_Toc115416277'>Value: <span class=SpellE>FailLoginsSilentl</span></span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD (1|0)<br>
    Default: 0<br>
!   NSIS/<span class=SpellE>WiX</span>: (not set)</p>
    <p class=MsoBodyText>If true, does not display any visible warnings in the
    event of an error during the integrated login process.</p>
    </td>
--- 5448,5468 ----
    <p class=MsoBodyText>High Security Mode generates random SMB names for the
    creation of Drive Mappings.&nbsp; This mode should not be used without
    Integrated Logon.</p>
!   <p class=MsoBodyText>As of 1.3.65 the SMB server supports SMB
!   authentication.&nbsp; The High Security Mode should not be used when using
!   SMB authentication (SMBAuthType setting is non zero).</p>
    </td>
   </tr>
   <tr style='mso-yfti-irow:1;height:92.0pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:92.0pt'>
    <h5><a name="_Toc170269013"></a><a name="_Toc152605227"></a><a
!   name="_Toc115416277"></a><a name="_Toc139993269"></a><a name="_Toc126872346"></a><span
    style='mso-bookmark:_Toc170269013'><span style='mso-bookmark:_Toc152605227'><span
!   style='mso-bookmark:_Toc115416277'>Value: FailLoginsSilentl</span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD (1|0)<br>
    Default: 0<br>
!   NSIS/WiX: (not set)</p>
    <p class=MsoBodyText>If true, does not display any visible warnings in the
    event of an error during the integrated login process.</p>
    </td>
***************
*** 5634,5696 ****
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:139.0pt'>
    <h5><a name="_Toc170269014"></a><a name="_Toc152605228"></a><a
!   name="_Toc115416278"></a><a name="_Toc126872347"></a><a name="_Toc139993270"></a><span
    style='mso-bookmark:_Toc170269014'><span style='mso-bookmark:_Toc152605228'><span
!   style='mso-bookmark:_Toc115416278'>Value: <span class=SpellE>LogonScript</span></span></span></span></h5>
    <p class=MsoBodyText>Type: REG_SZ or REG_EXPAND_SZ<br>
    Default: (null)<br>
!   NSIS/<span class=SpellE>WiX</span>: (only value under NP key) &lt;install
!   path&gt;\afscreds.exe -:%s -x -a -m -n -q</p>
    <p class=MsoBodyText>A logon script that will be scheduled to be run after
    the profile load is complete.&nbsp; If using the REG_EXPAND_SZ type, you can
!   use any system environment variable as &quot;%<span class=SpellE>varname</span>%&quot;
!   which would be expanded at the time the network provider is run.&nbsp;
!   Optionally using a &quot;%s&quot; in the value would result in it being
!   expanded into the AFS SMB username for the session.</p>
    </td>
   </tr>
   <tr style='mso-yfti-irow:3;height:105.5pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:105.5pt'>
    <h5><a name="_Toc170269015"></a><a name="_Toc152605229"></a><a
!   name="_Toc115416279"></a><a name="_Toc126872348"></a><a name="_Toc139993271"></a><span
    style='mso-bookmark:_Toc170269015'><span style='mso-bookmark:_Toc152605229'><span
!   style='mso-bookmark:_Toc115416279'>Value: <span class=SpellE>LoginRetryInterval</span></span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD<br>
    Default: 30<br>
!   NSIS/<span class=SpellE>WiX</span>: (not set)</p>
    <p class=MsoBodyText>If the OpenAFS client service has not started yet, the
!   network provider will wait for a maximum of &quot;<span class=SpellE>LoginRetryInterval</span>&quot;
!   seconds while retrying every &quot;<span class=SpellE>LoginSleepInterval</span>&quot;
!   seconds to check if the service is up.</p>
    </td>
   </tr>
   <tr style='mso-yfti-irow:4;height:79.25pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:79.25pt'>
    <h5><a name="_Toc170269016"></a><a name="_Toc152605230"></a><a
!   name="_Toc115416280"></a><a name="_Toc126872349"></a><a name="_Toc139993272"></a><span
    style='mso-bookmark:_Toc170269016'><span style='mso-bookmark:_Toc152605230'><span
!   style='mso-bookmark:_Toc115416280'>Value: <span class=SpellE>LoginSleepInterval</span></span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD<br>
    Default: 5<br>
!   NSIS/<span class=SpellE>WiX</span>: (not set)</p>
!   <p class=MsoBodyText>See description of <span class=SpellE>LoginRetryInterval</span>.</p>
    </td>
   </tr>
   <tr style='mso-yfti-irow:5;mso-yfti-lastrow:yes;height:78.5pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:78.5pt'>
    <h5><a name="_Toc170269017"></a><a name="_Toc152605231"></a><a
!   name="_Value:_TheseCells"></a><a name="_Toc115416281"></a><a
!   name="_Toc126872350"></a><a name="_Toc139993273"></a><span style='mso-bookmark:
!   _Toc170269017'><span style='mso-bookmark:_Toc152605231'>Value: <span
!   class=SpellE>TheseCells</span></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, <span class=SpellE>TheseCells</span>
!   provides a list of additional cells for which tokens should be obtained with
!   the default Kerberos v5 principal.</p>
    </td>
   </tr>
  </table>
--- 5471,5532 ----
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:139.0pt'>
    <h5><a name="_Toc170269014"></a><a name="_Toc152605228"></a><a
!   name="_Toc115416278"></a><a name="_Toc139993270"></a><a name="_Toc126872347"></a><span
    style='mso-bookmark:_Toc170269014'><span style='mso-bookmark:_Toc152605228'><span
!   style='mso-bookmark:_Toc115416278'>Value: LogonScript</span></span></span></h5>
    <p class=MsoBodyText>Type: REG_SZ or REG_EXPAND_SZ<br>
    Default: (null)<br>
!   NSIS/WiX: (only value under NP key) &lt;install path&gt;\afscreds.exe -:%s -x
!   -a -m -n -q</p>
    <p class=MsoBodyText>A logon script that will be scheduled to be run after
    the profile load is complete.&nbsp; If using the REG_EXPAND_SZ type, you can
!   use any system environment variable as &quot;%varname%&quot; which would be
!   expanded at the time the network provider is run.&nbsp; Optionally using a
!   &quot;%s&quot; in the value would result in it being expanded into the AFS
!   SMB username for the session.</p>
    </td>
   </tr>
   <tr style='mso-yfti-irow:3;height:105.5pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:105.5pt'>
    <h5><a name="_Toc170269015"></a><a name="_Toc152605229"></a><a
!   name="_Toc115416279"></a><a name="_Toc139993271"></a><a name="_Toc126872348"></a><span
    style='mso-bookmark:_Toc170269015'><span style='mso-bookmark:_Toc152605229'><span
!   style='mso-bookmark:_Toc115416279'>Value: LoginRetryInterval</span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD<br>
    Default: 30<br>
!   NSIS/WiX: (not set)</p>
    <p class=MsoBodyText>If the OpenAFS client service has not started yet, the
!   network provider will wait for a maximum of &quot;LoginRetryInterval&quot;
!   seconds while retrying every &quot;LoginSleepInterval&quot; seconds to check
!   if the service is up.</p>
    </td>
   </tr>
   <tr style='mso-yfti-irow:4;height:79.25pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:79.25pt'>
    <h5><a name="_Toc170269016"></a><a name="_Toc152605230"></a><a
!   name="_Toc115416280"></a><a name="_Toc139993272"></a><a name="_Toc126872349"></a><span
    style='mso-bookmark:_Toc170269016'><span style='mso-bookmark:_Toc152605230'><span
!   style='mso-bookmark:_Toc115416280'>Value: LoginSleepInterval</span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD<br>
    Default: 5<br>
!   NSIS/WiX: (not set)</p>
!   <p class=MsoBodyText>See description of LoginRetryInterval.</p>
    </td>
   </tr>
   <tr style='mso-yfti-irow:5;mso-yfti-lastrow:yes;height:78.5pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:78.5pt'>
    <h5><a name="_Toc170269017"></a><a name="_Toc152605231"></a><a
!   name="_Toc139993273"></a><a name="_Toc126872350"></a><a name="_Toc115416281"></a><a
!   name="_Value:_TheseCells"></a><span style='mso-bookmark:_Toc170269017'><span
!   style='mso-bookmark:_Toc152605231'>Value: TheseCells</span></span></h5>
    <p class=MsoBodyText>Type: REG_MULTI_SZ<br>
    NSIS: &lt;not set&gt;</p>
!   <p class=MsoBodyText>When Kerberos v5 is being used, TheseCells provides a
!   list of additional cells for which tokens should be obtained with the default
!   Kerberos v5 principal.</p>
    </td>
   </tr>
  </table>
***************
*** 5702,5715 ****
  domain specific configuration</span></span></span></h3>
  
  <p class=MsoBodyText>During login to domain X, where X is the domain passed
! into <span class=SpellE>NPLogonNotify</span> as <span class=SpellE>lpAuthentInfo</span>-&gt;<span
! class=SpellE>LogonDomainName</span> or the string 'LOCALHOST' if <span
! class=SpellE>lpAuthentInfo</span>-&gt;<span class=SpellE>LogonDomainName</span>
! equals the name of the computer, the following keys will be looked up.</p>
  
  <p class=MsoBodyText style='margin-left:36.0pt;text-indent:-18.0pt'>1.<span
  style='font-size:7.0pt;font-family:"Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
! </span>NP key. (&quot;HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider&quot;)</p>
  
  <p class=MsoBodyText style='margin-left:36.0pt;text-indent:-18.0pt'>2.<span
  style='font-size:7.0pt;font-family:"Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
--- 5538,5551 ----
  domain specific configuration</span></span></span></h3>
  
  <p class=MsoBodyText>During login to domain X, where X is the domain passed
! into NPLogonNotify as lpAuthentInfo-&gt;LogonDomainName or the string
! 'LOCALHOST' if lpAuthentInfo-&gt;LogonDomainName equals the name of the
! computer, the following keys will be looked up.</p>
  
  <p class=MsoBodyText style='margin-left:36.0pt;text-indent:-18.0pt'>1.<span
  style='font-size:7.0pt;font-family:"Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
! </span>NP key.
! (&quot;HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider&quot;)</p>
  
  <p class=MsoBodyText style='margin-left:36.0pt;text-indent:-18.0pt'>2.<span
  style='font-size:7.0pt;font-family:"Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
***************
*** 5724,5736 ****
  case will come from the NP key.</p>
  
  <p class=MsoBodyText>If the specific domain key exists, then for each of the
! values <span class=SpellE>metioned</span> in (2), they will be looked up in the
! specific domain key, domains key and the NP key successively until the value is
! found. The first instance of the value found this way will be the effective for
! the login session.&nbsp; If no such instance can be found, the default will be
! used.&nbsp; To re-iterate, a value in a more specific key <span class=SpellE>supercedes</span>
! a value in a less specific key.&nbsp; The exceptions to this rule are stated
! below.</p>
  
  <h3><a name="_Toc170269019"></a><a name="_Toc152605233"></a><a
  name="_Toc115416283"></a><a name="_Toc139993275"></a><a name="_Toc126872352"></a><span
--- 5560,5571 ----
  case will come from the NP key.</p>
  
  <p class=MsoBodyText>If the specific domain key exists, then for each of the
! values metioned in (2), they will be looked up in the specific domain key,
! domains key and the NP key successively until the value is found. The first
! instance of the value found this way will be the effective for the login
! session.&nbsp; If no such instance can be found, the default will be
! used.&nbsp; To re-iterate, a value in a more specific key supercedes a value in
! a less specific key.&nbsp; The exceptions to this rule are stated below.</p>
  
  <h3><a name="_Toc170269019"></a><a name="_Toc152605233"></a><a
  name="_Toc115416283"></a><a name="_Toc139993275"></a><a name="_Toc126872352"></a><span
***************
*** 5743,5769 ****
  <h4><a name="_Toc170269020"></a><a name="_Toc152605234"></a><a
  name="_Toc115416284"></a><a name="_Toc139993276"></a><a name="_Toc126872353"></a><span
  style='mso-bookmark:_Toc170269020'><span style='mso-bookmark:_Toc152605234'><span
! style='mso-bookmark:_Toc115416284'>2.1.3.1 '<span class=SpellE>FailLoginsSilently</span>'</span></span></span></h4>
  
! <p class=MsoBodyText>Historically, the '<span class=SpellE>FailLoginsSilently</span>'
! value was in HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters
! key and not in the NP key.&nbsp; Therefore, for backwards compatibility, the
! value in the Parameters key will <span class=SpellE>supercede</span> all
! instances of this value in other keys.&nbsp; In the absence of this value in
! the Parameters key, normal scope rules apply.</p>
  
  <h4><a name="_Toc170269021"></a><a name="_Toc152605235"></a><a
  name="_Toc115416285"></a><a name="_Toc139993277"></a><a name="_Toc126872354"></a><span
  style='mso-bookmark:_Toc170269021'><span style='mso-bookmark:_Toc152605235'><span
! style='mso-bookmark:_Toc115416285'>2.1.3.2 '<span class=SpellE>LogonScript</span>'</span></span></span></h4>
  
! <p class=MsoBodyText>If a '<span class=SpellE>LogonScript</span>' is not
! specified in the specific domain key nor in the domains key, the value in the
! NP key will only be checked if the effective '<span class=SpellE>LogonOptions</span>'
! specify a high security integrated login.&nbsp; If a logon script is specified
! in the specific domain key or the domains key, it will be used regardless of
! the high security setting.&nbsp; Please be aware of this when setting this
! value.</p>
  
  <h2><a name="_Toc170269022"></a><a name="_Toc152605236"></a><a
  name="_Toc115416286"></a><a name="_Toc139993278"></a><a name="_Toc126872355"></a><a
--- 5578,5602 ----
  <h4><a name="_Toc170269020"></a><a name="_Toc152605234"></a><a
  name="_Toc115416284"></a><a name="_Toc139993276"></a><a name="_Toc126872353"></a><span
  style='mso-bookmark:_Toc170269020'><span style='mso-bookmark:_Toc152605234'><span
! style='mso-bookmark:_Toc115416284'>2.1.3.1 'FailLoginsSilently'</span></span></span></h4>
  
! <p class=MsoBodyText>Historically, the 'FailLoginsSilently' value was in
! HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters key and not
! in the NP key.&nbsp; Therefore, for backwards compatibility, the value in the
! Parameters key will supercede all instances of this value in other keys.&nbsp;
! In the absence of this value in the Parameters key, normal scope rules apply.</p>
  
  <h4><a name="_Toc170269021"></a><a name="_Toc152605235"></a><a
  name="_Toc115416285"></a><a name="_Toc139993277"></a><a name="_Toc126872354"></a><span
  style='mso-bookmark:_Toc170269021'><span style='mso-bookmark:_Toc152605235'><span
! style='mso-bookmark:_Toc115416285'>2.1.3.2 'LogonScript'</span></span></span></h4>
  
! <p class=MsoBodyText>If a 'LogonScript' is not specified in the specific domain
! key nor in the domains key, the value in the NP key will only be checked if the
! effective 'LogonOptions' specify a high security integrated login.&nbsp; If a
! logon script is specified in the specific domain key or the domains key, it
! will be used regardless of the high security setting.&nbsp; Please be aware of
! this when setting this value.</p>
  
  <h2><a name="_Toc170269022"></a><a name="_Toc152605236"></a><a
  name="_Toc115416286"></a><a name="_Toc139993278"></a><a name="_Toc126872355"></a><a
***************
*** 5775,5784 ****
  
  <h3><a name="_Toc170269023"></a><a name="_Toc152605237"></a><a
  name="_Toc115416287"></a><a name="_Toc139993279"></a><a name="_Toc126872356"></a><span
- class=SpellE><span style='mso-bookmark:_Toc170269023'><span style='mso-bookmark:
- _Toc152605237'><span style='mso-bookmark:_Toc115416287'>Regkey</span></span></span></span><span
  style='mso-bookmark:_Toc170269023'><span style='mso-bookmark:_Toc152605237'><span
! style='mso-bookmark:_Toc115416287'>:<br>
  [HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters]</span></span></span></h3>
  
  <table class=MsoNormalTable border=1 cellspacing=3 cellpadding=0
--- 5608,5615 ----
  
  <h3><a name="_Toc170269023"></a><a name="_Toc152605237"></a><a
  name="_Toc115416287"></a><a name="_Toc139993279"></a><a name="_Toc126872356"></a><span
  style='mso-bookmark:_Toc170269023'><span style='mso-bookmark:_Toc152605237'><span
! style='mso-bookmark:_Toc115416287'>Regkey:<br>
  [HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters]</span></span></span></h3>
  
  <table class=MsoNormalTable border=1 cellspacing=3 cellpadding=0
***************
*** 5787,5798 ****
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:92.0pt'>
    <h5><a name="_Toc170269024"></a><a name="_Toc152605238"></a><a
!   name="_Toc115416288"></a><a name="_Toc126872357"></a><a name="_Toc139993280"></a><span
    style='mso-bookmark:_Toc170269024'><span style='mso-bookmark:_Toc152605238'><span
    style='mso-bookmark:_Toc115416288'>Value: Gateway</span></span></span></h5>
    <p class=MsoBodyText>Type: REG_SZ<br>
    Default: &quot;&quot;<br>
!   Function: <span class=SpellE>GetGatewayName</span>()</p>
    <p class=MsoBodyText>If the AFS client is utilizing a gateway to obtain AFS
    access, the name of the gateway is specified by this value.</p>
    </td>
--- 5618,5629 ----
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:92.0pt'>
    <h5><a name="_Toc170269024"></a><a name="_Toc152605238"></a><a
!   name="_Toc115416288"></a><a name="_Toc139993280"></a><a name="_Toc126872357"></a><span
    style='mso-bookmark:_Toc170269024'><span style='mso-bookmark:_Toc152605238'><span
    style='mso-bookmark:_Toc115416288'>Value: Gateway</span></span></span></h5>
    <p class=MsoBodyText>Type: REG_SZ<br>
    Default: &quot;&quot;<br>
!   Function: GetGatewayName()</p>
    <p class=MsoBodyText>If the AFS client is utilizing a gateway to obtain AFS
    access, the name of the gateway is specified by this value.</p>
    </td>
***************
*** 5801,5812 ****
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:92.0pt'>
    <h5><a name="_Toc170269025"></a><a name="_Toc152605239"></a><a
!   name="_Toc115416289"></a><a name="_Toc126872358"></a><a name="_Toc139993281"></a><span
    style='mso-bookmark:_Toc170269025'><span style='mso-bookmark:_Toc152605239'><span
    style='mso-bookmark:_Toc115416289'>Value: Cell</span></span></span></h5>
    <p class=MsoBodyText>Type: REG_SZ<br>
    Default: &lt;none&gt;<br>
!   Variable: <span class=SpellE>IsServiceConfigured</span>()</p>
    <p class=MsoBodyText>The value Cell is used to determine if the AFS Client
    Service has been properly configured or not.</p>
    </td>
--- 5632,5643 ----
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:92.0pt'>
    <h5><a name="_Toc170269025"></a><a name="_Toc152605239"></a><a
!   name="_Toc115416289"></a><a name="_Toc139993281"></a><a name="_Toc126872358"></a><span
    style='mso-bookmark:_Toc170269025'><span style='mso-bookmark:_Toc152605239'><span
    style='mso-bookmark:_Toc115416289'>Value: Cell</span></span></span></h5>
    <p class=MsoBodyText>Type: REG_SZ<br>
    Default: &lt;none&gt;<br>
!   Variable: IsServiceConfigured()</p>
    <p class=MsoBodyText>The value Cell is used to determine if the AFS Client
    Service has been properly configured or not.</p>
    </td>
***************
*** 5815,5824 ****
  
  <h3><a name="_Toc170269026"></a><a name="_Toc152605240"></a><a
  name="_Toc115416290"></a><a name="_Toc139993282"></a><a name="_Toc126872359"></a><span
- class=SpellE><span style='mso-bookmark:_Toc170269026'><span style='mso-bookmark:
- _Toc152605240'><span style='mso-bookmark:_Toc115416290'>Regkey</span></span></span></span><span
  style='mso-bookmark:_Toc170269026'><span style='mso-bookmark:_Toc152605240'><span
! style='mso-bookmark:_Toc115416290'>:<br>
  [HKLM\SOFTWARE\OpenAFS\Client]<br>
  [HKCU\SOFTWARE\OpenAFS\Client]</span></span></span></h3>
  
--- 5646,5653 ----
  
  <h3><a name="_Toc170269026"></a><a name="_Toc152605240"></a><a
  name="_Toc115416290"></a><a name="_Toc139993282"></a><a name="_Toc126872359"></a><span
  style='mso-bookmark:_Toc170269026'><span style='mso-bookmark:_Toc152605240'><span
! style='mso-bookmark:_Toc115416290'>Regkey:<br>
  [HKLM\SOFTWARE\OpenAFS\Client]<br>
  [HKCU\SOFTWARE\OpenAFS\Client]</span></span></span></h3>
  
***************
*** 5828,5844 ****
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:157.5pt'>
    <h5><a name="_Toc170269027"></a><a name="_Toc152605241"></a><a
!   name="_Toc115416291"></a><a name="_Toc126872360"></a><a name="_Toc139993283"></a><span
    style='mso-bookmark:_Toc170269027'><span style='mso-bookmark:_Toc152605241'><span
!   style='mso-bookmark:_Toc115416291'>Value: <span class=SpellE>ShowTrayIcon</span></span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD {0, 1}<br>
    Default: 1<br>
!   Function: <span class=SpellE>InitApp</span>(), <span class=SpellE>Main_OnCheckTerminate</span>()</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\<span
!   class=SpellE>TransarcCorporation</span>\AFS Client\<span class=SpellE>AfsCreds</span>].</p>
    <p class=MsoBodyText>The current user value is checked first; if it does not
    exist the local machine value is checked.</p>
    </td>
--- 5657,5673 ----
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:157.5pt'>
    <h5><a name="_Toc170269027"></a><a name="_Toc152605241"></a><a
!   name="_Toc115416291"></a><a name="_Toc139993283"></a><a name="_Toc126872360"></a><span
    style='mso-bookmark:_Toc170269027'><span style='mso-bookmark:_Toc152605241'><span
!   style='mso-bookmark:_Toc115416291'>Value: ShowTrayIcon</span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD {0, 1}<br>
    Default: 1<br>
!   Function: InitApp(), Main_OnCheckTerminate()</p>
!   <p class=MsoBodyText>This value is used to determine whether or not a shortcut
!   should be maintained in the user's Start Menu-&gt;Programs-&gt;Startup
!   folder. </p>
!   <p class=MsoBodyText>This value used to be stored at
!   [HKLM\Software\TransarcCorporation\AFS Client\AfsCreds].</p>
    <p class=MsoBodyText>The current user value is checked first; if it does not
    exist the local machine value is checked.</p>
    </td>
***************
*** 5847,5859 ****
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:119.0pt'>
    <h5><a name="_Toc170269028"></a><a name="_Toc152605242"></a><a
!   name="_Toc115416292"></a><a name="_Toc126872361"></a><a name="_Toc139993284"></a><a
!   name=EnableKFW></a><a name="_Value:_EnableKFW"></a><span style='mso-bookmark:
    _Toc170269028'><span style='mso-bookmark:_Toc152605242'><span
!   style='mso-bookmark:_Toc115416292'>Value: <span class=SpellE>EnableKFW</span></span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD {0, 1}<br>
    Default: 1<br>
!   Function: <span class=SpellE>KFW_is_available</span>()</p>
    <p class=MsoBodyText>When MIT Kerberos for Windows can be loaded, Kerberos v5
    will be used to obtain AFS credentials.&nbsp; By setting this value to 0, the
    internal Kerberos v4 implementation will be used instead.&nbsp; The current
--- 5676,5688 ----
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:119.0pt'>
    <h5><a name="_Toc170269028"></a><a name="_Toc152605242"></a><a
!   name="_Toc115416292"></a><a name="_Value:_EnableKFW"></a><a name=EnableKFW></a><a
!   name="_Toc139993284"></a><a name="_Toc126872361"></a><span style='mso-bookmark:
    _Toc170269028'><span style='mso-bookmark:_Toc152605242'><span
!   style='mso-bookmark:_Toc115416292'>Value: EnableKFW</span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD {0, 1}<br>
    Default: 1<br>
!   Function: KFW_is_available()</p>
    <p class=MsoBodyText>When MIT Kerberos for Windows can be loaded, Kerberos v5
    will be used to obtain AFS credentials.&nbsp; By setting this value to 0, the
    internal Kerberos v4 implementation will be used instead.&nbsp; The current
***************
*** 5865,5873 ****
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:119.0pt'>
    <h5><a name="_Toc170269029"></a><a name="_Toc152605243"></a><a
!   name="_Value___:_Use524"></a><a name="_Toc115416293"></a><a
!   name="_Toc126872362"></a><a name="_Toc139993285"></a><a name=Use524></a><a
!   name="_Value:_Use524"></a><span style='mso-bookmark:_Toc170269029'><span
    style='mso-bookmark:_Toc152605243'>Value: Use524</span></span></h5>
    <p class=MsoBodyText>Type: DWORD {0, 1}<br>
    Default: 0<br>
--- 5694,5702 ----
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:119.0pt'>
    <h5><a name="_Toc170269029"></a><a name="_Toc152605243"></a><a
!   name="_Value:_Use524"></a><a name=Use524></a><a name="_Toc139993285"></a><a
!   name="_Toc126872362"></a><a name="_Toc115416293"></a><a
!   name="_Value___:_Use524"></a><span style='mso-bookmark:_Toc170269029'><span
    style='mso-bookmark:_Toc152605243'>Value: Use524</span></span></h5>
    <p class=MsoBodyText>Type: DWORD {0, 1}<br>
    Default: 0<br>
***************
*** 5883,5895 ****
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:251.5pt'>
    <h5><a name="_Toc170269030"></a><a name="_Toc152605244"></a><a
!   name="_Value___:_AfscredsShortcutParams"></a><a name="_Toc115416294"></a><a
!   name="_Toc126872363"></a><a name="_Toc139993286"></a><span style='mso-bookmark:
!   _Toc170269030'><span style='mso-bookmark:_Toc152605244'>Value: <span
!   class=SpellE>AfscredsShortcutParams</span></span></span></h5>
    <p class=MsoBodyText>Type: REG_SZ<br>
    Default: &quot;-A -M -N -Q&quot;<br>
!   Function: <span class=SpellE>Shortcut_FixStartup</span></p>
    <p class=MsoBodyText>This value specifies the command line options which
    should be set as part of the shortcut to afscreds.exe.&nbsp; afscreds.exe
    rewrites the shortcut each time it exits so as to ensure that the shortcut
--- 5712,5723 ----
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:251.5pt'>
    <h5><a name="_Toc170269030"></a><a name="_Toc152605244"></a><a
!   name="_Toc139993286"></a><a name="_Toc126872363"></a><a name="_Toc115416294"></a><a
!   name="_Value___:_AfscredsShortcutParams"></a><span style='mso-bookmark:_Toc170269030'><span
!   style='mso-bookmark:_Toc152605244'>Value: AfscredsShortcutParams</span></span></h5>
    <p class=MsoBodyText>Type: REG_SZ<br>
    Default: &quot;-A -M -N -Q&quot;<br>
!   Function: Shortcut_FixStartup</p>
    <p class=MsoBodyText>This value specifies the command line options which
    should be set as part of the shortcut to afscreds.exe.&nbsp; afscreds.exe
    rewrites the shortcut each time it exits so as to ensure that the shortcut
***************
*** 5899,5921 ****
    value is checked.</p>
    <p class=MsoBodyText>The following subset of the command line options is
    appropriate for use in this registry setting:</p>
!   <p class=MsoBodyText>-A = <span class=SpellE>autoinit</span><br>
    -M = renew drive maps<br>
!   -N = <span class=SpellE>ip</span> address change detection<br>
!   -Q = quiet mode.&nbsp; do not display start service dialog if <span
!   class=SpellE>afsd_service</span> is not already running<br>
    -S = show tokens dialog on startup<br>
!   -Z = <span class=SpellE>unmap</span> drives</p>
    </td>
   </tr>
  </table>
  
  <h3><a name="_Toc170269031"></a><a name="_Toc152605245"></a><a
  name="_Toc115416295"></a><a name="_Toc139993287"></a><a name="_Toc126872364"></a><span
- class=SpellE><span style='mso-bookmark:_Toc170269031'><span style='mso-bookmark:
- _Toc152605245'><span style='mso-bookmark:_Toc115416295'>Regkey</span></span></span></span><span
  style='mso-bookmark:_Toc170269031'><span style='mso-bookmark:_Toc152605245'><span
! style='mso-bookmark:_Toc115416295'>:<br>
  [HKCU\SOFTWARE\OpenAFS\Client]</span></span></span></h3>
  
  <table class=MsoNormalTable border=1 cellspacing=3 cellpadding=0
--- 5727,5747 ----
    value is checked.</p>
    <p class=MsoBodyText>The following subset of the command line options is
    appropriate for use in this registry setting:</p>
!   <p class=MsoBodyText>-A = autoinit<br>
    -M = renew drive maps<br>
!   -N = ip address change detection<br>
!   -Q = quiet mode.&nbsp; do not display start service dialog if afsd_service is
!   not already running<br>
    -S = show tokens dialog on startup<br>
!   -Z = unmap drives</p>
    </td>
   </tr>
  </table>
  
  <h3><a name="_Toc170269031"></a><a name="_Toc152605245"></a><a
  name="_Toc115416295"></a><a name="_Toc139993287"></a><a name="_Toc126872364"></a><span
  style='mso-bookmark:_Toc170269031'><span style='mso-bookmark:_Toc152605245'><span
! style='mso-bookmark:_Toc115416295'>Regkey:<br>
  [HKCU\SOFTWARE\OpenAFS\Client]</span></span></span></h3>
  
  <table class=MsoNormalTable border=1 cellspacing=3 cellpadding=0
***************
*** 5925,5936 ****
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:92.0pt'>
    <h5><a name="_Toc170269032"></a><a name="_Toc152605246"></a><a
!   name="_Toc115416296"></a><a name="_Toc126872365"></a><a name="_Toc139993288"></a><span
    style='mso-bookmark:_Toc170269032'><span style='mso-bookmark:_Toc152605246'><span
    style='mso-bookmark:_Toc115416296'>Value: Authentication Cell</span></span></span></h5>
    <p class=MsoBodyText>Type: REG_SZ<br>
    Default: &lt;none&gt;<br>
!   Function: Afscreds.exe <span class=SpellE>GetDefaultCell</span>()</p>
    <p class=MsoBodyText>This value allows the user to configure a different cell
    name to be used as the default cell when acquiring tokens in afscreds.exe.</p>
    </td>
--- 5751,5762 ----
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:92.0pt'>
    <h5><a name="_Toc170269032"></a><a name="_Toc152605246"></a><a
!   name="_Toc115416296"></a><a name="_Toc139993288"></a><a name="_Toc126872365"></a><span
    style='mso-bookmark:_Toc170269032'><span style='mso-bookmark:_Toc152605246'><span
    style='mso-bookmark:_Toc115416296'>Value: Authentication Cell</span></span></span></h5>
    <p class=MsoBodyText>Type: REG_SZ<br>
    Default: &lt;none&gt;<br>
!   Function: Afscreds.exe GetDefaultCell()</p>
    <p class=MsoBodyText>This value allows the user to configure a different cell
    name to be used as the default cell when acquiring tokens in afscreds.exe.</p>
    </td>
***************
*** 5939,5948 ****
  
  <h3><a name="_Toc170269033"></a><a name="_Toc152605247"></a><a
  name="_Toc115416297"></a><a name="_Toc139993289"></a><a name="_Toc126872366"></a><span
- class=SpellE><span style='mso-bookmark:_Toc170269033'><span style='mso-bookmark:
- _Toc152605247'><span style='mso-bookmark:_Toc115416297'>Regkey</span></span></span></span><span
  style='mso-bookmark:_Toc170269033'><span style='mso-bookmark:_Toc152605247'><span
! style='mso-bookmark:_Toc115416297'>:<br>
  [HKCU\SOFTWARE\OpenAFS\Client\Reminders]</span></span></span></h3>
  
  <table class=MsoNormalTable border=1 cellspacing=3 cellpadding=0
--- 5765,5772 ----
  
  <h3><a name="_Toc170269033"></a><a name="_Toc152605247"></a><a
  name="_Toc115416297"></a><a name="_Toc139993289"></a><a name="_Toc126872366"></a><span
  style='mso-bookmark:_Toc170269033'><span style='mso-bookmark:_Toc152605247'><span
! style='mso-bookmark:_Toc115416297'>Regkey:<br>
  [HKCU\SOFTWARE\OpenAFS\Client\Reminders]</span></span></span></h3>
  
  <table class=MsoNormalTable border=1 cellspacing=3 cellpadding=0
***************
*** 5952,5978 ****
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:124.75pt'>
    <h5><a name="_Toc170269034"></a><a name="_Toc152605248"></a><a
!   name="_Toc115416298"></a><a name="_Toc126872367"></a><a name="_Toc139993290"></a><span
    style='mso-bookmark:_Toc170269034'><span style='mso-bookmark:_Toc152605248'><span
!   style='mso-bookmark:_Toc115416298'>Value: &quot;<span class=SpellE>afs</span>
!   cell name&quot;</span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD {0, 1}<br>
    Default: &lt;none&gt;<br>
!   Function: <span class=SpellE>LoadRemind</span>(), <span class=SpellE>SaveRemind</span>()</p>
    <p class=MsoBodyText>These values are used to save and restore the state of
    the reminder flag for each cell for which the user has obtained tokens.</p>
!   <p class=MsoBodyText>This value used to be stored at [HKLM\Software\<span
!   class=SpellE>TransarcCorporation</span>\AFS Client\<span class=SpellE>AfsCreds</span>].</p>
    </td>
   </tr>
  </table>
  
  <h3><a name="_Toc170269035"></a><a name="_Toc152605249"></a><a
  name="_Toc115416299"></a><a name="_Toc139993291"></a><a name="_Toc126872368"></a><span
- class=SpellE><span style='mso-bookmark:_Toc170269035'><span style='mso-bookmark:
- _Toc152605249'><span style='mso-bookmark:_Toc115416299'>Regkey</span></span></span></span><span
  style='mso-bookmark:_Toc170269035'><span style='mso-bookmark:_Toc152605249'><span
! style='mso-bookmark:_Toc115416299'>:<br>
  [HKCU\SOFTWARE\OpenAFS\Client\Active Maps]</span></span></span></h3>
  
  <table class=MsoNormalTable border=1 cellspacing=3 cellpadding=0
--- 5776,5799 ----
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:124.75pt'>
    <h5><a name="_Toc170269034"></a><a name="_Toc152605248"></a><a
!   name="_Toc115416298"></a><a name="_Toc139993290"></a><a name="_Toc126872367"></a><span
    style='mso-bookmark:_Toc170269034'><span style='mso-bookmark:_Toc152605248'><span
!   style='mso-bookmark:_Toc115416298'>Value: &quot;afs cell name&quot;</span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD {0, 1}<br>
    Default: &lt;none&gt;<br>
!   Function: LoadRemind(), SaveRemind()</p>
    <p class=MsoBodyText>These values are used to save and restore the state of
    the reminder flag for each cell for which the user has obtained tokens.</p>
!   <p class=MsoBodyText>This value used to be stored at
!   [HKLM\Software\TransarcCorporation\AFS Client\AfsCreds].</p>
    </td>
   </tr>
  </table>
  
  <h3><a name="_Toc170269035"></a><a name="_Toc152605249"></a><a
  name="_Toc115416299"></a><a name="_Toc139993291"></a><a name="_Toc126872368"></a><span
  style='mso-bookmark:_Toc170269035'><span style='mso-bookmark:_Toc152605249'><span
! style='mso-bookmark:_Toc115416299'>Regkey:<br>
  [HKCU\SOFTWARE\OpenAFS\Client\Active Maps]</span></span></span></h3>
  
  <table class=MsoNormalTable border=1 cellspacing=3 cellpadding=0
***************
*** 5982,5988 ****
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:98.5pt'>
    <h5><a name="_Toc170269036"></a><a name="_Toc152605250"></a><a
!   name="_Toc115416300"></a><a name="_Toc126872369"></a><a name="_Toc139993292"></a><span
    style='mso-bookmark:_Toc170269036'><span style='mso-bookmark:_Toc152605250'><span
    style='mso-bookmark:_Toc115416300'>Value: &quot;upper case drive letter&quot;</span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD {0, 1}<br>
--- 5803,5809 ----
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:98.5pt'>
    <h5><a name="_Toc170269036"></a><a name="_Toc152605250"></a><a
!   name="_Toc115416300"></a><a name="_Toc139993292"></a><a name="_Toc126872369"></a><span
    style='mso-bookmark:_Toc170269036'><span style='mso-bookmark:_Toc152605250'><span
    style='mso-bookmark:_Toc115416300'>Value: &quot;upper case drive letter&quot;</span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD {0, 1}<br>
***************
*** 5996,6005 ****
  
  <h3><a name="_Toc170269037"></a><a name="_Toc152605251"></a><a
  name="_Toc115416301"></a><a name="_Toc139993293"></a><a name="_Toc126872370"></a><span
- class=SpellE><span style='mso-bookmark:_Toc170269037'><span style='mso-bookmark:
- _Toc152605251'><span style='mso-bookmark:_Toc115416301'>Regkey</span></span></span></span><span
  style='mso-bookmark:_Toc170269037'><span style='mso-bookmark:_Toc152605251'><span
! style='mso-bookmark:_Toc115416301'>:<br>
  [HKCU\SOFTWARE\OpenAFS\Client\Mappings]</span></span></span></h3>
  
  <table class=MsoNormalTable border=1 cellspacing=3 cellpadding=0
--- 5817,5824 ----
  
  <h3><a name="_Toc170269037"></a><a name="_Toc152605251"></a><a
  name="_Toc115416301"></a><a name="_Toc139993293"></a><a name="_Toc126872370"></a><span
  style='mso-bookmark:_Toc170269037'><span style='mso-bookmark:_Toc152605251'><span
! style='mso-bookmark:_Toc115416301'>Regkey:<br>
  [HKCU\SOFTWARE\OpenAFS\Client\Mappings]</span></span></span></h3>
  
  <table class=MsoNormalTable border=1 cellspacing=3 cellpadding=0
***************
*** 6009,6015 ****
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:98.5pt'>
    <h5><a name="_Toc170269038"></a><a name="_Toc152605252"></a><a
!   name="_Toc115416302"></a><a name="_Toc126872371"></a><a name="_Toc139993294"></a><span
    style='mso-bookmark:_Toc170269038'><span style='mso-bookmark:_Toc152605252'><span
    style='mso-bookmark:_Toc115416302'>Value: &quot;upper case drive letter&quot;</span></span></span></h5>
    <p class=MsoBodyText>Type: REG_SZ<br>
--- 5828,5834 ----
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:98.5pt'>
    <h5><a name="_Toc170269038"></a><a name="_Toc152605252"></a><a
!   name="_Toc115416302"></a><a name="_Toc139993294"></a><a name="_Toc126872371"></a><span
    style='mso-bookmark:_Toc170269038'><span style='mso-bookmark:_Toc152605252'><span
    style='mso-bookmark:_Toc115416302'>Value: &quot;upper case drive letter&quot;</span></span></span></h5>
    <p class=MsoBodyText>Type: REG_SZ<br>
***************
*** 6025,6040 ****
  name="_Toc115416303"></a><a name="_Toc139993295"></a><a name="_Toc126872372"></a><a
  name="_Toc115417108"></a><span style='mso-bookmark:_Toc170269039'><span
  style='mso-bookmark:_Toc152605253'><span style='mso-bookmark:_Toc115416303'><span
! lang=FR style='mso-ansi-language:FR'>A.4 OpenAFS Client Service <span
! class=SpellE>Environment</span> Variables</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-padding-alt:0pt 0pt 0pt 0pt'>
   <tr style='mso-yfti-irow:0;mso-yfti-firstrow:yes'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
    <h5><a name="_Toc170269040"></a><a name="_Toc152605254"></a><a
!   name="_Toc115416304"></a><a name="_Toc126872373"></a><a name="_Toc139993296"></a><span
    style='mso-bookmark:_Toc170269040'><span style='mso-bookmark:_Toc152605254'><span
    style='mso-bookmark:_Toc115416304'>Variable: AFS_RPC_ENCRYPT</span></span></span></h5>
    <p class=MsoBodyText>Values:&nbsp;&nbsp; &quot;OFF&quot; disables the use of
--- 5844,5859 ----
  name="_Toc115416303"></a><a name="_Toc139993295"></a><a name="_Toc126872372"></a><a
  name="_Toc115417108"></a><span style='mso-bookmark:_Toc170269039'><span
  style='mso-bookmark:_Toc152605253'><span style='mso-bookmark:_Toc115416303'><span
! lang=FR style='mso-ansi-language:FR'>A.4 OpenAFS Client Service Environment
! Variables</span></span></span></span><span lang=FR style='mso-ansi-language:
! FR'><o:p></o:p></span></h2>
  
  <table class=MsoNormalTable border=1 cellspacing=3 cellpadding=0
   style='mso-cellspacing:2.2pt;mso-padding-alt:0pt 0pt 0pt 0pt'>
   <tr style='mso-yfti-irow:0;mso-yfti-firstrow:yes'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
    <h5><a name="_Toc170269040"></a><a name="_Toc152605254"></a><a
!   name="_Toc115416304"></a><a name="_Toc139993296"></a><a name="_Toc126872373"></a><span
    style='mso-bookmark:_Toc170269040'><span style='mso-bookmark:_Toc152605254'><span
    style='mso-bookmark:_Toc115416304'>Variable: AFS_RPC_ENCRYPT</span></span></span></h5>
    <p class=MsoBodyText>Values:&nbsp;&nbsp; &quot;OFF&quot; disables the use of
***************
*** 6045,6059 ****
   <tr style='mso-yfti-irow:1;mso-yfti-lastrow:yes'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
    <h5><a name="_Toc170269041"></a><a name="_Toc152605255"></a><a
!   name="_Toc115416305"></a><a name="_Toc126872374"></a><a name="_Toc139993297"></a><span
    style='mso-bookmark:_Toc170269041'><span style='mso-bookmark:_Toc152605255'><span
    style='mso-bookmark:_Toc115416305'>Variable: AFS_RPC_PROTSEQ</span></span></span></h5>
    <p class=MsoBodyText>Values:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
!   &quot;<span class=SpellE>ncalrpc</span>&quot;&nbsp; - local RPC<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
!   &quot;<span class=SpellE>ncacn_np</span>&quot; - named pipes<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
!   &quot;<span class=SpellE>ncacn_ip_tcp</span>&quot; - <span class=SpellE>tcp/ip</span><br>
    Default:&nbsp; local RPC</p>
    </td>
   </tr>
--- 5864,5878 ----
   <tr style='mso-yfti-irow:1;mso-yfti-lastrow:yes'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
    <h5><a name="_Toc170269041"></a><a name="_Toc152605255"></a><a
!   name="_Toc115416305"></a><a name="_Toc139993297"></a><a name="_Toc126872374"></a><span
    style='mso-bookmark:_Toc170269041'><span style='mso-bookmark:_Toc152605255'><span
    style='mso-bookmark:_Toc115416305'>Variable: AFS_RPC_PROTSEQ</span></span></span></h5>
    <p class=MsoBodyText>Values:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
!   &quot;ncalrpc&quot;&nbsp; - local RPC<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
!   &quot;ncacn_np&quot; - named pipes<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
!   &quot;ncacn_ip_tcp&quot; - tcp/ip<br>
    Default:&nbsp; local RPC</p>
    </td>
   </tr>
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.18 openafs/src/WINNT/doc/install/Documentation/en_US/html/ReleaseNotes/toc.htm:1.2.6.19
*** openafs/src/WINNT/doc/install/Documentation/en_US/html/ReleaseNotes/toc.htm:1.2.6.18	Tue Aug 28 13:52:06 2007
--- openafs/src/WINNT/doc/install/Documentation/en_US/html/ReleaseNotes/toc.htm	Wed Sep 19 01:53:52 2007
***************
*** 10,16 ****
  <meta name=Originator content="Microsoft Word 11">
  <base target=body>
  <link rel=File-List href="toc_files/filelist.xml">
! <title>OpenAFS for Windows 1.5.24 Table of Contents</title>
  <!--[if gte mso 9]><xml>
   <o:DocumentProperties>
    <o:Author>Jeffrey Altman</o:Author>
--- 10,16 ----
  <meta name=Originator content="Microsoft Word 11">
  <base target=body>
  <link rel=File-List href="toc_files/filelist.xml">
! <title>OpenAFS for Windows 1.5.25 Table of Contents</title>
  <!--[if gte mso 9]><xml>
   <o:DocumentProperties>
    <o:Author>Jeffrey Altman</o:Author>
***************
*** 20,37 ****
    <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>6516</o:Words>
!   <o:Characters>37145</o:Characters>
    <o:Company>Secure Endpoints Inc.</o:Company>
!   <o:Lines>309</o:Lines>
!   <o:Paragraphs>87</o:Paragraphs>
!   <o:CharactersWithSpaces>43574</o:CharactersWithSpaces>
    <o:Version>11.8132</o:Version>
   </o:DocumentProperties>
  </xml><![endif]--><!--[if gte mso 9]><xml>
   <w:WordDocument>
    <w:Zoom>0</w:Zoom>
-   <w:GrammarState>Clean</w:GrammarState>
    <w:ValidateAgainstSchemas/>
    <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>
    <w:IgnoreMixedContent>false</w:IgnoreMixedContent>
--- 20,36 ----
    <o:Created>2006-11-30T04:12:00Z</o:Created>
    <o:LastSaved>2006-11-30T04:14:00Z</o:LastSaved>
    <o:Pages>1</o:Pages>
!   <o:Words>2897</o:Words>
!   <o:Characters>16514</o:Characters>
    <o:Company>Secure Endpoints Inc.</o:Company>
!   <o:Lines>137</o:Lines>
!   <o:Paragraphs>38</o:Paragraphs>
!   <o:CharactersWithSpaces>19373</o:CharactersWithSpaces>
    <o:Version>11.8132</o:Version>
   </o:DocumentProperties>
  </xml><![endif]--><!--[if gte mso 9]><xml>
   <w:WordDocument>
    <w:Zoom>0</w:Zoom>
    <w:ValidateAgainstSchemas/>
    <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>
    <w:IgnoreMixedContent>false</w:IgnoreMixedContent>
***************
*** 229,235 ****
  	mso-bidi-language:#0400;}
  </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"/>
--- 228,234 ----
  	mso-bidi-language:#0400;}
  </style>
  <![endif]--><!--[if gte mso 9]><xml>
!  <o:shapedefaults v:ext="edit" spidmax="7170"/>
  </xml><![endif]--><!--[if gte mso 9]><xml>
   <o:shapelayout v:ext="edit">
    <o:idmap v:ext="edit" data="1"/>
***************
*** 500,508 ****
  
  <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268860">3.36. Windows RPC client support must be
! installed</a></span></span><span style='mso-fareast-font-family:"Times New Roman";
! mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
--- 499,506 ----
  
  <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268860">3.36. Windows RPC client support must be installed</a></span></span><span
! style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
***************
*** 512,519 ****
  
  <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268862">3.38. AFS Client Universally Unique Identifiers (UUIDs) vs. System Cloning</a></span></span><span style='mso-fareast-font-family:"Times New Roman";
! mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
--- 510,518 ----
  
  <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268862">3.38. AFS Client Universally Unique
! Identifiers (UUIDs) vs. System Cloning</a></span></span><span style='mso-fareast-font-family:
! "Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
***************
*** 540,548 ****
  
  <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268867">3.43. New AFS Share Name Syntax Provides
! Direct Access to Volumes</a></span></span><span style='mso-fareast-font-family:
! "Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
--- 539,547 ----
  
  <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268867">3.43. New AFS Share Name Syntax Provides Direct
! Access to Volumes</a></span></span><span style='mso-fareast-font-family:"Times New Roman";
! mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
***************
*** 1197,1204 ****
  
  <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268994">Regkey:
! [HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters]</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
--- 1196,1202 ----
  
  <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170268994">Regkey: [HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters]</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
***************
*** 1404,1410 ****
  
  <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170269033">Regkey: [HKCU\SOFTWARE\OpenAFS\Client\Reminders]</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
--- 1402,1409 ----
  
  <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc170269033">Regkey:
! [HKCU\SOFTWARE\OpenAFS\Client\Reminders]</a></span></span><span
  style='mso-fareast-font-family:"Times New Roman";mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
Index: openafs/src/WINNT/install/NSIS/AdminGroup.rc
diff -c /dev/null openafs/src/WINNT/install/NSIS/AdminGroup.rc:1.1.2.2
*** /dev/null	Thu Sep 20 01:06:39 2007
--- openafs/src/WINNT/install/NSIS/AdminGroup.rc	Wed Sep 19 13:58:47 2007
***************
*** 0 ****
--- 1,17 ----
+ /*
+  * Copyright 2000, International Business Machines Corporation and others.
+  * All Rights Reserved.
+  * 
+  * This software has been released under the terms of the IBM Public
+  * License.  For details, see the LICENSE file in the top-level source
+  * directory or online at http://www.openafs.org/dl/license10.html
+  */
+ 
+ /* Define VERSIONINFO resource */
+ 
+ #define  AFS_VERINFO_FILE_DESCRIPTION "OpenAFS Admin Group Creator"
+ #define  AFS_VERINFO_NAME "AdminGroup"
+ #define  AFS_VERINFO_FILENAME "AdminGroup.exe"
+ 
+ #include "AFS_component_version_number.h"
+ #include "..\..\..\config\NTVersioninfo.rc"
Index: openafs/src/WINNT/install/NSIS/Killer.rc
diff -c /dev/null openafs/src/WINNT/install/NSIS/Killer.rc:1.1.2.2
*** /dev/null	Thu Sep 20 01:06:39 2007
--- openafs/src/WINNT/install/NSIS/Killer.rc	Wed Sep 19 13:58:47 2007
***************
*** 0 ****
--- 1,17 ----
+ /*
+  * Copyright 2000, International Business Machines Corporation and others.
+  * All Rights Reserved.
+  * 
+  * This software has been released under the terms of the IBM Public
+  * License.  For details, see the LICENSE file in the top-level source
+  * directory or online at http://www.openafs.org/dl/license10.html
+  */
+ 
+ /* Define VERSIONINFO resource */
+ 
+ #define  AFS_VERINFO_FILE_DESCRIPTION "OpenAFS Process Killer Utility"
+ #define  AFS_VERINFO_NAME "Killer"
+ #define  AFS_VERINFO_FILENAME "Killer.exe"
+ 
+ #include "AFS_component_version_number.h"
+ #include "..\..\..\config\NTVersioninfo.rc"
Index: openafs/src/WINNT/install/NSIS/NTMakefile
diff -c openafs/src/WINNT/install/NSIS/NTMakefile:1.18 openafs/src/WINNT/install/NSIS/NTMakefile:1.18.4.3
*** openafs/src/WINNT/install/NSIS/NTMakefile:1.18	Sun Nov 20 20:56:24 2005
--- openafs/src/WINNT/install/NSIS/NTMakefile	Wed Sep 19 13:58:47 2007
***************
*** 13,34 ****
  $(OUT)\Service.obj: Service.cpp
  	   $(C2OBJ) Service.cpp
  
! $(EXEDIR)\Service.exe: $(OUT)\Service.obj
!       $(EXECONLINK) $(OUT)\Service.obj
!         $(_VC_MANIFEST_EMBED_EXE)
  
  $(OUT)\Killer.obj: Killer.cpp
        $(C2OBJ) Killer.cpp
  
! $(EXEDIR)\Killer.exe: $(OUT)\Killer.obj
!       $(EXECONLINK) $(OUT)\Killer.obj
          $(_VC_MANIFEST_EMBED_EXE)
  
  $(OUT)\AdminGroup.obj: AdminGroup.cpp
        $(C2OBJ) AdminGroup.cpp
  
! $(EXEDIR)\AdminGroup.exe: $(OUT)\AdminGroup.obj
!       $(EXECONLINK) $(OUT)\AdminGroup.obj
          $(_VC_MANIFEST_EMBED_EXE)
  
  prebuild:
--- 13,40 ----
  $(OUT)\Service.obj: Service.cpp
  	   $(C2OBJ) Service.cpp
  
! $(OUT)\Service.res: Service.rc AFS_component_version_number.h
! 
! $(EXEDIR)\Service.exe: $(OUT)\Service.obj $(OUT)\Service.res
!       $(EXECONLINK) 
!       $(_VC_MANIFEST_EMBED_EXE)
! 
! $(OUT)\Killer.res: Killer.rc AFS_component_version_number.h
  
  $(OUT)\Killer.obj: Killer.cpp
        $(C2OBJ) Killer.cpp
  
! $(EXEDIR)\Killer.exe: $(OUT)\Killer.obj $(OUT)\Killer.res
!       $(EXECONLINK) 
          $(_VC_MANIFEST_EMBED_EXE)
  
+ $(OUT)\AdminGroup.res: AdminGroup.rc AFS_component_version_number.h
+ 
  $(OUT)\AdminGroup.obj: AdminGroup.cpp
        $(C2OBJ) AdminGroup.cpp
  
! $(EXEDIR)\AdminGroup.exe: $(OUT)\AdminGroup.obj $(OUT)\AdminGroup.res
!       $(EXECONLINK) 
          $(_VC_MANIFEST_EMBED_EXE)
  
  prebuild:
***************
*** 86,92 ****
     "$(NSISDIR)\makensis.exe" /VERSION >>$(OUT)\nsi-includes.nsi          
     echo. >>$(OUT)\nsi-includes.nsi                                       
  !if ("$(AFSVER_CL)" == "1400")
!    echo !define CL_1310 1 >> $(OUT)\nsi-includes.nsi
  !else if ("$(AFSVER_CL)" == "1310")
     echo !define CL_1310 1 >> $(OUT)\nsi-includes.nsi
  !else if ("$(AFSVER_CL)" == "1300")
--- 92,98 ----
     "$(NSISDIR)\makensis.exe" /VERSION >>$(OUT)\nsi-includes.nsi          
     echo. >>$(OUT)\nsi-includes.nsi                                       
  !if ("$(AFSVER_CL)" == "1400")
!    echo !define CL_1400 1 >> $(OUT)\nsi-includes.nsi
  !else if ("$(AFSVER_CL)" == "1310")
     echo !define CL_1310 1 >> $(OUT)\nsi-includes.nsi
  !else if ("$(AFSVER_CL)" == "1300")
***************
*** 100,114 ****
  !endif
  
  build: prebuild
!    "C:\Program Files\NSIS\makensis.exe" /DINCLUDEDIR=$(OUT) OpenAFS.nsi
  
  install: $(OUT)\Service.obj $(EXEDIR)\Service.exe $(OUT)\Killer.obj $(EXEDIR)\Killer.exe $(EXEDIR)\AdminGroup.exe build
  
! #clean:
! #   $(DEL) $(OUT)\Service.obj
! #   $(DEL) $(EXEDIR)\Service.exe
  #   $(DEL) $(EXEDIR)\Msvcr71.dll
  #   $(DEL) $(EXEDIR)\MFC42.DLL
  #   $(DEL) OpenAFSforWindows.exe
- #   $(DEL) nsi-include.nsi
  
--- 106,128 ----
  !endif
  
  build: prebuild
!    "$(NSISDIR)\makensis.exe" /DINCLUDEDIR=$(OUT) OpenAFS.nsi
  
  install: $(OUT)\Service.obj $(EXEDIR)\Service.exe $(OUT)\Killer.obj $(EXEDIR)\Killer.exe $(EXEDIR)\AdminGroup.exe build
  
! clean::
!    $(DEL) $(OUT)\Service.obj
!    $(DEL) $(OUT)\Service.res
!    $(DEL) $(EXEDIR)\Service.exe
!    $(DEL) $(OUT)\Killer.obj
!    $(DEL) $(OUT)\Killer.res
!    $(DEL) $(EXEDIR)\Killer.exe
!    $(DEL) $(OUT)\AdminGroup.obj
!    $(DEL) $(OUT)\AdminGroup.res
!    $(DEL) $(EXEDIR)\AdminGroup.exe
!    $(DEL) nsi-include.nsi
!    $(DEL) AFS_component_version_number.h
  #   $(DEL) $(EXEDIR)\Msvcr71.dll
  #   $(DEL) $(EXEDIR)\MFC42.DLL
  #   $(DEL) OpenAFSforWindows.exe
  
Index: openafs/src/WINNT/install/NSIS/OpenAFS.nsi
diff -c openafs/src/WINNT/install/NSIS/OpenAFS.nsi:1.88.4.10 openafs/src/WINNT/install/NSIS/OpenAFS.nsi:1.88.4.11
*** openafs/src/WINNT/install/NSIS/OpenAFS.nsi:1.88.4.10	Fri Jun 22 10:43:15 2007
--- openafs/src/WINNT/install/NSIS/OpenAFS.nsi	Tue Sep 18 02:05:28 2007
***************
*** 327,332 ****
--- 327,335 ----
    ReserveFile "AFSCell.ini"
    !insertmacro MUI_RESERVEFILE_INSTALLOPTIONS ;InstallOptions plug-in
    !insertmacro MUI_RESERVEFILE_LANGDLL ;Language selection dialog
+ 
+   RequestExecutionLevel admin
+ 
  ;--------------------------------
  ; Macros
  ; Macro - Upgrade DLL File
Index: openafs/src/WINNT/install/NSIS/Service.rc
diff -c /dev/null openafs/src/WINNT/install/NSIS/Service.rc:1.1.2.2
*** /dev/null	Thu Sep 20 01:06:39 2007
--- openafs/src/WINNT/install/NSIS/Service.rc	Wed Sep 19 13:58:47 2007
***************
*** 0 ****
--- 1,17 ----
+ /*
+  * Copyright 2000, International Business Machines Corporation and others.
+  * All Rights Reserved.
+  * 
+  * This software has been released under the terms of the IBM Public
+  * License.  For details, see the LICENSE file in the top-level source
+  * directory or online at http://www.openafs.org/dl/license10.html
+  */
+ 
+ /* Define VERSIONINFO resource */
+ 
+ #define  AFS_VERINFO_FILE_DESCRIPTION "OpenAFS Service Creation / Deletion Utility"
+ #define  AFS_VERINFO_NAME "Service"
+ #define  AFS_VERINFO_FILENAME "Service.exe"
+ 
+ #include "AFS_component_version_number.h"
+ #include "..\..\..\config\NTVersioninfo.rc"
Index: openafs/src/WINNT/install/loopback/NTMakefile
diff -c openafs/src/WINNT/install/loopback/NTMakefile:1.5.4.1 openafs/src/WINNT/install/loopback/NTMakefile:1.5.4.2
*** openafs/src/WINNT/install/loopback/NTMakefile:1.5.4.1	Tue Jun  6 10:47:09 2006
--- openafs/src/WINNT/install/loopback/NTMakefile	Wed Sep 19 13:58:47 2007
***************
*** 1,4 ****
! # rcsid : $Id: NTMakefile,v 1.5.4.1 2006/06/06 14:47:09 jaltman Exp $
  
  RELDIR=WINNT\install\loopback
  !INCLUDE ..\..\..\config\NTMakefile.$(SYS_NAME)
--- 1,4 ----
! # rcsid : $Id: NTMakefile,v 1.5.4.2 2007/09/19 17:58:47 jaltman Exp $
  
  RELDIR=WINNT\install\loopback
  !INCLUDE ..\..\..\config\NTMakefile.$(SYS_NAME)
***************
*** 8,15 ****
--- 8,19 ----
  
  EXEFILE = $(MEDIABINDIR)\instloop.exe
  
+ EXERES = $(OUT)\instloop.res
+ 
  DLLFILE = $(MEDIABINDIR)\afsloopback.dll
  
+ DLLRES = $(OUT)\afsloopback.res
+ 
  DLLEXPORTS=\
  	-EXPORT:UnInstallLoopBack \
  	-EXPORT:IsLoopbackInstalled \
***************
*** 29,34 ****
--- 33,42 ----
  DLLSOURCEFILES = loopbackutils.cpp renameconnection.cpp wmi.cpp
  DLLOBJFILES =  $(OUT)\loopbackutils.obj $(OUT)\renameconnection.obj $(OUT)\wmi.obj
  
+ $(EXERES) : instloop.rc AFS_component_version_number.h
+ 
+ $(DLLRES) : afsloopback.rc AFS_component_version_number.h
+ 
  STATICC2OBJ=$(CC) $(cflags) $(afscflags) $(afscdefs) -ML
  
  $(OUT)\loopbackutils.obj: loopbackutils.cpp
***************
*** 40,47 ****
  $(OUT)\wmi.obj: wmi.cpp
  	$(STATICC2OBJ)  -I$(NTDDKDIR) -c -DUNICODE -D_UNICODE /Fo$@ $**
  
! $(DLLFILE): $(DLLOBJFILES)
! 	$(LINK) -DLL $(DLLEXPORTS) -OUT:$@ $(DLLOBJFILES) $(DLLLIBFILES)
          $(_VC_MANIFEST_EMBED_DLL)
  
  # instloop.exe
--- 48,55 ----
  $(OUT)\wmi.obj: wmi.cpp
  	$(STATICC2OBJ)  -I$(NTDDKDIR) -c -DUNICODE -D_UNICODE /Fo$@ $**
  
! $(DLLFILE): $(DLLOBJFILES) $(DLLRES)
! 	$(LINK) -DLL $(DLLEXPORTS) -OUT:$@ $** $(DLLLIBFILES)
          $(_VC_MANIFEST_EMBED_DLL)
  
  # instloop.exe
***************
*** 52,62 ****
  $(OUT)\instloop.obj: instloop.c
        $(STATICC2OBJ) -c -DUNICODE -D_UNICODE /Fo$@ $**
  
! $(EXEFILE): $(EXEOBJFILES)
!       $(LINK) /OUT:$@ $(EXEOBJFILES) $(DLLLIBFILES)
!         $(_VC_MANIFEST_EMBED_EXE)
  
  install:  $(DLLFILE) $(EXEFILE)
  
  clean	::
  	$(DEL) *.pdb
--- 60,74 ----
  $(OUT)\instloop.obj: instloop.c
        $(STATICC2OBJ) -c -DUNICODE -D_UNICODE /Fo$@ $**
  
! $(EXEFILE): $(EXEOBJFILES) $(EXERES)
!       $(LINK) /OUT:$@ $** $(DLLLIBFILES)
!       $(_VC_MANIFEST_EMBED_EXE)
  
  install:  $(DLLFILE) $(EXEFILE)
  
  clean	::
  	$(DEL) *.pdb
+ 	$(DEL) $(EXERES)
+ 	$(DEL) $(DLLRES)
+ 	$(DEL) AFS_component_version_number.h
+ 
Index: openafs/src/WINNT/install/loopback/afsloopback.rc
diff -c /dev/null openafs/src/WINNT/install/loopback/afsloopback.rc:1.1.2.2
*** /dev/null	Thu Sep 20 01:06:39 2007
--- openafs/src/WINNT/install/loopback/afsloopback.rc	Wed Sep 19 13:58:47 2007
***************
*** 0 ****
--- 1,17 ----
+ /*
+  * Copyright 2000, International Business Machines Corporation and others.
+  * All Rights Reserved.
+  * 
+  * This software has been released under the terms of the IBM Public
+  * License.  For details, see the LICENSE file in the top-level source
+  * directory or online at http://www.openafs.org/dl/license10.html
+  */
+ 
+ /* Define VERSIONINFO resource */
+ 
+ #define  AFS_VERINFO_FILE_DESCRIPTION "OpenAFS Loopback Installer DLL"
+ #define  AFS_VERINFO_NAME "loopback"
+ #define  AFS_VERINFO_FILENAME "loopback.dll"
+ 
+ #include "AFS_component_version_number.h"
+ #include "..\..\..\config\NTVersioninfo.rc"
Index: openafs/src/WINNT/install/loopback/instloop.rc
diff -c /dev/null openafs/src/WINNT/install/loopback/instloop.rc:1.1.2.2
*** /dev/null	Thu Sep 20 01:06:39 2007
--- openafs/src/WINNT/install/loopback/instloop.rc	Wed Sep 19 13:58:47 2007
***************
*** 0 ****
--- 1,17 ----
+ /*
+  * Copyright 2000, International Business Machines Corporation and others.
+  * All Rights Reserved.
+  * 
+  * This software has been released under the terms of the IBM Public
+  * License.  For details, see the LICENSE file in the top-level source
+  * directory or online at http://www.openafs.org/dl/license10.html
+  */
+ 
+ /* Define VERSIONINFO resource */
+ 
+ #define  AFS_VERINFO_FILE_DESCRIPTION "OpenAFS Loopback Adapter Installer"
+ #define  AFS_VERINFO_NAME "instloop"
+ #define  AFS_VERINFO_FILENAME "instloop.exe"
+ 
+ #include "AFS_component_version_number.h"
+ #include "..\..\..\config\NTVersioninfo.rc"
Index: openafs/src/WINNT/install/wix/feature.wxi
diff -c openafs/src/WINNT/install/wix/feature.wxi:1.14.2.5 openafs/src/WINNT/install/wix/feature.wxi:1.14.2.7
*** openafs/src/WINNT/install/wix/feature.wxi:1.14.2.5	Tue Aug 28 13:31:09 2007
--- openafs/src/WINNT/install/wix/feature.wxi	Thu Aug 30 22:27:38 2007
***************
*** 85,90 ****
--- 85,91 ----
                  <ComponentRef Id="cmf_afs_cpa_$(var.LanguageCode)_DLL" />
                  <ComponentRef Id="cmf_afs_shl_ext_$(var.LanguageCode)_DLL" />
  
+                 <ComponentRef Id="cmf_instloop_EXE" />
                  <ComponentRef Id="cmf_afsshare_EXE" />
                  <ComponentRef Id="cmf_libosi_DLL" />
                  <ComponentRef Id="cmf_libafsconf_DLL" />
***************
*** 108,116 ****
                  <ComponentRef Id="cmf_translate_et_EXE" />
                  <ComponentRef Id="cmf_rxdebug_EXE" />
                  <ComponentRef Id="cmf_backup_EXE" />
!                 <?if $(env.CPU) = "i386"?>
!             	    <ComponentRef Id="cmf_aklog_EXE" />
! 	 	<?endif?>
                  <ComponentRef Id="cmf_cmdebug_EXE" />
                  
                  <!-- Runtime -->
--- 109,115 ----
                  <ComponentRef Id="cmf_translate_et_EXE" />
                  <ComponentRef Id="cmf_rxdebug_EXE" />
                  <ComponentRef Id="cmf_backup_EXE" />
!           	<ComponentRef Id="cmf_aklog_EXE" />
                  <ComponentRef Id="cmf_cmdebug_EXE" />
                  
                  <!-- Runtime -->
***************
*** 152,160 ****
                  <ComponentRef Id="cmf_volserver_EXE" />
                  <ComponentRef Id="cmf_afskill_EXE" />
                  <ComponentRef Id="cmf_afssvrcfg_EXE" />
! 		<?if $(env.CPU) = "i386"?>
!                 	<ComponentRef Id="cmf_asetkey_EXE" />
! 		<?endif?>
                  <ComponentRef Id="cmf_bosctlsvc_EXE" />
                  <ComponentRef Id="cmf_bosserver_EXE" />
                  <ComponentRef Id="cmf_buserver_EXE" />
--- 151,157 ----
                  <ComponentRef Id="cmf_volserver_EXE" />
                  <ComponentRef Id="cmf_afskill_EXE" />
                  <ComponentRef Id="cmf_afssvrcfg_EXE" />
!                 <ComponentRef Id="cmf_asetkey_EXE" />
                  <ComponentRef Id="cmf_bosctlsvc_EXE" />
                  <ComponentRef Id="cmf_bosserver_EXE" />
                  <ComponentRef Id="cmf_buserver_EXE" />
***************
*** 286,292 ****
  				</Feature>
  			<?endif?>
  
-   <?if $(env.CPU) = "i386"?>
              <Feature Id="feaNetIDMgrPlugin" AllowAdvertise="no" Description="$(loc.StrNIDMPluginLongDesc)"
                      Display="expand" InstallDefault="followParent" Level="30" Title="$(loc.StrNIDMPluginDesc)">
                      <ComponentRef Id="_afscreds_plugin" />
--- 283,288 ----
***************
*** 299,305 ****
                      </Feature>
  	    <?endif?>
              </Feature>
-   <?endif?>
  
  		<ComponentRef Id="cmp_CommonDir" />
  
--- 295,300 ----
***************
*** 309,314 ****
--- 304,310 ----
                  <ComponentRef Id="cmf_TaAfsAppLib_DLL" />
                  <ComponentRef Id="cmf_afsprocmgmt_DLL" />
  
+                 <ComponentRef Id="cmf_instloop_EXE" />
                  <ComponentRef Id="cmf_afsshare_EXE" />
                  <ComponentRef Id="cmf_libosi_DLL" />
                  <ComponentRef Id="cmf_libafsconf_DLL" />
***************
*** 331,339 ****
                  <ComponentRef Id="cmf_afs_shl_ext_$(var.LanguageCode)_DLL" />
  
                  <ComponentRef Id="rcm_BinsOnly_Parm" />
!                 <?if $(env.CPU) = "i386"?>
!             	    <ComponentRef Id="cmf_aklog_EXE" />
! 	 	<?endif?>
                  <ComponentRef Id="cmf_cmdebug_EXE" />
                  
                  <!-- Runtime -->
--- 327,333 ----
                  <ComponentRef Id="cmf_afs_shl_ext_$(var.LanguageCode)_DLL" />
  
                  <ComponentRef Id="rcm_BinsOnly_Parm" />
!             	<ComponentRef Id="cmf_aklog_EXE" />
                  <ComponentRef Id="cmf_cmdebug_EXE" />
                  
                  <!-- Runtime -->
Index: openafs/src/WINNT/install/wix/files.wxi
diff -c openafs/src/WINNT/install/wix/files.wxi:1.22.2.14 openafs/src/WINNT/install/wix/files.wxi:1.22.2.17
*** openafs/src/WINNT/install/wix/files.wxi:1.22.2.14	Tue Aug 28 13:31:09 2007
--- openafs/src/WINNT/install/wix/files.wxi	Sun Sep  9 23:34:58 2007
***************
*** 806,811 ****
--- 806,815 ----
                  </Component>
    <?endif?>
                  <Directory Id="dirProgram" Name="Program" src="$(var.ClientDir)">
+                     <Component Win64="$(var.Win64)" Id="cmf_instloop_EXE" Guid="$(var.cmf_instloop_EXE_guid)">
+                         <File Id="fileinstloop_EXE" Name="instloop.exe" LongName="instloop.exe" KeyPath="yes" DiskId="1" src="$(var.MediaBinDir)instloop.exe" />
+                         <Condition>INSTALLINSTLOOPEXE &lt;&gt; ""</Condition>
+                     </Component>
                      <Component Win64="$(var.Win64)" Id="cmf_afsshare_EXE" Guid="$(var.cmf_afsshare_EXE_guid)">
                          <File Id="fileafsshare_EXE" Name="afsshare.exe" LongName="afsshare.exe" KeyPath="yes" DiskId="1" />
                      </Component>
***************
*** 906,912 ****
                      <Component Win64="$(var.Win64)" Id="cmf_afsd_service_EXE" Guid="$(var.cmf_afsd_service_EXE_guid)">
                          <File Id="fileafsd_service_EXE" Name="afsd_svc.exe" LongName="afsd_service.exe" KeyPath="yes" DiskId="1" />
                          <ServiceControl Id="TransarcAFSDaemon" Name="TransarcAFSDaemon" Stop="both" Remove="both" Wait="yes" />
!                         <ServiceInstall Id="svc_Client" Name="TransarcAFSDaemon" DisplayName="OpenAFS Client" Type="ownProcess" Start="auto" ErrorControl="normal" Description="Provides access to files and directories stored in AFS" Interactive="yes">
  							<!-- ServiceConfig doesn't currently do what you think it does.
  							     We instead use a custom action to set the service failure actions.
                              <ServiceConfig FirstFailureActionType="restart" RestartServiceDelayInSeconds="10" SecondFailureActionType="restart" ThirdFailureActionType="none"/>
--- 910,916 ----
                      <Component Win64="$(var.Win64)" Id="cmf_afsd_service_EXE" Guid="$(var.cmf_afsd_service_EXE_guid)">
                          <File Id="fileafsd_service_EXE" Name="afsd_svc.exe" LongName="afsd_service.exe" KeyPath="yes" DiskId="1" />
                          <ServiceControl Id="TransarcAFSDaemon" Name="TransarcAFSDaemon" Stop="both" Remove="both" Wait="yes" />
!                         <ServiceInstall Id="svc_Client" Name="TransarcAFSDaemon" DisplayName="OpenAFS Client Service" Type="ownProcess" Start="auto" ErrorControl="normal" Description="Provides access to files and directories stored in AFS" Interactive="yes">
  							<!-- ServiceConfig doesn't currently do what you think it does.
  							     We instead use a custom action to set the service failure actions.
                              <ServiceConfig FirstFailureActionType="restart" RestartServiceDelayInSeconds="10" SecondFailureActionType="restart" ThirdFailureActionType="none"/>
***************
*** 949,959 ****
                       <Component Win64="$(var.Win64)" Id="cmf_backup_EXE" Guid="$(var.cmf_backup_EXE_guid)">
                          <File Id="filebackup_EXE" Name="backup.exe" LongName="backup.exe" KeyPath="yes" DiskId="1" src="$(var.EtcDir)\backup.exe"/>
                      </Component>
! 	            <?if $(env.CPU) = "i386"?>
! 	                    <Component Win64="$(var.Win64)" Id="cmf_aklog_EXE" Guid="$(var.cmf_aklog_EXE_guid)">
!                         	<File Id="fileaklog_EXE" Name="aklog.exe" LongName="aklog.exe" KeyPath="yes" DiskId="1" />
! 	                    </Component>
! 		    <?endif?>
                       <Component Win64="$(var.Win64)" Id="cmf_cmdebug_EXE" Guid="$(var.cmf_cmdebug_EXE_guid)">
                          <File Id="filecmdebug_EXE" Name="cmdebug.exe" LongName="cmdebug.exe" KeyPath="yes" DiskId="1" />
                          <Environment Id="envClient" Name="PATH" Action="create" System="yes" Permanent="no" Part="last" Separator=";" Value="[AFSDIR]Client\Program" />
--- 953,961 ----
                       <Component Win64="$(var.Win64)" Id="cmf_backup_EXE" Guid="$(var.cmf_backup_EXE_guid)">
                          <File Id="filebackup_EXE" Name="backup.exe" LongName="backup.exe" KeyPath="yes" DiskId="1" src="$(var.EtcDir)\backup.exe"/>
                      </Component>
! 	            <Component Win64="$(var.Win64)" Id="cmf_aklog_EXE" Guid="$(var.cmf_aklog_EXE_guid)">
!                         <File Id="fileaklog_EXE" Name="aklog.exe" LongName="aklog.exe" KeyPath="yes" DiskId="1" />
! 	            </Component>
                       <Component Win64="$(var.Win64)" Id="cmf_cmdebug_EXE" Guid="$(var.cmf_cmdebug_EXE_guid)">
                          <File Id="filecmdebug_EXE" Name="cmdebug.exe" LongName="cmdebug.exe" KeyPath="yes" DiskId="1" />
                          <Environment Id="envClient" Name="PATH" Action="create" System="yes" Permanent="no" Part="last" Separator=";" Value="[AFSDIR]Client\Program" />
***************
*** 983,991 ****
                          <File Id="filetranslate_et_PDB" Name="translet.pdb" LongName="translate_et.pdb" DiskId="1" src="$(var.BinDir)\translate_et.pdb"/>
                          <File Id="filerxdebug_PDB" Name="rxdebug.pdb" LongName="rxdebug.pdb" DiskId="1" src="$(var.EtcDir)\rxdebug.pdb"/>
                          <File Id="filebackup_PDB" Name="backup.pdb" LongName="backup.pdb" DiskId="1" src="$(var.EtcDir)\backup.pdb"/>
! 			<?if $(env.CPU) = "i386"?>
!                         	<File Id="fileaklog_PDB" Name="aklog.pdb" LongName="aklog.pdb" DiskId="1" />
! 			<?endif?>
                          <File Id="filecmdebug_PDB" Name="cmdebug.pdb" LongName="cmdebug.pdb" DiskId="1" />
                          <File Id="fileafs_shl_ext_PDB" Name="afsshext.pdb" LongName="afs_shl_ext.pdb" DiskId="1" />
    <?ifndef BinsOnly ?>
--- 985,991 ----
                          <File Id="filetranslate_et_PDB" Name="translet.pdb" LongName="translate_et.pdb" DiskId="1" src="$(var.BinDir)\translate_et.pdb"/>
                          <File Id="filerxdebug_PDB" Name="rxdebug.pdb" LongName="rxdebug.pdb" DiskId="1" src="$(var.EtcDir)\rxdebug.pdb"/>
                          <File Id="filebackup_PDB" Name="backup.pdb" LongName="backup.pdb" DiskId="1" src="$(var.EtcDir)\backup.pdb"/>
!                         <File Id="fileaklog_PDB" Name="aklog.pdb" LongName="aklog.pdb" DiskId="1" />
                          <File Id="filecmdebug_PDB" Name="cmdebug.pdb" LongName="cmdebug.pdb" DiskId="1" />
                          <File Id="fileafs_shl_ext_PDB" Name="afsshext.pdb" LongName="afs_shl_ext.pdb" DiskId="1" />
    <?ifndef BinsOnly ?>
***************
*** 1021,1031 ****
  -->
                                  </File>
                              </Component>
! 			    <?if $(env.CPU) = "i386"?>
!                                     <Component Win64="$(var.Win64)" Id="cmf_asetkey_EXE" Guid="$(var.cmf_asetkey_EXE_guid)">
!                                 	<File Id="fileasetkey_EXE" Name="asetk.exe" LongName="asetkey.exe" KeyPath="yes" DiskId="1" />
! 	                            </Component>
! 			    <?endif?>
                               <Component Win64="$(var.Win64)" Id="cmf_bosctlsvc_EXE" Guid="$(var.cmf_bosctlsvc_EXE_guid)">
                                  <File Id="filebosctlsvc_EXE" Name="bosct.exe" LongName="bosctlsvc.exe" KeyPath="yes" DiskId="1" />
                                  <ServiceControl Id="TransarcAFSServer" Name="TransarcAFSServer" Stop="both" Remove="both" Wait="yes" />
--- 1021,1029 ----
  -->
                                  </File>
                              </Component>
!                             <Component Win64="$(var.Win64)" Id="cmf_asetkey_EXE" Guid="$(var.cmf_asetkey_EXE_guid)">
!                                 <File Id="fileasetkey_EXE" Name="asetk.exe" LongName="asetkey.exe" KeyPath="yes" DiskId="1" />
! 	                    </Component>
                               <Component Win64="$(var.Win64)" Id="cmf_bosctlsvc_EXE" Guid="$(var.cmf_bosctlsvc_EXE_guid)">
                                  <File Id="filebosctlsvc_EXE" Name="bosct.exe" LongName="bosctlsvc.exe" KeyPath="yes" DiskId="1" />
                                  <ServiceControl Id="TransarcAFSServer" Name="TransarcAFSServer" Stop="both" Remove="both" Wait="yes" />
***************
*** 1086,1094 ****
                                  <File Id="filevolserver_PDB" Name="volse.pdb" LongName="volserver.pdb" DiskId="1" />
                                  <File Id="fileafskill_PDB" Name="afski.pdb" LongName="afskill.pdb" DiskId="1" />
                                  <File Id="fileafssvrcfg_PDB" Name="afssv.pdb" LongName="afssvrcfg.pdb" DiskId="1" />
! 				<?if $(env.CPU) = "i386"?>
!                                 	<File Id="fileasetkey_PDB" Name="asetk.pdb" LongName="asetkey.pdb" DiskId="1" />
! 				<?endif?>
                                  <File Id="filebosctlsvc_PDB" Name="bosct.pdb" LongName="bosctlsvc.pdb" DiskId="1" />
                                  <File Id="filebosserver_PDB" Name="bosse.pdb" LongName="bosserver.pdb" DiskId="1" />
                                  <File Id="filebuserver_PDB" Name="buser.pdb" LongName="buserver.pdb" DiskId="1" />
--- 1084,1090 ----
                                  <File Id="filevolserver_PDB" Name="volse.pdb" LongName="volserver.pdb" DiskId="1" />
                                  <File Id="fileafskill_PDB" Name="afski.pdb" LongName="afskill.pdb" DiskId="1" />
                                  <File Id="fileafssvrcfg_PDB" Name="afssv.pdb" LongName="afssvrcfg.pdb" DiskId="1" />
!                                 <File Id="fileasetkey_PDB" Name="asetk.pdb" LongName="asetkey.pdb" DiskId="1" />
                                  <File Id="filebosctlsvc_PDB" Name="bosct.pdb" LongName="bosctlsvc.pdb" DiskId="1" />
                                  <File Id="filebosserver_PDB" Name="bosse.pdb" LongName="bosserver.pdb" DiskId="1" />
                                  <File Id="filebuserver_PDB" Name="buser.pdb" LongName="buserver.pdb" DiskId="1" />
Index: openafs/src/WINNT/install/wix/platform.wxi
diff -c openafs/src/WINNT/install/wix/platform.wxi:1.2.2.3 openafs/src/WINNT/install/wix/platform.wxi:1.2.2.4
*** openafs/src/WINNT/install/wix/platform.wxi:1.2.2.3	Tue Aug 28 13:31:09 2007
--- openafs/src/WINNT/install/wix/platform.wxi	Thu Aug 30 22:27:38 2007
***************
*** 50,55 ****
--- 50,56 ----
  	<?define cmf_TaAfsAdmSvr_EXE_guid="6E8C0D1B-D07D-467C-9829-5C4556CB062A"?>
  	<?define cmf_TaAfsAccountManager_EXE_guid="D8C0005E-A7A9-4B50-A28E-2C1429E8B805"?>
  	<?define cmp_Control_CenterDebug_guid="C363179A-D696-47A3-BBCB-C9B86C524782"?>
+         <?define cmf_instloop_EXE_guid="E2507993-72BA-4015-A39A-D1D8D494133D"?>
  	<?define cmf_afsshare_EXE_guid="7FEB85B0-ED4F-4129-AA30-8FFF7E353296"?>
  	<?define cmf_libosi_DLL_guid="9CC44067-6181-4BC1-AA01-0846C0ABDCA8"?>
  	<?define cmf_libafsconf_DLL_guid="0DF35865-0D0F-49E8-8CFB-FC96D19AED18"?>
***************
*** 153,158 ****
--- 154,160 ----
  	<?define cmf_TaAfsAdmSvr_EXE_guid="99E23413-8261-4007-9DC9-B2C7453EF1EE"?>
  	<?define cmf_TaAfsAccountManager_EXE_guid="BDFA5B64-2A69-41D5-8260-3DAB3CE9A10B"?>
  	<?define cmp_Control_CenterDebug_guid="B14EEC50-8ADF-4FE4-B00F-431861A5620C"?>
+         <?define cmf_instloop_EXE_guid="1BE492BD-9784-48A6-91ED-726134BF22CA"?>
  	<?define cmf_afsshare_EXE_guid="E972DA35-E950-4736-AE48-E6DDCE8C97D0"?>
  	<?define cmf_libosi_DLL_guid="0E10B3CC-533B-4EAC-AFC5-3D2B529385D7"?>
  	<?define cmf_libafsconf_DLL_guid="D72DA435-878D-42BE-9383-69FB97D63624"?>
Index: openafs/src/WINNT/install/wix/custom/NTMakefile
diff -c openafs/src/WINNT/install/wix/custom/NTMakefile:1.5 openafs/src/WINNT/install/wix/custom/NTMakefile:1.5.4.1
*** openafs/src/WINNT/install/wix/custom/NTMakefile:1.5	Sun Nov 20 20:56:28 2005
--- openafs/src/WINNT/install/wix/custom/NTMakefile	Wed Sep 19 13:58:47 2007
***************
*** 1,4 ****
! # rcsid : $Id: NTMakefile,v 1.5 2005/11/21 01:56:28 jaltman Exp $
  
  RELDIR=WINNT\install\wix\custom
  !INCLUDE ..\..\..\..\config\NTMakefile.$(SYS_NAME)
--- 1,4 ----
! # rcsid : $Id: NTMakefile,v 1.5.4.1 2007/09/19 17:58:47 jaltman Exp $
  
  RELDIR=WINNT\install\wix\custom
  !INCLUDE ..\..\..\..\config\NTMakefile.$(SYS_NAME)
***************
*** 8,13 ****
--- 8,15 ----
  
  DLLFILE = $(MEDIABINDIR)\afscustom.dll
  
+ DLLRES = $(OUT)\afscustom.res
+ 
  DLLEXPORTS=\
  	-EXPORT:InstallNetProvider \
  	-EXPORT:UninstallNetProvider \
***************
*** 28,34 ****
  $(OUT)\afscustom.obj: afscustom.cpp
  	$(CC) -ML -c /Fo$@ $**
  
! $(DLLFILE): $(OUT)\afscustom.obj
  	$(LINK) -DLL $(DLLEXPORTS) \
  	  -OUT:$@ $** $(DLLLIBFILES)
          $(_VC_MANIFEST_EMBED_DLL)
--- 30,38 ----
  $(OUT)\afscustom.obj: afscustom.cpp
  	$(CC) -ML -c /Fo$@ $**
  
! $(DLLRES): afscustom.rc AFS_component_version_number.h
! 
! $(DLLFILE): $(OUT)\afscustom.obj $(DLLRES)
  	$(LINK) -DLL $(DLLEXPORTS) \
  	  -OUT:$@ $** $(DLLLIBFILES)
          $(_VC_MANIFEST_EMBED_DLL)
***************
*** 36,38 ****
--- 40,46 ----
  install: $(DLLFILE)
  
  clean	::
+ 	$(DEL) $(DLLRES)
+ 	$(DEL) $(OUT)\afscustom.obj
+ 	$(DEL) $(DLLFILE)
+ 	$(DEL) AFS_component_version_number.h
Index: openafs/src/WINNT/install/wix/custom/afscustom.rc
diff -c /dev/null openafs/src/WINNT/install/wix/custom/afscustom.rc:1.1.2.2
*** /dev/null	Thu Sep 20 01:06:39 2007
--- openafs/src/WINNT/install/wix/custom/afscustom.rc	Wed Sep 19 13:58:47 2007
***************
*** 0 ****
--- 1,17 ----
+ /*
+  * Copyright 2000, International Business Machines Corporation and others.
+  * All Rights Reserved.
+  * 
+  * This software has been released under the terms of the IBM Public
+  * License.  For details, see the LICENSE file in the top-level source
+  * directory or online at http://www.openafs.org/dl/license10.html
+  */
+ 
+ /* Define VERSIONINFO resource */
+ 
+ #define  AFS_VERINFO_FILE_DESCRIPTION "OpenAFS MSI Custom DLL"
+ #define  AFS_VERINFO_NAME "afscustom"
+ #define  AFS_VERINFO_FILENAME "afscustom.dll"
+ 
+ #include "AFS_component_version_number.h"
+ #include "..\..\..\..\config\NTVersioninfo.rc"
Index: openafs/src/WINNT/kfw/lib/amd64/leashw64.lib
Index: openafs/src/WINNT/license/NTMakefile
diff -c openafs/src/WINNT/license/NTMakefile:1.5.4.1 openafs/src/WINNT/license/NTMakefile:1.5.4.2
*** openafs/src/WINNT/license/NTMakefile:1.5.4.1	Tue Jun  6 10:47:10 2006
--- openafs/src/WINNT/license/NTMakefile	Wed Sep 19 13:58:48 2007
***************
*** 17,22 ****
--- 17,24 ----
  
  EXEFILE = $(DESTDIR)\bin\sgml2rtf.exe
  
+ EXERES = $(OUT)\sgml2rtf.res
+ 
  EXEOBJS = \
  	$(OUT)\main.obj \
  	$(OUT)\multistring.obj
***************
*** 24,30 ****
  EXELIBS = \
  	user32.lib
  
! $(EXEFILE) : $(EXEOBJS)
  	$(EXECONLINK) $(EXELIBS)
          $(_VC_MANIFEST_EMBED_EXE)
  	$(EXEPREP) 
--- 26,34 ----
  EXELIBS = \
  	user32.lib
  
! $(EXERES): sgml2rtf.rc AFS_component_version_number.h
! 
! $(EXEFILE) : $(EXEOBJS) $(EXERES)
  	$(EXECONLINK) $(EXELIBS)
          $(_VC_MANIFEST_EMBED_EXE)
  	$(EXEPREP) 
***************
*** 44,49 ****
--- 48,54 ----
  	cd ..
  
  clean ::
+ 	$(DEL) $(EXERES)
  	$(CD) lang
  	@$(MAKECMD) /nologo /f NTMakefile clean
  	$(CD) ..
Index: openafs/src/WINNT/license/sgml2rtf.rc
diff -c /dev/null openafs/src/WINNT/license/sgml2rtf.rc:1.1.2.2
*** /dev/null	Thu Sep 20 01:06:40 2007
--- openafs/src/WINNT/license/sgml2rtf.rc	Wed Sep 19 13:58:48 2007
***************
*** 0 ****
--- 1,17 ----
+ /*
+  * Copyright 2000, International Business Machines Corporation and others.
+  * All Rights Reserved.
+  * 
+  * This software has been released under the terms of the IBM Public
+  * License.  For details, see the LICENSE file in the top-level source
+  * directory or online at http://www.openafs.org/dl/license10.html
+  */
+ 
+ /* Define VERSIONINFO resource */
+ 
+ #define  AFS_VERINFO_FILE_DESCRIPTION "AFS SGML to RTF Conversion Tool"
+ #define  AFS_VERINFO_NAME "sgml2rtf"
+ #define  AFS_VERINFO_FILENAME "sgml2rtf.exe"
+ 
+ #include "AFS_component_version_number.h"
+ #include "..\..\config\NTVersioninfo.rc"
Index: openafs/src/WINNT/netidmgr_plugin/afsfuncs.c
diff -c openafs/src/WINNT/netidmgr_plugin/afsfuncs.c:1.1.2.11 openafs/src/WINNT/netidmgr_plugin/afsfuncs.c:1.1.2.12
*** openafs/src/WINNT/netidmgr_plugin/afsfuncs.c:1.1.2.11	Tue Aug 28 12:54:46 2007
--- openafs/src/WINNT/netidmgr_plugin/afsfuncs.c	Wed Aug 29 01:32:34 2007
***************
*** 22,28 ****
   * SOFTWARE.
   */
  
! /* $Id: afsfuncs.c,v 1.1.2.11 2007/08/28 16:54:46 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.12 2007/08/29 05:32:34 jaltman Exp $ */
  
  /* Disable the 'macro redefinition' warning which is getting
     triggerred by a redefinition of the ENCRYPT and DECRYPT macros. */
***************
*** 840,846 ****
          increds.keyblock.enctype = ENCTYPE_DES_CBC_CRC;
  
  #ifdef KRB5_TC_NOTICKET
!         flags = 0;
          r = pkrb5_cc_set_flags(context, k5cc, flags);
  #endif
        retry_retcred:
--- 840,846 ----
          increds.keyblock.enctype = ENCTYPE_DES_CBC_CRC;
  
  #ifdef KRB5_TC_NOTICKET
!         flags = KRB5_TC_OPENCLOSE;
          r = pkrb5_cc_set_flags(context, k5cc, flags);
  #endif
        retry_retcred:
***************
*** 891,897 ****
          pkrb5_free_principal(context, client_principal);
          client_principal = 0;
  #ifdef KRB5_TC_NOTICKET
!         flags = KRB5_TC_NOTICKET;
          pkrb5_cc_set_flags(context, k5cc, flags);
  #endif
  
--- 891,897 ----
          pkrb5_free_principal(context, client_principal);
          client_principal = 0;
  #ifdef KRB5_TC_NOTICKET
!         flags = KRB5_TC_OPENCLOSE | KRB5_TC_NOTICKET;
          pkrb5_cc_set_flags(context, k5cc, flags);
  #endif
  
Index: openafs/src/WINNT/netidmgr_plugin/krb5common.c
diff -c openafs/src/WINNT/netidmgr_plugin/krb5common.c:1.1.2.2 openafs/src/WINNT/netidmgr_plugin/krb5common.c:1.1.2.3
*** openafs/src/WINNT/netidmgr_plugin/krb5common.c:1.1.2.2	Thu Oct 12 17:19:43 2006
--- openafs/src/WINNT/netidmgr_plugin/krb5common.c	Wed Aug 29 01:32:34 2007
***************
*** 22,28 ****
   * SOFTWARE.
   */
  
! /* $Id: krb5common.c,v 1.1.2.2 2006/10/12 21:19:43 jaltman Exp $ */
  
  #include<windows.h>
  #include<netidmgr.h>
--- 22,28 ----
   * SOFTWARE.
   */
  
! /* $Id: krb5common.c,v 1.1.2.3 2007/08/29 05:32:34 jaltman Exp $ */
  
  #include<windows.h>
  #include<netidmgr.h>
***************
*** 93,99 ****
      LPCSTR          functionName;
      int             freeContextFlag;
      krb5_error_code	rc = 0;
!     krb5_flags          flags = 0;
  
      if (pkrb5_init_context == NULL)
          return 1;
--- 93,99 ----
      LPCSTR          functionName;
      int             freeContextFlag;
      krb5_error_code	rc = 0;
!     krb5_flags          flags = KRB5_TC_OPENCLOSE;
  
      if (pkrb5_init_context == NULL)
          return 1;
Index: openafs/src/afsd/CellServDB
diff -c /dev/null openafs/src/afsd/CellServDB:1.1.2.2
*** /dev/null	Thu Sep 20 01:06:44 2007
--- openafs/src/afsd/CellServDB	Wed Sep  5 17:52:39 2007
***************
*** 0 ****
--- 1,589 ----
+ >grand.central.org      #GCO Public CellServDB 05 Jul 2007
+ 18.92.0.108                     #grand-opening.mit.edu
+ 128.2.203.61                    #penn.central.org
+ 130.237.48.87                   #andrew.e.kth.se
+ >wu-wien.ac.at          #University of Economics, Vienna, Austria
+ 137.208.3.33                    #goya.wu-wien.ac.at
+ 137.208.7.57                    #caravaggio.wu-wien.ac.at
+ 137.208.127.57                  #vermeer.wu-wien.ac.at
+ >hephy.at               #hephy-vienna
+ 193.170.243.10                  #mowgli.oeaw.ac.at
+ 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
+ 129.27.161.114                  #faepafs3.tu-graz.ac.at
+ >sums.math.mcgill.ca    #Society of Undergraduate Mathematics Students of McGill Universi
+ 132.216.24.122                  #germain.sums.math.mcgill.ca
+ 132.216.24.125                  #turing.sums.math.mcgill.ca
+ >cern.ch                #European Laboratory for Particle Physics, Geneva
+ 137.138.128.148                 #afsdb1.cern.ch
+ 137.138.246.50                  #afsdb3.cern.ch
+ 137.138.246.51                  #afsdb2.cern.ch
+ >ams.cern.ch            #AMS Experiment
+ 137.138.188.185                 #ams.cern.ch
+ 137.138.199.58                  #pcamsf4.cern.ch
+ >epfl.ch                #Swiss Federal Institute of Technology at Lausanne
+ 128.178.109.111                 #kd1.epfl.ch
+ 128.178.109.112                 #kd2.epfl.ch
+ 128.178.109.113                 #kd3.epfl.ch
+ >ethz.ch                #Swiss Federal Inst. of Tech. - Zurich, Switzerland
+ 129.132.97.19                   #amalthea.ethz.ch
+ 129.132.97.27                   #nethzafs-001.ethz.ch
+ 129.132.115.3                   #himalia.ethz.ch
+ 129.132.115.37                  #nethzafs-005.ethz.ch
+ 129.132.115.38                  #nethzafs-006.ethz.ch
+ >psi.ch                 #Paul Scherrer Institut - Villigen, Switzerland
+ 129.129.190.140                 #afs00.psi.ch
+ 129.129.190.141                 #afs01.psi.ch
+ 129.129.190.142                 #afs02.psi.ch
+ >extundo.com            #Simon Josefsson's cell
+ 195.42.214.241                  #slipsten.extundo.com
+ >membrain.com           #membrain.com
+ 66.93.118.125                   #stormy
+ 130.85.24.11                    #weasel
+ 130.85.24.13                    #straykitten
+ >midnightlinux.com      #Midnight Linux, Pittsburgh PA
+ 208.10.142.82                   #outpost.midnightlinux.com
+ >setfilepointer.com     #SetFilePointer.com
+ 63.224.10.2                     #hamlet.SetFilePointer.com
+ 63.224.10.4                     #troilus.SetFilePointer.com
+ >sodre.cx               #Sodre.cx
+ 128.8.140.165                   #greed.sodre.cx
+ >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
+ 213.187.92.34                   #paulchen.gppc.de
+ 213.187.92.35                   #lotus.gppc.de
+ >ifh.de                 #DESY Zeuthen
+ 141.34.22.10                    #romulus.ifh.de
+ 141.34.22.11                    #remus.ifh.de
+ 141.34.22.29                    #hekate.ifh.de
+ >lrz-muenchen.de        #Leibniz Computing Centre, Germany
+ 129.187.10.36                   #afs1.lrz-muenchen.de
+ 129.187.10.56                   #afs3.lrz-muenchen.de
+ 129.187.10.57                   #afs2.lrz-muenchen.de
+ >ipp-garching.mpg.de    #Institut fuer Plasmaphysik
+ 130.183.9.5                     #afs-db1.rzg.mpg.de
+ 130.183.100.10                  #afs-db2.aug.ipp-garching.mpg.de
+ 130.183.100.23                  #afs-db3.aug.ipp-garching.mpg.de
+ >mpe.mpg.de             #MPE cell
+ 130.183.130.7                   #irafs1.mpe-garching.mpg.de
+ 130.183.134.20                  #irafs2.mpe-garching.mpg.de
+ >i1.informatik.rwth-aachen.de #Informatik I, RWTH Aachen
+ 137.226.244.79                  #remus.informatik.rwth-aachen.de
+ >tu-bs.de               #Technical University of Braunschweig, Germany
+ 134.169.1.1                     #rzafs1.rz.tu-bs.de
+ 134.169.1.5                     #rzafs2.rz.tu-bs.de
+ 134.169.1.6                     #rzafs3.rz.tu-bs.de
+ >tu-chemnitz.de         #Technische Universitaet Chemnitz, Germany
+ 134.109.2.1                     #zuse.hrz.tu-chemnitz.de
+ 134.109.2.15                    #phoenix.hrz.tu-chemnitz.de
+ 134.109.200.7                   #aetius.hrz.tu-chemnitz.de
+ >e18.ph.tum.de          #Experimental Physics, TU Munich, Germany
+ 129.187.154.223                 #hamlet.e18.physik.tu-muenchen.de
+ >uni-bonn.de            #University of Bonn, Computing Center
+ 131.220.14.198                  #work15-eth.rhrz.uni-bonn.de
+ 131.220.14.205                  #node05.rhrz.uni-bonn.de
+ 131.220.15.197                  #afs-db1.rhrz.uni-bonn.de
+ >atlass01.physik.uni-bonn.de #Bonn ATLAS
+ 131.220.165.43                  #atlass01.physik.uni-bonn.de
+ >uni-freiburg.de        #Albert-Ludwigs-Universitat Freiburg
+ 132.230.6.235                   #sv6.ruf.uni-freiburg.de
+ 132.230.6.236                   #sv7.ruf.uni-freiburg.de
+ 132.230.6.237                   #sv8.ruf.uni-freiburg.de
+ >physik.uni-freiburg.de #institute of physics, university Freiburg, Germany
+ 132.230.77.16                   #hepafs.physik.uni-freiburg.de
+ >urz.uni-heidelberg.de  #Uni Heidelberg (Rechenzentrum)
+ 129.206.119.10                  #afsdb.urz.uni-heidelberg.de
+ 129.206.119.16                  #afsdb1.urz.uni-heidelberg.de
+ 129.206.119.17                  #afsdb2.urz.uni-heidelberg.de
+ >uni-hohenheim.de       #University of Hohenheim
+ 144.41.2.2                      #rs13.serv.uni-hohenheim.de
+ 144.41.2.3                      #rs14.serv.uni-hohenheim.de
+ 144.41.2.4                      #rs15.serv.uni-hohenheim.de
+ >rz.uni-jena.de         #Rechenzentrum University of Jena, Germany
+ 141.35.2.180                    #afs00.rz.uni-jena.de
+ 141.35.2.181                    #afs01.rz.uni-jena.de
+ 141.35.2.182                    #afs02.rz.uni-jena.de
+ >impetus.uni-koeln.de   #Univ. of Cologne - Geophysics/Meteorology Inst.
+ 134.95.80.39                    #forano.meteo.uni-koeln.de
+ >meteo.uni-koeln.de     #Univ. of Cologne - Inst. for Geophysics & Meteorology
+ 134.95.144.22                   #afs1.meteo.uni-koeln.de
+ 134.95.144.24                   #afs2.meteo.uni-koeln.de
+ >rrz.uni-koeln.de       #University of Cologne - Reg Comp Center
+ 134.95.19.3                     #afsdb1.rrz.uni-koeln.de
+ 134.95.19.10                    #lyra.rrz.uni-koeln.de
+ 134.95.67.97                    #afs.thp.uni-koeln.de
+ 134.95.141.243                  #agrippina.rrz.uni-koeln.de
+ >physik.uni-mainz.de    #institute of physics, university Mainz, Germany
+ 134.93.130.93                   #hardy.physik.uni-mainz.de
+ >uni-mannheim.de        #Uni Mannheim (Rechenzentrum)
+ 134.155.97.204                  #afsdb1.uni-mannheim.de
+ 134.155.97.205                  #afsdb2.uni-mannheim.de
+ 134.155.97.206                  #afsdb3.uni-mannheim.de
+ >uni-paderborn.de       #University of Paderborn, Germany
+ 131.234.137.10                  #afsdb1.uni-paderborn.de
+ 131.234.137.11                  #afsdb2.uni-paderborn.de
+ 131.234.137.12                  #afsdb3.uni-paderborn.de
+ >physik.uni-wuppertal.de #Physics department of Bergische Universität Wuppertal
+ 132.195.104.3                   #afs1.physik.uni-wuppertal.de
+ 132.195.104.230                 #afs2.physik.uni-wuppertal.de
+ >s-et.aau.dk            #Aalborg Univ., The Student Society, Denmark
+ 130.225.196.22                  #afs.s-et.aau.dk
+ >ies.auc.dk             #Aalborg Univ., Inst. of Electronic Systems, Denmark
+ 130.225.51.73                   #afsdb1.kom.auc.dk
+ 130.225.51.74                   #afsdb2.kom.auc.dk
+ 130.225.51.85                   #afsdb3.kom.auc.dk
+ >asu.edu                #Arizona State University
+ 129.219.10.69                   #authen2.asu.edu
+ 129.219.10.70                   #authen1.asu.edu
+ 129.219.10.72                   #authen3.asu.edu
+ 129.219.100.16                  #authen4.asu.edu
+ >hep.caltech.edu        #CalTech High Energy Physics
+ 131.215.126.150                 #afs.hep.caltech.edu
+ >clarkson.edu           #Clarkson University, Potsdam, New York USA
+ 128.153.1.111                   #arthur.clarkson.edu
+ 128.153.9.111                   #lancelot.clarkson.edu
+ 128.153.17.111                  #uther.clarkson.edu
+ >andrew.cmu.edu         #Carnegie Mellon University - Computing Services Cell
+ 128.2.10.2                      #vice2.fs.andrew.cmu.edu
+ 128.2.10.7                      #vice7.fs.andrew.cmu.edu
+ 128.2.10.11                     #vice11.fs.andrew.cmu.edu
+ 128.2.10.28                     #vice28.fs.andrew.cmu.edu
+ 128.2.32.44                     #new-vice12.fs.andrew.cmu.edu
+ >club.cc.cmu.edu        #Carnegie Mellon University Computer Club
+ 128.237.157.11                  #sodium.club.cc.cmu.edu
+ 128.237.157.13                  #potassium.club.cc.cmu.edu
+ >chem.cmu.edu           #Carnegie Mellon University - Chemistry Dept.
+ 128.2.40.134                    #afs.chem.cmu.edu
+ 128.2.40.140                    #afs2.chem.cmu.edu
+ >cs.cmu.edu             #Carnegie Mellon University - School of Comp. Sci.
+ 128.2.201.46                    #strawberry.srv.cs.cmu.edu
+ 128.2.201.47                    #pumpkin.srv.cs.cmu.edu
+ 128.2.201.48                    #cherry.srv.cs.cmu.edu
+ >ece.cmu.edu            #Carnegie Mellon University - Elec. Comp. Eng. Dept.
+ 128.2.129.7                     #porok.ece.cmu.edu
+ 128.2.129.8                     #vicio.ece.cmu.edu
+ 128.2.129.9                     #e-xing.ece.cmu.edu
+ >scotch.ece.cmu.edu     #CMU ECE CALCM research group
+ 128.2.134.82                    #lagavulin.ece.cmu.edu
+ >qatar.cmu.edu          #Carnegie Mellon University - Qatar
+ 86.36.46.6                      #afs1.qatar.cmu.edu
+ 86.36.46.7                      #afs2.qatar.cmu.edu
+ >sbp.ri.cmu.edu         #Carnegie Mellon University - Sensor Based Planning Lab
+ 128.2.179.12                    #nihao.sbp.ri.cmu.edu
+ 128.2.179.113                   #youtheman.sbp.ri.cmu.edu
+ >cnf.cornell.edu        #CNF
+ 128.253.198.9                   #hole.cnf.cornell.edu
+ 128.253.198.27                  #smoke.cnf.cornell.edu
+ >msc.cornell.edu        #Cornell University Materials Science Center
+ 128.84.231.242                  #miranda.ccmr.cornell.edu
+ 128.84.241.35                   #co.ccmr.cornell.edu
+ 128.84.249.78                   #dax.ccmr.cornell.edu
+ >dbic.dartmouth.edu     #Dartmouth Brain Imaging Center
+ 129.170.30.143                  #dbicafs1.dartmouth.edu
+ 129.170.30.144                  #dbicafs2.dartmouth.edu
+ 129.170.30.145                  #dbicafs3.dartmouth.edu
+ >northstar.dartmouth.edu #Dartmouth College Research Computing
+ 129.170.16.22                   #halley.dartmouth.edu
+ 129.170.16.42                   #oort.dartmouth.edu
+ 129.170.16.43                   #cygnusx1.dartmouth.edu
+ >cs.fhm.edu             #Department Computer Science Munich University Of Applied Science
+ 129.187.208.2                   #srv1.informatik.fh-muenchen.de
+ >eecs.harvard.edu       #Harvard - EECS
+ 140.247.60.61                   #zermelo.eecs.harvard.edu
+ 140.247.60.83                   #corfu.eecs.harvard.edu
+ >iastate.edu            #Iowa State University
+ 129.186.1.243                   #afsdb-1.iastate.edu
+ 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
+ 18.89.2.156                     #ac.mit.edu
+ >msu.edu                #Michigan State University Main Cell
+ 35.9.7.10                       #afsdb0.cl.msu.edu
+ >nd.edu                 #University of Notre Dame
+ 129.74.223.17                   #john.helios.nd.edu
+ 129.74.223.33                   #lizardo.helios.nd.edu
+ 129.74.223.65                   #buckaroo.helios.nd.edu
+ >pitt.edu               #University of Pittsburgh
+ 136.142.8.15                    #afs09.srv.cis.pitt.edu
+ 136.142.8.20                    #afs10.srv.cis.pitt.edu
+ 136.142.8.21                    #afs11.srv.cis.pitt.edu
+ >cs.pitt.edu            #University of Pittsburgh - Computer Science
+ 130.49.220.11                   #afs01.cs.pitt.edu
+ 130.49.220.12                   #afs02.cs.pitt.edu
+ 130.49.220.13                   #afs03.cs.pitt.edu
+ >psc.edu                #PSC (Pittsburgh Supercomputing Center)
+ 128.182.59.182                  #shaggy.psc.edu
+ 128.182.66.184                  #velma.psc.edu
+ 128.182.66.185                  #daphne.psc.edu
+ >scoobydoo.psc.edu      #PSC Test Cell
+ 128.182.59.181                  #scooby.psc.edu
+ >cede.psu.edu           #Penn State - Center for Engr. Design & Entrepeneurship
+ 146.186.218.10                  #greenly.cede.psu.edu
+ 146.186.218.60                  #b50.cede.psu.edu
+ 146.186.218.246                 #stalin.cede.psu.edu
+ >rose-hulman.edu        #Rose-Hulman Institute of Technology
+ 137.112.7.11                    #afs1.rose-hulman.edu
+ 137.112.7.12                    #afs2.rose-hulman.edu
+ 137.112.7.13                    #afs3.rose-hulman.edu
+ >cs.rose-hulman.edu     #Rose-Hulman CS Department
+ 137.112.40.10                   #galaxy.cs.rose-hulman.edu
+ >rpi.edu                #Rensselaer Polytechnic Institute
+ 128.113.22.11                   #saul.server.rpi.edu
+ 128.113.22.12                   #joab.server.rpi.edu
+ 128.113.22.13                   #korah.server.rpi.edu
+ 128.113.22.14                   #achan.server.rpi.edu
+ >hep.sc.edu             #University of South Carolina, Dept. of Physics
+ 129.252.78.77                   #cpeven.physics.sc.edu
+ >cs.stanford.edu        #Stanford University Computer Science Department
+ 171.64.64.10                    #cs-afs-1.Stanford.EDU
+ 171.64.64.66                    #cs-afs-2.stanford.edu
+ 171.64.64.69                    #cs-afs-3.stanford.edu
+ >ir.stanford.edu        #Stanford University
+ 171.64.7.222                    #afsdb1.stanford.edu
+ 171.64.7.234                    #afsdb2.stanford.edu
+ 171.64.7.246                    #afsdb3.stanford.edu
+ >slac.stanford.edu      #Stanford Linear Accelerator Center
+ 134.79.18.25                    #afsdb1.slac.stanford.edu
+ 134.79.18.26                    #afsdb2.slac.stanford.edu
+ 134.79.18.27                    #afsdb3.slac.stanford.edu
+ >ucdavis.edu            #University of California at Davis
+ 169.237.104.100                 #afs1.ucdavis.edu
+ 169.237.235.176                 #afs2.ucdavis.edu
+ 169.237.247.91                  #afs3.ucdavis.edu
+ >home.ucdavis.edu       #University of California at Davis home directories
+ 169.237.105.91                  #home1.ucdavis.edu
+ 169.237.105.92                  #home2.ucdavis.edu
+ 169.237.105.93                  #home3.ucdavis.edu
+ >physics.ucsb.edu       #UC Santa Barbara, Physics Dept
+ 128.111.18.161                  #ledzeppelin.physics.ucsb.edu
+ >cats.ucsc.edu          #UC Santa Cruz, Comp and Tech Services, California U.S.A
+ 128.114.123.14                  #elan.ucsc.edu
+ 128.114.123.15                  #ichabod.ucsc.edu
+ 128.114.123.18                  #maneki.ucsc.edu
+ >acm.uiuc.edu           #ACM at the University of Illinois
+ 128.174.251.8                   #alnitak.acm.uiuc.edu
+ 128.174.251.9                   #alnilam.acm.uiuc.edu
+ 128.174.251.10                  #mintaka.acm.uiuc.edu
+ >illigal.uiuc.edu       #Illinois Genetic Algorithms Labaratory
+ 128.174.193.200                 #ial.illigal.uiuc.edu
+ 128.174.193.201                 #cac.illigal.uiuc.edu
+ 128.174.193.202                 #gcs.illigal.uiuc.edu
+ >ncsa.uiuc.edu          #University of Illinois
+ 141.142.3.5                     #congo.ncsa.uiuc.edu
+ 141.142.3.8                     #nile.ncsa.uiuc.edu
+ 141.142.3.9                     #kaskaskia.ncsa.uiuc.edu
+ >umbc.edu               #University of Maryland, Baltimore County
+ 130.85.24.23                    #db2.afs.umbc.edu
+ 130.85.24.87                    #db3.afs.umbc.edu
+ 130.85.24.101                   #db1.afs.umbc.edu
+ >glue.umd.edu           #University of Maryland - Project Glue
+ 128.8.70.11                     #olmec.umd.edu
+ 128.8.236.4                     #egypt.umd.edu
+ 128.8.236.230                   #babylon.umd.edu
+ >wam.umd.edu            #University of Maryland Network WAM Project
+ 128.8.70.9                      #csc-srv.wam.umd.edu
+ 128.8.236.5                     #avw-srv.wam.umd.edu
+ 128.8.236.231                   #ptx-srv.wam.umd.edu
+ >umich.edu              #University of Michigan - Campus
+ 141.211.1.32                    #fear.ifs.umich.edu
+ 141.211.1.33                    #surprise.ifs.umich.edu
+ 141.211.1.34                    #ruthless.ifs.umich.edu
+ >atlas.umich.edu        #ATLAS group cell in physics at University of Michigan
+ 141.211.43.102                  #linat02.grid.umich.edu
+ 141.211.43.103                  #linat03.grid.umich.edu
+ 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
+ 141.211.51.142                  #afssph6.sph.umich.edu
+ >isis.unc.edu           #Univ. of NC at Chapel Hill - ITS
+ 152.2.1.5                       #db0.isis.unc.edu
+ 152.2.1.6                       #db1.isis.unc.edu
+ 152.2.1.7                       #db2.isis.unc.edu
+ >physics.unc.edu        #Univ. of NC at Chapel Hill, Dept. of Physics
+ 152.2.4.1                       #who.physics.unc.edu
+ 152.2.4.3                       #what.physics.unc.edu
+ 152.2.4.5                       #when.physics.unc.edu
+ >uncc.edu               #University of NC at Charlotte Mosaic AFS Cell
+ 152.15.10.70                    #as-sm1.uncc.edu
+ 152.15.93.186                   #as-ece1.uncc.edu
+ 152.15.181.175                  #as-me1.uncc.edu
+ >eng.utah.edu           #University of Utah - Engineering
+ 155.98.111.9                    #lenny.eng.utah.edu
+ 155.98.111.10                   #carl.eng.utah.edu
+ >cs.uwm.edu             #University of Wisconsin--Milwaukee
+ 129.89.38.124                   #solomons.cs.uwm.edu
+ >cs.wisc.edu            #Univ. of Wisconsin-Madison, Computer Sciences Dept.
+ 128.105.132.14                  #timon.cs.wisc.edu
+ 128.105.132.15                  #pumbaa.cs.wisc.edu
+ 128.105.132.16                  #zazu.cs.wisc.edu
+ >engr.wisc.edu          #University of Wisconsin-Madison, College of Engineering
+ 144.92.13.14                    #larry.cae.wisc.edu
+ 144.92.13.15                    #curly.cae.wisc.edu
+ 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
+ >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
+ 128.104.160.15                  #buffy.physics.wisc.edu
+ >ciemat.es              #Ciemat, Madrid, Spain
+ 130.206.11.42                   #afsdb1.ciemat.es
+ 130.206.11.217                  #afsdb2.ciemat.es
+ 130.206.11.247                  #afsdb3.ciemat.es
+ >ifca.unican.es         #Instituto de Fisica de Cantabria (IFCA), Santander, Spain
+ 193.144.209.20                  #gridwall.ifca.unican.es
+ >ific.uv.es             #Instituto de Fisica Corpuscular, Valencia, Spain
+ 147.156.163.11                  #alpha.ific.uv.es
+ >biocenter.helsinki.fi  #University of Helsinki, Institute of Biotechnology
+ 128.214.58.174                  #afsdb1.biocenter.helsinki.fi
+ 128.214.88.114                  #afsdb2.biocenter.helsinki.fi
+ >dapnia.saclay.cea.fr   #CEA DAPNIA
+ 132.166.32.7                    #dphrsg.saclay.cea.fr
+ 132.166.32.12                   #dphrsl.saclay.cea.fr
+ >grif.fr                #GRIF cell
+ 192.54.208.18                   #node03.datagrid.cea.fr
+ >in2p3.fr               #IN2P3 production cell
+ 134.158.232.11                  #ccafsdb1.in2p3.fr
+ 134.158.232.12                  #ccafsdb2.in2p3.fr
+ 134.158.232.13                  #ccafsdb3.in2p3.fr
+ >anl.gov                #Argonne National Laboratory
+ 146.137.96.33                   #arteus.ctd.anl.gov
+ 146.137.162.88                  #agamemnon.ctd.anl.gov
+ 146.137.194.80                  #antenor.ctd.anl.gov
+ >rhic.bnl.gov           #Relativistic Heavy Ion Collider
+ 130.199.6.51                    #rafs03.rcf.bnl.gov
+ 130.199.6.52                    #rafs02.rcf.bnl.gov
+ 130.199.6.69                    #rafs01.rcf.bnl.gov
+ >usatlas.bnl.gov        #US Atlas Tier 1 Facility at BNL
+ 130.199.48.32                   #aafs01.usatlas.bnl.gov
+ 130.199.48.33                   #aafs02.usatlas.bnl.gov
+ 130.199.48.34                   #aafs03.usatlas.bnl.gov
+ >fnal.gov               #Fermi National Acclerator Laboratory
+ 131.225.68.1                    #fsus01.fnal.gov
+ 131.225.68.4                    #fsus03.fnal.gov
+ 131.225.68.14                   #fsus04.fnal.gov
+ >ic-afs.arc.nasa.gov    #Code IC, Ames Research Center
+ 128.102.105.62                  #udanax.arc.nasa.gov
+ >jpl.nasa.gov           #Jet Propulsion Laboratory
+ 137.78.160.21                   #afsdb08.jpl.nasa.gov
+ 137.78.160.22                   #afsdb09.jpl.nasa.gov
+ 137.78.160.23                   #afsdb10.jpl.nasa.gov
+ >nersc.gov              #National Energy Research Supercomputer Center
+ 128.55.128.250                  #mars.nersc.gov
+ 128.55.128.252                  #alfred.nersc.gov
+ 128.55.128.254                  #lurch.nersc.gov
+ >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
+ 148.6.8.14                      #afs.kfki.hu
+ >caspur.it              #CASPUR Inter-University Computing Consortium, Rome
+ 193.204.5.45                    #pomodoro.caspur.it
+ 193.204.5.46                    #banana.caspur.it
+ 193.204.5.50                    #maslo.caspur.it
+ >enea.it                #ENEA New Tech. Energy & Environment Agency, Italy
+ 192.107.54.5                    #aixfs.frascati.enea.it
+ 192.107.54.11                   #rs2ced.frascati.enea.it
+ 192.107.54.12                   #43p.frascati.enea.it
+ 192.107.61.235                  #serverinfo02.bologna.enea.it
+ 192.107.71.6                    #glauco.casaccia.enea.it
+ 192.107.96.233                  #riscdb.trisaia.enea.it
+ >fusione.it             #Assoz. FUSIONE/Euratom, ENEA, Frascati-Italy
+ 192.107.90.2                    #fusafs1.frascati.enea.it
+ 192.107.90.3                    #fusafs2.frascati.enea.it
+ 192.107.90.4                    #fusafs3.frascati.enea.it
+ >icemb.it               #ICEMB, Universita' La Sapienza - Rome - Italy
+ 193.204.6.130                   #icembfs.caspur.it
+ >infn.it                #Istituto Nazionale di Fisica Nucleare (INFN), Italia
+ 131.154.1.7                     #afscnaf.infn.it
+ 141.108.26.75                   #afsrm1.roma1.infn.it
+ 192.84.134.75                   #afsna.na.infn.it
+ >ba.infn.it             #INFN, Sezione di Bari
+ 193.206.185.235                 #baafsserver.ba.infn.it
+ 193.206.185.236                 #debsrv.ba.infn.it
+ >kloe.infn.it           #INFN, KLOE experiment at Laboratori di Frascati
+ 192.135.25.111                  #kloeafs1.lnf.infn.it
+ 192.135.25.112                  #kloeafs2.lnf.infn.it
+ >le.infn.it             #INFN, Sezione di Lecce
+ 192.84.152.40                   #afs01.le.infn.it
+ 192.84.152.148                  #afs02.le.infn.it
+ >lnf.infn.it            #INFN, Laboratori Nazionali di Frascati
+ 193.206.84.121                  #afs1.lnf.infn.it
+ 193.206.84.122                  #afs2.lnf.infn.it
+ 193.206.84.123                  #afs3.lnf.infn.it
+ >lngs.infn.it           #INFN, Laboratori Nazionali di Gran Sasso
+ 192.84.135.21                   #rsgs05.lngs.infn.it
+ >pi.infn.it             #INFN, Sezione di Pisa
+ 131.114.134.26                  #unknownhost.pi.infn.it
+ 192.84.133.50                   #aix1.pi.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
+ 193.204.5.33                    #cccgrid.caspur.it
+ >ictp.trieste.it        #The Abdus Salam International Centre for Theoretical Physics (IC
+ 140.105.16.8                    #fs1.ictp.trieste.it
+ 140.105.16.9                    #fs2.ictp.trieste.it
+ >math.unifi.it          #math.unifi.it
+ 150.217.34.182                  #xeno.math.unifi.it
+ >ing.uniroma1.it        #Universita' La Sapienza, Fac. Ingeneria
+ 151.100.85.253                  #alfa.ing.uniroma1.it
+ >dia.uniroma3.it        #University Roma Tre - DIA
+ 193.204.161.79                  #plm.dia.uniroma3.it
+ 193.204.161.118                 #afs.dia.uniroma3.it
+ >vn.uniroma3.it         #University of Rome 3, Area Vasca Navale
+ 193.204.161.136                 #alfa.dia.uniroma3.it
+ 193.204.161.137                 #beta.dia.uniroma3.it
+ 193.204.161.138                 #gamma.dia.uniroma3.it
+ >italia                 #Italian public AFS cell
+ 193.204.5.9                     #afs.caspur.it
+ >cmf.nrl.navy.mil       #Naval Research Lab - CCS
+ 134.207.10.68                   #picard.cmf.nrl.navy.mil
+ 134.207.10.69                   #riker.cmf.nrl.navy.mil
+ 134.207.10.70                   #kirk.cmf.nrl.navy.mil
+ >lcp.nrl.navy.mil       #Naval Research Lab - Lab for Computational Physics
+ 132.250.114.2                   #afs1.lcp.nrl.navy.mil
+ 132.250.114.4                   #afs2.lcp.nrl.navy.mil
+ 132.250.114.6                   #afs3.lcp.nrl.navy.mil
+ >es.net                 #Energy Sciences Net
+ 198.128.3.21                    #fs1.es.net
+ 198.128.3.22                    #fs2.es.net
+ 198.128.3.23                    #fs3.es.net
+ >laroia.net             #Laroia Networks
+ 66.66.102.254                   #supercore.laroia.net
+ >sinenomine.net         #Sine Nomine Associates
+ 192.204.203.218                 #va.sinenomine.net
+ >slackers.net           #The Slackers' Network
+ 63.201.48.27                    #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
+ >nikhef.nl              #The Dutch National Institute for High Energy Physics
+ 192.16.185.26                   #afs1.nikhef.nl
+ 192.16.185.27                   #afs2.nikhef.nl
+ >1ts.org                #1TS.ORG, Cambridge, MA
+ 69.25.196.51                    #pancake.1ts.org
+ >acm-csuf.org           #California State Univerisity Fullerton ACM
+ 137.151.29.193                  #afs1.acm-csuf.org
+ >bazquux.org            #Baz Quux Organization
+ 66.207.142.196                  #baxquux.org
+ >coed.org               #Adam Pennington's Cell
+ 66.93.61.184                    #vice1.coed.org
+ 128.237.157.35                  #vice3.coed.org
+ >dementia.org           #Dementia Unlimited
+ 128.2.12.45                     #alycia.dementia.org
+ 128.2.120.216                   #meredith.dementia.org
+ >hackish.org            #Hackish.org
+ 24.167.65.213                   #avatar.sys.hackish.org
+ 128.2.120.138                   #kurma.sys.hackish.org
+ >idahofuturetruck.org   #University of Idaho hybrid vehicle development
+ 12.18.238.210                   #dsle210.fsr.net
+ >nimlabs.org            #Nimlabs, Ink. Cell.
+ 18.238.1.103                    #olfin.nimlabs.org
+ 18.238.1.105                    #caerbanog.nimlabs.org
+ >nomh.org               #nomh.org
+ 204.29.154.12                   #iota.nomh.org
+ 204.29.154.32                   #adversity.xi.nomh.org
+ >oc7.org                #The OC7 Project
+ 128.2.122.140                   #knife.oc7.org
+ 207.22.77.170                   #spoon.oc7.org
+ >kth.se                 #Royal Institute of Technology, Stockholm, Sweden
+ 130.237.32.145                  #sonen.e.kth.se
+ 130.237.48.7                    #anden.e.kth.se
+ 130.237.48.244                  #fadern.e.kth.se
+ >hallf.kth.se           #Royal Institute of Technology, HALLF
+ 130.237.24.11                   #afs1.hallf.kth.se
+ 130.237.24.104                  #afs2.hallf.kth.se
+ >isk.kth.se             #Royal Institute of Technology, ISK
+ 130.237.202.3                   #afsdb1.isk.kth.se
+ 130.237.209.5                   #afsdb2.isk.kth.se
+ 130.237.209.9                   #afsdb3.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
+ 130.237.233.144                 #pollux.mech.kth.se
+ >nada.kth.se            #Royal Institute of Technology, NADA
+ 130.237.222.20                  #kosmos.nada.kth.se
+ 130.237.223.12                  #sputnik.nada.kth.se
+ 130.237.224.78                  #mir.nada.kth.se
+ 130.237.227.23                  #gagarin.nada.kth.se
+ 130.237.228.28                  #laika.nada.kth.se
+ >pdc.kth.se             #Royal Institute of Technology, PDC
+ 130.237.232.29                  #crab.pdc.kth.se
+ 130.237.232.112                 #anna.pdc.kth.se
+ 130.237.232.114                 #hokkigai.pdc.kth.se
+ >stacken.kth.se         #Stacken Computer Club
+ 130.237.234.3                   #milko.stacken.kth.se
+ 130.237.234.43                  #hot.stacken.kth.se
+ 130.237.234.101                 #fishburger.stacken.kth.se
+ >syd.kth.se             #Royal Institute of Technology, KTH-Syd
+ 130.237.83.23                   #afs.haninge.kth.se
+ >physto.se              #Physics department Stockholm University
+ 130.237.205.36                  #sysafs1.physto.se
+ 130.237.205.72                  #sysafs2.physto.se
+ >sanchin.se             #Sanchin Consulting AB, Sweden
+ 192.195.148.10                  #sesan.sanchin.se
+ >su.se                  #Stockholm University
+ 130.237.162.81                  #afsdb1.su.se
+ 130.237.162.82                  #afsdb2.su.se
+ 130.237.162.230                 #afsdb3.su.se
+ >f9.ijs.si              #F9, Jozef Stefan Institue
+ 194.249.156.1                   #brenta.ijs.si
+ >p-ng.si                #Nova Gorica Polytechnic
+ 193.2.120.2                     #solkan.p-ng.si
+ >phy.bris.ac.uk         #Bristol University - phyics
+ 137.222.58.9                    #afs1.phy.bris.ac.uk
+ >inf.ed.ac.uk           #School of Informatics, University of Edinburgh
+ 129.215.64.16                   #afsdb0.inf.ed.ac.uk
+ 129.215.64.17                   #afsdb1.inf.ed.ac.uk
+ 129.215.64.18                   #afsdb2.inf.ed.ac.uk
+ >ic.ac.uk               #Imperial College London
+ 155.198.63.148                  #icafs2.cc.ic.ac.uk
+ 155.198.63.149                  #icafs1.cc.ic.ac.uk
+ >hep.man.ac.uk          #Manchester HEP
+ 194.36.2.3                      #afs1.hep.man.ac.uk
+ 194.36.2.4                      #afs2.hep.man.ac.uk
+ 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
Index: openafs/src/aklog/aklog_main.c
diff -c openafs/src/aklog/aklog_main.c:1.12.2.6 openafs/src/aklog/aklog_main.c:1.12.2.8
*** openafs/src/aklog/aklog_main.c:1.12.2.6	Wed Jul 11 00:31:06 2007
--- openafs/src/aklog/aklog_main.c	Thu Sep 20 00:53:31 2007
***************
*** 1,13 ****
  /* 
!  * $Id: aklog_main.c,v 1.12.2.6 2007/07/11 04:31:06 shadow Exp $
   *
   * Copyright 1990,1991 by the Massachusetts Institute of Technology
   * For distribution and copying rights, see the file "mit-copyright.h"
   */
  
  #if !defined(lint) && !defined(SABER)
  static char *rcsid =
! 	"$Id: aklog_main.c,v 1.12.2.6 2007/07/11 04:31:06 shadow Exp $";
  #endif /* lint || SABER */
  
  #include <afsconfig.h>
--- 1,42 ----
  /* 
!  * $Id: aklog_main.c,v 1.12.2.8 2007/09/20 04:53:31 shadow Exp $
   *
   * Copyright 1990,1991 by the Massachusetts Institute of Technology
   * For distribution and copying rights, see the file "mit-copyright.h"
   */
+ /*
+  * Copyright (c) 2005, 2006                                     
+  * The Linux Box Corporation                                    
+  * ALL RIGHTS RESERVED                                          
+  *                                                              
+  * Permission is granted to use, copy, create derivative works  
+  * and redistribute this software and such derivative works     
+  * for any purpose, so long as the name of the Linux Box        
+  * Corporation is not used in any advertising or publicity      
+  * pertaining to the use or distribution of this software       
+  * without specific, written prior authorization.  If the       
+  * above copyright notice or any other identification of the    
+  * Linux Box Corporation is included in any copy of any         
+  * portion of this software, then the disclaimer below must     
+  * also be included.                                            
+  *                                                              
+  * This software is provided as is, without representation      
+  * from the Linux Box Corporation as to its fitness for any     
+  * purpose, and without warranty by the Linux Box Corporation   
+  * of any kind, either express or implied, including            
+  * without limitation the implied warranties of                 
+  * merchantability and fitness for a particular purpose.  The   
+  * regents of the Linux Box Corporation shall not be liable     
+  * for any damages, including special, indirect, incidental, or 
+  * consequential damages, with respect to any claim arising     
+  * out of or in connection with the use of the software, even   
+  * if it has been or is hereafter advised of the possibility of 
+  * such damages.                                                
+  */
  
  #if !defined(lint) && !defined(SABER)
  static char *rcsid =
! 	"$Id: aklog_main.c,v 1.12.2.8 2007/09/20 04:53:31 shadow Exp $";
  #endif /* lint || SABER */
  
  #include <afsconfig.h>
***************
*** 39,65 ****
  #include <pwd.h>
  #endif /* WINDOWS */
  
- /* on AIX AFS has an unresolved reference to osi_audit. We will define
-  * it here as extern. It also trys to call the ntohl and htonl routines
-  * as routines rather then macros. We need a real routine here. 
-  * We do this before the ntohl and htonl macros are defined in net/in.h
-  */
- int osi_audit()
-     { return(0);}
- 
- #if 0
- #ifdef _AIX
- u_long htonl(u_long x)
-     { return(x);}
- 
- u_long ntohl(u_long x)
-     { return(x);}
- #endif
- 
- #include <netinet/in.h>
- /* #include <krb.h> */
- #endif /* 0 */
- 
  #include <afs/stds.h>
  #include <krb5.h>
  
--- 68,73 ----
***************
*** 89,94 ****
--- 97,109 ----
  #include "aklog.h"
  #include "linked_list.h"
  
+ #ifdef HAVE_KRB5_CREDS_KEYBLOCK
+ #define USING_MIT 1
+ #endif
+ #ifdef HAVE_KRB5_CREDS_SESSION
+ #define USING_HEIMDAL 1
+ #endif
+ 
  #define AFSKEY "afs"
  #define AFSINST ""
  
***************
*** 183,188 ****
--- 198,238 ----
  #error "Must have either krb5_princ_size or krb5_principal_get_comp_string"
  #endif
  
+ #if !defined(HAVE_KRB5_ENCRYPT_TKT_PART) && defined(HAVE_ENCODE_KRB5_ENC_TKT_PART)
+ krb5_error_code
+ krb5_encrypt_tkt_part(krb5_context context,
+ 		      const krb5_keyblock *key,
+ 		      krb5_ticket *ticket)
+ {
+     krb5_data *data = 0;
+     int code;
+     size_t enclen;
+     
+     if ((code = encode_krb5_enc_tkt_part(ticket->enc_part2, &data)))
+ 	goto Done;
+     if ((code = krb5_c_encrypt_length(context, key->enctype,
+ 				      data->length, &enclen)))
+ 	goto Done;
+     ticket->enc_part.ciphertext.length = enclen;
+     if (!(ticket->enc_part.ciphertext.data = malloc(enclen))) {
+ 	code = ENOMEM;
+ 	goto Done;
+     }
+     if ((code = krb5_c_encrypt(context, key, KRB5_KEYUSAGE_KDC_REP_TICKET,
+ 			       0, data, &ticket->enc_part))) {
+ 	free(ticket->enc_part.ciphertext.data);
+ 	ticket->enc_part.ciphertext.data = 0;
+     }
+ Done:
+     if (data) {
+ 	if (data->data)
+ 	    free(data->data);
+ 	free(data);
+     }
+     return code;
+ }
+ #endif
+ 
  #if defined(HAVE_KRB5_CREDS_KEYBLOCK)
  
  #define get_cred_keydata(c) c->keyblock.contents
***************
*** 205,210 ****
--- 255,304 ----
  #define HAVE_NO_KRB5_524
  #endif
  
+ #if USING_HEIMDAL
+ #define deref_keyblock_enctype(kb)		\
+     ((kb)->keytype)
+ 
+ #define deref_entry_keyblock(entry)		\
+     entry->keyblock
+ 
+ #define deref_session_key(creds)		\
+     creds->session
+ 
+ #define deref_enc_tkt_addrs(tkt)		\
+     tkt->caddr
+ 
+ #define deref_enc_length(enc)			\
+     ((enc)->cipher.length)
+ 
+ #define deref_enc_data(enc)			\
+     ((enc)->cipher.data)
+ 
+ #define krb5_free_keytab_entry_contents krb5_kt_free_entry
+ 
+ #else
+ #define deref_keyblock_enctype(kb)		\
+     ((kb)->enctype)
+ 
+ #define deref_entry_keyblock(entry)		\
+     entry->key
+ 
+ #define deref_session_key(creds)		\
+     creds->keyblock
+ 
+ #define deref_enc_tkt_addrs(tkt)		\
+     tkt->caddrs
+ 
+ #define deref_enc_length(enc)			\
+     ((enc)->ciphertext.length)
+ 
+ #define deref_enc_data(enc)			\
+     ((enc)->ciphertext.data)
+ 
+ #endif
+ 
+ #define deref_entry_enctype(entry)			\
+     deref_keyblock_enctype(&deref_entry_keyblock(entry))
  #endif /* WINDOWS */
  
  /*
***************
*** 222,231 ****
  static int zsubs = FALSE;	/* Are we keeping track of zephyr subs? */
  static int hosts = FALSE;	/* Are we keeping track of hosts? */
  static int noprdb = FALSE;	/* Skip resolving name to id? */
! static int linked = FALSE;  /* try for both AFS nodes */
! static int afssetpag = FALSE; /* setpag for AFS */
  static int force = FALSE;	/* Bash identical tokens? */
  static int do524 = FALSE;	/* Should we do 524 instead of rxkad2b? */
  static linked_list zsublist;	/* List of zephyr subscriptions */
  static linked_list hostlist;	/* List of host addresses */
  static linked_list authedcells;	/* List of cells already logged to */
--- 316,327 ----
  static int zsubs = FALSE;	/* Are we keeping track of zephyr subs? */
  static int hosts = FALSE;	/* Are we keeping track of hosts? */
  static int noprdb = FALSE;	/* Skip resolving name to id? */
! static int linked = FALSE;      /* try for both AFS nodes */
! static int afssetpag = FALSE;   /* setpag for AFS */
  static int force = FALSE;	/* Bash identical tokens? */
  static int do524 = FALSE;	/* Should we do 524 instead of rxkad2b? */
+ static char *keytab = NULL;     /* keytab for akimpersonate */
+ static char *client = NULL;     /* client principal for akimpersonate */
  static linked_list zsublist;	/* List of zephyr subscriptions */
  static linked_list hostlist;	/* List of host addresses */
  static linked_list authedcells;	/* List of cells already logged to */
***************
*** 1331,1336 ****
--- 1427,1444 ----
  	    }
  	    else
  		usage();
+ 	else if ((strcmp(argv[i], "-keytab") == 0))
+ 	    if (++i < argc) {
+ 		keytab = argv[i];
+ 	    }
+ 	    else
+ 		usage();
+ 	else if ((strcmp(argv[i], "-principal") == 0))
+ 	    if (++i < argc) {
+ 		client = argv[i];
+ 	    }
+ 	    else
+ 		usage();
  	else if (((strcmp(argv[i], "-path") == 0) ||
  		  (strcmp(argv[i], "-p") == 0)) && !cmode)
  #ifndef WINDOWS
***************
*** 1582,1604 ****
      }  
  }
  
  static krb5_error_code get_credv5(krb5_context context, 
! 			char *name, char *inst, char *realm,
! 			krb5_creds **creds)
  {
      krb5_creds increds;
      krb5_error_code r;
      static krb5_principal client_principal = 0;
! 
      memset((char *)&increds, 0, sizeof(increds));
  /* ANL - instance may be ptr to a null string. Pass null then */
      if ((r = krb5_build_principal(context, &increds.server,
!                      strlen(realm), realm,
!                      name,
!            (inst && strlen(inst)) ? inst : (void *) NULL,
!                      (void *) NULL))) {
          return r;
      }
  
      if (!_krb425_ccache) {
          r = krb5_cc_default(context, &_krb425_ccache);
--- 1690,2034 ----
      }  
  }
  
+ static krb5_error_code get_credv5_akimpersonate(krb5_context context,
+ 						char* keytab,
+ 						krb5_principal service_principal,
+ 						krb5_principal client_principal,
+ 						time_t starttime,
+ 						time_t endtime,
+ 						int *allowed_enctypes,
+ 						int *paddress,
+ 						krb5_creds** out_creds /* out */ )
+ {
+ #if defined(USING_HEIMDAL) || (defined(HAVE_ENCODE_KRB5_ENC_TKT) && defined(HAVE_ENCODE_KRB5_TICKET))
+     krb5_error_code code;
+     krb5_keytab kt = 0;
+     krb5_kt_cursor cursor[1];
+     krb5_keytab_entry entry[1];
+     krb5_ccache cc = 0;
+     krb5_creds *creds = 0;
+     krb5_enctype enctype;
+     krb5_kvno kvno;
+     krb5_keyblock session_key[1];
+ #if USING_HEIMDAL
+     Ticket ticket_reply[1];
+     EncTicketPart enc_tkt_reply[1];
+     krb5_address address[30];
+     krb5_addresses faddr[1];
+     int temp_vno[1];
+     time_t temp_time[2];
+ #else
+     krb5_ticket ticket_reply[1];
+     krb5_enc_tkt_part enc_tkt_reply[1];
+     krb5_address address[30], *faddr[30];
+ #endif
+     krb5_data * temp;
+     int i;
+     static int any_enctype[] = {0};
+     *out_creds = 0;
+     if (!(creds = malloc(sizeof *creds))) {
+         code = ENOMEM;
+         goto cleanup;
+     }
+     if (!allowed_enctypes)
+         allowed_enctypes = any_enctype;
+ 
+     cc = 0;
+     enctype = 0; /* AKIMPERSONATE_IGNORE_ENCTYPE */
+     kvno = 0; /* AKIMPERSONATE_IGNORE_VNO */
+     memset((char*)creds, 0, sizeof *creds);
+     memset((char*)entry, 0, sizeof *entry);
+     memset((char*)session_key, 0, sizeof *session_key);
+     memset((char*)ticket_reply, 0, sizeof *ticket_reply);
+     memset((char*)enc_tkt_reply, 0, sizeof *enc_tkt_reply);
+     code = krb5_kt_resolve(context, keytab, &kt);
+     if (code) {
+         if (keytab)
+             com_err(progname, code, "while resolving keytab %s", keytab);
+         else
+             com_err(progname, code, "while resolving default keytab");
+         goto cleanup;
+     }
+ 
+     if (service_principal) {
+         for (i = 0; (enctype = allowed_enctypes[i]) || !i; ++i) {
+ 	    code = krb5_kt_get_entry(context,
+ 				     kt,
+ 				     service_principal,
+ 				     kvno,
+ 				     enctype,
+ 				     entry);
+ 	    if (!code) {
+ 		if (allowed_enctypes[i])
+ 		    deref_keyblock_enctype(session_key) = allowed_enctypes[i];
+ 		break;
+ 	    }
+         }
+         if (code) {
+ 	    com_err(progname, code,"while scanning keytab entries");
+ 	    goto cleanup;
+         }
+     } else {
+         krb5_keytab_entry new[1];
+         int best = -1;
+         memset(new, 0, sizeof *new);
+         if ((code == krb5_kt_start_seq_get(context, kt, cursor))) {
+             com_err(progname, code, "while starting keytab scan");
+             goto cleanup;
+         }
+         while (!(code = krb5_kt_next_entry(context, kt, new, cursor))) {
+             for (i = 0;
+                     allowed_enctypes[i] && allowed_enctypes[i]
+ 		     != deref_entry_enctype(new); ++i)
+                 ;
+             if ((!i || allowed_enctypes[i]) &&
+ 		(best < 0 || best > i)) {
+                 krb5_free_keytab_entry_contents(context, entry);
+                 *entry = *new;
+                 memset(new, 0, sizeof *new);
+             } else krb5_free_keytab_entry_contents(context, new);
+         }
+         if ((i = krb5_kt_end_seq_get(context, kt, cursor))) {
+             com_err(progname, i, "while ending keytab scan");
+             code = i;
+             goto cleanup;
+         }
+         if (best < 0) {
+             com_err(progname, code, "while scanning keytab");
+             goto cleanup;
+         }
+         deref_keyblock_enctype(session_key) = deref_entry_enctype(entry);
+     }
+ 
+     /* Make Ticket */
+ 
+ #if USING_HEIMDAL
+     if ((code = krb5_generate_random_keyblock(context,
+ 					      deref_keyblock_enctype(session_key), session_key))) {
+         com_err(progname, code, "while making session key");
+         goto cleanup;
+     }
+     enc_tkt_reply->flags.initial = 1;
+     enc_tkt_reply->transited.tr_type = DOMAIN_X500_COMPRESS;
+     enc_tkt_reply->cname = client_principal->name;
+     enc_tkt_reply->crealm = client_principal->realm;
+     enc_tkt_reply->key = *session_key;
+     {
+         static krb5_data empty_string;
+         enc_tkt_reply->transited.contents = empty_string;
+     }
+     enc_tkt_reply->authtime = starttime;
+     enc_tkt_reply->starttime = temp_time;
+     *enc_tkt_reply->starttime = starttime;
+ #if 0
+     enc_tkt_reply->renew_till = temp_time + 1;
+     *enc_tkt_reply->renew_till = endtime;
+ #endif
+     enc_tkt_reply->endtime = endtime;
+ #else
+     if ((code = krb5_c_make_random_key(context,
+ 				       deref_keyblock_enctype(session_key), session_key))) {
+         com_err(progname, code, "while making session key");
+         goto cleanup;
+     }
+     enc_tkt_reply->magic = KV5M_ENC_TKT_PART;
+ #define DATACAST        (unsigned char *)
+     enc_tkt_reply->flags |= TKT_FLG_INITIAL;
+     enc_tkt_reply->transited.tr_type = KRB5_DOMAIN_X500_COMPRESS;
+     enc_tkt_reply->session = session_key;
+     enc_tkt_reply->client = client_principal;
+     {
+         static krb5_data empty_string;
+         enc_tkt_reply->transited.tr_contents = empty_string;
+     }
+     enc_tkt_reply->times.authtime = starttime;
+     enc_tkt_reply->times.starttime = starttime; /* krb524init needs this */
+     enc_tkt_reply->times.endtime = endtime;
+ #endif  /* USING_HEIMDAL */
+     /* NB:  We will discard address for now--ignoring caddr field               
+        in any case.  MIT branch does what it always did. */
+ 
+     if (paddress && *paddress) {
+         deref_enc_tkt_addrs(enc_tkt_reply) = faddr;
+ #if USING_HEIMDAL
+         faddr->len = 0;
+         faddr->val = address;
+ #endif
+         for (i = 0; paddress[i]; ++i) {
+ #if USING_HEIMDAL
+             address[i].addr_type = KRB5_ADDRESS_INET;
+             address[i].address.data = (void*)(paddress+i);
+             address[i].address.length = sizeof(paddress[i]);
+ #else
+ #if !USING_SSL
+             address[i].magic = KV5M_ADDRESS;
+             address[i].addrtype = ADDRTYPE_INET;
+ #else
+             address[i].addrtype = AF_INET;
+ #endif
+             address[i].contents = (void*)(paddress+i);
+             address[i].length = sizeof(int);
+             faddr[i] = address+i;
+ #endif
+         }
+ #if USING_HEIMDAL
+         faddr->len = i;
+ #else
+         faddr[i] = 0;
+ #endif
+     }
+ 
+ #if USING_HEIMDAL
+     ticket_reply->sname = service_principal->name;
+     ticket_reply->realm = service_principal->realm;
+ 
+     { /* crypto block */
+         krb5_crypto crypto = 0;
+         unsigned char *buf = 0;
+         size_t buf_size, buf_len;
+         char *what;
+ 
+         ASN1_MALLOC_ENCODE(EncTicketPart, buf, buf_size,
+ 			   enc_tkt_reply, &buf_len, code);
+         if(code) {
+             com_err(progname, code, "while encoding ticket");
+             goto cleanup;
+         }
+ 
+         if(buf_len != buf_size) {
+             com_err(progname, code,
+ 		    "%d != %d while encoding ticket (internal ASN.1 encoder error",
+ 		    buf_len, buf_size);
+             goto cleanup;
+         }
+         what = "krb5_crypto_init";
+         code = krb5_crypto_init(context,
+ 				&deref_entry_keyblock(entry),
+ 				deref_entry_enctype(entry),
+ 				&crypto);
+         if(!code) {
+             what = "krb5_encrypt";
+             code = krb5_encrypt_EncryptedData(context, crypto, KRB5_KU_TICKET,
+ 					      buf, buf_len, entry->vno, &(ticket_reply->enc_part));
+         }
+         if (buf) free(buf);
+         if (crypto) krb5_crypto_destroy(context, crypto);
+         if(code) {
+             com_err(progname, code, "while %s", what);
+             goto cleanup;
+         }
+     } /* crypto block */
+     ticket_reply->enc_part.etype = deref_entry_enctype(entry);
+     ticket_reply->enc_part.kvno = temp_vno;
+     *ticket_reply->enc_part.kvno = entry->vno;
+     ticket_reply->tkt_vno = 5;
+ #else
+     ticket_reply->server = service_principal;
+     ticket_reply->enc_part2 = enc_tkt_reply;
+     if ((code = krb5_encrypt_tkt_part(context, &deref_entry_keyblock(entry), ticket_reply))) {
+         com_err(progname, code, "while making ticket");
+         goto cleanup;
+     }
+     ticket_reply->enc_part.kvno = entry->vno;
+ #endif
+ 
+     /* Construct Creds */
+ 
+     if ((code = krb5_copy_principal(context, service_principal,
+ 				    &creds->server))) {
+         com_err(progname, code, "while copying service principal");
+         goto cleanup;
+     }
+     if ((code = krb5_copy_principal(context, client_principal,
+ 				    &creds->client))) {
+         com_err(progname, code, "while copying client principal");
+         goto cleanup;
+     }
+     if ((code = krb5_copy_keyblock_contents(context, session_key,
+ 					    &deref_session_key(creds)))) {
+         com_err(progname, code, "while copying session key");
+         goto cleanup;
+     }
+ 
+ #if USING_HEIMDAL
+     creds->times.authtime = enc_tkt_reply->authtime;
+     creds->times.starttime = *(enc_tkt_reply->starttime);
+     creds->times.endtime = enc_tkt_reply->endtime;
+     creds->times.renew_till = 0; /* *(enc_tkt_reply->renew_till) */
+     creds->flags.b = enc_tkt_reply->flags;
+ #else
+     creds->times = enc_tkt_reply->times;
+     creds->ticket_flags = enc_tkt_reply->flags;
+ #endif
+     if (!deref_enc_tkt_addrs(enc_tkt_reply))
+         ;
+     else if ((code = krb5_copy_addresses(context,
+ 					 deref_enc_tkt_addrs(enc_tkt_reply), &creds->addresses))) {
+         com_err(progname, code, "while copying addresses");
+         goto cleanup;
+     }
+ 
+ #if USING_HEIMDAL
+     {
+ 	size_t creds_tkt_len;
+ 	ASN1_MALLOC_ENCODE(Ticket, creds->ticket.data, creds->ticket.length,
+ 			   ticket_reply, &creds_tkt_len, code);
+ 	if(code) {
+ 	    com_err(progname, code, "while encoding ticket");
+ 	    goto cleanup;
+ 	}
+     }
+ #else
+     if ((code = encode_krb5_ticket(ticket_reply, &temp))) {
+ 	com_err(progname, code, "while encoding ticket");
+ 	goto cleanup;
+     }
+     creds->ticket = *temp;
+     free(temp);
+ #endif
+     /* return creds */
+     *out_creds = creds;
+     creds = 0;
+ cleanup:
+     if (deref_enc_data(&ticket_reply->enc_part))
+         free(deref_enc_data(&ticket_reply->enc_part));
+     krb5_free_keytab_entry_contents(context, entry);
+     if (client_principal)
+         krb5_free_principal(context, client_principal);
+     if (service_principal)
+         krb5_free_principal(context, service_principal);
+     if (cc)
+         krb5_cc_close(context, cc);
+     if (kt)
+         krb5_kt_close(context, kt);
+     if (creds) krb5_free_creds(context, creds);
+     krb5_free_keyblock_contents(context, session_key);
+ out:
+     return code;
+ #else
+     return -1;
+ #endif
+ }
+ 
+ 
  static krb5_error_code get_credv5(krb5_context context, 
! 				  char *name, char *inst, char *realm,
! 				  krb5_creds **creds)
  {
      krb5_creds increds;
      krb5_error_code r;
      static krb5_principal client_principal = 0;
!     
      memset((char *)&increds, 0, sizeof(increds));
  /* ANL - instance may be ptr to a null string. Pass null then */
      if ((r = krb5_build_principal(context, &increds.server,
! 				  strlen(realm), realm,
! 				  name,
! 				  (inst && strlen(inst)) ? inst : (void *) NULL,
! 				  (void *) NULL))) {
          return r;
      }
+     
  
      if (!_krb425_ccache) {
          r = krb5_cc_default(context, &_krb425_ccache);
***************
*** 1606,1623 ****
  	    return r;
      }
      if (!client_principal) {
!         r = krb5_cc_get_principal(context, _krb425_ccache, &client_principal);
  	if (r)
  	    return r;
      }
! 
      increds.client = client_principal;
      increds.times.endtime = 0;
! 	/* Ask for DES since that is what V4 understands */
      get_creds_enctype((&increds)) = ENCTYPE_DES_CBC_CRC;
! 
!     r = krb5_get_credentials(context, 0, _krb425_ccache, &increds, creds);
! 
      return r;
  }
  
--- 2036,2071 ----
  	    return r;
      }
      if (!client_principal) {
! 	if (client) {
! 	    r = krb5_parse_name(context, client,  &client_principal);
! 	} else {
! 	    r = krb5_cc_get_principal(context, _krb425_ccache, &client_principal);
! 	}
  	if (r)
  	    return r;
      }
!     
      increds.client = client_principal;
      increds.times.endtime = 0;
!     /* Ask for DES since that is what V4 understands */
      get_creds_enctype((&increds)) = ENCTYPE_DES_CBC_CRC;
!     
!     if (keytab) {
! 	int allowed_enctypes[] = {
! 	    ENCTYPE_DES_CBC_CRC, 0
! 	};
! 
! 	r = get_credv5_akimpersonate(context,
! 				     keytab,
! 				     increds.server,
! 				     increds.client,
! 				     300, ((~0U)>>1),
! 				     allowed_enctypes,
! 				     0 /* paddress */,
! 				     creds /* out */);
!     } else {
! 	r = krb5_get_credentials(context, 0, _krb425_ccache, &increds, creds);
!     }    
      return r;
  }
  
***************
*** 1626,1641 ****
  {
      static krb5_principal client_principal = 0;
      int i;
  
      if (!_krb425_ccache)
          krb5_cc_default(context, &_krb425_ccache);
!     if (!client_principal)
!         krb5_cc_get_principal(context, _krb425_ccache, &client_principal);
  
      i = realm_len(context, client_principal);
      if (i > REALM_SZ-1) i = REALM_SZ-1;
      strncpy(realm,realm_data(context, client_principal), i);
      realm[i] = 0;
  
!     return(0);
  }
--- 2074,2097 ----
  {
      static krb5_principal client_principal = 0;
      int i;
+     krb5_error_code r = 0;
  
      if (!_krb425_ccache)
          krb5_cc_default(context, &_krb425_ccache);
!     if (!client_principal) {
! 	if (client) {
! 	    r = krb5_parse_name(context, client,  &client_principal);
! 	} else {
! 	    r = krb5_cc_get_principal(context, _krb425_ccache, &client_principal);
! 	}
! 	if (r)
! 	    return r;
!     }
  
      i = realm_len(context, client_principal);
      if (i > REALM_SZ-1) i = REALM_SZ-1;
      strncpy(realm,realm_data(context, client_principal), i);
      realm[i] = 0;
  
!     return(r);
  }
Index: openafs/src/bucoord/NTMakefile
diff -c openafs/src/bucoord/NTMakefile:1.13 openafs/src/bucoord/NTMakefile:1.13.4.1
*** openafs/src/bucoord/NTMakefile:1.13	Sun Nov 20 20:56:40 2005
--- openafs/src/bucoord/NTMakefile	Wed Sep 19 13:58:48 2007
***************
*** 37,42 ****
--- 37,44 ----
  
  EXEFILE = $(DESTDIR)\etc\backup.exe
  
+ EXERES = $(OUT)/backup.res
+ 
  EXEOBJS =\
  	$(OUT)\main.obj \
  	$(OUT)\config.obj \
***************
*** 58,65 ****
  	$(OUT)\dlq.obj \
  
  
! $(OUT)/backup.res:AFS_component_version_number.h
! 	$(RC) backup.rc
  
  $(EXEOBJS):$$(@B).c
  	$(C2OBJ) $**
--- 60,66 ----
  	$(OUT)\dlq.obj \
  
  
! $(EXERES): backup.rc AFS_component_version_number.h
  
  $(EXEOBJS):$$(@B).c
  	$(C2OBJ) $**
***************
*** 90,96 ****
       $(DESTDIR)\lib\cm_dns.obj
  	
  
! $(EXEFILE): $(EXEOBJS) $(EXELIBS)
  	$(EXECONLINK) dnsapi.lib mpr.lib iphlpapi.lib
          $(_VC_MANIFEST_EMBED_EXE)
  	$(EXEPREP)
--- 91,97 ----
       $(DESTDIR)\lib\cm_dns.obj
  	
  
! $(EXEFILE): $(EXEOBJS) $(EXERES) $(EXELIBS)
  	$(EXECONLINK) dnsapi.lib mpr.lib iphlpapi.lib
          $(_VC_MANIFEST_EMBED_EXE)
  	$(EXEPREP)
***************
*** 119,124 ****
--- 120,127 ----
  
  clean::
  	$(DEL) bc.h bucoord_errs.c
+ 	$(DEL) $(EXERES)
+ 	$(DEL) AFS_component_version_number.h
  
  
  mkdir:
Index: openafs/src/butc/NTMakefile
diff -c openafs/src/butc/NTMakefile:1.10 openafs/src/butc/NTMakefile:1.10.4.1
*** openafs/src/butc/NTMakefile:1.10	Sun Nov 20 20:56:43 2005
--- openafs/src/butc/NTMakefile	Wed Sep 19 13:58:48 2007
***************
*** 15,20 ****
--- 15,22 ----
  
  EXEFILE = $(DESTDIR)\etc\butc.exe
  
+ EXERES = $(OUT)\butc.res
+ 
  EXEOBJS =\
  	$(OUT)\dbentries.obj \
  	$(OUT)\tcprocs.obj \
***************
*** 24,31 ****
  	$(OUT)\tcudbprocs.obj \
  	$(OUT)\dump.obj \
  	$(OUT)\tcstatus.obj \
! 	$(OUT)\tcmain.obj  \
! 	$(OUT)\butc.res
  
  EXELIBS =\
  	$(DESTDIR)\lib\afs\afsbudb.lib \
--- 26,32 ----
  	$(OUT)\tcudbprocs.obj \
  	$(OUT)\dump.obj \
  	$(OUT)\tcstatus.obj \
! 	$(OUT)\tcmain.obj
  
  EXELIBS =\
  	$(DESTDIR)\lib\afs\afsbudb.lib \
***************
*** 53,69 ****
  	$(DESTDIR)\lib\afs\afsreg.lib \
  	$(DESTDIR)\lib\cm_dns.obj
  
! $(EXEFILE): $(EXEOBJS) $(EXELIBS)
  	$(EXECONLINK) dnsapi.lib mpr.lib iphlpapi.lib
          $(_VC_MANIFEST_EMBED_EXE)
  	$(EXEPREP)
  
  ############################################################################
- # Definitions for generating versioninfo resources
- 
- $(OUT)\butc.res: AFS_component_version_number.h
- 
- ############################################################################
  # Install target; primary makefile target
  
  install: $(EXEFILE)
--- 54,67 ----
  	$(DESTDIR)\lib\afs\afsreg.lib \
  	$(DESTDIR)\lib\cm_dns.obj
  
! $(EXERES): butc.rc AFS_component_version_number.h
! 
! $(EXEFILE): $(EXEOBJS) $(EXERES) $(EXELIBS)
  	$(EXECONLINK) dnsapi.lib mpr.lib iphlpapi.lib
          $(_VC_MANIFEST_EMBED_EXE)
  	$(EXEPREP)
  
  ############################################################################
  # Install target; primary makefile target
  
  install: $(EXEFILE)
***************
*** 73,78 ****
--- 71,78 ----
  # Local clean target; augments predefined clean target
  
  clean::
+ 	$(DEL) $(EXERES)
+ 	$(DEL) AFS_component_version_number.h
  
  
  ############################################################################
Index: openafs/src/cf/kerberos.m4
diff -c openafs/src/cf/kerberos.m4:1.7.2.2 openafs/src/cf/kerberos.m4:1.7.2.3
*** openafs/src/cf/kerberos.m4:1.7.2.2	Thu Jan  4 22:21:49 2007
--- openafs/src/cf/kerberos.m4	Thu Sep 20 00:53:31 2007
***************
*** 1,5 ****
  dnl
! dnl $Id: kerberos.m4,v 1.7.2.2 2007/01/05 03:21:49 shadow Exp $
  dnl
  dnl Kerberos autoconf glue
  dnl
--- 1,5 ----
  dnl
! dnl $Id: kerberos.m4,v 1.7.2.3 2007/09/20 04:53:31 shadow Exp $
  dnl
  dnl Kerberos autoconf glue
  dnl
***************
*** 58,64 ****
  	CPPFLAGS="$CPPFLAGS $KRB5CFLAGS"
  	save_LIBS="$LIBS"
  	LIBS="$LIBS $KRB5LIBS"
! 	AC_CHECK_FUNCS([add_to_error_table add_error_table krb5_princ_size krb5_principal_get_comp_string])
  	AC_CHECK_FUNCS([krb5_524_convert_creds], ,
  	    [AC_CHECK_FUNCS([krb524_convert_creds_kdc], ,
  		[AC_CHECK_LIB([krb524], [krb524_convert_creds_kdc],
--- 58,64 ----
  	CPPFLAGS="$CPPFLAGS $KRB5CFLAGS"
  	save_LIBS="$LIBS"
  	LIBS="$LIBS $KRB5LIBS"
! 	AC_CHECK_FUNCS([add_to_error_table add_error_table krb5_princ_size krb5_principal_get_comp_string encode_krb5_enc_tkt_part encode_krb5_ticket])
  	AC_CHECK_FUNCS([krb5_524_convert_creds], ,
  	    [AC_CHECK_FUNCS([krb524_convert_creds_kdc], ,
  		[AC_CHECK_LIB([krb524], [krb524_convert_creds_kdc],
Index: openafs/src/cf/osconf.m4
diff -c openafs/src/cf/osconf.m4:1.83.2.3 openafs/src/cf/osconf.m4:1.83.2.4
*** openafs/src/cf/osconf.m4:1.83.2.3	Mon Jun 18 14:18:48 2007
--- openafs/src/cf/osconf.m4	Thu Sep 20 00:53:31 2007
***************
*** 488,493 ****
--- 488,494 ----
  		EXTRA_VLIBOBJS="fstab.o"
  		SHLIB_LINKER="${MT_CC} -dynamiclib"
  		SHLIB_SUFFIX="dylib"
+ 		RANLIB="ranlib -c"
  		;;
  
  	*_darwin_90)
***************
*** 505,510 ****
--- 506,512 ----
  		EXTRA_VLIBOBJS="fstab.o"
  		SHLIB_LINKER="${MT_CC} -dynamiclib"
  		SHLIB_SUFFIX="dylib"
+ 		RANLIB="ranlib -c"
  		;;
  
  	ppc_linux*)
Index: openafs/src/comerr/NTMakefile
diff -c openafs/src/comerr/NTMakefile:1.6 openafs/src/comerr/NTMakefile:1.6.4.1
*** openafs/src/comerr/NTMakefile:1.6	Sun Nov 20 20:56:46 2005
--- openafs/src/comerr/NTMakefile	Wed Sep 19 13:58:48 2007
***************
*** 37,42 ****
--- 37,44 ----
  # build and install the compile_et executable
  COMPILE_ET_EXEFILE = $(DESTDIR)\bin\compile_et.exe
  
+ COMPILE_ET_EXERES  = $(OUT)\compile_et.res
+ 
  prep:
  	$(DESTDIR)\bin\touch et_lex.lex_nt.c
  	$(DESTDIR)\bin\touch error_table_nt.c
***************
*** 52,64 ****
  		$(OUT)\compile_et.obj \
  		$(OUT)\error_table_nt.obj
  
  $(COMPILE_ET_EXEOBJS): $$(@B).c
      $(C2OBJ) $**
  
  COMPILE_ET_EXELIBS =\
  	$(DESTDIR)\lib\afs\afsutil.lib
  
! $(COMPILE_ET_EXEFILE): $(COMPILE_ET_EXEOBJS) $(COMPILE_ET_EXELIBS)  
  	$(EXECONLINK)
          $(_VC_MANIFEST_EMBED_EXE)
  	$(EXEPREP) 
--- 54,68 ----
  		$(OUT)\compile_et.obj \
  		$(OUT)\error_table_nt.obj
  
+ $(COMPILE_ET_EXERES): compile_et.rc AFS_component_version_number.h
+ 
  $(COMPILE_ET_EXEOBJS): $$(@B).c
      $(C2OBJ) $**
  
  COMPILE_ET_EXELIBS =\
  	$(DESTDIR)\lib\afs\afsutil.lib
  
! $(COMPILE_ET_EXEFILE): $(COMPILE_ET_EXEOBJS) $(COMPILE_ET_EXERES) $(COMPILE_ET_EXELIBS)  
  	$(EXECONLINK)
          $(_VC_MANIFEST_EMBED_EXE)
  	$(EXEPREP) 
***************
*** 71,76 ****
--- 75,81 ----
  clean::
  	$(DEL) $(COMERR_LIBFILE) $(OUT)\AFS_component_version_number.obj
  	$(DEL) $(COMPILE_ET_EXEFILE)
+ 	$(DEL) $(COMPILE_ET_EXERES);
  	$(DEL) *~ *.bak \
                   *.otl *.aux *.toc *.PS *.dvi *.x9700 *.ps \
                   *.cp *.fn *.ky *.log *.pg *.tp *.vr \
Index: openafs/src/comerr/compile_et.rc
diff -c /dev/null openafs/src/comerr/compile_et.rc:1.1.2.2
*** /dev/null	Thu Sep 20 01:06:45 2007
--- openafs/src/comerr/compile_et.rc	Wed Sep 19 13:58:48 2007
***************
*** 0 ****
--- 1,17 ----
+ /*
+  * Copyright 2000, International Business Machines Corporation and others.
+  * All Rights Reserved.
+  * 
+  * This software has been released under the terms of the IBM Public
+  * License.  For details, see the LICENSE file in the top-level source
+  * directory or online at http://www.openafs.org/dl/license10.html
+  */
+ 
+ /* Define VERSIONINFO resource */
+ 
+ #define  AFS_VERINFO_FILE_DESCRIPTION "AFS Common Error Table Compilation Tool"
+ #define  AFS_VERINFO_NAME "compile_et"
+ #define  AFS_VERINFO_FILENAME "compile_et.exe"
+ 
+ #include "AFS_component_version_number.h"
+ #include "..\config\NTVersioninfo.rc"
Index: openafs/src/config/NTMakefile.amd64_w2k
diff -c openafs/src/config/NTMakefile.amd64_w2k:1.24.2.28 openafs/src/config/NTMakefile.amd64_w2k:1.24.2.30
*** openafs/src/config/NTMakefile.amd64_w2k:1.24.2.28	Tue Aug 28 13:53:59 2007
--- openafs/src/config/NTMakefile.amd64_w2k	Wed Sep 19 23:59:48 2007
***************
*** 84,90 ****
  #define used in WinNT/2000 installation and program version display
  AFSPRODUCT_VER_MAJOR=1
  AFSPRODUCT_VER_MINOR=5
! AFSPRODUCT_VER_PATCH=2400
  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=2500
  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.27 openafs/src/config/NTMakefile.i386_nt40:1.84.2.29
*** openafs/src/config/NTMakefile.i386_nt40:1.84.2.27	Tue Aug 28 13:53:59 2007
--- openafs/src/config/NTMakefile.i386_nt40	Wed Sep 19 23:59:48 2007
***************
*** 84,90 ****
  #define used in WinNT/2000 installation and program version display
  AFSPRODUCT_VER_MAJOR=1
  AFSPRODUCT_VER_MINOR=5
! AFSPRODUCT_VER_PATCH=2400
  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=2500
  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.27 openafs/src/config/NTMakefile.i386_w2k:1.23.2.30
*** openafs/src/config/NTMakefile.i386_w2k:1.23.2.27	Tue Aug 28 13:53:59 2007
--- openafs/src/config/NTMakefile.i386_w2k	Wed Sep 19 23:59:48 2007
***************
*** 84,90 ****
  #define used in WinNT/2000 installation and program version display
  AFSPRODUCT_VER_MAJOR=1
  AFSPRODUCT_VER_MINOR=5
! AFSPRODUCT_VER_PATCH=2400
  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=2500
  AFSPRODUCT_VER_BUILD=0
  
  AFSPRODUCT_VERSION=$(AFSPRODUCT_VER_MAJOR).$(AFSPRODUCT_VER_MINOR).$(AFSPRODUCT_VER_PATCH)
***************
*** 269,274 ****
--- 269,275 ----
  cdebug = $(cdebug:-Od=) # avoid annoying override warning (D4025)
  cvarsdll = $(cvarsdll:-MDd=-MD)
  NODEBUG=1
+ _VC_MANIFEST_BASENAME = __OAFW
  
  !ELSE		# CHECKED BUILD
  cdebug = $(cdebug:-Z7=-Zi)  # avoid annoying override warning (D4025)
***************
*** 284,289 ****
--- 285,302 ----
  !ENDIF
  
  !UNDEF NODEBUG
+ _VC_MANIFEST_BASENAME = __OAFW.Debug
+ !ENDIF
+ 
+ !IF ("$(AFSVER_CL)"=="1400" || "$(AFSVER_CL)" == "1310")
+ _VC_MANIFEST_EMBED_EXE= \
+ if exist $@.manifest mt.exe -manifest $@.manifest -outputresource:$@;1
+ 
+ _VC_MANIFEST_EMBED_DLL= \
+ if exist $@.manifest mt.exe -manifest $@.manifest -outputresource:$@;2
+ !ELSE
+ _VC_MANIFEST_EMBED_EXE=
+ _VC_MANIFEST_EMBED_DLL=
  !ENDIF
  
  # Set compiler warning level
***************
*** 358,364 ****
  #################### Link optional build flags set ###########
  
  afslflags =\
! 	/FIXED:NO /VERBOSE:LIB
  
  mfclflags = $(guilflags)
  mfclflags = $(mfclflags:/NODEFAULTLIB=)
--- 371,381 ----
  #################### Link optional build flags set ###########
  
  afslflags =\
! 	/FIXED:NO /VERBOSE:LIB /MACHINE:I386
! 
! !IF ("$(AFSVER_CL)"=="1400" || "$(AFSVER_CL)"=="1310")
! afslflags = $(afslflags) /MANIFEST
! !ENDIF
  
  mfclflags = $(guilflags)
  mfclflags = $(mfclflags:/NODEFAULTLIB=)
Index: openafs/src/libafs/afs.ppc_darwin_70.plist.in
diff -c openafs/src/libafs/afs.ppc_darwin_70.plist.in:1.2.10.20 openafs/src/libafs/afs.ppc_darwin_70.plist.in:1.2.10.21
*** openafs/src/libafs/afs.ppc_darwin_70.plist.in:1.2.10.20	Wed Aug 29 00:08:54 2007
--- openafs/src/libafs/afs.ppc_darwin_70.plist.in	Thu Sep 20 00:14:07 2007
***************
*** 15,25 ****
  	<key>CFBundlePackageType</key>
  	<string>KEXT</string>
  	<key>CFBundleShortVersionString</key>
! 	<string>1.5.24</string>
  	<key>CFBundleSignature</key>
  	<string>????</string>
  	<key>CFBundleVersion</key>
! 	<string>1.5.24</string>
  	<key>OSBundleLibraries</key>
  	<dict>
  		<key>com.apple.kernel.bsd</key>
--- 15,25 ----
  	<key>CFBundlePackageType</key>
  	<string>KEXT</string>
  	<key>CFBundleShortVersionString</key>
! 	<string>1.5.25</string>
  	<key>CFBundleSignature</key>
  	<string>????</string>
  	<key>CFBundleVersion</key>
! 	<string>1.5.25</string>
  	<key>OSBundleLibraries</key>
  	<dict>
  		<key>com.apple.kernel.bsd</key>
Index: openafs/src/libafs/afs.ppc_darwin_80.plist.in
diff -c openafs/src/libafs/afs.ppc_darwin_80.plist.in:1.2.4.20 openafs/src/libafs/afs.ppc_darwin_80.plist.in:1.2.4.21
*** openafs/src/libafs/afs.ppc_darwin_80.plist.in:1.2.4.20	Wed Aug 29 00:08:54 2007
--- openafs/src/libafs/afs.ppc_darwin_80.plist.in	Thu Sep 20 00:14:07 2007
***************
*** 15,25 ****
  	<key>CFBundlePackageType</key>
  	<string>KEXT</string>
  	<key>CFBundleShortVersionString</key>
! 	<string>1.5.24</string>
  	<key>CFBundleSignature</key>
  	<string>????</string>
  	<key>CFBundleVersion</key>
! 	<string>1.5.24</string>
  	<key>OSBundleLibraries</key>
  	<dict>
  		<key>com.apple.kpi.bsd</key>
--- 15,25 ----
  	<key>CFBundlePackageType</key>
  	<string>KEXT</string>
  	<key>CFBundleShortVersionString</key>
! 	<string>1.5.25</string>
  	<key>CFBundleSignature</key>
  	<string>????</string>
  	<key>CFBundleVersion</key>
! 	<string>1.5.25</string>
  	<key>OSBundleLibraries</key>
  	<dict>
  		<key>com.apple.kpi.bsd</key>
Index: openafs/src/libafs/afs.ppc_darwin_90.plist.in
diff -c openafs/src/libafs/afs.ppc_darwin_90.plist.in:1.1.6.20 openafs/src/libafs/afs.ppc_darwin_90.plist.in:1.1.6.21
*** openafs/src/libafs/afs.ppc_darwin_90.plist.in:1.1.6.20	Wed Aug 29 00:08:54 2007
--- openafs/src/libafs/afs.ppc_darwin_90.plist.in	Thu Sep 20 00:14:07 2007
***************
*** 15,25 ****
  	<key>CFBundlePackageType</key>
  	<string>KEXT</string>
  	<key>CFBundleShortVersionString</key>
! 	<string>1.5.24</string>
  	<key>CFBundleSignature</key>
  	<string>????</string>
  	<key>CFBundleVersion</key>
! 	<string>1.5.24</string>
  	<key>OSBundleLibraries</key>
  	<dict>
  		<key>com.apple.kpi.bsd</key>
--- 15,25 ----
  	<key>CFBundlePackageType</key>
  	<string>KEXT</string>
  	<key>CFBundleShortVersionString</key>
! 	<string>1.5.25</string>
  	<key>CFBundleSignature</key>
  	<string>????</string>
  	<key>CFBundleVersion</key>
! 	<string>1.5.25</string>
  	<key>OSBundleLibraries</key>
  	<dict>
  		<key>com.apple.kpi.bsd</key>
Index: openafs/src/libafs/afs.x86_darwin_80.plist.in
diff -c openafs/src/libafs/afs.x86_darwin_80.plist.in:1.1.6.20 openafs/src/libafs/afs.x86_darwin_80.plist.in:1.1.6.21
*** openafs/src/libafs/afs.x86_darwin_80.plist.in:1.1.6.20	Wed Aug 29 00:08:54 2007
--- openafs/src/libafs/afs.x86_darwin_80.plist.in	Thu Sep 20 00:14:07 2007
***************
*** 15,25 ****
  	<key>CFBundlePackageType</key>
  	<string>KEXT</string>
  	<key>CFBundleShortVersionString</key>
! 	<string>1.5.24</string>
  	<key>CFBundleSignature</key>
  	<string>????</string>
  	<key>CFBundleVersion</key>
! 	<string>1.5.24</string>
  	<key>OSBundleLibraries</key>
  	<dict>
  		<key>com.apple.kpi.bsd</key>
--- 15,25 ----
  	<key>CFBundlePackageType</key>
  	<string>KEXT</string>
  	<key>CFBundleShortVersionString</key>
! 	<string>1.5.25</string>
  	<key>CFBundleSignature</key>
  	<string>????</string>
  	<key>CFBundleVersion</key>
! 	<string>1.5.25</string>
  	<key>OSBundleLibraries</key>
  	<dict>
  		<key>com.apple.kpi.bsd</key>
Index: openafs/src/libafs/afs.x86_darwin_90.plist.in
diff -c openafs/src/libafs/afs.x86_darwin_90.plist.in:1.1.6.20 openafs/src/libafs/afs.x86_darwin_90.plist.in:1.1.6.21
*** openafs/src/libafs/afs.x86_darwin_90.plist.in:1.1.6.20	Wed Aug 29 00:08:54 2007
--- openafs/src/libafs/afs.x86_darwin_90.plist.in	Thu Sep 20 00:14:07 2007
***************
*** 15,25 ****
  	<key>CFBundlePackageType</key>
  	<string>KEXT</string>
  	<key>CFBundleShortVersionString</key>
! 	<string>1.5.24</string>
  	<key>CFBundleSignature</key>
  	<string>????</string>
  	<key>CFBundleVersion</key>
! 	<string>1.5.24</string>
  	<key>OSBundleLibraries</key>
  	<dict>
  		<key>com.apple.kpi.bsd</key>
--- 15,25 ----
  	<key>CFBundlePackageType</key>
  	<string>KEXT</string>
  	<key>CFBundleShortVersionString</key>
! 	<string>1.5.25</string>
  	<key>CFBundleSignature</key>
  	<string>????</string>
  	<key>CFBundleVersion</key>
! 	<string>1.5.25</string>
  	<key>OSBundleLibraries</key>
  	<dict>
  		<key>com.apple.kpi.bsd</key>
Index: openafs/src/packaging/Debian/CellServDB
diff -c openafs/src/packaging/Debian/CellServDB:1.1 openafs/src/packaging/Debian/CellServDB:removed
*** openafs/src/packaging/Debian/CellServDB:1.1	Thu Mar 23 15:19:06 2006
--- openafs/src/packaging/Debian/CellServDB	Thu Sep 20 01:06:53 2007
***************
*** 1,559 ****
- >grand.central.org      #GCO Public CellServDB 15 Oct 2005
- 18.7.14.88                      #grand-opening.mit.edu
- 128.2.191.224                   #penn.central.org
- 130.237.48.87                   #andrew.e.kth.se
- >wu-wien.ac.at          #University of Economics, Vienna, Austria
- 137.208.3.33                    #afsdb1.wu-wien.ac.at
- 137.208.8.12                    #caesar.wu-wien.ac.at
- 137.208.127.33                  #buddy.wu-wien.ac.at
- >hephy.at               #hephy-vienna
- 193.170.243.10                  #mowgli.oeaw.ac.at
- 193.170.243.12                  #baloo.oeaw.ac.at
- 193.170.243.14                  #akela.oeaw.ac.at
- >itp.tugraz.at          #Institute for Theoretical Physics, TU Graz, Austria
- 129.27.157.6                    #fubphsv2.tu-graz.ac.at
- 129.27.161.7                    #faepsv01.tu-graz.ac.at
- 129.27.161.15                   #faepsv02.tu-graz.ac.at
- >cern.ch                #European Laboratory for Particle Physics, Geneva
- 137.138.128.148                 #afsdb1.cern.ch
- 137.138.246.50                  #afsdb3.cern.ch
- 137.138.246.51                  #afsdb2.cern.ch
- >ams.cern.ch            #AMS Experiment
- 137.138.206.77                  #pcamsf2.cern.ch
- 137.138.206.123                 #pcamsf4.cern.ch
- >epfl.ch                #Swiss Federal Institute of Technology at Lausanne
- 128.178.2.6                     #kd1.epfl.ch
- 128.178.2.7                     #kd2.epfl.ch
- 128.178.2.8                     #kd3.epfl.ch
- >ethz.ch                #Swiss Federal Inst. of Tech. - Zurich, Switzerland
- 129.132.97.19                   #amalthea.ethz.ch
- 129.132.97.27                   #nethzafs-001.ethz.ch
- 129.132.115.3                   #himalia.ethz.ch
- 129.132.115.37                  #nethzafs-005.ethz.ch
- 129.132.115.38                  #nethzafs-006.ethz.ch
- >psi.ch                 #Paul Scherrer Institut - Villigen, Switzerland
- 129.129.190.140                 #afs00.psi.ch
- 129.129.190.141                 #afs01.psi.ch
- 129.129.190.142                 #afs02.psi.ch
- >extundo.com            #Simon Josefsson's cell
- 195.42.214.241                  #slipsten.extundo.com
- >mekinok.com            #Mekinok, Inc.
- 4.36.43.98                      #loggerhead.mekinok.com
- >membrain.com           #membrain.com
- 66.93.118.125                   #stormy
- 130.85.24.11                    #weasel
- 130.85.24.13                    #straykitten
- >midnightlinux.com      #Midnight Linux, Pittsburgh PA
- 208.10.142.82                   #outpost.midnightlinux.com
- >setfilepointer.com     #SetFilePointer.com
- 63.224.10.2                     #hamlet.SetFilePointer.com
- 63.224.10.4                     #troilus.SetFilePointer.com
- >sodre.cx               #Sodre.cx
- 128.8.140.165                   #greed.sodre.cx
- >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
- 213.187.92.34                   #paulchen.gppc.de
- 213.187.92.35                   #lotus.gppc.de
- >ifh.de                 #DESY Zeuthen
- 141.34.22.10                    #romulus.ifh.de
- 141.34.22.11                    #remus.ifh.de
- 141.34.22.29                    #hekate.ifh.de
- >lrz-muenchen.de        #Leibniz Computing Centre, Germany
- 129.187.10.36                   #afs1.lrz-muenchen.de
- 129.187.10.56                   #afs3.lrz-muenchen.de
- 129.187.10.57                   #afs2.lrz-muenchen.de
- >ipp-garching.mpg.de    #Institut fuer Plasmaphysik
- 130.183.9.5                     #afs-db1.rzg.mpg.de
- 130.183.100.10                  #afs-db2.aug.ipp-garching.mpg.de
- 130.183.100.23                  #afs-db3.aug.ipp-garching.mpg.de
- >mpe.mpg.de             #MPE cell
- 130.183.130.7                   #irafs1.mpe-garching.mpg.de
- 130.183.134.20                  #irafs2.mpe-garching.mpg.de
- >i1.informatik.rwth-aachen.de #Informatik I, RWTH Aachen
- 137.226.244.79                  #remus.informatik.rwth-aachen.de
- >tu-bs.de               #Technical University of Braunschweig, Germany
- 134.169.1.1                     #rzafs1.rz.tu-bs.de
- 134.169.1.5                     #rzafs2.rz.tu-bs.de
- 134.169.1.6                     #rzafs3.rz.tu-bs.de
- >tu-chemnitz.de         #Technische Universitaet Chemnitz, Germany
- 134.109.2.1                     #zuse.hrz.tu-chemnitz.de
- 134.109.2.15                    #phoenix.hrz.tu-chemnitz.de
- 134.109.200.7                   #aetius.hrz.tu-chemnitz.de
- >e18.ph.tum.de          #Experimental Physics, TU Munich, Germany
- 129.187.154.223                 #hamlet.e18.physik.tu-muenchen.de
- >uni-bonn.de            #University of Bonn, Computing Center
- 131.220.14.198                  #work15-eth.rhrz.uni-bonn.de
- 131.220.14.205                  #node05.rhrz.uni-bonn.de
- 131.220.15.197                  #afs-db1.rhrz.uni-bonn.de
- >atlass01.physik.uni-bonn.de #Bonn ATLAS
- 131.220.165.43                  #atlass01.physik.uni-bonn.de
- >uni-freiburg.de        #Albert-Ludwigs-Universitat Freiburg
- 132.230.6.235                   #sv6.ruf.uni-freiburg.de
- 132.230.6.236                   #sv7.ruf.uni-freiburg.de
- 132.230.6.237                   #sv8.ruf.uni-freiburg.de
- >physik.uni-freiburg.de #institute of physics, university Freiburg, Germany
- 132.230.77.16                   #hepafs.physik.uni-freiburg.de
- >urz.uni-heidelberg.de  #Uni Heidelberg (Rechenzentrum)
- 129.206.119.10                  #afsdb.urz.uni-heidelberg.de
- 129.206.119.16                  #afsdb1.urz.uni-heidelberg.de
- 129.206.119.17                  #afsdb2.urz.uni-heidelberg.de
- >uni-hohenheim.de       #University of Hohenheim
- 144.41.2.2                      #rs13.serv.uni-hohenheim.de
- 144.41.2.3                      #rs14.serv.uni-hohenheim.de
- 144.41.2.4                      #rs15.serv.uni-hohenheim.de
- >rz.uni-jena.de         #Rechenzentrum University of Jena, Germany
- 141.35.2.160                    #lc00.rz.uni-jena.de
- 141.35.7.9                      #fsuj01.rz.uni-jena.de
- 141.35.7.10                     #zaphod.rz.uni-jena
- >meteo.uni-koeln.de     #Univ. of Cologne - Inst. for Geophysics & Meteorology
- 134.95.144.22                   #afs1.meteo.uni-koeln.de
- 134.95.144.24                   #afs2.meteo.uni-koeln.de
- >rrz.uni-koeln.de       #University of Cologne - Reg Comp Center
- 134.95.19.3                     #afsdb1.rrz.uni-koeln.de
- 134.95.19.30                    #fileserv3.rrz.uni-koeln.de
- 134.95.67.97                    #afs.thp.uni-koeln.de
- 134.95.140.190                  #rzkbserv.rrz.uni-koeln.de
- >physik.uni-mainz.de    #institute of physics, university Mainz, Germany
- 134.93.130.93                   #hardy.physik.uni-mainz.de
- >uni-mannheim.de        #Uni Mannheim (Rechenzentrum)
- 134.155.97.204                  #afsdb1.uni-mannheim.de
- 134.155.97.205                  #afsdb2.uni-mannheim.de
- 134.155.97.206                  #afsdb3.uni-mannheim.de
- >uni-paderborn.de       #University of Paderborn, Germany
- 131.234.137.10                  #afsdb1.uni-paderborn.de
- 131.234.137.11                  #afsdb2.uni-paderborn.de
- 131.234.137.12                  #afsdb3.uni-paderborn.de
- >physik.uni-wuppertal.de #Physics department of Bergische Universität Wuppertal
- 132.195.104.3                   #afs1.physik.uni-wuppertal.de
- 132.195.104.230                 #afs2.physik.uni-wuppertal.de
- >s-et.aau.dk            #Aalborg Univ., The Student Society, Denmark
- 130.225.196.22                  #afs.s-et.aau.dk
- >ies.auc.dk             #Aalborg Univ., Inst. of Electronic Systems, Denmark
- 130.225.51.73                   #afsdb1.kom.auc.dk
- 130.225.51.74                   #afsdb2.kom.auc.dk
- 130.225.51.85                   #afsdb3.kom.auc.dk
- >asu.edu                #Arizona State University
- 129.219.10.69                   #authen2.asu.edu
- 129.219.10.70                   #authen1.asu.edu
- 129.219.10.72                   #authen3.asu.edu
- 129.219.100.16                  #authen4.asu.edu
- >hep.caltech.edu        #CalTech High Energy Physics
- 131.215.126.150                 #afs.hep.caltech.edu
- >clarkson.edu           #Clarkson University, Potsdam, New York USA
- 128.153.1.111                   #arthur.clarkson.edu
- 128.153.9.111                   #lancelot.clarkson.edu
- 128.153.17.111                  #uther.clarkson.edu
- >andrew.cmu.edu         #Carnegie Mellon University - Computing Services Cell
- 128.2.10.2                      #vice2.fs.andrew.cmu.edu
- 128.2.10.7                      #vice7.fs.andrew.cmu.edu
- 128.2.10.11                     #vice11.fs.andrew.cmu.edu
- 128.2.10.28                     #vice28.fs.andrew.cmu.edu
- 128.2.32.44                     #new-vice12.fs.andrew.cmu.edu
- >club.cc.cmu.edu        #Carnegie Mellon University Computer Club
- 128.237.157.11                  #sodium.club.cc.cmu.edu
- 128.237.157.13                  #potassium.club.cc.cmu.edu
- >chem.cmu.edu           #Carnegie Mellon University - Chemistry Dept.
- 128.2.40.134                    #afs.chem.cmu.edu
- 128.2.40.140                    #afs2.chem.cmu.edu
- >cs.cmu.edu             #Carnegie Mellon University - School of Comp. Sci.
- 128.2.194.178                   #cherry.srv.cs.cmu.edu
- 128.2.194.179                   #pumpkin.srv.cs.cmu.edu
- 128.2.194.180                   #strawberry.srv.cs.cmu.edu
- >ece.cmu.edu            #Carnegie Mellon University - Elec. Comp. Eng. Dept.
- 128.2.129.7                     #porok.ece.cmu.edu
- 128.2.129.8                     #vicio.ece.cmu.edu
- 128.2.129.9                     #e-xing.ece.cmu.edu
- >scotch.ece.cmu.edu     #CMU ECE CALCM research group
- 128.2.134.82                    #lagavulin.ece.cmu.edu
- >qatar.cmu.edu          #Carnegie Mellon University - Qatar Campus Cell
- 204.194.25.7                    #afs1.qatar.cmu.edu
- 204.194.25.8                    #afs2.qatar.cmu.edu
- >sbp.ri.cmu.edu         #Carnegie Mellon University - Sensor Based Planning Lab
- 128.2.56.129                    #nihao.sbp.ri.cmu.edu
- 128.2.56.136                    #youtheman.sbp.ri.cmu.edu
- >msc.cornell.edu        #Cornell University Materials Science Center
- 128.84.231.242                  #miranda.ccmr.cornell.edu
- 128.84.241.35                   #co.ccmr.cornell.edu
- 128.84.249.78                   #dax.ccmr.cornell.edu
- >dbic.dartmouth.edu     #Dartmouth Brain Imaging Center
- 129.170.30.143                  #dbicafs1.dartmouth.edu
- 129.170.30.144                  #dbicafs2.dartmouth.edu
- 129.170.30.145                  #dbicafs3.dartmouth.edu
- >northstar.dartmouth.edu #Dartmouth College Research Computing
- 129.170.16.22                   #halley.dartmouth.edu
- 129.170.16.42                   #oort.dartmouth.edu
- 129.170.16.43                   #cygnusx1.dartmouth.edu
- >eecs.harvard.edu       #Harvard - EECS
- 140.247.60.61                   #zermelo.eecs.harvard.edu
- 140.247.60.83                   #corfu.eecs.harvard.edu
- >iastate.edu            #Iowa State University
- 129.186.1.243                   #afsdb-1.iastate.edu
- 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.7.15.89                      #rattle.mit.edu.
- 18.7.15.93                      #hum.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
- 18.89.2.156                     #ac.mit.edu
- >msu.edu                #Michigan State University Main Cell
- 35.9.7.10                       #afsdb0.cl.msu.edu
- >nd.edu                 #University of Notre Dame
- 129.74.223.17                   #john.helios.nd.edu
- 129.74.223.33                   #lizardo.helios.nd.edu
- 129.74.223.65                   #buckaroo.helios.nd.edu
- >pitt.edu               #University of Pittsburgh
- 136.142.8.15                    #afs09.srv.cis.pitt.edu
- 136.142.8.20                    #afs10.srv.cis.pitt.edu
- 136.142.8.21                    #afs11.srv.cis.pitt.edu
- >cs.pitt.edu            #University of Pittsburgh - Computer Science
- 130.49.220.11                   #afs01.cs.pitt.edu
- 130.49.220.12                   #afs02.cs.pitt.edu
- 130.49.220.13                   #afs03.cs.pitt.edu
- >psc.edu                #PSC (Pittsburgh Supercomputing Center)
- 128.182.59.182                  #shaggy.psc.edu
- 128.182.66.184                  #velma.psc.edu
- 128.182.66.185                  #daphne.psc.edu
- >scoobydoo.psc.edu      #PSC Test Cell
- 128.182.59.181                  #scooby.psc.edu
- >cede.psu.edu           #Penn State - Center for Engr. Design & Entrepeneurship
- 146.186.218.10                  #greenly.cede.psu.edu
- 146.186.218.60                  #b50.cede.psu.edu
- 146.186.218.246                 #stalin.cede.psu.edu
- >rose-hulman.edu        #Rose-Hulman Institute of Technology
- 137.112.7.11                    #afs1.rose-hulman.edu
- 137.112.7.12                    #afs2.rose-hulman.edu
- 137.112.7.13                    #afs3.rose-hulman.edu
- >cs.rose-hulman.edu     #Rose-Hulman CS Department
- 137.112.40.10                   #galaxy.cs.rose-hulman.edu
- >rpi.edu                #Rensselaer Polytechnic Institute
- 128.113.22.11                   #saul.server.rpi.edu
- 128.113.22.12                   #joab.server.rpi.edu
- 128.113.22.13                   #korah.server.rpi.edu
- 128.113.22.14                   #achan.server.rpi.edu
- >hep.sc.edu             #University of South Carolina, Dept. of Physics
- 129.252.78.77                   #cpeven.physics.sc.edu
- >cs.stanford.edu        #Stanford University Computer Science Department
- 171.64.64.10                    #cs-afs-1.Stanford.EDU
- 171.64.64.66                    #cs-afs-2.stanford.edu
- 171.64.64.69                    #cs-afs-3.stanford.edu
- >ir.stanford.edu        #Stanford University
- 171.64.7.222                    #afsdb1.stanford.edu
- 171.64.7.234                    #afsdb2.stanford.edu
- 171.64.7.246                    #afsdb3.stanford.edu
- >slac.stanford.edu      #Stanford Linear Accelerator Center
- 134.79.18.25                    #afsdb1.slac.stanford.edu
- 134.79.18.26                    #afsdb2.slac.stanford.edu
- 134.79.18.27                    #afsdb3.slac.stanford.edu
- >cats.ucsc.edu          #UC Santa Cruz, Comm. and Tech. Services, California U.S.A
- 128.114.129.14                  #elan.ucsc.edu
- 128.114.129.15                  #ichabod.ucsc.edu
- 128.114.129.18                  #maneki.ucsc.edu
- >acm.uiuc.edu           #ACM at the University of Illinois
- 128.174.251.8                   #alnitak.acm.uiuc.edu
- 128.174.251.9                   #alnilam.acm.uiuc.edu
- 128.174.251.10                  #mintaka.acm.uiuc.edu
- >ncsa.uiuc.edu          #University of Illinois
- 141.142.3.5                     #congo.ncsa.uiuc.edu
- 141.142.3.8                     #nile.ncsa.uiuc.edu
- 141.142.3.9                     #kaskaskia.ncsa.uiuc.edu
- >umbc.edu               #University of Maryland, Baltimore County
- 130.85.24.23                    #db2.afs.umbc.edu
- 130.85.24.87                    #db3.afs.umbc.edu
- 130.85.24.101                   #db1.afs.umbc.edu
- >glue.umd.edu           #University of Maryland - Project Glue
- 128.8.70.11                     #olmec.umd.edu
- 128.8.236.4                     #egypt.umd.edu
- 128.8.236.230                   #babylon.umd.edu
- >wam.umd.edu            #University of Maryland Network WAM Project
- 128.8.70.9                      #csc-srv.wam.umd.edu
- 128.8.236.5                     #avw-srv.wam.umd.edu
- 128.8.236.231                   #ptx-srv.wam.umd.edu
- >umich.edu              #University of Michigan - Campus
- 141.211.1.32                    #fear.ifs.umich.edu
- 141.211.1.33                    #surprise.ifs.umich.edu
- 141.211.1.34                    #ruthless.ifs.umich.edu
- >atlas.umich.edu        #ATLAS group cell in physics at University of Michigan
- 141.211.43.102                  #linat02.grid.umich.edu
- 141.211.43.106                  #linat06.grid.umich.edu
- 141.211.43.109                  #atgrid.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
- >umr.edu                #University of Missouri - Rolla
- 131.151.1.59                    #afsdb1.umr.edu
- 131.151.1.70                    #afsdb3.umr.edu
- 131.151.1.146                   #afsdb2.umr.edu
- >physics.unc.edu        #Univ. of NC at Chapel Hill, Dept. of Physics
- 152.2.4.1                       #who.physics.unc.edu
- 152.2.4.3                       #what.physics.unc.edu
- 152.2.4.5                       #when.physics.unc.edu
- >uncc.edu               #University of NC at Charlotte Mosaic AFS Cell
- 152.15.10.70                    #as-sm1.uncc.edu
- 152.15.13.7                     #as-sm2.uncc.edu
- 152.15.30.27                    #fs-kenn3.uncc.edu
- >eng.utah.edu           #University of Utah - Engineering
- 155.99.222.9                    #lenny.eng.utah.edu
- 155.99.222.10                   #carl.eng.utah.edu
- >cs.uwm.edu             #University of Wisconsin--Milwaukee
- 129.89.38.124                   #solomons.cs.uwm.edu
- >cs.wisc.edu            #Univ. of Wisconsin-Madison, Computer Sciences Dept.
- 128.105.132.14                  #timon.cs.wisc.edu
- 128.105.132.15                  #pumbaa.cs.wisc.edu
- 128.105.132.16                  #zazu.cs.wisc.edu
- >engr.wisc.edu          #University of Wisconsin-Madison, College of Engineering
- 144.92.13.14                    #larry.cae.wisc.edu
- 144.92.13.15                    #curly.cae.wisc.edu
- 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
- >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
- 128.104.160.15                  #buffy.physics.wisc.edu
- >ciemat.es              #Ciemat, Madrid, Spain
- 130.206.11.42                   #afsdb1.ciemat.es
- 130.206.11.217                  #afsdb2.ciemat.es
- 130.206.11.247                  #afsdb3.ciemat.es
- >ifca.unican.es         #Instituto de Fisica de Cantabria (IFCA), Santander, Spain
- 193.144.209.20                  #gridwall.ifca.unican.es
- >ific.uv.es             #Instituto de Fisica Corpuscular, Valencia, Spain
- 147.156.163.11                  #alpha.ific.uv.es
- >biocenter.helsinki.fi  #University of Helsinki, Institute of Biotechnology
- 128.214.58.174                  #afsdb1.biocenter.helsinki.fi
- 128.214.88.114                  #afsdb2.biocenter.helsinki.fi
- >dapnia.saclay.cea.fr   #CEA DAPNIA
- 132.166.32.7                    #dphrsg.saclay.cea.fr
- 132.166.32.12                   #dphrsl.saclay.cea.fr
- >in2p3.fr               #IN2P3 production cell
- 134.158.232.11                  #ccafsdb1.in2p3.fr
- 134.158.232.12                  #ccafsdb2.in2p3.fr
- 134.158.232.13                  #ccafsdb3.in2p3.fr
- >anl.gov                #Argonne National Laboratory
- 146.137.96.33                   #arteus.ctd.anl.gov
- 146.137.162.88                  #agamemnon.ctd.anl.gov
- 146.137.194.80                  #antenor.ctd.anl.gov
- >rhic.bnl.gov           #Relativistic Heavy Ion Collider
- 130.199.6.51                    #rafs03.rcf.bnl.gov
- 130.199.6.52                    #rafs02.rcf.bnl.gov
- 130.199.6.69                    #rafs01.rcf.bnl.gov
- >usatlas.bnl.gov        #US Atlas Tier 1 Facility at BNL
- 130.199.48.32                   #aafs01.usatlas.bnl.gov
- 130.199.48.33                   #aafs02.usatlas.bnl.gov
- 130.199.48.34                   #aafs03.usatlas.bnl.gov
- >fnal.gov               #Fermi National Acclerator Laboratory
- 131.225.68.1                    #fsus01.fnal.gov
- 131.225.68.4                    #fsus03.fnal.gov
- 131.225.68.14                   #fsus04.fnal.gov
- >ic-afs.arc.nasa.gov    #Code IC, Ames Research Center
- 128.102.105.62                  #udanax.arc.nasa.gov
- >jpl.nasa.gov           #Jet Propulsion Laboratory
- 137.78.160.21                   #afsdb08.jpl.nasa.gov
- 137.78.160.22                   #afsdb09.jpl.nasa.gov
- 137.78.160.23                   #afsdb10.jpl.nasa.gov
- >nersc.gov              #National Energy Research Supercomputer Center
- 128.55.128.250                  #mars.nersc.gov
- 128.55.128.252                  #alfred.nersc.gov
- 128.55.128.254                  #lurch.nersc.gov
- >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
- 148.6.8.14                      #afs.kfki.hu
- >caspur.it              #CASPUR Inter-University Computing Consortium, Rome
- 193.204.5.45                    #pomodoro.caspur.it
- 193.204.5.46                    #banana.caspur.it
- 193.204.5.50                    #maslo.caspur.it
- >enea.it                #ENEA New Tech. Energy & Environment Agency, Italy
- 192.107.54.5                    #aixfs.frascati.enea.it
- 192.107.54.11                   #rs2ced.frascati.enea.it
- 192.107.54.12                   #43p.frascati.enea.it
- 192.107.61.235                  #serverinfo02.bologna.enea.it
- 192.107.71.6                    #glauco.casaccia.enea.it
- 192.107.96.233                  #riscdb.trisaia.enea.it
- >fusione.it             #Assoz. FUSIONE/Euratom, ENEA, Frascati-Italy
- 192.107.90.2                    #fusafs1.frascati.enea.it
- 192.107.90.3                    #fusafs2.frascati.enea.it
- 192.107.90.4                    #fusafs3.frascati.enea.it
- >icemb.it               #ICEMB, Universita' La Sapienza - Rome - Italy
- 193.204.6.130                   #icembfs.caspur.it
- >infn.it                #Istituto Nazionale di Fisica Nucleare (INFN), Italia
- 131.154.1.7                     #afscnaf.infn.it
- 141.108.26.75                   #afsrm1.roma1.infn.it
- 192.84.134.75                   #afsna.na.infn.it
- >ba.infn.it             #INFN, Sezione di Bari
- 193.206.185.235                 #baafsserver.ba.infn.it
- >kloe.infn.it           #INFN, KLOE experiment at Laboratori di Frascati
- 192.135.25.111                  #kloeafs1.lnf.infn.it
- 192.135.25.112                  #kloeafs2.lnf.infn.it
- >le.infn.it             #INFN, Sezione di Lecce
- 192.84.152.40                   #afs01.le.infn.it
- 192.84.152.148                  #afs02.le.infn.it
- >lnf.infn.it            #INFN, Laboratori Nazionali di Frascati
- 193.206.84.121                  #afs1.lnf.infn.it
- 193.206.84.122                  #afs2.lnf.infn.it
- 193.206.84.123                  #afs3.lnf.infn.it
- >lngs.infn.it           #INFN, Laboratori Nazionali di Gran Sasso
- 192.84.135.21                   #rsgs05.lngs.infn.it
- >pi.infn.it             #INFN, Sezione di Pisa
- 131.114.134.26                  #unknownhost.pi.infn.it
- 192.84.133.50                   #aix1.pi.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
- 193.204.5.33                    #cccgrid.caspur.it
- >ictp.trieste.it        #The Abdus Salam International Centre for Theoretical Physics (IC
- 140.105.16.8                    #fs1.ictp.trieste.it
- 140.105.16.9                    #fs2.ictp.trieste.it
- >math.unifi.it          #math.unifi.it
- 150.217.34.182                  #xeno.math.unifi.it
- >ing.uniroma1.it        #Universita' La Sapienza, Fac. Ingeneria
- 151.100.85.253                  #alfa.ing.uniroma1.it
- >dia.uniroma3.it        #University Roma Tre - DIA
- 193.204.161.79                  #plm.dia.uniroma3.it
- 193.204.161.118                 #afs.dia.uniroma3.it
- >vn.uniroma3.it         #University of Rome 3, Area Vasca Navale
- 193.204.161.136                 #alfa.dia.uniroma3.it
- 193.204.161.137                 #beta.dia.uniroma3.it
- 193.204.161.138                 #gamma.dia.uniroma3.it
- >italia                 #Italian public AFS cell
- 193.204.5.9                     #afs.caspur.it
- >cmf.nrl.navy.mil       #Naval Research Lab - CCS
- 134.207.10.68                   #picard.cmf.nrl.navy.mil
- 134.207.10.69                   #riker.cmf.nrl.navy.mil
- 134.207.10.70                   #kirk.cmf.nrl.navy.mil
- >lcp.nrl.navy.mil       #Naval Research Lab - Lab for Computational Physics
- 132.250.114.2                   #afs1.lcp.nrl.navy.mil
- 132.250.114.4                   #afs2.lcp.nrl.navy.mil
- 132.250.114.6                   #afs3.lcp.nrl.navy.mil
- >es.net                 #Energy Sciences Net
- 198.128.3.21                    #fs1.es.net
- 198.128.3.22                    #fs2.es.net
- 198.128.3.23                    #fs3.es.net
- >laroia.net             #Laroia Networks
- 66.66.102.254                   #supercore.laroia.net
- >sinenomine.net         #Sine Nomine Associates
- 66.92.236.139                   #afs.sinenomine.net
- >slackers.net           #The Slackers' Network
- 63.201.48.27                    #alexandria.slackers.net
- >tproa.net              #The People's Republic of Ames
- 209.234.76.70                   #service-3.tproa.net
- >nikhef.nl              #The Dutch National Institute for High Energy Physics
- 192.16.185.26                   #afs1.nikhef.nl
- 192.16.185.27                   #afs2.nikhef.nl
- >1ts.org                #1TS.ORG, Cambridge, MA
- 4.36.43.102                     #dol-guldur.1ts.org
- 69.25.196.51                    #pancake.1ts.org
- >bazquux.org            #Baz Quux Organization
- 66.207.142.196                  #baxquux.org
- >coed.org               #Adam Pennington's Cell
- 66.93.61.184                    #vice1.coed.org
- 128.237.157.35                  #vice3.coed.org
- >dementia.org           #Dementia Unlimited
- 128.2.12.45                     #alycia.dementia.org
- 128.2.120.216                   #meredith.dementia.org
- >hackish.org            #Hackish.org
- 24.167.65.213                   #avatar.sys.hackish.org
- 128.2.120.138                   #kurma.sys.hackish.org
- >idahofuturetruck.org   #University of Idaho hybrid vehicle development
- 12.18.238.210                   #dsle210.fsr.net
- >nimlabs.org            #Nimlabs, Ink. Cell.
- 18.238.1.103                    #olfin.nimlabs.org
- 18.238.1.105                    #caerbanog.nimlabs.org
- >nomh.org               #nomh.org
- 204.29.154.12                   #iota.nomh.org
- 204.29.154.32                   #adversity.xi.nomh.org
- >oc7.org                #The OC7 Project
- 128.2.122.140                   #knife.oc7.org
- 207.22.77.170                   #spoon.oc7.org
- >openafs.org            #OpenAFS Project
- 18.7.14.88                      #grand-opening.mit.edu
- 128.2.191.224                   #penn.central.org
- 130.237.48.87                   #andrew.e.kth.se
- >e.kth.se               #Royal Institute of Technology, Elektro
- 130.237.32.145                  #sonen.e.kth.se
- 130.237.48.7                    #anden.e.kth.se
- 130.237.48.244                  #fadern.e.kth.se
- >hallf.kth.se           #Royal Institute of Technology, HALLF
- 130.237.24.141                  #rasmus13.hallf.kth.se
- 130.237.24.152                  #rasmus3.hallf.kth.se
- 130.237.24.177                  #rasmus29.hallf.kth.se
- >isk.kth.se             #Royal Institute of Technology, ISK
- 130.237.202.12                  #afsdb2.isk.kth.se
- 130.237.206.13                  #afsdb1.isk.kth.se
- 130.237.209.141                 #afsdb3.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
- 130.237.233.144                 #pollux.mech.kth.se
- >nada.kth.se            #Royal Institute of Technology, NADA
- 130.237.222.20                  #kosmos.nada.kth.se
- 130.237.223.12                  #sputnik.nada.kth.se
- 130.237.224.78                  #mir.nada.kth.se
- 130.237.227.23                  #gagarin.nada.kth.se
- 130.237.228.28                  #laika.nada.kth.se
- >pdc.kth.se             #Royal Institute of Technology, PDC
- 130.237.232.29                  #crab.pdc.kth.se
- 130.237.232.112                 #anna.pdc.kth.se
- 130.237.232.114                 #hokkigai.pdc.kth.se
- >stacken.kth.se         #Stacken Computer Club
- 130.237.234.3                   #milko.stacken.kth.se
- 130.237.234.43                  #hot.stacken.kth.se
- 130.237.237.230                 #fishburger.stacken.kth.se
- >syd.kth.se             #Royal Institute of Technology, KTH-Syd
- 130.237.83.23                   #afs.haninge.kth.se
- >physto.se              #Physics department Stockholm University
- 130.237.205.36                  #sysafs1.physto.se
- 130.237.205.72                  #sysafs2.physto.se
- >sanchin.se             #Sanchin Consulting AB, Sweden
- 192.195.148.10                  #sesan.sanchin.se
- >su.se                  #Stockholm University
- 130.237.162.81                  #afsdb1.su.se
- 130.237.162.82                  #afsdb2.su.se
- 130.237.162.230                 #afsdb3.su.se
- >f9.ijs.si              #F9, Jozef Stefan Institue
- 194.249.156.1                   #brenta.ijs.si
- >p-ng.si                #Nova Gorica Polytechnic
- 193.2.120.2                     #solkan.p-ng.si
- >phy.bris.ac.uk         #Bristol University - phyics
- 137.222.58.9                    #afs1.phy.bris.ac.uk
- >hep.man.ac.uk          #Manchester HEP
- 194.36.2.3                      #afs1.hep.man.ac.uk
- 194.36.2.4                      #afs2.hep.man.ac.uk
- 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
- openafs-fileserver: non-standard-dir-perm
- openafs-fileserver: non-standard-dir-perm
- openafs-fileserver: non-standard-dir-perm
- openafs-fileserver: non-standard-dir-perm
- openafs-fileserver: non-standard-dir-perm
- openafs-fileserver: non-standard-dir-perm
- openafs-fileserver: non-standard-dir-perm
- openafs-fileserver: non-standard-dir-perm
--- 0 ----
Index: openafs/src/packaging/HP-UX/files/usr/vice/etc/CellServDB
diff -c openafs/src/packaging/HP-UX/files/usr/vice/etc/CellServDB:1.3.4.3 openafs/src/packaging/HP-UX/files/usr/vice/etc/CellServDB:removed
*** openafs/src/packaging/HP-UX/files/usr/vice/etc/CellServDB:1.3.4.3	Thu Jul  5 19:47:44 2007
--- openafs/src/packaging/HP-UX/files/usr/vice/etc/CellServDB	Thu Sep 20 01:06:54 2007
***************
*** 1,589 ****
- >grand.central.org      #GCO Public CellServDB 05 Jul 2007
- 18.92.0.108                     #grand-opening.mit.edu
- 128.2.203.61                    #penn.central.org
- 130.237.48.87                   #andrew.e.kth.se
- >wu-wien.ac.at          #University of Economics, Vienna, Austria
- 137.208.3.33                    #goya.wu-wien.ac.at
- 137.208.7.57                    #caravaggio.wu-wien.ac.at
- 137.208.127.57                  #vermeer.wu-wien.ac.at
- >hephy.at               #hephy-vienna
- 193.170.243.10                  #mowgli.oeaw.ac.at
- 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
- 129.27.161.114                  #faepafs3.tu-graz.ac.at
- >sums.math.mcgill.ca    #Society of Undergraduate Mathematics Students of McGill Universi
- 132.216.24.122                  #germain.sums.math.mcgill.ca
- 132.216.24.125                  #turing.sums.math.mcgill.ca
- >cern.ch                #European Laboratory for Particle Physics, Geneva
- 137.138.128.148                 #afsdb1.cern.ch
- 137.138.246.50                  #afsdb3.cern.ch
- 137.138.246.51                  #afsdb2.cern.ch
- >ams.cern.ch            #AMS Experiment
- 137.138.188.185                 #ams.cern.ch
- 137.138.199.58                  #pcamsf4.cern.ch
- >epfl.ch                #Swiss Federal Institute of Technology at Lausanne
- 128.178.109.111                 #kd1.epfl.ch
- 128.178.109.112                 #kd2.epfl.ch
- 128.178.109.113                 #kd3.epfl.ch
- >ethz.ch                #Swiss Federal Inst. of Tech. - Zurich, Switzerland
- 129.132.97.19                   #amalthea.ethz.ch
- 129.132.97.27                   #nethzafs-001.ethz.ch
- 129.132.115.3                   #himalia.ethz.ch
- 129.132.115.37                  #nethzafs-005.ethz.ch
- 129.132.115.38                  #nethzafs-006.ethz.ch
- >psi.ch                 #Paul Scherrer Institut - Villigen, Switzerland
- 129.129.190.140                 #afs00.psi.ch
- 129.129.190.141                 #afs01.psi.ch
- 129.129.190.142                 #afs02.psi.ch
- >extundo.com            #Simon Josefsson's cell
- 195.42.214.241                  #slipsten.extundo.com
- >membrain.com           #membrain.com
- 66.93.118.125                   #stormy
- 130.85.24.11                    #weasel
- 130.85.24.13                    #straykitten
- >midnightlinux.com      #Midnight Linux, Pittsburgh PA
- 208.10.142.82                   #outpost.midnightlinux.com
- >setfilepointer.com     #SetFilePointer.com
- 63.224.10.2                     #hamlet.SetFilePointer.com
- 63.224.10.4                     #troilus.SetFilePointer.com
- >sodre.cx               #Sodre.cx
- 128.8.140.165                   #greed.sodre.cx
- >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
- 213.187.92.34                   #paulchen.gppc.de
- 213.187.92.35                   #lotus.gppc.de
- >ifh.de                 #DESY Zeuthen
- 141.34.22.10                    #romulus.ifh.de
- 141.34.22.11                    #remus.ifh.de
- 141.34.22.29                    #hekate.ifh.de
- >lrz-muenchen.de        #Leibniz Computing Centre, Germany
- 129.187.10.36                   #afs1.lrz-muenchen.de
- 129.187.10.56                   #afs3.lrz-muenchen.de
- 129.187.10.57                   #afs2.lrz-muenchen.de
- >ipp-garching.mpg.de    #Institut fuer Plasmaphysik
- 130.183.9.5                     #afs-db1.rzg.mpg.de
- 130.183.100.10                  #afs-db2.aug.ipp-garching.mpg.de
- 130.183.100.23                  #afs-db3.aug.ipp-garching.mpg.de
- >mpe.mpg.de             #MPE cell
- 130.183.130.7                   #irafs1.mpe-garching.mpg.de
- 130.183.134.20                  #irafs2.mpe-garching.mpg.de
- >i1.informatik.rwth-aachen.de #Informatik I, RWTH Aachen
- 137.226.244.79                  #remus.informatik.rwth-aachen.de
- >tu-bs.de               #Technical University of Braunschweig, Germany
- 134.169.1.1                     #rzafs1.rz.tu-bs.de
- 134.169.1.5                     #rzafs2.rz.tu-bs.de
- 134.169.1.6                     #rzafs3.rz.tu-bs.de
- >tu-chemnitz.de         #Technische Universitaet Chemnitz, Germany
- 134.109.2.1                     #zuse.hrz.tu-chemnitz.de
- 134.109.2.15                    #phoenix.hrz.tu-chemnitz.de
- 134.109.200.7                   #aetius.hrz.tu-chemnitz.de
- >e18.ph.tum.de          #Experimental Physics, TU Munich, Germany
- 129.187.154.223                 #hamlet.e18.physik.tu-muenchen.de
- >uni-bonn.de            #University of Bonn, Computing Center
- 131.220.14.198                  #work15-eth.rhrz.uni-bonn.de
- 131.220.14.205                  #node05.rhrz.uni-bonn.de
- 131.220.15.197                  #afs-db1.rhrz.uni-bonn.de
- >atlass01.physik.uni-bonn.de #Bonn ATLAS
- 131.220.165.43                  #atlass01.physik.uni-bonn.de
- >uni-freiburg.de        #Albert-Ludwigs-Universitat Freiburg
- 132.230.6.235                   #sv6.ruf.uni-freiburg.de
- 132.230.6.236                   #sv7.ruf.uni-freiburg.de
- 132.230.6.237                   #sv8.ruf.uni-freiburg.de
- >physik.uni-freiburg.de #institute of physics, university Freiburg, Germany
- 132.230.77.16                   #hepafs.physik.uni-freiburg.de
- >urz.uni-heidelberg.de  #Uni Heidelberg (Rechenzentrum)
- 129.206.119.10                  #afsdb.urz.uni-heidelberg.de
- 129.206.119.16                  #afsdb1.urz.uni-heidelberg.de
- 129.206.119.17                  #afsdb2.urz.uni-heidelberg.de
- >uni-hohenheim.de       #University of Hohenheim
- 144.41.2.2                      #rs13.serv.uni-hohenheim.de
- 144.41.2.3                      #rs14.serv.uni-hohenheim.de
- 144.41.2.4                      #rs15.serv.uni-hohenheim.de
- >rz.uni-jena.de         #Rechenzentrum University of Jena, Germany
- 141.35.2.180                    #afs00.rz.uni-jena.de
- 141.35.2.181                    #afs01.rz.uni-jena.de
- 141.35.2.182                    #afs02.rz.uni-jena.de
- >impetus.uni-koeln.de   #Univ. of Cologne - Geophysics/Meteorology Inst.
- 134.95.80.39                    #forano.meteo.uni-koeln.de
- >meteo.uni-koeln.de     #Univ. of Cologne - Inst. for Geophysics & Meteorology
- 134.95.144.22                   #afs1.meteo.uni-koeln.de
- 134.95.144.24                   #afs2.meteo.uni-koeln.de
- >rrz.uni-koeln.de       #University of Cologne - Reg Comp Center
- 134.95.19.3                     #afsdb1.rrz.uni-koeln.de
- 134.95.19.10                    #lyra.rrz.uni-koeln.de
- 134.95.67.97                    #afs.thp.uni-koeln.de
- 134.95.141.243                  #agrippina.rrz.uni-koeln.de
- >physik.uni-mainz.de    #institute of physics, university Mainz, Germany
- 134.93.130.93                   #hardy.physik.uni-mainz.de
- >uni-mannheim.de        #Uni Mannheim (Rechenzentrum)
- 134.155.97.204                  #afsdb1.uni-mannheim.de
- 134.155.97.205                  #afsdb2.uni-mannheim.de
- 134.155.97.206                  #afsdb3.uni-mannheim.de
- >uni-paderborn.de       #University of Paderborn, Germany
- 131.234.137.10                  #afsdb1.uni-paderborn.de
- 131.234.137.11                  #afsdb2.uni-paderborn.de
- 131.234.137.12                  #afsdb3.uni-paderborn.de
- >physik.uni-wuppertal.de #Physics department of Bergische Universität Wuppertal
- 132.195.104.3                   #afs1.physik.uni-wuppertal.de
- 132.195.104.230                 #afs2.physik.uni-wuppertal.de
- >s-et.aau.dk            #Aalborg Univ., The Student Society, Denmark
- 130.225.196.22                  #afs.s-et.aau.dk
- >ies.auc.dk             #Aalborg Univ., Inst. of Electronic Systems, Denmark
- 130.225.51.73                   #afsdb1.kom.auc.dk
- 130.225.51.74                   #afsdb2.kom.auc.dk
- 130.225.51.85                   #afsdb3.kom.auc.dk
- >asu.edu                #Arizona State University
- 129.219.10.69                   #authen2.asu.edu
- 129.219.10.70                   #authen1.asu.edu
- 129.219.10.72                   #authen3.asu.edu
- 129.219.100.16                  #authen4.asu.edu
- >hep.caltech.edu        #CalTech High Energy Physics
- 131.215.126.150                 #afs.hep.caltech.edu
- >clarkson.edu           #Clarkson University, Potsdam, New York USA
- 128.153.1.111                   #arthur.clarkson.edu
- 128.153.9.111                   #lancelot.clarkson.edu
- 128.153.17.111                  #uther.clarkson.edu
- >andrew.cmu.edu         #Carnegie Mellon University - Computing Services Cell
- 128.2.10.2                      #vice2.fs.andrew.cmu.edu
- 128.2.10.7                      #vice7.fs.andrew.cmu.edu
- 128.2.10.11                     #vice11.fs.andrew.cmu.edu
- 128.2.10.28                     #vice28.fs.andrew.cmu.edu
- 128.2.32.44                     #new-vice12.fs.andrew.cmu.edu
- >club.cc.cmu.edu        #Carnegie Mellon University Computer Club
- 128.237.157.11                  #sodium.club.cc.cmu.edu
- 128.237.157.13                  #potassium.club.cc.cmu.edu
- >chem.cmu.edu           #Carnegie Mellon University - Chemistry Dept.
- 128.2.40.134                    #afs.chem.cmu.edu
- 128.2.40.140                    #afs2.chem.cmu.edu
- >cs.cmu.edu             #Carnegie Mellon University - School of Comp. Sci.
- 128.2.201.46                    #strawberry.srv.cs.cmu.edu
- 128.2.201.47                    #pumpkin.srv.cs.cmu.edu
- 128.2.201.48                    #cherry.srv.cs.cmu.edu
- >ece.cmu.edu            #Carnegie Mellon University - Elec. Comp. Eng. Dept.
- 128.2.129.7                     #porok.ece.cmu.edu
- 128.2.129.8                     #vicio.ece.cmu.edu
- 128.2.129.9                     #e-xing.ece.cmu.edu
- >scotch.ece.cmu.edu     #CMU ECE CALCM research group
- 128.2.134.82                    #lagavulin.ece.cmu.edu
- >qatar.cmu.edu          #Carnegie Mellon University - Qatar
- 86.36.46.6                      #afs1.qatar.cmu.edu
- 86.36.46.7                      #afs2.qatar.cmu.edu
- >sbp.ri.cmu.edu         #Carnegie Mellon University - Sensor Based Planning Lab
- 128.2.179.12                    #nihao.sbp.ri.cmu.edu
- 128.2.179.113                   #youtheman.sbp.ri.cmu.edu
- >cnf.cornell.edu        #CNF
- 128.253.198.9                   #hole.cnf.cornell.edu
- 128.253.198.27                  #smoke.cnf.cornell.edu
- >msc.cornell.edu        #Cornell University Materials Science Center
- 128.84.231.242                  #miranda.ccmr.cornell.edu
- 128.84.241.35                   #co.ccmr.cornell.edu
- 128.84.249.78                   #dax.ccmr.cornell.edu
- >dbic.dartmouth.edu     #Dartmouth Brain Imaging Center
- 129.170.30.143                  #dbicafs1.dartmouth.edu
- 129.170.30.144                  #dbicafs2.dartmouth.edu
- 129.170.30.145                  #dbicafs3.dartmouth.edu
- >northstar.dartmouth.edu #Dartmouth College Research Computing
- 129.170.16.22                   #halley.dartmouth.edu
- 129.170.16.42                   #oort.dartmouth.edu
- 129.170.16.43                   #cygnusx1.dartmouth.edu
- >cs.fhm.edu             #Department Computer Science Munich University Of Applied Science
- 129.187.208.2                   #srv1.informatik.fh-muenchen.de
- >eecs.harvard.edu       #Harvard - EECS
- 140.247.60.61                   #zermelo.eecs.harvard.edu
- 140.247.60.83                   #corfu.eecs.harvard.edu
- >iastate.edu            #Iowa State University
- 129.186.1.243                   #afsdb-1.iastate.edu
- 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
- 18.89.2.156                     #ac.mit.edu
- >msu.edu                #Michigan State University Main Cell
- 35.9.7.10                       #afsdb0.cl.msu.edu
- >nd.edu                 #University of Notre Dame
- 129.74.223.17                   #john.helios.nd.edu
- 129.74.223.33                   #lizardo.helios.nd.edu
- 129.74.223.65                   #buckaroo.helios.nd.edu
- >pitt.edu               #University of Pittsburgh
- 136.142.8.15                    #afs09.srv.cis.pitt.edu
- 136.142.8.20                    #afs10.srv.cis.pitt.edu
- 136.142.8.21                    #afs11.srv.cis.pitt.edu
- >cs.pitt.edu            #University of Pittsburgh - Computer Science
- 130.49.220.11                   #afs01.cs.pitt.edu
- 130.49.220.12                   #afs02.cs.pitt.edu
- 130.49.220.13                   #afs03.cs.pitt.edu
- >psc.edu                #PSC (Pittsburgh Supercomputing Center)
- 128.182.59.182                  #shaggy.psc.edu
- 128.182.66.184                  #velma.psc.edu
- 128.182.66.185                  #daphne.psc.edu
- >scoobydoo.psc.edu      #PSC Test Cell
- 128.182.59.181                  #scooby.psc.edu
- >cede.psu.edu           #Penn State - Center for Engr. Design & Entrepeneurship
- 146.186.218.10                  #greenly.cede.psu.edu
- 146.186.218.60                  #b50.cede.psu.edu
- 146.186.218.246                 #stalin.cede.psu.edu
- >rose-hulman.edu        #Rose-Hulman Institute of Technology
- 137.112.7.11                    #afs1.rose-hulman.edu
- 137.112.7.12                    #afs2.rose-hulman.edu
- 137.112.7.13                    #afs3.rose-hulman.edu
- >cs.rose-hulman.edu     #Rose-Hulman CS Department
- 137.112.40.10                   #galaxy.cs.rose-hulman.edu
- >rpi.edu                #Rensselaer Polytechnic Institute
- 128.113.22.11                   #saul.server.rpi.edu
- 128.113.22.12                   #joab.server.rpi.edu
- 128.113.22.13                   #korah.server.rpi.edu
- 128.113.22.14                   #achan.server.rpi.edu
- >hep.sc.edu             #University of South Carolina, Dept. of Physics
- 129.252.78.77                   #cpeven.physics.sc.edu
- >cs.stanford.edu        #Stanford University Computer Science Department
- 171.64.64.10                    #cs-afs-1.Stanford.EDU
- 171.64.64.66                    #cs-afs-2.stanford.edu
- 171.64.64.69                    #cs-afs-3.stanford.edu
- >ir.stanford.edu        #Stanford University
- 171.64.7.222                    #afsdb1.stanford.edu
- 171.64.7.234                    #afsdb2.stanford.edu
- 171.64.7.246                    #afsdb3.stanford.edu
- >slac.stanford.edu      #Stanford Linear Accelerator Center
- 134.79.18.25                    #afsdb1.slac.stanford.edu
- 134.79.18.26                    #afsdb2.slac.stanford.edu
- 134.79.18.27                    #afsdb3.slac.stanford.edu
- >ucdavis.edu            #University of California at Davis
- 169.237.104.100                 #afs1.ucdavis.edu
- 169.237.235.176                 #afs2.ucdavis.edu
- 169.237.247.91                  #afs3.ucdavis.edu
- >home.ucdavis.edu       #University of California at Davis home directories
- 169.237.105.91                  #home1.ucdavis.edu
- 169.237.105.92                  #home2.ucdavis.edu
- 169.237.105.93                  #home3.ucdavis.edu
- >physics.ucsb.edu       #UC Santa Barbara, Physics Dept
- 128.111.18.161                  #ledzeppelin.physics.ucsb.edu
- >cats.ucsc.edu          #UC Santa Cruz, Comp and Tech Services, California U.S.A
- 128.114.123.14                  #elan.ucsc.edu
- 128.114.123.15                  #ichabod.ucsc.edu
- 128.114.123.18                  #maneki.ucsc.edu
- >acm.uiuc.edu           #ACM at the University of Illinois
- 128.174.251.8                   #alnitak.acm.uiuc.edu
- 128.174.251.9                   #alnilam.acm.uiuc.edu
- 128.174.251.10                  #mintaka.acm.uiuc.edu
- >illigal.uiuc.edu       #Illinois Genetic Algorithms Labaratory
- 128.174.193.200                 #ial.illigal.uiuc.edu
- 128.174.193.201                 #cac.illigal.uiuc.edu
- 128.174.193.202                 #gcs.illigal.uiuc.edu
- >ncsa.uiuc.edu          #University of Illinois
- 141.142.3.5                     #congo.ncsa.uiuc.edu
- 141.142.3.8                     #nile.ncsa.uiuc.edu
- 141.142.3.9                     #kaskaskia.ncsa.uiuc.edu
- >umbc.edu               #University of Maryland, Baltimore County
- 130.85.24.23                    #db2.afs.umbc.edu
- 130.85.24.87                    #db3.afs.umbc.edu
- 130.85.24.101                   #db1.afs.umbc.edu
- >glue.umd.edu           #University of Maryland - Project Glue
- 128.8.70.11                     #olmec.umd.edu
- 128.8.236.4                     #egypt.umd.edu
- 128.8.236.230                   #babylon.umd.edu
- >wam.umd.edu            #University of Maryland Network WAM Project
- 128.8.70.9                      #csc-srv.wam.umd.edu
- 128.8.236.5                     #avw-srv.wam.umd.edu
- 128.8.236.231                   #ptx-srv.wam.umd.edu
- >umich.edu              #University of Michigan - Campus
- 141.211.1.32                    #fear.ifs.umich.edu
- 141.211.1.33                    #surprise.ifs.umich.edu
- 141.211.1.34                    #ruthless.ifs.umich.edu
- >atlas.umich.edu        #ATLAS group cell in physics at University of Michigan
- 141.211.43.102                  #linat02.grid.umich.edu
- 141.211.43.103                  #linat03.grid.umich.edu
- 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
- 141.211.51.142                  #afssph6.sph.umich.edu
- >isis.unc.edu           #Univ. of NC at Chapel Hill - ITS
- 152.2.1.5                       #db0.isis.unc.edu
- 152.2.1.6                       #db1.isis.unc.edu
- 152.2.1.7                       #db2.isis.unc.edu
- >physics.unc.edu        #Univ. of NC at Chapel Hill, Dept. of Physics
- 152.2.4.1                       #who.physics.unc.edu
- 152.2.4.3                       #what.physics.unc.edu
- 152.2.4.5                       #when.physics.unc.edu
- >uncc.edu               #University of NC at Charlotte Mosaic AFS Cell
- 152.15.10.70                    #as-sm1.uncc.edu
- 152.15.93.186                   #as-ece1.uncc.edu
- 152.15.181.175                  #as-me1.uncc.edu
- >eng.utah.edu           #University of Utah - Engineering
- 155.98.111.9                    #lenny.eng.utah.edu
- 155.98.111.10                   #carl.eng.utah.edu
- >cs.uwm.edu             #University of Wisconsin--Milwaukee
- 129.89.38.124                   #solomons.cs.uwm.edu
- >cs.wisc.edu            #Univ. of Wisconsin-Madison, Computer Sciences Dept.
- 128.105.132.14                  #timon.cs.wisc.edu
- 128.105.132.15                  #pumbaa.cs.wisc.edu
- 128.105.132.16                  #zazu.cs.wisc.edu
- >engr.wisc.edu          #University of Wisconsin-Madison, College of Engineering
- 144.92.13.14                    #larry.cae.wisc.edu
- 144.92.13.15                    #curly.cae.wisc.edu
- 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
- >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
- 128.104.160.15                  #buffy.physics.wisc.edu
- >ciemat.es              #Ciemat, Madrid, Spain
- 130.206.11.42                   #afsdb1.ciemat.es
- 130.206.11.217                  #afsdb2.ciemat.es
- 130.206.11.247                  #afsdb3.ciemat.es
- >ifca.unican.es         #Instituto de Fisica de Cantabria (IFCA), Santander, Spain
- 193.144.209.20                  #gridwall.ifca.unican.es
- >ific.uv.es             #Instituto de Fisica Corpuscular, Valencia, Spain
- 147.156.163.11                  #alpha.ific.uv.es
- >biocenter.helsinki.fi  #University of Helsinki, Institute of Biotechnology
- 128.214.58.174                  #afsdb1.biocenter.helsinki.fi
- 128.214.88.114                  #afsdb2.biocenter.helsinki.fi
- >dapnia.saclay.cea.fr   #CEA DAPNIA
- 132.166.32.7                    #dphrsg.saclay.cea.fr
- 132.166.32.12                   #dphrsl.saclay.cea.fr
- >grif.fr                #GRIF cell
- 192.54.208.18                   #node03.datagrid.cea.fr
- >in2p3.fr               #IN2P3 production cell
- 134.158.232.11                  #ccafsdb1.in2p3.fr
- 134.158.232.12                  #ccafsdb2.in2p3.fr
- 134.158.232.13                  #ccafsdb3.in2p3.fr
- >anl.gov                #Argonne National Laboratory
- 146.137.96.33                   #arteus.ctd.anl.gov
- 146.137.162.88                  #agamemnon.ctd.anl.gov
- 146.137.194.80                  #antenor.ctd.anl.gov
- >rhic.bnl.gov           #Relativistic Heavy Ion Collider
- 130.199.6.51                    #rafs03.rcf.bnl.gov
- 130.199.6.52                    #rafs02.rcf.bnl.gov
- 130.199.6.69                    #rafs01.rcf.bnl.gov
- >usatlas.bnl.gov        #US Atlas Tier 1 Facility at BNL
- 130.199.48.32                   #aafs01.usatlas.bnl.gov
- 130.199.48.33                   #aafs02.usatlas.bnl.gov
- 130.199.48.34                   #aafs03.usatlas.bnl.gov
- >fnal.gov               #Fermi National Acclerator Laboratory
- 131.225.68.1                    #fsus01.fnal.gov
- 131.225.68.4                    #fsus03.fnal.gov
- 131.225.68.14                   #fsus04.fnal.gov
- >ic-afs.arc.nasa.gov    #Code IC, Ames Research Center
- 128.102.105.62                  #udanax.arc.nasa.gov
- >jpl.nasa.gov           #Jet Propulsion Laboratory
- 137.78.160.21                   #afsdb08.jpl.nasa.gov
- 137.78.160.22                   #afsdb09.jpl.nasa.gov
- 137.78.160.23                   #afsdb10.jpl.nasa.gov
- >nersc.gov              #National Energy Research Supercomputer Center
- 128.55.128.250                  #mars.nersc.gov
- 128.55.128.252                  #alfred.nersc.gov
- 128.55.128.254                  #lurch.nersc.gov
- >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
- 148.6.8.14                      #afs.kfki.hu
- >caspur.it              #CASPUR Inter-University Computing Consortium, Rome
- 193.204.5.45                    #pomodoro.caspur.it
- 193.204.5.46                    #banana.caspur.it
- 193.204.5.50                    #maslo.caspur.it
- >enea.it                #ENEA New Tech. Energy & Environment Agency, Italy
- 192.107.54.5                    #aixfs.frascati.enea.it
- 192.107.54.11                   #rs2ced.frascati.enea.it
- 192.107.54.12                   #43p.frascati.enea.it
- 192.107.61.235                  #serverinfo02.bologna.enea.it
- 192.107.71.6                    #glauco.casaccia.enea.it
- 192.107.96.233                  #riscdb.trisaia.enea.it
- >fusione.it             #Assoz. FUSIONE/Euratom, ENEA, Frascati-Italy
- 192.107.90.2                    #fusafs1.frascati.enea.it
- 192.107.90.3                    #fusafs2.frascati.enea.it
- 192.107.90.4                    #fusafs3.frascati.enea.it
- >icemb.it               #ICEMB, Universita' La Sapienza - Rome - Italy
- 193.204.6.130                   #icembfs.caspur.it
- >infn.it                #Istituto Nazionale di Fisica Nucleare (INFN), Italia
- 131.154.1.7                     #afscnaf.infn.it
- 141.108.26.75                   #afsrm1.roma1.infn.it
- 192.84.134.75                   #afsna.na.infn.it
- >ba.infn.it             #INFN, Sezione di Bari
- 193.206.185.235                 #baafsserver.ba.infn.it
- 193.206.185.236                 #debsrv.ba.infn.it
- >kloe.infn.it           #INFN, KLOE experiment at Laboratori di Frascati
- 192.135.25.111                  #kloeafs1.lnf.infn.it
- 192.135.25.112                  #kloeafs2.lnf.infn.it
- >le.infn.it             #INFN, Sezione di Lecce
- 192.84.152.40                   #afs01.le.infn.it
- 192.84.152.148                  #afs02.le.infn.it
- >lnf.infn.it            #INFN, Laboratori Nazionali di Frascati
- 193.206.84.121                  #afs1.lnf.infn.it
- 193.206.84.122                  #afs2.lnf.infn.it
- 193.206.84.123                  #afs3.lnf.infn.it
- >lngs.infn.it           #INFN, Laboratori Nazionali di Gran Sasso
- 192.84.135.21                   #rsgs05.lngs.infn.it
- >pi.infn.it             #INFN, Sezione di Pisa
- 131.114.134.26                  #unknownhost.pi.infn.it
- 192.84.133.50                   #aix1.pi.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
- 193.204.5.33                    #cccgrid.caspur.it
- >ictp.trieste.it        #The Abdus Salam International Centre for Theoretical Physics (IC
- 140.105.16.8                    #fs1.ictp.trieste.it
- 140.105.16.9                    #fs2.ictp.trieste.it
- >math.unifi.it          #math.unifi.it
- 150.217.34.182                  #xeno.math.unifi.it
- >ing.uniroma1.it        #Universita' La Sapienza, Fac. Ingeneria
- 151.100.85.253                  #alfa.ing.uniroma1.it
- >dia.uniroma3.it        #University Roma Tre - DIA
- 193.204.161.79                  #plm.dia.uniroma3.it
- 193.204.161.118                 #afs.dia.uniroma3.it
- >vn.uniroma3.it         #University of Rome 3, Area Vasca Navale
- 193.204.161.136                 #alfa.dia.uniroma3.it
- 193.204.161.137                 #beta.dia.uniroma3.it
- 193.204.161.138                 #gamma.dia.uniroma3.it
- >italia                 #Italian public AFS cell
- 193.204.5.9                     #afs.caspur.it
- >cmf.nrl.navy.mil       #Naval Research Lab - CCS
- 134.207.10.68                   #picard.cmf.nrl.navy.mil
- 134.207.10.69                   #riker.cmf.nrl.navy.mil
- 134.207.10.70                   #kirk.cmf.nrl.navy.mil
- >lcp.nrl.navy.mil       #Naval Research Lab - Lab for Computational Physics
- 132.250.114.2                   #afs1.lcp.nrl.navy.mil
- 132.250.114.4                   #afs2.lcp.nrl.navy.mil
- 132.250.114.6                   #afs3.lcp.nrl.navy.mil
- >es.net                 #Energy Sciences Net
- 198.128.3.21                    #fs1.es.net
- 198.128.3.22                    #fs2.es.net
- 198.128.3.23                    #fs3.es.net
- >laroia.net             #Laroia Networks
- 66.66.102.254                   #supercore.laroia.net
- >sinenomine.net         #Sine Nomine Associates
- 192.204.203.218                 #va.sinenomine.net
- >slackers.net           #The Slackers' Network
- 63.201.48.27                    #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
- >nikhef.nl              #The Dutch National Institute for High Energy Physics
- 192.16.185.26                   #afs1.nikhef.nl
- 192.16.185.27                   #afs2.nikhef.nl
- >1ts.org                #1TS.ORG, Cambridge, MA
- 69.25.196.51                    #pancake.1ts.org
- >acm-csuf.org           #California State Univerisity Fullerton ACM
- 137.151.29.193                  #afs1.acm-csuf.org
- >bazquux.org            #Baz Quux Organization
- 66.207.142.196                  #baxquux.org
- >coed.org               #Adam Pennington's Cell
- 66.93.61.184                    #vice1.coed.org
- 128.237.157.35                  #vice3.coed.org
- >dementia.org           #Dementia Unlimited
- 128.2.12.45                     #alycia.dementia.org
- 128.2.120.216                   #meredith.dementia.org
- >hackish.org            #Hackish.org
- 24.167.65.213                   #avatar.sys.hackish.org
- 128.2.120.138                   #kurma.sys.hackish.org
- >idahofuturetruck.org   #University of Idaho hybrid vehicle development
- 12.18.238.210                   #dsle210.fsr.net
- >nimlabs.org            #Nimlabs, Ink. Cell.
- 18.238.1.103                    #olfin.nimlabs.org
- 18.238.1.105                    #caerbanog.nimlabs.org
- >nomh.org               #nomh.org
- 204.29.154.12                   #iota.nomh.org
- 204.29.154.32                   #adversity.xi.nomh.org
- >oc7.org                #The OC7 Project
- 128.2.122.140                   #knife.oc7.org
- 207.22.77.170                   #spoon.oc7.org
- >kth.se                 #Royal Institute of Technology, Stockholm, Sweden
- 130.237.32.145                  #sonen.e.kth.se
- 130.237.48.7                    #anden.e.kth.se
- 130.237.48.244                  #fadern.e.kth.se
- >hallf.kth.se           #Royal Institute of Technology, HALLF
- 130.237.24.11                   #afs1.hallf.kth.se
- 130.237.24.104                  #afs2.hallf.kth.se
- >isk.kth.se             #Royal Institute of Technology, ISK
- 130.237.202.3                   #afsdb1.isk.kth.se
- 130.237.209.5                   #afsdb2.isk.kth.se
- 130.237.209.9                   #afsdb3.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
- 130.237.233.144                 #pollux.mech.kth.se
- >nada.kth.se            #Royal Institute of Technology, NADA
- 130.237.222.20                  #kosmos.nada.kth.se
- 130.237.223.12                  #sputnik.nada.kth.se
- 130.237.224.78                  #mir.nada.kth.se
- 130.237.227.23                  #gagarin.nada.kth.se
- 130.237.228.28                  #laika.nada.kth.se
- >pdc.kth.se             #Royal Institute of Technology, PDC
- 130.237.232.29                  #crab.pdc.kth.se
- 130.237.232.112                 #anna.pdc.kth.se
- 130.237.232.114                 #hokkigai.pdc.kth.se
- >stacken.kth.se         #Stacken Computer Club
- 130.237.234.3                   #milko.stacken.kth.se
- 130.237.234.43                  #hot.stacken.kth.se
- 130.237.234.101                 #fishburger.stacken.kth.se
- >syd.kth.se             #Royal Institute of Technology, KTH-Syd
- 130.237.83.23                   #afs.haninge.kth.se
- >physto.se              #Physics department Stockholm University
- 130.237.205.36                  #sysafs1.physto.se
- 130.237.205.72                  #sysafs2.physto.se
- >sanchin.se             #Sanchin Consulting AB, Sweden
- 192.195.148.10                  #sesan.sanchin.se
- >su.se                  #Stockholm University
- 130.237.162.81                  #afsdb1.su.se
- 130.237.162.82                  #afsdb2.su.se
- 130.237.162.230                 #afsdb3.su.se
- >f9.ijs.si              #F9, Jozef Stefan Institue
- 194.249.156.1                   #brenta.ijs.si
- >p-ng.si                #Nova Gorica Polytechnic
- 193.2.120.2                     #solkan.p-ng.si
- >phy.bris.ac.uk         #Bristol University - phyics
- 137.222.58.9                    #afs1.phy.bris.ac.uk
- >inf.ed.ac.uk           #School of Informatics, University of Edinburgh
- 129.215.64.16                   #afsdb0.inf.ed.ac.uk
- 129.215.64.17                   #afsdb1.inf.ed.ac.uk
- 129.215.64.18                   #afsdb2.inf.ed.ac.uk
- >ic.ac.uk               #Imperial College London
- 155.198.63.148                  #icafs2.cc.ic.ac.uk
- 155.198.63.149                  #icafs1.cc.ic.ac.uk
- >hep.man.ac.uk          #Manchester HEP
- 194.36.2.3                      #afs1.hep.man.ac.uk
- 194.36.2.4                      #afs2.hep.man.ac.uk
- 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
--- 0 ----
Index: openafs/src/packaging/MacOS/CellServDB
diff -c openafs/src/packaging/MacOS/CellServDB:1.3.4.3 openafs/src/packaging/MacOS/CellServDB:removed
*** openafs/src/packaging/MacOS/CellServDB:1.3.4.3	Thu Jul  5 19:47:44 2007
--- openafs/src/packaging/MacOS/CellServDB	Thu Sep 20 01:06:54 2007
***************
*** 1,589 ****
- >grand.central.org      #GCO Public CellServDB 05 Jul 2007
- 18.92.0.108                     #grand-opening.mit.edu
- 128.2.203.61                    #penn.central.org
- 130.237.48.87                   #andrew.e.kth.se
- >wu-wien.ac.at          #University of Economics, Vienna, Austria
- 137.208.3.33                    #goya.wu-wien.ac.at
- 137.208.7.57                    #caravaggio.wu-wien.ac.at
- 137.208.127.57                  #vermeer.wu-wien.ac.at
- >hephy.at               #hephy-vienna
- 193.170.243.10                  #mowgli.oeaw.ac.at
- 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
- 129.27.161.114                  #faepafs3.tu-graz.ac.at
- >sums.math.mcgill.ca    #Society of Undergraduate Mathematics Students of McGill Universi
- 132.216.24.122                  #germain.sums.math.mcgill.ca
- 132.216.24.125                  #turing.sums.math.mcgill.ca
- >cern.ch                #European Laboratory for Particle Physics, Geneva
- 137.138.128.148                 #afsdb1.cern.ch
- 137.138.246.50                  #afsdb3.cern.ch
- 137.138.246.51                  #afsdb2.cern.ch
- >ams.cern.ch            #AMS Experiment
- 137.138.188.185                 #ams.cern.ch
- 137.138.199.58                  #pcamsf4.cern.ch
- >epfl.ch                #Swiss Federal Institute of Technology at Lausanne
- 128.178.109.111                 #kd1.epfl.ch
- 128.178.109.112                 #kd2.epfl.ch
- 128.178.109.113                 #kd3.epfl.ch
- >ethz.ch                #Swiss Federal Inst. of Tech. - Zurich, Switzerland
- 129.132.97.19                   #amalthea.ethz.ch
- 129.132.97.27                   #nethzafs-001.ethz.ch
- 129.132.115.3                   #himalia.ethz.ch
- 129.132.115.37                  #nethzafs-005.ethz.ch
- 129.132.115.38                  #nethzafs-006.ethz.ch
- >psi.ch                 #Paul Scherrer Institut - Villigen, Switzerland
- 129.129.190.140                 #afs00.psi.ch
- 129.129.190.141                 #afs01.psi.ch
- 129.129.190.142                 #afs02.psi.ch
- >extundo.com            #Simon Josefsson's cell
- 195.42.214.241                  #slipsten.extundo.com
- >membrain.com           #membrain.com
- 66.93.118.125                   #stormy
- 130.85.24.11                    #weasel
- 130.85.24.13                    #straykitten
- >midnightlinux.com      #Midnight Linux, Pittsburgh PA
- 208.10.142.82                   #outpost.midnightlinux.com
- >setfilepointer.com     #SetFilePointer.com
- 63.224.10.2                     #hamlet.SetFilePointer.com
- 63.224.10.4                     #troilus.SetFilePointer.com
- >sodre.cx               #Sodre.cx
- 128.8.140.165                   #greed.sodre.cx
- >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
- 213.187.92.34                   #paulchen.gppc.de
- 213.187.92.35                   #lotus.gppc.de
- >ifh.de                 #DESY Zeuthen
- 141.34.22.10                    #romulus.ifh.de
- 141.34.22.11                    #remus.ifh.de
- 141.34.22.29                    #hekate.ifh.de
- >lrz-muenchen.de        #Leibniz Computing Centre, Germany
- 129.187.10.36                   #afs1.lrz-muenchen.de
- 129.187.10.56                   #afs3.lrz-muenchen.de
- 129.187.10.57                   #afs2.lrz-muenchen.de
- >ipp-garching.mpg.de    #Institut fuer Plasmaphysik
- 130.183.9.5                     #afs-db1.rzg.mpg.de
- 130.183.100.10                  #afs-db2.aug.ipp-garching.mpg.de
- 130.183.100.23                  #afs-db3.aug.ipp-garching.mpg.de
- >mpe.mpg.de             #MPE cell
- 130.183.130.7                   #irafs1.mpe-garching.mpg.de
- 130.183.134.20                  #irafs2.mpe-garching.mpg.de
- >i1.informatik.rwth-aachen.de #Informatik I, RWTH Aachen
- 137.226.244.79                  #remus.informatik.rwth-aachen.de
- >tu-bs.de               #Technical University of Braunschweig, Germany
- 134.169.1.1                     #rzafs1.rz.tu-bs.de
- 134.169.1.5                     #rzafs2.rz.tu-bs.de
- 134.169.1.6                     #rzafs3.rz.tu-bs.de
- >tu-chemnitz.de         #Technische Universitaet Chemnitz, Germany
- 134.109.2.1                     #zuse.hrz.tu-chemnitz.de
- 134.109.2.15                    #phoenix.hrz.tu-chemnitz.de
- 134.109.200.7                   #aetius.hrz.tu-chemnitz.de
- >e18.ph.tum.de          #Experimental Physics, TU Munich, Germany
- 129.187.154.223                 #hamlet.e18.physik.tu-muenchen.de
- >uni-bonn.de            #University of Bonn, Computing Center
- 131.220.14.198                  #work15-eth.rhrz.uni-bonn.de
- 131.220.14.205                  #node05.rhrz.uni-bonn.de
- 131.220.15.197                  #afs-db1.rhrz.uni-bonn.de
- >atlass01.physik.uni-bonn.de #Bonn ATLAS
- 131.220.165.43                  #atlass01.physik.uni-bonn.de
- >uni-freiburg.de        #Albert-Ludwigs-Universitat Freiburg
- 132.230.6.235                   #sv6.ruf.uni-freiburg.de
- 132.230.6.236                   #sv7.ruf.uni-freiburg.de
- 132.230.6.237                   #sv8.ruf.uni-freiburg.de
- >physik.uni-freiburg.de #institute of physics, university Freiburg, Germany
- 132.230.77.16                   #hepafs.physik.uni-freiburg.de
- >urz.uni-heidelberg.de  #Uni Heidelberg (Rechenzentrum)
- 129.206.119.10                  #afsdb.urz.uni-heidelberg.de
- 129.206.119.16                  #afsdb1.urz.uni-heidelberg.de
- 129.206.119.17                  #afsdb2.urz.uni-heidelberg.de
- >uni-hohenheim.de       #University of Hohenheim
- 144.41.2.2                      #rs13.serv.uni-hohenheim.de
- 144.41.2.3                      #rs14.serv.uni-hohenheim.de
- 144.41.2.4                      #rs15.serv.uni-hohenheim.de
- >rz.uni-jena.de         #Rechenzentrum University of Jena, Germany
- 141.35.2.180                    #afs00.rz.uni-jena.de
- 141.35.2.181                    #afs01.rz.uni-jena.de
- 141.35.2.182                    #afs02.rz.uni-jena.de
- >impetus.uni-koeln.de   #Univ. of Cologne - Geophysics/Meteorology Inst.
- 134.95.80.39                    #forano.meteo.uni-koeln.de
- >meteo.uni-koeln.de     #Univ. of Cologne - Inst. for Geophysics & Meteorology
- 134.95.144.22                   #afs1.meteo.uni-koeln.de
- 134.95.144.24                   #afs2.meteo.uni-koeln.de
- >rrz.uni-koeln.de       #University of Cologne - Reg Comp Center
- 134.95.19.3                     #afsdb1.rrz.uni-koeln.de
- 134.95.19.10                    #lyra.rrz.uni-koeln.de
- 134.95.67.97                    #afs.thp.uni-koeln.de
- 134.95.141.243                  #agrippina.rrz.uni-koeln.de
- >physik.uni-mainz.de    #institute of physics, university Mainz, Germany
- 134.93.130.93                   #hardy.physik.uni-mainz.de
- >uni-mannheim.de        #Uni Mannheim (Rechenzentrum)
- 134.155.97.204                  #afsdb1.uni-mannheim.de
- 134.155.97.205                  #afsdb2.uni-mannheim.de
- 134.155.97.206                  #afsdb3.uni-mannheim.de
- >uni-paderborn.de       #University of Paderborn, Germany
- 131.234.137.10                  #afsdb1.uni-paderborn.de
- 131.234.137.11                  #afsdb2.uni-paderborn.de
- 131.234.137.12                  #afsdb3.uni-paderborn.de
- >physik.uni-wuppertal.de #Physics department of Bergische Universität Wuppertal
- 132.195.104.3                   #afs1.physik.uni-wuppertal.de
- 132.195.104.230                 #afs2.physik.uni-wuppertal.de
- >s-et.aau.dk            #Aalborg Univ., The Student Society, Denmark
- 130.225.196.22                  #afs.s-et.aau.dk
- >ies.auc.dk             #Aalborg Univ., Inst. of Electronic Systems, Denmark
- 130.225.51.73                   #afsdb1.kom.auc.dk
- 130.225.51.74                   #afsdb2.kom.auc.dk
- 130.225.51.85                   #afsdb3.kom.auc.dk
- >asu.edu                #Arizona State University
- 129.219.10.69                   #authen2.asu.edu
- 129.219.10.70                   #authen1.asu.edu
- 129.219.10.72                   #authen3.asu.edu
- 129.219.100.16                  #authen4.asu.edu
- >hep.caltech.edu        #CalTech High Energy Physics
- 131.215.126.150                 #afs.hep.caltech.edu
- >clarkson.edu           #Clarkson University, Potsdam, New York USA
- 128.153.1.111                   #arthur.clarkson.edu
- 128.153.9.111                   #lancelot.clarkson.edu
- 128.153.17.111                  #uther.clarkson.edu
- >andrew.cmu.edu         #Carnegie Mellon University - Computing Services Cell
- 128.2.10.2                      #vice2.fs.andrew.cmu.edu
- 128.2.10.7                      #vice7.fs.andrew.cmu.edu
- 128.2.10.11                     #vice11.fs.andrew.cmu.edu
- 128.2.10.28                     #vice28.fs.andrew.cmu.edu
- 128.2.32.44                     #new-vice12.fs.andrew.cmu.edu
- >club.cc.cmu.edu        #Carnegie Mellon University Computer Club
- 128.237.157.11                  #sodium.club.cc.cmu.edu
- 128.237.157.13                  #potassium.club.cc.cmu.edu
- >chem.cmu.edu           #Carnegie Mellon University - Chemistry Dept.
- 128.2.40.134                    #afs.chem.cmu.edu
- 128.2.40.140                    #afs2.chem.cmu.edu
- >cs.cmu.edu             #Carnegie Mellon University - School of Comp. Sci.
- 128.2.201.46                    #strawberry.srv.cs.cmu.edu
- 128.2.201.47                    #pumpkin.srv.cs.cmu.edu
- 128.2.201.48                    #cherry.srv.cs.cmu.edu
- >ece.cmu.edu            #Carnegie Mellon University - Elec. Comp. Eng. Dept.
- 128.2.129.7                     #porok.ece.cmu.edu
- 128.2.129.8                     #vicio.ece.cmu.edu
- 128.2.129.9                     #e-xing.ece.cmu.edu
- >scotch.ece.cmu.edu     #CMU ECE CALCM research group
- 128.2.134.82                    #lagavulin.ece.cmu.edu
- >qatar.cmu.edu          #Carnegie Mellon University - Qatar
- 86.36.46.6                      #afs1.qatar.cmu.edu
- 86.36.46.7                      #afs2.qatar.cmu.edu
- >sbp.ri.cmu.edu         #Carnegie Mellon University - Sensor Based Planning Lab
- 128.2.179.12                    #nihao.sbp.ri.cmu.edu
- 128.2.179.113                   #youtheman.sbp.ri.cmu.edu
- >cnf.cornell.edu        #CNF
- 128.253.198.9                   #hole.cnf.cornell.edu
- 128.253.198.27                  #smoke.cnf.cornell.edu
- >msc.cornell.edu        #Cornell University Materials Science Center
- 128.84.231.242                  #miranda.ccmr.cornell.edu
- 128.84.241.35                   #co.ccmr.cornell.edu
- 128.84.249.78                   #dax.ccmr.cornell.edu
- >dbic.dartmouth.edu     #Dartmouth Brain Imaging Center
- 129.170.30.143                  #dbicafs1.dartmouth.edu
- 129.170.30.144                  #dbicafs2.dartmouth.edu
- 129.170.30.145                  #dbicafs3.dartmouth.edu
- >northstar.dartmouth.edu #Dartmouth College Research Computing
- 129.170.16.22                   #halley.dartmouth.edu
- 129.170.16.42                   #oort.dartmouth.edu
- 129.170.16.43                   #cygnusx1.dartmouth.edu
- >cs.fhm.edu             #Department Computer Science Munich University Of Applied Science
- 129.187.208.2                   #srv1.informatik.fh-muenchen.de
- >eecs.harvard.edu       #Harvard - EECS
- 140.247.60.61                   #zermelo.eecs.harvard.edu
- 140.247.60.83                   #corfu.eecs.harvard.edu
- >iastate.edu            #Iowa State University
- 129.186.1.243                   #afsdb-1.iastate.edu
- 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
- 18.89.2.156                     #ac.mit.edu
- >msu.edu                #Michigan State University Main Cell
- 35.9.7.10                       #afsdb0.cl.msu.edu
- >nd.edu                 #University of Notre Dame
- 129.74.223.17                   #john.helios.nd.edu
- 129.74.223.33                   #lizardo.helios.nd.edu
- 129.74.223.65                   #buckaroo.helios.nd.edu
- >pitt.edu               #University of Pittsburgh
- 136.142.8.15                    #afs09.srv.cis.pitt.edu
- 136.142.8.20                    #afs10.srv.cis.pitt.edu
- 136.142.8.21                    #afs11.srv.cis.pitt.edu
- >cs.pitt.edu            #University of Pittsburgh - Computer Science
- 130.49.220.11                   #afs01.cs.pitt.edu
- 130.49.220.12                   #afs02.cs.pitt.edu
- 130.49.220.13                   #afs03.cs.pitt.edu
- >psc.edu                #PSC (Pittsburgh Supercomputing Center)
- 128.182.59.182                  #shaggy.psc.edu
- 128.182.66.184                  #velma.psc.edu
- 128.182.66.185                  #daphne.psc.edu
- >scoobydoo.psc.edu      #PSC Test Cell
- 128.182.59.181                  #scooby.psc.edu
- >cede.psu.edu           #Penn State - Center for Engr. Design & Entrepeneurship
- 146.186.218.10                  #greenly.cede.psu.edu
- 146.186.218.60                  #b50.cede.psu.edu
- 146.186.218.246                 #stalin.cede.psu.edu
- >rose-hulman.edu        #Rose-Hulman Institute of Technology
- 137.112.7.11                    #afs1.rose-hulman.edu
- 137.112.7.12                    #afs2.rose-hulman.edu
- 137.112.7.13                    #afs3.rose-hulman.edu
- >cs.rose-hulman.edu     #Rose-Hulman CS Department
- 137.112.40.10                   #galaxy.cs.rose-hulman.edu
- >rpi.edu                #Rensselaer Polytechnic Institute
- 128.113.22.11                   #saul.server.rpi.edu
- 128.113.22.12                   #joab.server.rpi.edu
- 128.113.22.13                   #korah.server.rpi.edu
- 128.113.22.14                   #achan.server.rpi.edu
- >hep.sc.edu             #University of South Carolina, Dept. of Physics
- 129.252.78.77                   #cpeven.physics.sc.edu
- >cs.stanford.edu        #Stanford University Computer Science Department
- 171.64.64.10                    #cs-afs-1.Stanford.EDU
- 171.64.64.66                    #cs-afs-2.stanford.edu
- 171.64.64.69                    #cs-afs-3.stanford.edu
- >ir.stanford.edu        #Stanford University
- 171.64.7.222                    #afsdb1.stanford.edu
- 171.64.7.234                    #afsdb2.stanford.edu
- 171.64.7.246                    #afsdb3.stanford.edu
- >slac.stanford.edu      #Stanford Linear Accelerator Center
- 134.79.18.25                    #afsdb1.slac.stanford.edu
- 134.79.18.26                    #afsdb2.slac.stanford.edu
- 134.79.18.27                    #afsdb3.slac.stanford.edu
- >ucdavis.edu            #University of California at Davis
- 169.237.104.100                 #afs1.ucdavis.edu
- 169.237.235.176                 #afs2.ucdavis.edu
- 169.237.247.91                  #afs3.ucdavis.edu
- >home.ucdavis.edu       #University of California at Davis home directories
- 169.237.105.91                  #home1.ucdavis.edu
- 169.237.105.92                  #home2.ucdavis.edu
- 169.237.105.93                  #home3.ucdavis.edu
- >physics.ucsb.edu       #UC Santa Barbara, Physics Dept
- 128.111.18.161                  #ledzeppelin.physics.ucsb.edu
- >cats.ucsc.edu          #UC Santa Cruz, Comp and Tech Services, California U.S.A
- 128.114.123.14                  #elan.ucsc.edu
- 128.114.123.15                  #ichabod.ucsc.edu
- 128.114.123.18                  #maneki.ucsc.edu
- >acm.uiuc.edu           #ACM at the University of Illinois
- 128.174.251.8                   #alnitak.acm.uiuc.edu
- 128.174.251.9                   #alnilam.acm.uiuc.edu
- 128.174.251.10                  #mintaka.acm.uiuc.edu
- >illigal.uiuc.edu       #Illinois Genetic Algorithms Labaratory
- 128.174.193.200                 #ial.illigal.uiuc.edu
- 128.174.193.201                 #cac.illigal.uiuc.edu
- 128.174.193.202                 #gcs.illigal.uiuc.edu
- >ncsa.uiuc.edu          #University of Illinois
- 141.142.3.5                     #congo.ncsa.uiuc.edu
- 141.142.3.8                     #nile.ncsa.uiuc.edu
- 141.142.3.9                     #kaskaskia.ncsa.uiuc.edu
- >umbc.edu               #University of Maryland, Baltimore County
- 130.85.24.23                    #db2.afs.umbc.edu
- 130.85.24.87                    #db3.afs.umbc.edu
- 130.85.24.101                   #db1.afs.umbc.edu
- >glue.umd.edu           #University of Maryland - Project Glue
- 128.8.70.11                     #olmec.umd.edu
- 128.8.236.4                     #egypt.umd.edu
- 128.8.236.230                   #babylon.umd.edu
- >wam.umd.edu            #University of Maryland Network WAM Project
- 128.8.70.9                      #csc-srv.wam.umd.edu
- 128.8.236.5                     #avw-srv.wam.umd.edu
- 128.8.236.231                   #ptx-srv.wam.umd.edu
- >umich.edu              #University of Michigan - Campus
- 141.211.1.32                    #fear.ifs.umich.edu
- 141.211.1.33                    #surprise.ifs.umich.edu
- 141.211.1.34                    #ruthless.ifs.umich.edu
- >atlas.umich.edu        #ATLAS group cell in physics at University of Michigan
- 141.211.43.102                  #linat02.grid.umich.edu
- 141.211.43.103                  #linat03.grid.umich.edu
- 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
- 141.211.51.142                  #afssph6.sph.umich.edu
- >isis.unc.edu           #Univ. of NC at Chapel Hill - ITS
- 152.2.1.5                       #db0.isis.unc.edu
- 152.2.1.6                       #db1.isis.unc.edu
- 152.2.1.7                       #db2.isis.unc.edu
- >physics.unc.edu        #Univ. of NC at Chapel Hill, Dept. of Physics
- 152.2.4.1                       #who.physics.unc.edu
- 152.2.4.3                       #what.physics.unc.edu
- 152.2.4.5                       #when.physics.unc.edu
- >uncc.edu               #University of NC at Charlotte Mosaic AFS Cell
- 152.15.10.70                    #as-sm1.uncc.edu
- 152.15.93.186                   #as-ece1.uncc.edu
- 152.15.181.175                  #as-me1.uncc.edu
- >eng.utah.edu           #University of Utah - Engineering
- 155.98.111.9                    #lenny.eng.utah.edu
- 155.98.111.10                   #carl.eng.utah.edu
- >cs.uwm.edu             #University of Wisconsin--Milwaukee
- 129.89.38.124                   #solomons.cs.uwm.edu
- >cs.wisc.edu            #Univ. of Wisconsin-Madison, Computer Sciences Dept.
- 128.105.132.14                  #timon.cs.wisc.edu
- 128.105.132.15                  #pumbaa.cs.wisc.edu
- 128.105.132.16                  #zazu.cs.wisc.edu
- >engr.wisc.edu          #University of Wisconsin-Madison, College of Engineering
- 144.92.13.14                    #larry.cae.wisc.edu
- 144.92.13.15                    #curly.cae.wisc.edu
- 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
- >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
- 128.104.160.15                  #buffy.physics.wisc.edu
- >ciemat.es              #Ciemat, Madrid, Spain
- 130.206.11.42                   #afsdb1.ciemat.es
- 130.206.11.217                  #afsdb2.ciemat.es
- 130.206.11.247                  #afsdb3.ciemat.es
- >ifca.unican.es         #Instituto de Fisica de Cantabria (IFCA), Santander, Spain
- 193.144.209.20                  #gridwall.ifca.unican.es
- >ific.uv.es             #Instituto de Fisica Corpuscular, Valencia, Spain
- 147.156.163.11                  #alpha.ific.uv.es
- >biocenter.helsinki.fi  #University of Helsinki, Institute of Biotechnology
- 128.214.58.174                  #afsdb1.biocenter.helsinki.fi
- 128.214.88.114                  #afsdb2.biocenter.helsinki.fi
- >dapnia.saclay.cea.fr   #CEA DAPNIA
- 132.166.32.7                    #dphrsg.saclay.cea.fr
- 132.166.32.12                   #dphrsl.saclay.cea.fr
- >grif.fr                #GRIF cell
- 192.54.208.18                   #node03.datagrid.cea.fr
- >in2p3.fr               #IN2P3 production cell
- 134.158.232.11                  #ccafsdb1.in2p3.fr
- 134.158.232.12                  #ccafsdb2.in2p3.fr
- 134.158.232.13                  #ccafsdb3.in2p3.fr
- >anl.gov                #Argonne National Laboratory
- 146.137.96.33                   #arteus.ctd.anl.gov
- 146.137.162.88                  #agamemnon.ctd.anl.gov
- 146.137.194.80                  #antenor.ctd.anl.gov
- >rhic.bnl.gov           #Relativistic Heavy Ion Collider
- 130.199.6.51                    #rafs03.rcf.bnl.gov
- 130.199.6.52                    #rafs02.rcf.bnl.gov
- 130.199.6.69                    #rafs01.rcf.bnl.gov
- >usatlas.bnl.gov        #US Atlas Tier 1 Facility at BNL
- 130.199.48.32                   #aafs01.usatlas.bnl.gov
- 130.199.48.33                   #aafs02.usatlas.bnl.gov
- 130.199.48.34                   #aafs03.usatlas.bnl.gov
- >fnal.gov               #Fermi National Acclerator Laboratory
- 131.225.68.1                    #fsus01.fnal.gov
- 131.225.68.4                    #fsus03.fnal.gov
- 131.225.68.14                   #fsus04.fnal.gov
- >ic-afs.arc.nasa.gov    #Code IC, Ames Research Center
- 128.102.105.62                  #udanax.arc.nasa.gov
- >jpl.nasa.gov           #Jet Propulsion Laboratory
- 137.78.160.21                   #afsdb08.jpl.nasa.gov
- 137.78.160.22                   #afsdb09.jpl.nasa.gov
- 137.78.160.23                   #afsdb10.jpl.nasa.gov
- >nersc.gov              #National Energy Research Supercomputer Center
- 128.55.128.250                  #mars.nersc.gov
- 128.55.128.252                  #alfred.nersc.gov
- 128.55.128.254                  #lurch.nersc.gov
- >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
- 148.6.8.14                      #afs.kfki.hu
- >caspur.it              #CASPUR Inter-University Computing Consortium, Rome
- 193.204.5.45                    #pomodoro.caspur.it
- 193.204.5.46                    #banana.caspur.it
- 193.204.5.50                    #maslo.caspur.it
- >enea.it                #ENEA New Tech. Energy & Environment Agency, Italy
- 192.107.54.5                    #aixfs.frascati.enea.it
- 192.107.54.11                   #rs2ced.frascati.enea.it
- 192.107.54.12                   #43p.frascati.enea.it
- 192.107.61.235                  #serverinfo02.bologna.enea.it
- 192.107.71.6                    #glauco.casaccia.enea.it
- 192.107.96.233                  #riscdb.trisaia.enea.it
- >fusione.it             #Assoz. FUSIONE/Euratom, ENEA, Frascati-Italy
- 192.107.90.2                    #fusafs1.frascati.enea.it
- 192.107.90.3                    #fusafs2.frascati.enea.it
- 192.107.90.4                    #fusafs3.frascati.enea.it
- >icemb.it               #ICEMB, Universita' La Sapienza - Rome - Italy
- 193.204.6.130                   #icembfs.caspur.it
- >infn.it                #Istituto Nazionale di Fisica Nucleare (INFN), Italia
- 131.154.1.7                     #afscnaf.infn.it
- 141.108.26.75                   #afsrm1.roma1.infn.it
- 192.84.134.75                   #afsna.na.infn.it
- >ba.infn.it             #INFN, Sezione di Bari
- 193.206.185.235                 #baafsserver.ba.infn.it
- 193.206.185.236                 #debsrv.ba.infn.it
- >kloe.infn.it           #INFN, KLOE experiment at Laboratori di Frascati
- 192.135.25.111                  #kloeafs1.lnf.infn.it
- 192.135.25.112                  #kloeafs2.lnf.infn.it
- >le.infn.it             #INFN, Sezione di Lecce
- 192.84.152.40                   #afs01.le.infn.it
- 192.84.152.148                  #afs02.le.infn.it
- >lnf.infn.it            #INFN, Laboratori Nazionali di Frascati
- 193.206.84.121                  #afs1.lnf.infn.it
- 193.206.84.122                  #afs2.lnf.infn.it
- 193.206.84.123                  #afs3.lnf.infn.it
- >lngs.infn.it           #INFN, Laboratori Nazionali di Gran Sasso
- 192.84.135.21                   #rsgs05.lngs.infn.it
- >pi.infn.it             #INFN, Sezione di Pisa
- 131.114.134.26                  #unknownhost.pi.infn.it
- 192.84.133.50                   #aix1.pi.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
- 193.204.5.33                    #cccgrid.caspur.it
- >ictp.trieste.it        #The Abdus Salam International Centre for Theoretical Physics (IC
- 140.105.16.8                    #fs1.ictp.trieste.it
- 140.105.16.9                    #fs2.ictp.trieste.it
- >math.unifi.it          #math.unifi.it
- 150.217.34.182                  #xeno.math.unifi.it
- >ing.uniroma1.it        #Universita' La Sapienza, Fac. Ingeneria
- 151.100.85.253                  #alfa.ing.uniroma1.it
- >dia.uniroma3.it        #University Roma Tre - DIA
- 193.204.161.79                  #plm.dia.uniroma3.it
- 193.204.161.118                 #afs.dia.uniroma3.it
- >vn.uniroma3.it         #University of Rome 3, Area Vasca Navale
- 193.204.161.136                 #alfa.dia.uniroma3.it
- 193.204.161.137                 #beta.dia.uniroma3.it
- 193.204.161.138                 #gamma.dia.uniroma3.it
- >italia                 #Italian public AFS cell
- 193.204.5.9                     #afs.caspur.it
- >cmf.nrl.navy.mil       #Naval Research Lab - CCS
- 134.207.10.68                   #picard.cmf.nrl.navy.mil
- 134.207.10.69                   #riker.cmf.nrl.navy.mil
- 134.207.10.70                   #kirk.cmf.nrl.navy.mil
- >lcp.nrl.navy.mil       #Naval Research Lab - Lab for Computational Physics
- 132.250.114.2                   #afs1.lcp.nrl.navy.mil
- 132.250.114.4                   #afs2.lcp.nrl.navy.mil
- 132.250.114.6                   #afs3.lcp.nrl.navy.mil
- >es.net                 #Energy Sciences Net
- 198.128.3.21                    #fs1.es.net
- 198.128.3.22                    #fs2.es.net
- 198.128.3.23                    #fs3.es.net
- >laroia.net             #Laroia Networks
- 66.66.102.254                   #supercore.laroia.net
- >sinenomine.net         #Sine Nomine Associates
- 192.204.203.218                 #va.sinenomine.net
- >slackers.net           #The Slackers' Network
- 63.201.48.27                    #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
- >nikhef.nl              #The Dutch National Institute for High Energy Physics
- 192.16.185.26                   #afs1.nikhef.nl
- 192.16.185.27                   #afs2.nikhef.nl
- >1ts.org                #1TS.ORG, Cambridge, MA
- 69.25.196.51                    #pancake.1ts.org
- >acm-csuf.org           #California State Univerisity Fullerton ACM
- 137.151.29.193                  #afs1.acm-csuf.org
- >bazquux.org            #Baz Quux Organization
- 66.207.142.196                  #baxquux.org
- >coed.org               #Adam Pennington's Cell
- 66.93.61.184                    #vice1.coed.org
- 128.237.157.35                  #vice3.coed.org
- >dementia.org           #Dementia Unlimited
- 128.2.12.45                     #alycia.dementia.org
- 128.2.120.216                   #meredith.dementia.org
- >hackish.org            #Hackish.org
- 24.167.65.213                   #avatar.sys.hackish.org
- 128.2.120.138                   #kurma.sys.hackish.org
- >idahofuturetruck.org   #University of Idaho hybrid vehicle development
- 12.18.238.210                   #dsle210.fsr.net
- >nimlabs.org            #Nimlabs, Ink. Cell.
- 18.238.1.103                    #olfin.nimlabs.org
- 18.238.1.105                    #caerbanog.nimlabs.org
- >nomh.org               #nomh.org
- 204.29.154.12                   #iota.nomh.org
- 204.29.154.32                   #adversity.xi.nomh.org
- >oc7.org                #The OC7 Project
- 128.2.122.140                   #knife.oc7.org
- 207.22.77.170                   #spoon.oc7.org
- >kth.se                 #Royal Institute of Technology, Stockholm, Sweden
- 130.237.32.145                  #sonen.e.kth.se
- 130.237.48.7                    #anden.e.kth.se
- 130.237.48.244                  #fadern.e.kth.se
- >hallf.kth.se           #Royal Institute of Technology, HALLF
- 130.237.24.11                   #afs1.hallf.kth.se
- 130.237.24.104                  #afs2.hallf.kth.se
- >isk.kth.se             #Royal Institute of Technology, ISK
- 130.237.202.3                   #afsdb1.isk.kth.se
- 130.237.209.5                   #afsdb2.isk.kth.se
- 130.237.209.9                   #afsdb3.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
- 130.237.233.144                 #pollux.mech.kth.se
- >nada.kth.se            #Royal Institute of Technology, NADA
- 130.237.222.20                  #kosmos.nada.kth.se
- 130.237.223.12                  #sputnik.nada.kth.se
- 130.237.224.78                  #mir.nada.kth.se
- 130.237.227.23                  #gagarin.nada.kth.se
- 130.237.228.28                  #laika.nada.kth.se
- >pdc.kth.se             #Royal Institute of Technology, PDC
- 130.237.232.29                  #crab.pdc.kth.se
- 130.237.232.112                 #anna.pdc.kth.se
- 130.237.232.114                 #hokkigai.pdc.kth.se
- >stacken.kth.se         #Stacken Computer Club
- 130.237.234.3                   #milko.stacken.kth.se
- 130.237.234.43                  #hot.stacken.kth.se
- 130.237.234.101                 #fishburger.stacken.kth.se
- >syd.kth.se             #Royal Institute of Technology, KTH-Syd
- 130.237.83.23                   #afs.haninge.kth.se
- >physto.se              #Physics department Stockholm University
- 130.237.205.36                  #sysafs1.physto.se
- 130.237.205.72                  #sysafs2.physto.se
- >sanchin.se             #Sanchin Consulting AB, Sweden
- 192.195.148.10                  #sesan.sanchin.se
- >su.se                  #Stockholm University
- 130.237.162.81                  #afsdb1.su.se
- 130.237.162.82                  #afsdb2.su.se
- 130.237.162.230                 #afsdb3.su.se
- >f9.ijs.si              #F9, Jozef Stefan Institue
- 194.249.156.1                   #brenta.ijs.si
- >p-ng.si                #Nova Gorica Polytechnic
- 193.2.120.2                     #solkan.p-ng.si
- >phy.bris.ac.uk         #Bristol University - phyics
- 137.222.58.9                    #afs1.phy.bris.ac.uk
- >inf.ed.ac.uk           #School of Informatics, University of Edinburgh
- 129.215.64.16                   #afsdb0.inf.ed.ac.uk
- 129.215.64.17                   #afsdb1.inf.ed.ac.uk
- 129.215.64.18                   #afsdb2.inf.ed.ac.uk
- >ic.ac.uk               #Imperial College London
- 155.198.63.148                  #icafs2.cc.ic.ac.uk
- 155.198.63.149                  #icafs1.cc.ic.ac.uk
- >hep.man.ac.uk          #Manchester HEP
- 194.36.2.3                      #afs1.hep.man.ac.uk
- 194.36.2.4                      #afs2.hep.man.ac.uk
- 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
--- 0 ----
Index: openafs/src/packaging/MacOS/OpenAFS.Info.plist
diff -c openafs/src/packaging/MacOS/OpenAFS.Info.plist:1.2.10.21 openafs/src/packaging/MacOS/OpenAFS.Info.plist:1.2.10.22
*** openafs/src/packaging/MacOS/OpenAFS.Info.plist:1.2.10.21	Wed Aug 29 00:08:56 2007
--- openafs/src/packaging/MacOS/OpenAFS.Info.plist	Thu Sep 20 00:14:07 2007
***************
*** 3,15 ****
  <plist version="1.0">
  <dict>
  	<key>CFBundleGetInfoString</key>
! 	<string>OpenAFS 1.5.24</string>
  	<key>CFBundleIdentifier</key>
  	<string>org.openafs.OpenAFS.pkg</string>
  	<key>CFBundleName</key>
  	<string>OpenAFS</string>
  	<key>CFBundleShortVersionString</key>
! 	<string>1.5.24</string>
  	<key>IFMajorVersion</key>
  	<integer>1</integer>
  	<key>IFMinorVersion</key>
--- 3,15 ----
  <plist version="1.0">
  <dict>
  	<key>CFBundleGetInfoString</key>
! 	<string>OpenAFS 1.5.25</string>
  	<key>CFBundleIdentifier</key>
  	<string>org.openafs.OpenAFS.pkg</string>
  	<key>CFBundleName</key>
  	<string>OpenAFS</string>
  	<key>CFBundleShortVersionString</key>
! 	<string>1.5.25</string>
  	<key>IFMajorVersion</key>
  	<integer>1</integer>
  	<key>IFMinorVersion</key>
Index: openafs/src/packaging/MacOS/OpenAFS.info
diff -c openafs/src/packaging/MacOS/OpenAFS.info:1.1.12.20 openafs/src/packaging/MacOS/OpenAFS.info:1.1.12.21
*** openafs/src/packaging/MacOS/OpenAFS.info:1.1.12.20	Wed Aug 29 00:08:56 2007
--- openafs/src/packaging/MacOS/OpenAFS.info	Thu Sep 20 00:14:07 2007
***************
*** 1,5 ****
  Title OpenAFS
! Version 1.5.24
  Description The OpenAFS distributed filesystem. This package installs an almost-ready-to-run client for OpenAFS. see http://www.openafs.org for more information.
  DefaultLocation /
  Diskname (null)
--- 1,5 ----
  Title OpenAFS
! Version 1.5.25
  Description The OpenAFS distributed filesystem. This package installs an almost-ready-to-run client for OpenAFS. see http://www.openafs.org for more information.
  DefaultLocation /
  Diskname (null)
Index: openafs/src/rxgen/NTMakefile
diff -c openafs/src/rxgen/NTMakefile:1.6 openafs/src/rxgen/NTMakefile:1.6.4.1
*** openafs/src/rxgen/NTMakefile:1.6	Sun Nov 20 20:57:23 2005
--- openafs/src/rxgen/NTMakefile	Wed Sep 19 13:58:48 2007
***************
*** 17,22 ****
--- 17,24 ----
  # build rxgen
  EXEFILE = $(DESTDIR)\bin\rxgen.exe
  
+ EXERES = $(OUT)\rxgen.res
+ 
  EXEOBJS =\
  	$(OUT)\rpc_main.obj \
  	$(OUT)\rpc_hout.obj \
***************
*** 30,36 ****
  $(EXEOBJS): $$(@B).c
      $(C2OBJ) $**
  
! $(EXEFILE): $(EXEOBJS) $(EXELIBS)
  	$(EXECONLINK)
          $(_VC_MANIFEST_EMBED_EXE)
  	$(EXEPREP) 
--- 32,40 ----
  $(EXEOBJS): $$(@B).c
      $(C2OBJ) $**
  
! $(EXERES): rxgen.rc AFS_component_version_number.h
! 
! $(EXEFILE): $(EXEOBJS) $(EXERES) $(EXELIBS)
  	$(EXECONLINK)
          $(_VC_MANIFEST_EMBED_EXE)
  	$(EXEPREP) 
***************
*** 42,48 ****
  install9x: install
  
  clean::
! 	$(DEL) $(EXEFILE)	
  
  mkdir:
  	
--- 46,53 ----
  install9x: install
  
  clean::
! 	$(DEL) $(EXEFILE)
! 	$(DEL) $(EXERES)
  
  mkdir:
  	
Index: openafs/src/rxgen/rxgen.rc
diff -c /dev/null openafs/src/rxgen/rxgen.rc:1.1.2.2
*** /dev/null	Thu Sep 20 01:06:55 2007
--- openafs/src/rxgen/rxgen.rc	Wed Sep 19 13:58:48 2007
***************
*** 0 ****
--- 1,17 ----
+ /*
+  * Copyright 2000, International Business Machines Corporation and others.
+  * All Rights Reserved.
+  * 
+  * This software has been released under the terms of the IBM Public
+  * License.  For details, see the LICENSE file in the top-level source
+  * directory or online at http://www.openafs.org/dl/license10.html
+  */
+ 
+ /* Define VERSIONINFO resource */
+ 
+ #define  AFS_VERINFO_FILE_DESCRIPTION "RX RPC Code Generator"
+ #define  AFS_VERINFO_NAME "rxgen"
+ #define  AFS_VERINFO_FILENAME "rxgen.exe"
+ 
+ #include "AFS_component_version_number.h"
+ #include "..\config\NTVersioninfo.rc"
Index: openafs/src/viced/NTMakefile
diff -c openafs/src/viced/NTMakefile:1.6.2.3 openafs/src/viced/NTMakefile:1.6.2.4
*** openafs/src/viced/NTMakefile:1.6.2.3	Sat Jun 24 10:10:46 2006
--- openafs/src/viced/NTMakefile	Wed Sep 19 13:58:48 2007
***************
*** 27,40 ****
  
  EXEFILE = $(DESTDIR)\root.server\usr\afs\bin\fileserver.exe
  
  EXEOBJS =\
  	$(OUT)\afsfileprocs.obj \
  	$(OUT)\callback.obj \
  	$(OUT)\host.obj \
  	$(OUT)\physio.obj \
  	$(OUT)\viced.obj \
! 	$(OUT)\AFS_component_version_number.obj \
! 	$(OUT)\fileserver.res
  
  EXELIBS = \
  	$(DESTDIR)\lib\afs\afscmd.lib \
--- 27,41 ----
  
  EXEFILE = $(DESTDIR)\root.server\usr\afs\bin\fileserver.exe
  
+ EXERES = $(OUT)\fileserver.res
+ 
  EXEOBJS =\
  	$(OUT)\afsfileprocs.obj \
  	$(OUT)\callback.obj \
  	$(OUT)\host.obj \
  	$(OUT)\physio.obj \
  	$(OUT)\viced.obj \
! 	$(OUT)\AFS_component_version_number.obj
  
  EXELIBS = \
  	$(DESTDIR)\lib\afs\afscmd.lib \
***************
*** 59,65 ****
  	$(DESTDIR)\lib\afs\afsprocmgmt.lib \
  	$(DESTDIR)\lib\afs\afseventlog.lib
  
! $(EXEFILE): $(EXEOBJS) $(EXELIBS)
  	$(EXECONLINK)
          $(_VC_MANIFEST_EMBED_EXE)
  	$(EXEPREP) 
--- 60,66 ----
  	$(DESTDIR)\lib\afs\afsprocmgmt.lib \
  	$(DESTDIR)\lib\afs\afseventlog.lib
  
! $(EXEFILE): $(EXEOBJS) $(EXERES) $(EXELIBS)
  	$(EXECONLINK)
          $(_VC_MANIFEST_EMBED_EXE)
  	$(EXEPREP) 
***************
*** 68,85 ****
  # Build cbd - not generally distributed debugging program
  CBD = $(DESTDIR)\root.server\usr\afs\bin\cbd.exe
  
  $(OUT)\cbd.obj: callback.c AFS_component_version_number.h
  	$(C2OBJ) callback.c -DINTERPRET_DUMP
  
! $(CBD): $(OUT)\cbd.obj 
  	$(EXECONLINK)
          $(_VC_MANIFEST_EMBED_EXE)
  
  ############################################################################
  # generate versioninfo resources
! $(OUT)\fileserver.res: AFS_component_version_number.h
  
! install:  $(INCFILES) $(OUT)\fileserver.res $(CBD)
  
  mkdir:
  	
--- 69,90 ----
  # Build cbd - not generally distributed debugging program
  CBD = $(DESTDIR)\root.server\usr\afs\bin\cbd.exe
  
+ CBDRES = $(OUT)\cbd.res
+ 
  $(OUT)\cbd.obj: callback.c AFS_component_version_number.h
  	$(C2OBJ) callback.c -DINTERPRET_DUMP
  
! $(CBD): $(OUT)\cbd.obj $(CBDRES)
  	$(EXECONLINK)
          $(_VC_MANIFEST_EMBED_EXE)
  
  ############################################################################
  # generate versioninfo resources
! $(EXERES): AFS_component_version_number.h
! 
! $(CBDRES): AFS_component_version_number.h
  
! install:  $(INCFILES) $(EXERES) $(CBD) $(CBDRES)
  
  mkdir:
  	
Index: openafs/src/viced/callback.c
diff -c openafs/src/viced/callback.c:1.77.2.5 openafs/src/viced/callback.c:1.77.2.6
*** openafs/src/viced/callback.c:1.77.2.5	Tue Aug 21 04:30:27 2007
--- openafs/src/viced/callback.c	Mon Sep  3 00:00:21 2007
***************
*** 85,91 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/viced/callback.c,v 1.77.2.5 2007/08/21 08:30:27 jaltman 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.6 2007/09/03 04:00:21 shadow Exp $");
  
  #include <stdio.h>
  #include <stdlib.h>		/* for malloc() */
***************
*** 2352,2359 ****
  	    goto done;
  	}
  	cbdsk[idx].index = cbi;
! 	iov[idx].iov_base = (char *)&cbdsk[idx];
! 	len += iov[idx].iov_len = sizeof(struct CBDiskEntry);
  	iovcnt++;
  	if ((iovcnt == 16) || (!cb->cnext)) {
  	    if (fs_stateWriteV(state, iov, iovcnt)) {
--- 2352,2359 ----
  	    goto done;
  	}
  	cbdsk[idx].index = cbi;
! 	iov[iovcnt].iov_base = (char *)&cbdsk[idx];
! 	len += iov[iovcnt].iov_len = sizeof(struct CBDiskEntry);
  	iovcnt++;
  	if ((iovcnt == 16) || (!cb->cnext)) {
  	    if (fs_stateWriteV(state, iov, iovcnt)) {
Index: openafs/src/viced/cbd.rc
diff -c /dev/null openafs/src/viced/cbd.rc:1.1.2.2
*** /dev/null	Thu Sep 20 01:06:55 2007
--- openafs/src/viced/cbd.rc	Wed Sep 19 13:58:48 2007
***************
*** 0 ****
--- 1,17 ----
+ /*
+  * Copyright 2000, International Business Machines Corporation and others.
+  * All Rights Reserved.
+  * 
+  * This software has been released under the terms of the IBM Public
+  * License.  For details, see the LICENSE file in the top-level source
+  * directory or online at http://www.openafs.org/dl/license10.html
+  */
+ 
+ /* Define VERSIONINFO resource */
+ 
+ #define  AFS_VERINFO_FILE_DESCRIPTION "AFS File Server Callback Debugging Tool"
+ #define  AFS_VERINFO_NAME "cbd"
+ #define  AFS_VERINFO_FILENAME "cbd.exe"
+ 
+ #include "AFS_component_version_number.h"
+ #include "..\config\NTVersioninfo.rc"
Index: openafs/src/vol/ihandle.c
diff -c openafs/src/vol/ihandle.c:1.19 openafs/src/vol/ihandle.c:1.19.8.2
*** openafs/src/vol/ihandle.c:1.19	Wed Aug 18 20:22:38 2004
--- openafs/src/vol/ihandle.c	Mon Sep 10 17:59:14 2007
***************
*** 15,21 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/vol/ihandle.c,v 1.19 2004/08/19 00:22:38 kolya 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.2 2007/09/10 21:59:14 jaltman Exp $");
  
  #include <stdio.h>
  #include <sys/types.h>
***************
*** 154,159 ****
--- 154,177 ----
      }
  #endif
      fdCacheSize = MIN(fdMaxCacheSize, FD_DEFAULT_CACHESIZE);
+ 
+     {
+ 	void *ih_sync_thread();
+ #ifdef AFS_PTHREAD_ENV
+ 	pthread_t syncer;
+ 	pthread_attr_t tattr;
+ 
+ 	pthread_attr_init(&tattr);
+ 	pthread_attr_setdetachstate(&tattr,PTHREAD_CREATE_DETACHED);
+ 
+ 	pthread_create(&syncer, &tattr, ih_sync_thread, NULL);
+ #else /* AFS_PTHREAD_ENV */
+ 	PROCESS syncer;
+ 	LWP_CreateProcess(ih_sync_thread, 16*1024, LWP_MAX_PRIORITY - 2,
+ 	    NULL, "ih_syncer", &syncer);
+ #endif /* AFS_PTHREAD_ENV */
+     }
+ 
  }
  
  /* Make the file descriptor cache as big as possible. Don't this call
***************
*** 840,845 ****
--- 858,924 ----
      return code;
  }
  
+ void
+ ih_sync_all() {
+     int ihash;
+ 
+     IH_LOCK;
+     for (ihash = 0; ihash < I_HANDLE_HASH_SIZE; ihash++) {
+ 	IHandle_t *ihP, *ihPnext;
+ 
+ 	ihP = ihashTable[ihash].ihash_head;
+ 	if (ihP)
+ 	    ihP->ih_refcnt++;	/* must not disappear over unlock */
+ 	for (; ihP; ihP = ihPnext) {
+ 	    
+ 	    if (ihP->ih_synced) {
+ 		FdHandle_t *fdP;
+ 
+ 		ihP->ih_synced = 0;
+ 		IH_UNLOCK;
+ 
+ 		fdP = IH_OPEN(ihP);
+ 		if (fdP) OS_SYNC(fdP->fd_fd);
+ 		FDH_CLOSE(fdP);
+ 
+ 	  	IH_LOCK;
+ 	    }
+ 
+ 	    /* when decrementing the refcount, the ihandle might disappear
+ 	       and we might not even be able to proceed to the next one.
+ 	       Hence the gymnastics putting a hold on the next one already */
+ 	    ihPnext = ihP->ih_next;
+ 	    if (ihPnext) ihPnext->ih_refcnt++;
+ 
+ 	    if (ihP->ih_refcnt > 1) {
+ 		ihP->ih_refcnt--;
+ 	    } else {
+ 		IH_UNLOCK;
+ 		ih_release(ihP);
+ 		IH_LOCK;
+ 	    }
+ 
+ 	}
+     }
+     IH_UNLOCK;
+ }
+ 
+ void *
+ ih_sync_thread() {
+     while(1) {
+ 
+ #ifdef AFS_PTHREAD_ENV
+ 	sleep(10);
+ #else /* AFS_PTHREAD_ENV */
+ 	IOMGR_Sleep(60);
+ #endif /* AFS_PTHREAD_ENV */
+ 
+ #ifndef AFS_NT40_ENV
+         sync();
+ #endif
+         ih_sync_all();
+     }
+ }
  
  
  /*************************************************************************
Index: openafs/src/vol/ihandle.h
diff -c openafs/src/vol/ihandle.h:1.10.2.1 openafs/src/vol/ihandle.h:1.10.2.2
*** openafs/src/vol/ihandle.h:1.10.2.1	Thu Jan  4 22:40:34 2007
--- openafs/src/vol/ihandle.h	Fri Sep  7 00:03:49 2007
***************
*** 211,216 ****
--- 211,217 ----
      int ih_vid;			/* Parent volume id. */
      int ih_dev;			/* device id. */
      int ih_flags;		/* Flags */
+     int ih_synced;		/* should be synced next time */
      Inode ih_ino;		/* Inode number */
      int ih_refcnt;		/* reference count */
      struct FdHandle_s *ih_fdhead;	/* List of open file desciptors */
***************
*** 466,472 ****
  #define FDH_WRITE(H, B, S) OS_WRITE((H)->fd_fd, B, S)
  #define FDH_SEEK(H, O, F) OS_SEEK((H)->fd_fd, O, F)
  
! #define FDH_SYNC(H) OS_SYNC((H)->fd_fd)
  #define FDH_TRUNC(H, L) OS_TRUNC((H)->fd_fd, L)
  #define FDH_SIZE(H) OS_SIZE((H)->fd_fd)
  
--- 467,473 ----
  #define FDH_WRITE(H, B, S) OS_WRITE((H)->fd_fd, B, S)
  #define FDH_SEEK(H, O, F) OS_SEEK((H)->fd_fd, O, F)
  
! #define FDH_SYNC(H) ((H->fd_ih!=NULL) ? ( H->fd_ih->ih_synced = 1) - 1 : 1)
  #define FDH_TRUNC(H, L) OS_TRUNC((H)->fd_fd, L)
  #define FDH_SIZE(H) OS_SIZE((H)->fd_fd)
  
Index: openafs/src/vol/namei_ops.c
diff -c openafs/src/vol/namei_ops.c:1.28.2.8 openafs/src/vol/namei_ops.c:1.28.2.10
*** openafs/src/vol/namei_ops.c:1.28.2.8	Mon May 14 17:43:43 2007
--- openafs/src/vol/namei_ops.c	Tue Sep 11 11:38:38 2007
***************
*** 13,19 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/vol/namei_ops.c,v 1.28.2.8 2007/05/14 21:43:43 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.10 2007/09/11 15:38:38 shadow Exp $");
  
  #ifdef AFS_NAMEI_ENV
  #include <stdio.h>
***************
*** 604,609 ****
--- 604,611 ----
  
      if (p2 == -1 && p3 == VI_LINKTABLE) {
  	/* hack at tmp to setup for set link count call. */
+ 	memset((void *)&tfd, 0, sizeof(FdHandle_t));	/* minimalistic still, but a little cleaner */
+ 	tfd.fd_ih = &tmp;
  	tfd.fd_fd = fd;
  	code = namei_SetLinkCount(&tfd, (Inode) 0, 1, 0);
      }
***************
*** 1445,1450 ****
--- 1447,1453 ----
      char fpath[512];
      struct afs_stat status;
      int parm, tag;
+     lb64_string_t check;
  
      (void)strcpy(fpath, dpath);
      (void)strcat(fpath, "/");
***************
*** 1457,1462 ****
--- 1460,1469 ----
      info->byteCount = status.st_size;
      info->inodeNumber = (Inode) flipbase64_to_int64(name);
  
+     int64_to_flipbase64(check, info->inodeNumber);
+     if (strcmp(name, check))
+ 	return -1;
+     
      GetOGMFromStat(&status, &parm, &tag);
      if ((info->inodeNumber & NAMEI_INODESPECIAL) == NAMEI_INODESPECIAL) {
  	/* p1 - vid, p2 - -1, p3 - type, p4 - rwvid */
Index: openafs/src/vol/vol-salvage.c
diff -c openafs/src/vol/vol-salvage.c:1.51.2.7 openafs/src/vol/vol-salvage.c:1.51.2.8
*** openafs/src/vol/vol-salvage.c:1.51.2.7	Tue Jan 30 07:17:28 2007
--- openafs/src/vol/vol-salvage.c	Fri Sep  7 00:03:49 2007
***************
*** 87,93 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/vol/vol-salvage.c,v 1.51.2.7 2007/01/30 12:17:28 jaltman 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.8 2007/09/07 04:03:49 shadow Exp $");
  
  #ifndef AFS_NT40_ENV
  #include <sys/param.h>
***************
*** 2358,2363 ****
--- 2358,2364 ----
  		  vnodeIndexOffset(vcp, dir->vnodeNumber), (char *)&vnode,
  		  sizeof(vnode));
      assert(lcode == sizeof(vnode));
+ #if 0
  #ifdef AFS_NT40_ENV
      nt_sync(fileSysDevice);
  #else
***************
*** 2365,2370 ****
--- 2366,2374 ----
  				 * an open FD on the file itself to fsync.
  				 */
  #endif
+ #else
+     vnodeInfo[vLarge].handle->ih_synced = 1;
+ #endif
      code = IH_DEC(dir->ds_linkH, oldinode, dir->rwVid);
      assert(code == 0);
      dir->dirHandle = newdir;
***************
*** 2828,2833 ****
--- 2832,2842 ----
  	SalvageDir(volHeader.name, vid, dirVnodeInfo, alinkH, i, &rootdir,
  		   &rootdirfound);
      }
+ #ifdef AFS_NT40_ENV
+     nt_sync(fileSysDevice);
+ #else
+     sync();				/* This used to be done lower level, for every dir */
+ #endif
      if (Showmode) {
  	IH_RELEASE(h);
  	return 0;
Index: openafs/src/vol/volume.c
diff -c openafs/src/vol/volume.c:1.43.2.6 openafs/src/vol/volume.c:1.43.2.9
*** openafs/src/vol/volume.c:1.43.2.6	Fri Aug 10 00:13:05 2007
--- openafs/src/vol/volume.c	Thu Sep 20 00:09:45 2007
***************
*** 22,28 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/vol/volume.c,v 1.43.2.6 2007/08/10 04:13:05 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.9 2007/09/20 04:09:45 shadow Exp $");
  
  #include <rx/xdr.h>
  #include <afs/afsint.h>
***************
*** 2723,2752 ****
  	    vp = NULL;
  	    break;
  	}
  
- 	if (vp->pending_vol_op && !VVolOpLeaveOnline_r(vp, vp->pending_vol_op)) {
- 	    if (client_ec) {
- 		/* see CheckVnode() in afsfileprocs.c for an explanation
- 		 * of this error code logic */
- 		afs_uint32 now = FT_ApproxTime();
- 		if ((vp->stats.last_vol_op + (10 * 60)) >= now) {
- 		    *client_ec = VBUSY;
- 		} else {
- 		    *client_ec = VRESTARTING;
- 		}
- 	    }
- 	    *ec = VOFFLINE;
- 	    vp = NULL;
- 	    break;
- 	}
- 
- 	if (V_attachState(vp) == VOL_STATE_UNATTACHED) {
- 	    *ec = VOFFLINE;
- 	    vp = NULL;
- 	    break;
- 	}
- #endif /* AFS_DEMAND_ATTACH_FS */
- 	
  	LoadVolumeHeader(ec, vp);
  	if (*ec) {
  	    VGET_CTR_INC(V6);
--- 2723,2730 ----
  	    vp = NULL;
  	    break;
  	}
+ #endif
  
  	LoadVolumeHeader(ec, vp);
  	if (*ec) {
  	    VGET_CTR_INC(V6);
***************
*** 2770,2775 ****
--- 2748,2777 ----
  	    break;
  	}
  
+ #ifdef AFS_DEMAND_ATTACH_FS
+ 	if (vp->pending_vol_op && !VVolOpLeaveOnline_r(vp, vp->pending_vol_op)) {
+ 	    if (client_ec) {
+ 		/* see CheckVnode() in afsfileprocs.c for an explanation
+ 		 * of this error code logic */
+ 		afs_uint32 now = FT_ApproxTime();
+ 		if ((vp->stats.last_vol_op + (10 * 60)) >= now) {
+ 		    *client_ec = VBUSY;
+ 		} else {
+ 		    *client_ec = VRESTARTING;
+ 		}
+ 	    }
+ 	    *ec = VOFFLINE;
+ 	    vp = NULL;
+ 	    break;
+ 	}
+ 
+ 	if (V_attachState(vp) == VOL_STATE_UNATTACHED) {
+ 	    *ec = VOFFLINE;
+ 	    vp = NULL;
+ 	    break;
+ 	}
+ #endif /* AFS_DEMAND_ATTACH_FS */
+ 	
  	VGET_CTR_INC(V7);
  	if (vp->shuttingDown) {
  	    VGET_CTR_INC(V8);
***************
*** 4456,4462 ****
  	UpdateList = (VolumeId *) malloc(sizeof(VolumeId) * updateSize);
      } else {
  	if (nUpdatedVolumes == updateSize) {
! 	    updateSize << 1;
  	    if (updateSize > 524288) {
  		Log("warning: there is likely a bug in the volume update scanner\n");
  		return;
--- 4458,4464 ----
  	UpdateList = (VolumeId *) malloc(sizeof(VolumeId) * updateSize);
      } else {
  	if (nUpdatedVolumes == updateSize) {
! 	    updateSize <<= 1;
  	    if (updateSize > 524288) {
  		Log("warning: there is likely a bug in the volume update scanner\n");
  		return;
***************
*** 6194,6200 ****
  	VOL_LOCK;
  
  	for (diskP = DiskPartitionList; diskP; diskP = diskP->next) {
! 	    id = diskP->device;
  	    vol_count[id] = diskP->vol_list.len;
  	    part_exists[id] = 1;
  	}
--- 6196,6202 ----
  	VOL_LOCK;
  
  	for (diskP = DiskPartitionList; diskP; diskP = diskP->next) {
! 	    id = diskP->index;
  	    vol_count[id] = diskP->vol_list.len;
  	    part_exists[id] = 1;
  	}
