Index: openafs/src/WINNT/afsd/cm_access.c
diff -c openafs/src/WINNT/afsd/cm_access.c:1.7.2.14 openafs/src/WINNT/afsd/cm_access.c:1.7.2.15
*** openafs/src/WINNT/afsd/cm_access.c:1.7.2.14	Fri Feb  9 18:54:31 2007
--- openafs/src/WINNT/afsd/cm_access.c	Thu Apr 26 14:08:00 2007
***************
*** 123,128 ****
--- 123,137 ----
  	}
      }
  
+     /* if the user can insert, we must assume they can read/write as well
+      * because we do not have the ability to determine if the current user
+      * is the owner of the file. We will have to make the call to the
+      * file server and let the file server tell us if the request should
+      * be denied.
+      */
+     if ((*outRightsp & PRSFS_INSERT) && (scp->creator == userp))
+         *outRightsp |= PRSFS_READ | PRSFS_WRITE;
+ 
      /* if the user can obtain a write-lock, read-locks are implied */
      if (*outRightsp & PRSFS_WRITE)
  	*outRightsp |= PRSFS_LOCK;
Index: openafs/src/WINNT/afsd/cm_ioctl.h
diff -c openafs/src/WINNT/afsd/cm_ioctl.h:1.14.2.2 openafs/src/WINNT/afsd/cm_ioctl.h:1.14.2.3
*** openafs/src/WINNT/afsd/cm_ioctl.h:1.14.2.2	Sat Apr 14 14:49:36 2007
--- openafs/src/WINNT/afsd/cm_ioctl.h	Tue May 15 16:20:55 2007
***************
*** 40,45 ****
--- 40,50 ----
          struct cm_SPref servers[1];/* we overrun this array intentionally...*/
  } cm_SSetPref_t;
  
+ #define CM_IOCTLCACHEPARMS		16
+ typedef struct cm_cacheParms {
+         afs_uint64 parms[CM_IOCTLCACHEPARMS];
+ } cm_cacheParms_t;
+ 
  
  #define MAXNUMSYSNAMES    16      /* max that current constants allow */
  #define   MAXSYSNAME      128     /* max sysname (i.e. @sys) size */
Index: openafs/src/WINNT/afsd/cm_scache.c
diff -c openafs/src/WINNT/afsd/cm_scache.c:1.35.2.32 openafs/src/WINNT/afsd/cm_scache.c:1.35.2.34
*** openafs/src/WINNT/afsd/cm_scache.c:1.35.2.32	Thu Feb  8 08:51:40 2007
--- openafs/src/WINNT/afsd/cm_scache.c	Wed May 16 11:51:05 2007
***************
*** 189,195 ****
      }
  
      /* discard symlink info */
!     scp->mountPointStringp[0] = 0;
      memset(&scp->mountRootFid, 0, sizeof(cm_fid_t));
      memset(&scp->dotdotFid, 0, sizeof(cm_fid_t));
  
--- 189,195 ----
      }
  
      /* discard symlink info */
!     scp->mountPointStringp[0] = '\0';
      memset(&scp->mountRootFid, 0, sizeof(cm_fid_t));
      memset(&scp->dotdotFid, 0, sizeof(cm_fid_t));
  
***************
*** 1334,1342 ****
  	scp->anyAccess = 0;
  	scp->dataVersion = 0;
  
! 	scp->parentVnode = dscp->fid.vnode;
! 	scp->parentUnique = dscp->fid.unique;
! 
  	return;
      } else {
  	scp->flags &= ~CM_SCACHEFLAG_EACCESS;
--- 1334,1346 ----
  	scp->anyAccess = 0;
  	scp->dataVersion = 0;
  
! 	if (dscp) {
!             scp->parentVnode = dscp->fid.vnode;
!             scp->parentUnique = dscp->fid.unique;
! 	} else {
!             scp->parentVnode = 0;
!             scp->parentUnique = 0;
! 	}
  	return;
      } else {
  	scp->flags &= ~CM_SCACHEFLAG_EACCESS;
Index: openafs/src/WINNT/afsd/cm_vnodeops.c
diff -c openafs/src/WINNT/afsd/cm_vnodeops.c:1.69.2.28 openafs/src/WINNT/afsd/cm_vnodeops.c:1.69.2.30
*** openafs/src/WINNT/afsd/cm_vnodeops.c:1.69.2.28	Tue Feb 13 00:47:02 2007
--- openafs/src/WINNT/afsd/cm_vnodeops.c	Wed May  2 20:45:58 2007
***************
*** 951,957 ****
  
  	cm_SyncOpDone(scp, bufp, CM_SCACHESYNC_NEEDCALLBACK | CM_SCACHESYNC_READ);
  
- 
          if (cm_HaveBuffer(scp, bufp, 0)) 
              break;
  
--- 951,956 ----
***************
*** 961,967 ****
              goto done;
      }
      /* locked, has callback, has valid data in buffer */
!     if ((tlen = scp->length.LowPart) > 1000) 
          return CM_ERROR_TOOBIG;
      if (tlen <= 0) {
          code = CM_ERROR_INVAL;
--- 960,966 ----
              goto done;
      }
      /* locked, has callback, has valid data in buffer */
!     if ((tlen = scp->length.LowPart) > MOUNTPOINTLEN - 1) 
          return CM_ERROR_TOOBIG;
      if (tlen <= 0) {
          code = CM_ERROR_INVAL;
***************
*** 2211,2216 ****
--- 2210,2224 ----
      code = cm_SyncOp(scp, NULL, userp, reqp, PRSFS_WRITE,
                        CM_SCACHESYNC_NEEDCALLBACK | CM_SCACHESYNC_GETSTATUS
                        | CM_SCACHESYNC_SETSTATUS | CM_SCACHESYNC_SETSIZE);
+ 
+     /* If we only have 'i' bits, then we should still be able to set
+        the size of a file we created. */
+     if (code == CM_ERROR_NOACCESS && scp->creator == userp) {
+         code = cm_SyncOp(scp, NULL, userp, reqp, PRSFS_INSERT,
+                          CM_SCACHESYNC_NEEDCALLBACK | CM_SCACHESYNC_GETSTATUS
+                          | CM_SCACHESYNC_SETSTATUS | CM_SCACHESYNC_SETSIZE);
+     }
+ 
      if (code) 
          goto done;
  
***************
*** 3240,3245 ****
--- 3248,3263 ----
  
  #define SERVERLOCKS_ENABLED(scp) (!((scp)->flags & CM_SCACHEFLAG_RO) && cm_enableServerLocks && SCP_SUPPORTS_BRLOCKS(scp))
  
+ #if defined(VICED_CAPABILITY_WRITELOCKACL)
+ #define SCP_SUPPORTS_WRITELOCKACL(scp) ((scp)->cbServerp && ((scp->cbServerp->capabilities & VICED_CAPABILITY_WRITELOCKACL)))
+ #else
+ #define SCP_SUPPORTS_WRITELOCKACL(scp) (0)
+ 
+ /* This should really be defined in any build that this code is being
+    compiled. */
+ #error  VICED_CAPABILITY_WRITELOCKACL not defined.
+ #endif
+ 
  static void cm_LockRangeSubtract(cm_range_t * pos, const cm_range_t * neg)
  {
      afs_int64 int_begin;
***************
*** 3542,3555 ****
     - CM_ERROR_NOACCESS if not
  
     Any other error from cm_SyncOp will be sent down untranslated.
  */
  long cm_LockCheckPerms(cm_scache_t * scp,
                         int lock_type,
                         cm_user_t * userp,
!                        cm_req_t * reqp)
  {
      long rights = 0;
!     long code = 0;
  
      /* lock permissions are slightly tricky because of the 'i' bit.
         If the user has PRSFS_LOCK, she can read-lock the file.  If the
--- 3560,3578 ----
     - CM_ERROR_NOACCESS if not
  
     Any other error from cm_SyncOp will be sent down untranslated.
+ 
+    If CM_ERROR_NOACCESS is returned and lock_type is LockRead, then
+    phas_insert (if non-NULL) will receive a boolean value indicating
+    whether the user has INSERT permission or not.
  */
  long cm_LockCheckPerms(cm_scache_t * scp,
                         int lock_type,
                         cm_user_t * userp,
!                        cm_req_t * reqp,
!                        int * phas_insert)
  {
      long rights = 0;
!     long code = 0, code2 = 0;
  
      /* lock permissions are slightly tricky because of the 'i' bit.
         If the user has PRSFS_LOCK, she can read-lock the file.  If the
***************
*** 3573,3593 ****
          return 0;
      }
  
      code = cm_SyncOp(scp, NULL, userp, reqp, rights,
                       CM_SCACHESYNC_GETSTATUS |
                       CM_SCACHESYNC_NEEDCALLBACK);
  
!     if (code == CM_ERROR_NOACCESS &&
!         lock_type == LockWrite &&
! 	scp->creator == userp) {
!         /* check for PRSFS_INSERT. */
  
!         code = cm_SyncOp(scp, NULL, userp, reqp, PRSFS_INSERT,
                           CM_SCACHESYNC_GETSTATUS |
                           CM_SCACHESYNC_NEEDCALLBACK);
  
! 	if (code == CM_ERROR_NOACCESS)
! 	    osi_Log0(afsd_logp, "cm_LockCheckPerms user is creator but has no INSERT bits for scp");
      }
  
      cm_SyncOpDone(scp, NULL, CM_SCACHESYNC_NEEDCALLBACK | CM_SCACHESYNC_GETSTATUS);
--- 3596,3632 ----
          return 0;
      }
  
+     if (phas_insert)
+         *phas_insert = FALSE;
+ 
      code = cm_SyncOp(scp, NULL, userp, reqp, rights,
                       CM_SCACHESYNC_GETSTATUS |
                       CM_SCACHESYNC_NEEDCALLBACK);
  
!     if (phas_insert && scp->creator == userp) {
  
!         /* If this file was created by the user, then we check for
!            PRSFS_INSERT.  If the file server is recent enough, then
!            this should be sufficient for her to get a write-lock (but
!            not necessarily a read-lock). VICED_CAPABILITY_WRITELOCKACL
!            indicates whether a file server supports getting write
!            locks when the user only has PRSFS_INSERT. 
!            
!            If the file was not created by the user we skip the check
!            because the INSERT bit will not apply to this user even
!            if it is set.
!          */
! 
!         code2 = cm_SyncOp(scp, NULL, userp, reqp, PRSFS_INSERT,
                           CM_SCACHESYNC_GETSTATUS |
                           CM_SCACHESYNC_NEEDCALLBACK);
  
! 	if (code2 == CM_ERROR_NOACCESS) {
! 	    osi_Log0(afsd_logp, "cm_LockCheckPerms user has no INSERT bits");
!         } else {
!             *phas_insert = TRUE;
!             osi_Log0(afsd_logp, "cm_LockCheckPerms user has INSERT bits");
!         }
      }
  
      cm_SyncOpDone(scp, NULL, CM_SCACHESYNC_NEEDCALLBACK | CM_SCACHESYNC_GETSTATUS);
***************
*** 3679,3689 ****
          if (Which == scp->serverLock ||
             (Which == LockRead && scp->serverLock == LockWrite)) {
  
              /* we already have the lock we need */
              osi_Log3(afsd_logp, "   we already have the correct lock. exclusives[%d], shared[%d], serverLock[%d]", 
                       scp->exclusiveLocks, scp->sharedLocks, (int)(signed char) scp->serverLock);
  
!             code = cm_LockCheckPerms(scp, Which, userp, reqp);
  
              /* special case: if we don't have permission to read-lock
                 the file, then we force a clientside lock.  This is to
--- 3718,3730 ----
          if (Which == scp->serverLock ||
             (Which == LockRead && scp->serverLock == LockWrite)) {
  
+             int has_insert = 0;
+ 
              /* we already have the lock we need */
              osi_Log3(afsd_logp, "   we already have the correct lock. exclusives[%d], shared[%d], serverLock[%d]", 
                       scp->exclusiveLocks, scp->sharedLocks, (int)(signed char) scp->serverLock);
  
!             code = cm_LockCheckPerms(scp, Which, userp, reqp, &has_insert);
  
              /* special case: if we don't have permission to read-lock
                 the file, then we force a clientside lock.  This is to
***************
*** 3691,3702 ****
                 reading files off of directories that don't grant
                 read-locks to the user. */
              if (code == CM_ERROR_NOACCESS && Which == LockRead) {
!                 osi_Log0(afsd_logp, "   User has no read-lock perms. Forcing client-side lock");
!                 force_client_lock = TRUE;
              }
  
          } else if ((scp->exclusiveLocks > 0) ||
                     (scp->sharedLocks > 0 && scp->serverLock != LockRead)) {
  
              /* We are already waiting for some other lock.  We should
                 wait for the daemon to catch up instead of generating a
--- 3732,3750 ----
                 reading files off of directories that don't grant
                 read-locks to the user. */
              if (code == CM_ERROR_NOACCESS && Which == LockRead) {
! 
!                 if (has_insert && SCP_SUPPORTS_WRITELOCKACL(scp)) {
!                     osi_Log0(afsd_logp, "   User has no read-lock perms, but has INSERT perms.");
!                     code = 0;
!                 } else {
!                     osi_Log0(afsd_logp, "   User has no read-lock perms. Forcing client-side lock");
!                     force_client_lock = TRUE;
!                 }
              }
  
          } else if ((scp->exclusiveLocks > 0) ||
                     (scp->sharedLocks > 0 && scp->serverLock != LockRead)) {
+             int has_insert = 0;
  
              /* We are already waiting for some other lock.  We should
                 wait for the daemon to catch up instead of generating a
***************
*** 3706,3717 ****
  
              /* see if we have permission to create the lock in the
                 first place. */
!             code = cm_LockCheckPerms(scp, Which, userp, reqp);
              if (code == 0)
  		code = CM_ERROR_WOULDBLOCK;
              else if (code == CM_ERROR_NOACCESS && Which == LockRead) {
!                 osi_Log0(afsd_logp, "   User has no read-lock perms.  Forcing client-side lock");
!                 force_client_lock = TRUE;
              }
  
              /* leave any other codes as-is */
--- 3754,3773 ----
  
              /* see if we have permission to create the lock in the
                 first place. */
!             code = cm_LockCheckPerms(scp, Which, userp, reqp, &has_insert);
              if (code == 0)
  		code = CM_ERROR_WOULDBLOCK;
              else if (code == CM_ERROR_NOACCESS && Which == LockRead) {
! 
!                 if (has_insert && SCP_SUPPORTS_WRITELOCKACL(scp)) {
!                     osi_Log0(afsd_logp,
!                              "   User has no read-lock perms, but has INSERT perms.");
!                     code = CM_ERROR_WOULDBLOCK;
!                 } else {
!                     osi_Log0(afsd_logp,
!                              "   User has no read-lock perms. Forcing client-side lock");
!                     force_client_lock = TRUE;
!                 }
              }
  
              /* leave any other codes as-is */
***************
*** 3719,3742 ****
          } else {
              int newLock;
              int check_data_version = FALSE;
  
              /* first check if we have permission to elevate or obtain
                 the lock. */
!             code = cm_LockCheckPerms(scp, Which, userp, reqp);
              if (code) {
!                 if (code == CM_ERROR_NOACCESS && Which == LockRead) {
                      osi_Log0(afsd_logp, "   User has no read-lock perms.  Forcing client-side lock");
                      force_client_lock = TRUE;
                  }
                  goto check_code;
              }
  
              if (scp->serverLock == LockRead && Which == LockWrite) {
  
                  /* We want to escalate the lock to a LockWrite.
!                    Unfortunately that's not really possible without
!                    letting go of the current lock.  But for now we do
!                    it anyway. */
  
                  osi_Log0(afsd_logp,
                           "   attempting to UPGRADE from LockRead to LockWrite.");
--- 3775,3802 ----
          } else {
              int newLock;
              int check_data_version = FALSE;
+             int has_insert = 0;
  
              /* first check if we have permission to elevate or obtain
                 the lock. */
!             code = cm_LockCheckPerms(scp, Which, userp, reqp, &has_insert);
              if (code) {
!                 if (code == CM_ERROR_NOACCESS && Which == LockRead &&
!                     (!has_insert || !SCP_SUPPORTS_WRITELOCKACL(scp))) {
                      osi_Log0(afsd_logp, "   User has no read-lock perms.  Forcing client-side lock");
                      force_client_lock = TRUE;
                  }
                  goto check_code;
              }
  
+             /* has_insert => (Which == LockRead, code == CM_ERROR_NOACCESS) */
+ 
              if (scp->serverLock == LockRead && Which == LockWrite) {
  
                  /* We want to escalate the lock to a LockWrite.
!                  * Unfortunately that's not really possible without
!                  * letting go of the current lock.  But for now we do
!                  * it anyway. */
  
                  osi_Log0(afsd_logp,
                           "   attempting to UPGRADE from LockRead to LockWrite.");
***************
*** 3759,3775 ****
              }
  
              /* We need to obtain a server lock of type Which in order
!                to assert this file lock */
  #ifndef AGGRESSIVE_LOCKS
              newLock = Which;
  #else
              newLock = LockWrite;
  #endif
              code = cm_IntSetLock(scp, userp, newLock, reqp);
  
!             if (code == CM_ERROR_WOULDBLOCK && newLock != Which) {
                  /* we wanted LockRead.  We tried LockWrite. Now try
!                    LockRead again */
                  newLock = Which;
  
                  /* am I sane? */
--- 3819,3838 ----
              }
  
              /* We need to obtain a server lock of type Which in order
!              * to assert this file lock */
  #ifndef AGGRESSIVE_LOCKS
              newLock = Which;
  #else
              newLock = LockWrite;
  #endif
+ 
              code = cm_IntSetLock(scp, userp, newLock, reqp);
  
! #ifdef AGGRESSIVE_LOCKS
!             if ((code == CM_ERROR_WOULDBLOCK ||
!                  code == CM_ERROR_NOACCESS) && newLock != Which) {
                  /* we wanted LockRead.  We tried LockWrite. Now try
!                  * LockRead again */
                  newLock = Which;
  
                  /* am I sane? */
***************
*** 3777,3788 ****
  
                  code = cm_IntSetLock(scp, userp, newLock, reqp);
              }
  
              if (code == 0 && check_data_version &&
                 scp->dataVersion != scp->lockDataVersion) {
                  /* We lost a race.  Although we successfully obtained
!                    a lock, someone modified the file in between.  The
!                    locks have all been technically lost. */
  
                  osi_Log0(afsd_logp,
                           "  Data version mismatch while upgrading lock.");
--- 3840,3893 ----
  
                  code = cm_IntSetLock(scp, userp, newLock, reqp);
              }
+ #endif
+ 
+             if (code == CM_ERROR_NOACCESS) {
+                 if (Which == LockRead) {
+                     if (has_insert && SCP_SUPPORTS_WRITELOCKACL(scp)) {
+                         long tcode;
+                         /* We requested a read-lock, but we have permission to
+                          * get a write-lock. Try that */
+ 
+                         tcode = cm_LockCheckPerms(scp, LockWrite, userp, reqp, NULL);
+ 
+                         if (tcode == 0) {
+                             newLock = LockWrite;
+ 
+                             osi_Log0(afsd_logp, "   User has 'i' perms and the request was for a LockRead.  Trying to get a LockWrite instead");
+ 
+                             code = cm_IntSetLock(scp, userp, newLock, reqp);
+                         }
+                     } else {
+                         osi_Log0(afsd_logp, "   User has no read-lock perms.  Forcing client-side lock");
+                         force_client_lock = TRUE;
+                     }
+                 } else if (Which == LockWrite &&
+                            scp->creator == userp && !SCP_SUPPORTS_WRITELOCKACL(scp)) {
+                     long tcode;
+ 
+                     /* Special case: if the lock request was for a
+                      * LockWrite and the user owns the file and we weren't
+                      * allowed to obtain the serverlock, we either lost a
+                      * race (the permissions changed from under us), or we
+                      * have 'i' bits, but we aren't allowed to lock the
+                      * file. */
+ 
+                     /* check if we lost a race... */
+                     tcode = cm_LockCheckPerms(scp, Which, userp, reqp, NULL);
+ 
+                     if (tcode == 0) {
+                         osi_Log0(afsd_logp, "   User has 'i' perms but can't obtain write locks. Using client-side locks.");
+                         force_client_lock = TRUE;
+                     }
+                 }
+             }
  
              if (code == 0 && check_data_version &&
                 scp->dataVersion != scp->lockDataVersion) {
                  /* We lost a race.  Although we successfully obtained
!                  * a lock, someone modified the file in between.  The
!                  * locks have all been technically lost. */
  
                  osi_Log0(afsd_logp,
                           "  Data version mismatch while upgrading lock.");
***************
*** 4200,4205 ****
--- 4305,4321 ----
          scp->lockDataVersion = scp->dataVersion;
          osi_Log1(afsd_logp, "   dataVersion on scp is %d", scp->dataVersion);
  
+         /* before we downgrade, make sure that we have enough
+            permissions to get the read lock. */
+         code = cm_LockCheckPerms(scp, LockRead, userp, reqp, NULL);
+         if (code != 0) {
+ 
+             osi_Log0(afsd_logp, "  SKIPPING downgrade because user doesn't have perms to get downgraded lock");
+ 
+             code = 0;
+             goto done;
+         }
+ 
          code = cm_IntReleaseLock(scp, userp, reqp);
  
          if (code) {
***************
*** 4525,4530 ****
--- 4641,4648 ----
      cm_req_t req;
      int newLock = -1;
      int force_client_lock = FALSE;
+     int has_insert = FALSE;
+     int check_data_version = FALSE;
  
      cm_InitReq(&req);
  
***************
*** 4570,4579 ****
  
      code = cm_LockCheckPerms(scp, oldFileLock->lockType,
                               oldFileLock->userp,
!                              &req);
  
      if (code == CM_ERROR_NOACCESS && oldFileLock->lockType == LockRead) {
          force_client_lock = TRUE;
          code = 0;
      } else if (code) {
          lock_ReleaseMutex(&scp->mx);
--- 4688,4699 ----
  
      code = cm_LockCheckPerms(scp, oldFileLock->lockType,
                               oldFileLock->userp,
!                              &req, &has_insert);
  
      if (code == CM_ERROR_NOACCESS && oldFileLock->lockType == LockRead) {
+         if (!has_insert || !SCP_SUPPORTS_WRITELOCKACL(scp)) {
          force_client_lock = TRUE;
+         }
          code = 0;
      } else if (code) {
          lock_ReleaseMutex(&scp->mx);
***************
*** 4667,4672 ****
--- 4787,4794 ----
          oldFileLock->flags |= CM_FILELOCK_FLAG_WAITLOCK;
      }
  
+     osi_assert(IS_LOCK_WAITLOCK(oldFileLock));
+ 
      if (force_client_lock ||
          !SERVERLOCKS_ENABLED(scp) ||
          scp->serverLock == oldFileLock->lockType ||
***************
*** 4718,4727 ****
--- 4840,4906 ----
          newLock = LockWrite;
  #endif
  
+         if (has_insert) {
+             /* if has_insert is non-zero, then:
+                - the lock a LockRead
+                - we don't have permission to get a LockRead
+                - we do have permission to get a LockWrite
+                - the server supports VICED_CAPABILITY_WRITELOCKACL
+             */
+ 
+             newLock = LockWrite;
+         }
+ 
          lock_ReleaseWrite(&cm_scacheLock);
  
+         /* when we get here, either we have a read-lock and want a
+            write-lock or we don't have any locks and we want some
+            lock. */
+ 
+         if (scp->serverLock == LockRead) {
+ 
+             osi_assert(newLock == LockWrite);
+ 
+             osi_Log0(afsd_logp, "  Attempting to UPGRADE from LockRead to LockWrite");
+ 
+             scp->lockDataVersion = scp->dataVersion;
+             check_data_version = TRUE;
+ 
+             code = cm_IntReleaseLock(scp, userp, &req);
+ 
+             if (code)
+                 goto pre_syncopdone;
+             else
+                 scp->serverLock = -1;
+         }
+ 
          code = cm_IntSetLock(scp, userp, newLock, &req);
  
+         if (code == 0) {
+             if (scp->dataVersion != scp->lockDataVersion) {
+                 /* we lost a race.  too bad */
+ 
+                 osi_Log0(afsd_logp,
+                          "  Data version mismatch while upgrading lock.");
+                 osi_Log2(afsd_logp,
+                          "  Data versions before=%d, after=%d",
+                          scp->lockDataVersion,
+                          scp->dataVersion);
+                 osi_Log1(afsd_logp,
+                          "  Releasing stale lock for scp 0x%x", scp);
+ 
+                 code = cm_IntReleaseLock(scp, userp, &req);
+ 
+                 scp->serverLock = -1;
+ 
+                 code = CM_ERROR_INVAL;
+ 
+                 cm_LockMarkSCacheLost(scp);
+             } else {
+                 scp->serverLock = newLock;
+             }
+         }
+ 
      pre_syncopdone:
          cm_SyncOpDone(scp, NULL, CM_SCACHESYNC_LOCK);
      post_syncopdone:
***************
*** 4735,4742 ****
              scp->fileLocksT = osi_QPrev(&oldFileLock->fileq);
          osi_QRemoveHT(&scp->fileLocksH, &scp->fileLocksT, &oldFileLock->fileq);
  	lock_ReleaseWrite(&cm_scacheLock);
-     } else if (code == 0 && IS_LOCK_WAITLOCK(oldFileLock)) {
-         scp->serverLock = newLock;
      }
      lock_ReleaseMutex(&scp->mx);
  
--- 4914,4919 ----
Index: openafs/src/WINNT/afsd/cm_volume.c
diff -c openafs/src/WINNT/afsd/cm_volume.c:1.14.4.6 openafs/src/WINNT/afsd/cm_volume.c:1.14.4.8
*** openafs/src/WINNT/afsd/cm_volume.c:1.14.4.6	Sat Feb  3 21:46:25 2007
--- openafs/src/WINNT/afsd/cm_volume.c	Fri May  4 02:06:13 2007
***************
*** 590,597 ****
--- 590,600 ----
  void cm_RefreshVolumes(void)
  {
      cm_volume_t *volp;
+     cm_scache_t *scp;
  
      cm_data.mountRootGen = time(NULL);
+ 
+     /* force a re-loading of volume data from the vldb */
      lock_ObtainWrite(&cm_volumeLock);
      for (volp = cm_data.allVolumesp; volp; volp=volp->nextp) {
  	volp->refCount++;
***************
*** 606,612 ****
      }
      lock_ReleaseWrite(&cm_volumeLock);
  
!     /* We should also refresh cached mount points */
  }
  
  /*
--- 609,632 ----
      }
      lock_ReleaseWrite(&cm_volumeLock);
  
!     /* force mount points to be re-evaluated so that 
!      * if the volume location has changed we will pick 
!      * that up
!      */
!     for ( scp = cm_data.scacheLRUFirstp; 
!           scp;
!           scp = (cm_scache_t *) osi_QNext(&scp->q)) {
!         if ( scp->fileType == CM_SCACHETYPE_MOUNTPOINT 
! #ifdef AFS_FREELANCE_CLIENT
!              && !(scp->fid.cell == AFS_FAKE_ROOT_CELL_ID && scp->fid.volume == AFS_FAKE_ROOT_VOL_ID)
! #endif
!              ) {
!             lock_ObtainMutex(&scp->mx);
!             scp->mountPointStringp[0] = '\0';
!             lock_ReleaseMutex(&scp->mx);
!         }
!     }
! 
  }
  
  /*
Index: openafs/src/WINNT/afsd/fs.c
diff -c openafs/src/WINNT/afsd/fs.c:1.32.4.8 openafs/src/WINNT/afsd/fs.c:1.32.4.9
*** openafs/src/WINNT/afsd/fs.c:1.32.4.8	Sat Apr 14 14:49:36 2007
--- openafs/src/WINNT/afsd/fs.c	Tue May 15 16:20:55 2007
***************
*** 2277,2304 ****
      return 0;
  }
  
- #define MAXGCSIZE	16
  static int
  GetCacheParmsCmd(struct cmd_syndesc *as, char *arock)
  {
      afs_int32 code;
      struct ViceIoctl blob;
!     afs_uint64 parms[MAXGCSIZE];
  
!     memset(parms, 0, sizeof(parms));
      blob.in = NULL;
      blob.in_size = 0;
      blob.out_size = sizeof(parms);
!     blob.out = (char *) parms;
      code = pioctl(0, VIOCGETCACHEPARMS, &blob, 1);
      if (code) {
  	Die(errno, NULL);
          return 1;
      }
       
!     printf("AFS using %d of the cache's available %d 1K byte blocks.\n",
!            parms[1], parms[0]);
!     if (parms[1] > parms[0])
          printf("[Cache guideline temporarily deliberately exceeded; it will be adjusted down but you may wish to increase the cache size.]\n");
      return 0;
  }
--- 2277,2303 ----
      return 0;
  }
  
  static int
  GetCacheParmsCmd(struct cmd_syndesc *as, char *arock)
  {
      afs_int32 code;
      struct ViceIoctl blob;
!     cm_cacheParms_t parms;
  
!     memset(&parms, 0, sizeof(parms));
      blob.in = NULL;
      blob.in_size = 0;
      blob.out_size = sizeof(parms);
!     blob.out = (char *) &parms;
      code = pioctl(0, VIOCGETCACHEPARMS, &blob, 1);
      if (code) {
  	Die(errno, NULL);
          return 1;
      }
       
!     printf("AFS using %I64u of the cache's available %I64u 1K byte blocks.\n",
!            parms.parms[1], parms.parms[0]);
!     if (parms.parms[1] > parms.parms[0])
          printf("[Cache guideline temporarily deliberately exceeded; it will be adjusted down but you may wish to increase the cache size.]\n");
      return 0;
  }
Index: openafs/src/WINNT/afsd/smb3.c
diff -c openafs/src/WINNT/afsd/smb3.c:1.95.2.30 openafs/src/WINNT/afsd/smb3.c:1.95.2.33
*** openafs/src/WINNT/afsd/smb3.c:1.95.2.30	Fri Feb  9 19:00:44 2007
--- openafs/src/WINNT/afsd/smb3.c	Wed May 16 11:55:16 2007
***************
*** 3292,3299 ****
      smb_fid_t *fidp;
      unsigned short infoLevel;
      smb_tran2Packet_t *outp;
!     cm_user_t *userp;
!     cm_scache_t *scp;
      cm_req_t req;
  
      cm_InitReq(&req);
--- 3292,3299 ----
      smb_fid_t *fidp;
      unsigned short infoLevel;
      smb_tran2Packet_t *outp;
!     cm_user_t *userp = NULL;
!     cm_scache_t *scp = NULL;
      cm_req_t req;
  
      cm_InitReq(&req);
***************
*** 3320,3326 ****
      if (infoLevel == SMB_SET_FILE_DISPOSITION_INFO && 
  	!(fidp->flags & SMB_FID_OPENDELETE)) {
  	osi_Log3(smb_logp,"smb_ReceiveTran2SetFileInfo !SMB_FID_OPENDELETE fidp 0x%p scp 0x%p fidp->flags 0x%x", 
! 		  fidp, scp, fidp->flags);
  	lock_ReleaseMutex(&fidp->mx);
          smb_ReleaseFID(fidp);
          smb_SendTran2Error(vcp, p, opx, CM_ERROR_NOACCESS);
--- 3320,3326 ----
      if (infoLevel == SMB_SET_FILE_DISPOSITION_INFO && 
  	!(fidp->flags & SMB_FID_OPENDELETE)) {
  	osi_Log3(smb_logp,"smb_ReceiveTran2SetFileInfo !SMB_FID_OPENDELETE fidp 0x%p scp 0x%p fidp->flags 0x%x", 
! 		  fidp, fidp->scp, fidp->flags);
  	lock_ReleaseMutex(&fidp->mx);
          smb_ReleaseFID(fidp);
          smb_SendTran2Error(vcp, p, opx, CM_ERROR_NOACCESS);
***************
*** 3330,3336 ****
  	 infoLevel == SMB_SET_FILE_END_OF_FILE_INFO)
           && !(fidp->flags & SMB_FID_OPENWRITE)) {
  	osi_Log3(smb_logp,"smb_ReceiveTran2SetFileInfo !SMB_FID_OPENWRITE fidp 0x%p scp 0x%p fidp->flags 0x%x", 
! 		  fidp, scp, fidp->flags);
  	lock_ReleaseMutex(&fidp->mx);
          smb_ReleaseFID(fidp);
          smb_SendTran2Error(vcp, p, opx, CM_ERROR_NOACCESS);
--- 3330,3336 ----
  	 infoLevel == SMB_SET_FILE_END_OF_FILE_INFO)
           && !(fidp->flags & SMB_FID_OPENWRITE)) {
  	osi_Log3(smb_logp,"smb_ReceiveTran2SetFileInfo !SMB_FID_OPENWRITE fidp 0x%p scp 0x%p fidp->flags 0x%x", 
! 		  fidp, fidp->scp, fidp->flags);
  	lock_ReleaseMutex(&fidp->mx);
          smb_ReleaseFID(fidp);
          smb_SendTran2Error(vcp, p, opx, CM_ERROR_NOACCESS);
***************
*** 3654,3670 ****
      unsigned long lattr;
      smb_dirListPatch_t *patchp;
      smb_dirListPatch_t *npatchp;
!         
      for(patchp = *dirPatchespp; patchp; patchp =
           (smb_dirListPatch_t *) osi_QNext(&patchp->q)) {
! 		code = cm_GetSCache(&patchp->fid, &scp, userp, reqp);
!         if (code) continue;
          lock_ObtainMutex(&scp->mx);
!         code = cm_SyncOp(scp, NULL, userp, reqp, 0,
!                           CM_SCACHESYNC_NEEDCALLBACK | CM_SCACHESYNC_GETSTATUS);
!         if (code) { 
              lock_ReleaseMutex(&scp->mx);
-             cm_ReleaseSCache(scp);
  
              dptr = patchp->dptr;
  
--- 3654,3690 ----
      unsigned long lattr;
      smb_dirListPatch_t *patchp;
      smb_dirListPatch_t *npatchp;
!     afs_uint32 rights;
!     afs_int32 mustFake = 0;
! 
!     code = cm_FindACLCache(dscp, userp, &rights);
!     if (code == 0 && !(rights & PRSFS_READ))
!         mustFake = 1;
!     else if (code == -1) {
!         lock_ObtainMutex(&dscp->mx);
!         code = cm_SyncOp(dscp, NULL, userp, reqp, PRSFS_READ,
!                           CM_SCACHESYNC_NEEDCALLBACK | CM_SCACHESYNC_GETSTATUS);
!         lock_ReleaseMutex(&dscp->mx);
!         if (code == CM_ERROR_NOACCESS) {
!             mustFake = 1;
!             code = 0;
!         }
!     }
!     if (code)
!         return code;
! 
      for(patchp = *dirPatchespp; patchp; patchp =
           (smb_dirListPatch_t *) osi_QNext(&patchp->q)) {
!         code = cm_GetSCache(&patchp->fid, &scp, userp, reqp);
!         if (code) 
!             continue;
! 
          lock_ObtainMutex(&scp->mx);
!         if (mustFake == 0)
!             code = cm_SyncOp(scp, NULL, userp, reqp, 0,
!                              CM_SCACHESYNC_NEEDCALLBACK | CM_SCACHESYNC_GETSTATUS);
!         if (mustFake || code) { 
              lock_ReleaseMutex(&scp->mx);
  
              dptr = patchp->dptr;
  
***************
*** 3691,3699 ****
                  *((FILETIME *)dptr) = ft;
                  dptr += 24;
  
                  /* merge in hidden attribute */
                  if ( patchp->flags & SMB_DIRLISTPATCH_DOTFILE ) {
!                     *((u_long *)dptr) = SMB_ATTR_HIDDEN;
                  }
                  dptr += 4;
              } else {
--- 3711,3730 ----
                  *((FILETIME *)dptr) = ft;
                  dptr += 24;
  
+                 switch (scp->fileType) {
+                 case CM_SCACHETYPE_DIRECTORY:
+                 case CM_SCACHETYPE_MOUNTPOINT:
+                 case CM_SCACHETYPE_SYMLINK:
+                 case CM_SCACHETYPE_INVALID:
+                     *((u_long *)dptr) = SMB_ATTR_DIRECTORY;
+                     break;
+                 default:
+                     *((u_long *)dptr) = SMB_ATTR_NORMAL;
+                         
+                 }
                  /* merge in hidden attribute */
                  if ( patchp->flags & SMB_DIRLISTPATCH_DOTFILE ) {
!                     *((u_long *)dptr) |= SMB_ATTR_HIDDEN;
                  }
                  dptr += 4;
              } else {
***************
*** 3730,3742 ****
                  *((u_short *)dptr) = shortTemp;
                  dptr += 10;
  
                  /* merge in hidden (dot file) attribute */
                  if ( patchp->flags & SMB_DIRLISTPATCH_DOTFILE ) {
!                     attr = SMB_ATTR_HIDDEN;
!                     *dptr++ = attr & 0xff;
!                     *dptr++ = (attr >> 8) & 0xff;
                  }       
              }
              continue;
          }
          
--- 3761,3785 ----
                  *((u_short *)dptr) = shortTemp;
                  dptr += 10;
  
+                 /* set the attribute */
+                 switch (scp->fileType) {
+                 case CM_SCACHETYPE_DIRECTORY:
+                 case CM_SCACHETYPE_MOUNTPOINT:
+                 case CM_SCACHETYPE_SYMLINK:
+                 case CM_SCACHETYPE_INVALID:
+                     attr = SMB_ATTR_DIRECTORY;
+                 default:
+                     attr = SMB_ATTR_NORMAL;
+                 }
                  /* merge in hidden (dot file) attribute */
                  if ( patchp->flags & SMB_DIRLISTPATCH_DOTFILE ) {
!                     attr |= SMB_ATTR_HIDDEN;
                  }       
+                 *dptr++ = attr & 0xff;
+                 *dptr++ = (attr >> 8) & 0xff;
              }
+             
+             cm_ReleaseSCache(scp);
              continue;
          }
          
Index: openafs/src/WINNT/afsd/smb_iocons.h
diff -c openafs/src/WINNT/afsd/smb_iocons.h:1.10.4.3 openafs/src/WINNT/afsd/smb_iocons.h:1.10.4.4
*** openafs/src/WINNT/afsd/smb_iocons.h:1.10.4.3	Sat Apr 14 14:49:36 2007
--- openafs/src/WINNT/afsd/smb_iocons.h	Tue May 15 16:20:55 2007
***************
*** 41,51 ****
          int sb_default;
  };
  
- #define CM_IOCTLCACHEPARMS		16
- typedef struct cm_cacheParms {
-         afs_uint64 parms[CM_IOCTLCACHEPARMS];
- } cm_cacheParms_t;
- 
  /* set cell flags */
  #define CM_SETCELLFLAG_SUID		2
  
--- 41,46 ----
Index: openafs/src/WINNT/aklog/aklog.c
diff -c openafs/src/WINNT/aklog/aklog.c:1.14.4.3 openafs/src/WINNT/aklog/aklog.c:1.14.4.4
*** openafs/src/WINNT/aklog/aklog.c:1.14.4.3	Wed Apr  4 16:26:10 2007
--- openafs/src/WINNT/aklog/aklog.c	Tue May 15 23:34:58 2007
***************
*** 255,262 ****
              }
              id = 0;
              strncpy(aclient->name, username, MAXKTCNAMELEN - 1);
              strcpy(aclient->instance, "");
!             strncpy(aclient->cell, c->realm, MAXKTCREALMLEN - 1);
  
              for ( i=0; aclient->cell[i]; i++ ) {
                  if ( islower(aclient->cell[i]) )
--- 255,264 ----
              }
              id = 0;
              strncpy(aclient->name, username, MAXKTCNAMELEN - 1);
+             aclient->name[MAXKTCNAMELEN - 1] = '\0';
              strcpy(aclient->instance, "");
!             strncpy(aclient->cell, cell_to_use, MAXKTCREALMLEN - 1);
!             aclient->cell[MAXKTCREALMLEN - 1] = '\0';
  
              for ( i=0; aclient->cell[i]; i++ ) {
                  if ( islower(aclient->cell[i]) )
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.13 openafs/src/WINNT/doc/install/Documentation/en_US/html/index.htm:1.5.4.14
*** openafs/src/WINNT/doc/install/Documentation/en_US/html/index.htm:1.5.4.13	Wed Apr 18 12:03:12 2007
--- openafs/src/WINNT/doc/install/Documentation/en_US/html/index.htm	Wed May 16 18:37:08 2007
***************
*** 198,204 ****
  
  <h1>OpenAFS for Windows</h1>
  
! <h2>Version 1.5.19</h2>
  
  <p class=MsoNormal><span style='mso-fareast-font-family:"MS Mincho"'>&nbsp; <o:p></o:p></span></p>
  
--- 198,204 ----
  
  <h1>OpenAFS for Windows</h1>
  
! <h2>Version 1.5.20</h2>
  
  <p class=MsoNormal><span style='mso-fareast-font-family:"MS Mincho"'>&nbsp; <o:p></o:p></span></p>
  
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.14 openafs/src/WINNT/doc/install/Documentation/en_US/html/ReleaseNotes/logo.htm:1.1.6.15
*** openafs/src/WINNT/doc/install/Documentation/en_US/html/ReleaseNotes/logo.htm:1.1.6.14	Wed Apr 18 12:03:22 2007
--- openafs/src/WINNT/doc/install/Documentation/en_US/html/ReleaseNotes/logo.htm	Wed May 16 18:37:13 2007
***************
*** 18,24 ****
  .shape {behavior:url(#default#VML);}
  </style>
  <![endif]-->
! <title>OpenAFS for Windows 1.5.19 Release Notes</title>
  <!--[if gte mso 9]><xml>
   <o:DocumentProperties>
    <o:Revision>1</o:Revision>
--- 18,24 ----
  .shape {behavior:url(#default#VML);}
  </style>
  <![endif]-->
! <title>OpenAFS for Windows 1.5.20 Release Notes</title>
  <!--[if gte mso 9]><xml>
   <o:DocumentProperties>
    <o:Revision>1</o:Revision>
Index: openafs/src/WINNT/doc/install/Documentation/en_US/html/ReleaseNotes/relnotes-frames.htm
diff -c openafs/src/WINNT/doc/install/Documentation/en_US/html/ReleaseNotes/relnotes-frames.htm:1.1.4.16 openafs/src/WINNT/doc/install/Documentation/en_US/html/ReleaseNotes/relnotes-frames.htm:1.1.4.17
*** openafs/src/WINNT/doc/install/Documentation/en_US/html/ReleaseNotes/relnotes-frames.htm:1.1.4.16	Wed Apr 18 12:03:22 2007
--- openafs/src/WINNT/doc/install/Documentation/en_US/html/ReleaseNotes/relnotes-frames.htm	Wed May 16 18:37:13 2007
***************
*** 8,14 ****
  <meta name=Generator content="Microsoft Word 11">
  <meta name=Originator content="Microsoft Word 11">
  <link rel=File-List href="relnotes-frames_files/filelist.xml">
! <title>OpenAFS for Windows 1.5.19 Release Notes</title>
  <!--[if gte mso 9]><xml>
   <w:WordDocument>
    <w:Zoom>0</w:Zoom>
--- 8,14 ----
  <meta name=Generator content="Microsoft Word 11">
  <meta name=Originator content="Microsoft Word 11">
  <link rel=File-List href="relnotes-frames_files/filelist.xml">
! <title>OpenAFS for Windows 1.5.20 Release Notes</title>
  <!--[if gte mso 9]><xml>
   <w:WordDocument>
    <w:Zoom>0</w:Zoom>
***************
*** 17,25 ****
    <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>
--- 17,22 ----
***************
*** 79,85 ****
  	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;}
--- 76,81 ----
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.17 openafs/src/WINNT/doc/install/Documentation/en_US/html/ReleaseNotes/relnotes.htm:1.6.4.18
*** openafs/src/WINNT/doc/install/Documentation/en_US/html/ReleaseNotes/relnotes.htm:1.6.4.17	Wed Apr 18 12:03:22 2007
--- openafs/src/WINNT/doc/install/Documentation/en_US/html/ReleaseNotes/relnotes.htm	Wed May 16 18:37:13 2007
***************
*** 19,25 ****
  .shape {behavior:url(#default#VML);}
  </style>
  <![endif]-->
! <title>OpenAFS for Windows 1.5.19 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.20 Release Notes</title>
  <o:SmartTagType namespaceuri="urn:schemas-microsoft-com:office:smarttags"
   name="PostalCode"/>
  <o:SmartTagType namespaceuri="urn:schemas-microsoft-com:office:smarttags"
***************
*** 42,69 ****
   <o:DocumentProperties>
    <o:LastAuthor>Jeffrey Altman</o:LastAuthor>
    <o:Revision>2</o:Revision>
!   <o:TotalTime>720</o:TotalTime>
    <o:Created>2006-11-29T17:26:00Z</o:Created>
    <o:LastSaved>2006-12-18T23:20:00Z</o:LastSaved>
!   <o:Pages>17</o:Pages>
!   <o:Words>16931</o:Words>
!   <o:Characters>96510</o:Characters>
    <o:Company>Secure Endpoints Inc.</o:Company>
!   <o:Lines>804</o:Lines>
!   <o:Paragraphs>226</o:Paragraphs>
!   <o:CharactersWithSpaces>113215</o:CharactersWithSpaces>
!   <o:Version>11.8107</o:Version>
   </o:DocumentProperties>
  </xml><![endif]--><!--[if gte mso 9]><xml>
   <w:WordDocument>
-   <w:Zoom>0</w:Zoom>
    <w:ValidateAgainstSchemas/>
    <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>
    <w:IgnoreMixedContent>false</w:IgnoreMixedContent>
    <w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>
-   <w:Compatibility>
-    <w:UseFELayout/>
-   </w:Compatibility>
    <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel>
   </w:WordDocument>
  </xml><![endif]--><!--[if gte mso 9]><xml>
--- 42,65 ----
   <o:DocumentProperties>
    <o:LastAuthor>Jeffrey Altman</o:LastAuthor>
    <o:Revision>2</o:Revision>
!   <o:TotalTime>744</o:TotalTime>
    <o:Created>2006-11-29T17:26:00Z</o:Created>
    <o:LastSaved>2006-12-18T23:20:00Z</o:LastSaved>
!   <o:Pages>1</o:Pages>
!   <o:Words>16067</o:Words>
!   <o:Characters>91587</o:Characters>
    <o:Company>Secure Endpoints Inc.</o:Company>
!   <o:Lines>763</o:Lines>
!   <o:Paragraphs>214</o:Paragraphs>
!   <o:CharactersWithSpaces>107440</o:CharactersWithSpaces>
!   <o:Version>11.8132</o:Version>
   </o:DocumentProperties>
  </xml><![endif]--><!--[if gte mso 9]><xml>
   <w:WordDocument>
    <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>
***************
*** 491,499 ****
  	{page:Section1;}
   /* List Definitions */
   @list l0
  	{mso-list-id:1266575792;
  	mso-list-template-ids:-1777932230;}
! @list l0:level1
  	{mso-level-number-format:bullet;
  	mso-level-text:\F0B7;
  	mso-level-tab-stop:36.0pt;
--- 487,506 ----
  	{page:Section1;}
   /* List Definitions */
   @list l0
+ 	{mso-list-id:651374614;
+ 	mso-list-template-ids:-98242914;}
+ @list l0:level1
+ 	{mso-level-number-format:bullet;
+ 	mso-level-text:\F0B7;
+ 	mso-level-tab-stop:36.0pt;
+ 	mso-level-number-position:left;
+ 	text-indent:-18.0pt;
+ 	mso-ansi-font-size:10.0pt;
+ 	font-family:Symbol;}
+ @list l1
  	{mso-list-id:1266575792;
  	mso-list-template-ids:-1777932230;}
! @list l1:level1
  	{mso-level-number-format:bullet;
  	mso-level-text:\F0B7;
  	mso-level-tab-stop:36.0pt;
***************
*** 501,549 ****
  	text-indent:-18.0pt;
  	mso-ansi-font-size:10.0pt;
  	font-family:Symbol;}
! @list l0:level2
  	{mso-level-tab-stop:72.0pt;
  	mso-level-number-position:left;
  	text-indent:-18.0pt;}
! @list l0:level3
  	{mso-level-tab-stop:108.0pt;
  	mso-level-number-position:left;
  	text-indent:-18.0pt;}
! @list l0:level4
  	{mso-level-tab-stop:144.0pt;
  	mso-level-number-position:left;
  	text-indent:-18.0pt;}
! @list l0:level5
  	{mso-level-tab-stop:180.0pt;
  	mso-level-number-position:left;
  	text-indent:-18.0pt;}
! @list l0:level6
  	{mso-level-tab-stop:216.0pt;
  	mso-level-number-position:left;
  	text-indent:-18.0pt;}
! @list l0:level7
  	{mso-level-tab-stop:252.0pt;
  	mso-level-number-position:left;
  	text-indent:-18.0pt;}
! @list l0:level8
  	{mso-level-tab-stop:288.0pt;
  	mso-level-number-position:left;
  	text-indent:-18.0pt;}
! @list l0:level9
  	{mso-level-tab-stop:324.0pt;
  	mso-level-number-position:left;
  	text-indent:-18.0pt;}
- @list l1
- 	{mso-list-id:1481657723;
- 	mso-list-template-ids:2053130416;}
- @list l1:level1
- 	{mso-level-number-format:bullet;
- 	mso-level-text:\F0B7;
- 	mso-level-tab-stop:36.0pt;
- 	mso-level-number-position:left;
- 	text-indent:-18.0pt;
- 	mso-ansi-font-size:10.0pt;
- 	font-family:Symbol;}
  ol
  	{margin-bottom:0pt;}
  ul
--- 508,545 ----
  	text-indent:-18.0pt;
  	mso-ansi-font-size:10.0pt;
  	font-family:Symbol;}
! @list l1:level2
  	{mso-level-tab-stop:72.0pt;
  	mso-level-number-position:left;
  	text-indent:-18.0pt;}
! @list l1:level3
  	{mso-level-tab-stop:108.0pt;
  	mso-level-number-position:left;
  	text-indent:-18.0pt;}
! @list l1:level4
  	{mso-level-tab-stop:144.0pt;
  	mso-level-number-position:left;
  	text-indent:-18.0pt;}
! @list l1:level5
  	{mso-level-tab-stop:180.0pt;
  	mso-level-number-position:left;
  	text-indent:-18.0pt;}
! @list l1:level6
  	{mso-level-tab-stop:216.0pt;
  	mso-level-number-position:left;
  	text-indent:-18.0pt;}
! @list l1:level7
  	{mso-level-tab-stop:252.0pt;
  	mso-level-number-position:left;
  	text-indent:-18.0pt;}
! @list l1:level8
  	{mso-level-tab-stop:288.0pt;
  	mso-level-number-position:left;
  	text-indent:-18.0pt;}
! @list l1:level9
  	{mso-level-tab-stop:324.0pt;
  	mso-level-number-position:left;
  	text-indent:-18.0pt;}
  ol
  	{margin-bottom:0pt;}
  ul
***************
*** 565,577 ****
  	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="8194"/>
  </xml><![endif]--><!--[if gte mso 9]><xml>
   <o:shapelayout v:ext="edit">
    <o:idmap v:ext="edit" data="1"/>
--- 561,572 ----
  	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="9218"/>
  </xml><![endif]--><!--[if gte mso 9]><xml>
   <o:shapelayout v:ext="edit">
    <o:idmap v:ext="edit" data="1"/>
***************
*** 583,589 ****
  
  <div class=Section1>
  
! <p class=MsoTitle>OpenAFS for Windows 1.5.19<br>
  Release Notes</p>
  
  <p class=MsoBodyText>The Andrew File System (AFS) is a location-independent
--- 578,584 ----
  
  <div class=Section1>
  
! <p class=MsoTitle>OpenAFS for Windows 1.5.20<br>
  Release Notes</p>
  
  <p class=MsoBodyText>The Andrew File System (AFS) is a location-independent
***************
*** 643,651 ****
  Operational Notes<span style='color:windowtext;display:none;mso-hide:all;
  text-decoration:none;text-underline:none'>. 2</span></a></span></p>
  
! <p class=MsoToc1><span class=MsoHyperlink><a href="#_Toc115417112">4. How to
! Debug Problems with OpenAFS for Windows:<span style='color:windowtext;
! display:none;mso-hide:all;text-decoration:none;text-underline:none'> 11</span></a></span></p>
  
  <p class=MsoToc1><span class=MsoHyperlink><a href="#_Toc115417113">5. Reporting
  Bugs:<span style='color:windowtext;display:none;mso-hide:all;text-decoration:
--- 638,646 ----
  Operational Notes<span style='color:windowtext;display:none;mso-hide:all;
  text-decoration:none;text-underline:none'>. 2</span></a></span></p>
  
! <p class=MsoToc1><span class=MsoHyperlink><a href="#_Toc115417112">4. How to Debug
! Problems with OpenAFS for Windows:<span style='color:windowtext;display:none;
! mso-hide:all;text-decoration:none;text-underline:none'> 11</span></a></span></p>
  
  <p class=MsoToc1><span class=MsoHyperlink><a href="#_Toc115417113">5. Reporting
  Bugs:<span style='color:windowtext;display:none;mso-hide:all;text-decoration:
***************
*** 655,663 ****
  Contribute to the Development of OpenAFS for Windows<span style='color:windowtext;
  display:none;mso-hide:all;text-decoration:none;text-underline:none'>. 14</span></a></span></p>
  
! <p class=MsoToc1><span class=MsoHyperlink><a href="#_Toc115417115">7. MSI
! Deployment Guide<span style='color:windowtext;display:none;mso-hide:all;
! text-decoration:none;text-underline:none'>. 15</span></a></span></p>
  
  <p class=MsoToc1><span class=MsoHyperlink><a href="#_Toc115417116">Appendix A:
  Registry Values<span style='color:windowtext;display:none;mso-hide:all;
--- 650,658 ----
  Contribute to the Development of OpenAFS for Windows<span style='color:windowtext;
  display:none;mso-hide:all;text-decoration:none;text-underline:none'>. 14</span></a></span></p>
  
! <p class=MsoToc1><span class=MsoHyperlink><a href="#_Toc115417115">7. MSI Deployment
! Guide<span style='color:windowtext;display:none;mso-hide:all;text-decoration:
! none;text-underline:none'>. 15</span></a></span></p>
  
  <p class=MsoToc1><span class=MsoHyperlink><a href="#_Toc115417116">Appendix A:
  Registry Values<span style='color:windowtext;display:none;mso-hide:all;
***************
*** 788,795 ****
  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 5 authentication support is
! desired.</p>
  
  <h1><a name="_Toc154229357"></a><a name="_Toc152605038"></a><a
  name="_Toc115416104"></a><a name="_Toc139993088"></a><a name="_Toc126872169"></a><a
--- 783,790 ----
  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="_Toc154229357"></a><a name="_Toc152605038"></a><a
  name="_Toc115416104"></a><a name="_Toc139993088"></a><a name="_Toc126872169"></a><a
***************
*** 801,825 ****
  name="_Toc115416105"></a><a name="_Toc139993089"></a><a name="_Toc126872170"></a><a
  name="_Toc115417043"></a><span style='mso-bookmark:_Toc154229358'><span
  style='mso-bookmark:_Toc152605039'><span style='mso-bookmark:_Toc115416105'>3.1.
! Requirements for Kerberos 5 Authentication</span></span></span></h2>
  
! <p class=MsoNormal>The Kerberos 4 infrastructure on which the OpenAFS 1.2
  series is reliant is no longer secure.&nbsp; Cross-realm Kerberos is very
! important in the AFS context and most sites have or are migrating to Kerberos 5
  environments.&nbsp; The OpenAFS 1.4 series (and later) integrates with <a
  href="http://web.mit.edu/kerberos/">MIT Kerberos for Windows</a> 2.6.5 and
! above to support Kerberos 5 authentication including automatic renewal of AFS
  tokens and single sign-on via the Microsoft Windows Kerberos Logon
! Service.<span style='mso-spacerun:yes'>  </span></p>
  
  <p class=MsoNormal>When KFW is installed, the OpenAFS for Windows client will
! obtain Kerberos 5 tickets and use them as tokens without modification.&nbsp;
! The OpenAFS 1.4 client requires that all of the AFS Servers with which it
! communicates support the use of Kerberos 5 tickets as tokens. If Kerberos 5
! based tokens are presented to an AFS server that does not understand them, the
  server will be unable to communicate with the client when tokens are present.
! Kerberos 5 based tokens are supported by OpenAFS release 1.2.8 or later.&nbsp;
! IBM Transarc servers do not support Kerberos 5.</p>
  
  <h3><a name="_Toc154229359"></a><a name="_Toc152605040"></a><a
  name="_Toc115416106"></a><a name="_Toc139993090"></a><a name="_Toc126872171"></a><span
--- 796,828 ----
  name="_Toc115416105"></a><a name="_Toc139993089"></a><a name="_Toc126872170"></a><a
  name="_Toc115417043"></a><span style='mso-bookmark:_Toc154229358'><span
  style='mso-bookmark:_Toc152605039'><span style='mso-bookmark:_Toc115416105'>3.1.
! Requirements for Kerberos v5 Authentication</span></span></span></h2>
  
! <p class=MsoNormal>The Kerberos v4 infrastructure on which the OpenAFS 1.2
  series is reliant is no longer secure.&nbsp; Cross-realm Kerberos is very
! important in the AFS context and most sites have or are migrating to Kerberos v5
  environments.&nbsp; The OpenAFS 1.4 series (and later) integrates with <a
  href="http://web.mit.edu/kerberos/">MIT Kerberos for Windows</a> 2.6.5 and
! above to support Kerberos v5 authentication including automatic renewal of AFS
  tokens and single sign-on via the Microsoft Windows Kerberos Logon
! Service.<span style='mso-spacerun:yes'>  </span><span
! style='mso-spacerun:yes'> </span></p>
! 
! <p class=MsoNormal>The recommended version of <a
! href="http://web.mit.edu/kerberos/">MIT Kerberos for Windows</a> is 3.2. <span
! style='mso-spacerun:yes'> </span>KFW 3.2 includes Network Identity Manager 1.2
! which integrates with the <a href="#_3.1.3._Network_Identity">AFS Provider</a>
! installed as part of OpenAFS for Windows. <span
! style='mso-spacerun:yes'> </span></p>
  
  <p class=MsoNormal>When KFW is installed, the OpenAFS for Windows client will
! obtain Kerberos v5 tickets and use them as tokens without modification.&nbsp;
! The OpenAFS client requires that all of the AFS Servers with which it
! communicates support the use of Kerberos v5 tickets as tokens. If Kerberos v5
! 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="_Toc154229359"></a><a name="_Toc152605040"></a><a
  name="_Toc115416106"></a><a name="_Toc139993090"></a><a name="_Toc126872171"></a><span
***************
*** 827,846 ****
  style='mso-bookmark:_Toc115416106'>3.1.1. Active Directory</span></span></span></h3>
  
  <p class=MsoNormal>Microsoft Windows Active Directory can be used as a Kerberos
! 5 KDC in conjunction with OpenAFS.<span style='mso-spacerun:yes'>  </span>There
! are two things to consider when using an Active Directory as the Kerberos realm
! that issues the AFS service ticket.&nbsp; First, the Kerberos 5 tickets issued
! by Active Directory can be quite large when compared to tickets issued by a
! traditional KDC due to the incorporation of authorization data (the Microsoft
! PAC).&nbsp; If the issued tickets are larger than 344 bytes, the OpenAFS 1.2
! servers will be unable to process them and will issue a 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 5 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 5
! 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
--- 830,849 ----
  style='mso-bookmark:_Toc115416106'>3.1.1. Active Directory</span></span></span></h3>
  
  <p class=MsoNormal>Microsoft Windows Active Directory can be used as a Kerberos
! v5 KDC in conjunction with OpenAFS.<span style='mso-spacerun:yes'> 
! </span>There are two things to consider when using an Active Directory as the
! Kerberos realm that issues the AFS service ticket.&nbsp; First, the Kerberos v5
! tickets issued by Active Directory can be quite large when compared to tickets
! issued by a traditional KDC due to the incorporation of authorization data (the
! Microsoft PAC).&nbsp; If the issued tickets are larger than 344 bytes, the
! OpenAFS 1.2 servers will be unable to process them and will issue a
! 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
***************
*** 859,901 ****
  
  <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 5 ticket from realm FOO to a
! Kerberos 4 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 5 tickets as AFS (2b)
! tokens. This is the first building block necessary to break away from the
! limitations of Kerberos 4 with AFS.&nbsp; By using Kerberos 5 directly we avoid
! the security holes inherent in Kerberos 4 cross-realm.&nbsp; We also gain
! access to cryptographically stronger algorithms for authentication and encryption.
! </p>
  
! <p class=MsoNormal>Another reason for using Kerberos 5 directly is because the
  krb524 service runs on a port (4444) which has become increasingly blocked by
  ISPs.&nbsp; The port was used to spread a worm which attacked Microsoft Windows
  in the summer of 2003.&nbsp; When the port is blocked users find that they are
  unable to authenticate.</p>
  
! <p class=MsoNormal>Replacing the Kerberos 4 ticket with a Kerberos 5 ticket is
! a win in all situations except when the cell name does not match the realm name
! and the principal names placed into the ACL’s are not the principal names from
! the Kerberos 5 ticket.&nbsp; To support this transition, OpenAFS for Windows
! 1.4 adds a new registry value, <i><a href="#_Value___:_Use524">Use524</a></i>,
  to force the use of krb524d.&nbsp; However, the availability of this option
  should only be used by individuals until such time as their organizations can
  provide a more permanent solution.</p>
  
! <h3><a name="_Toc154229361"></a><a name="_Toc152605042"><span style='mso-bookmark:
! _Toc154229361'>3.1.3. Network Identity Manager Plug-in</span></a></h3>
  
  <p class=MsoNormal>As of release 1.5.9, OpenAFS for Windows includes a Network
! Identity Manager plug-in for obtaining AFS tokens.<span
  style='mso-spacerun:yes'>  </span>This plug-in is a contribution from <a
  href="https://www.secure-endpoints.com/">Secure Endpoints Inc.</a><span
! style='mso-spacerun:yes'>  </span>Network Identity Manager is a credential
! management tool that ships with <a href="http://web.mit.edu/kerberos/">MIT
! Kerberos for Windows</a> version 3.0 and above.<span style='mso-spacerun:yes'> 
! </span>The OpenAFS plug-in requires <a href="http://web.mit.edu/kerberos/">MIT
! Kerberos for Windows</a> version 3.1 or above.</p>
  
  <p class=MsoNormal align=center style='text-align:center'><!--[if gte vml 1]><v:shapetype
   id="_x0000_t75" coordsize="21600,21600" o:spt="75" o:preferrelative="t"
--- 862,906 ----
  
  <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
  ISPs.&nbsp; The port was used to spread a worm which attacked Microsoft Windows
  in the summer of 2003.&nbsp; When the port is blocked users find that they are
  unable to authenticate.</p>
  
! <p class=MsoNormal>Replacing the Kerberos v4 ticket with a Kerberos v5 ticket
! is a win in all situations except when the cell name does not match the realm
! name and the principal names placed into the ACL’s are not the principal names
! from the Kerberos v5 ticket.&nbsp; To support this transition, OpenAFS for
! Windows 1.4 adds a new registry value, <i><a href="#_Value___:_Use524">Use524</a></i>,
  to force the use of krb524d.&nbsp; However, the availability of this option
  should only be used by individuals until such time as their organizations can
  provide a more permanent solution.</p>
  
! <h3><a name="_Toc152605042"></a><a name="_Toc154229361"></a><a
! name="_3.1.3._Network_Identity"></a><span style='mso-bookmark:_Toc152605042'><span
! style='mso-bookmark:_Toc154229361'>3.1.3. Network Identity Manager P</span></span>rovider</h3>
  
  <p class=MsoNormal>As of release 1.5.9, OpenAFS for Windows includes a Network
! Identity Manager Provider for obtaining AFS tokens.<span
  style='mso-spacerun:yes'>  </span>This plug-in is a contribution from <a
  href="https://www.secure-endpoints.com/">Secure Endpoints Inc.</a><span
! style='mso-spacerun:yes'>  </span>Network Identity Manager is a multiple
! identity credential management tool that ships with <a
! href="http://web.mit.edu/kerberos/">MIT Kerberos for Windows</a> version 3.0
! and above.<span style='mso-spacerun:yes'>  </span>The OpenAFS plug-in requires <a
! href="http://web.mit.edu/kerberos/">MIT Kerberos for Windows</a> version 3.1 or
! above.<span style='mso-spacerun:yes'>  </span>Version 3.2 is required for the
! best user experience.</p>
  
  <p class=MsoNormal align=center style='text-align:center'><!--[if gte vml 1]><v:shapetype
   id="_x0000_t75" coordsize="21600,21600" o:spt="75" o:preferrelative="t"
***************
*** 924,934 ****
  src="relnotes_files/image002.jpg" v:shapes="_x0000_i1025"><![endif]></p>
  
  <p class=MsoNormal>The Network Identity Manager replaces the former KFW ticket
! manager, Leash”, and when combined with the OpenAFS plug-in is intended to be
! used as a replacement for the AFS System Tray Tool (afscreds.exe).<span
  style='mso-spacerun:yes'>  </span>Unlike both Leash and the AFS System Tray
! Tool, Network Identity Manager with the OpenAFS plug-in can easily manage AFS
! tokens for multiple cells from one or more Kerberos 5 identities.</p>
  
  <p class=MsoNormal align=center style='text-align:center'><!--[if gte vml 1]><v:shape
   id="_x0000_i1026" type="#_x0000_t75" style='width:406.5pt;height:294.75pt'>
--- 929,939 ----
  src="relnotes_files/image002.jpg" v:shapes="_x0000_i1025"><![endif]></p>
  
  <p class=MsoNormal>The Network Identity Manager replaces the former KFW ticket
! manager, Leash”, and when combined with the OpenAFS Provider, it is intended to
! be used as a replacement for the AFS System Tray Tool (afscreds.exe).<span
  style='mso-spacerun:yes'>  </span>Unlike both Leash and the AFS System Tray
! Tool, Network Identity Manager with the OpenAFS Provider can easily manage AFS
! tokens for multiple cells from one or more Kerberos v5 identities.</p>
  
  <p class=MsoNormal align=center style='text-align:center'><!--[if gte vml 1]><v:shape
   id="_x0000_i1026" type="#_x0000_t75" style='width:406.5pt;height:294.75pt'>
***************
*** 936,947 ****
  </v:shape><![endif]--><![if !vml]><img border=0 width=542 height=393
  src="relnotes_files/image004.jpg" v:shapes="_x0000_i1026"><![endif]></p>
  
! <p class=MsoNormal>The AFS configuration panel for each Kerberos 5 identity is
  used to configure which cells credentials should be obtained for and how they
  should be obtained.<span style='mso-spacerun:yes'>  </span>If the cell to realm
  mapping cannot be automatically determined, it can be explicitly
! specified.<span style='mso-spacerun:yes'>  </span>If the cell does not support
! Kerberos 5 tickets as tokens, then a krb524 service can be configured.</p>
  
  <p class=MsoNormal align=center style='text-align:center'><!--[if gte vml 1]><v:shape
   id="_x0000_i1027" type="#_x0000_t75" style='width:406.5pt;height:294.75pt'>
--- 941,952 ----
  </v:shape><![endif]--><![if !vml]><img border=0 width=542 height=393
  src="relnotes_files/image004.jpg" v:shapes="_x0000_i1026"><![endif]></p>
  
! <p class=MsoNormal>The AFS configuration panel for each Kerberos v5 identity is
  used to configure which cells credentials should be obtained for and how they
  should be obtained.<span style='mso-spacerun:yes'>  </span>If the cell to realm
  mapping cannot be automatically determined, it can be explicitly
! specified.<span style='mso-spacerun:yes'>  </span>If the cell does not support Kerberos
! v5 tickets as tokens, then a krb524 service can be configured.</p>
  
  <p class=MsoNormal align=center style='text-align:center'><!--[if gte vml 1]><v:shape
   id="_x0000_i1027" type="#_x0000_t75" style='width:406.5pt;height:294.75pt'>
***************
*** 949,955 ****
  </v:shape><![endif]--><![if !vml]><img border=0 width=542 height=393
  src="relnotes_files/image006.jpg" v:shapes="_x0000_i1027"><![endif]></p>
  
! <p class=MsoNormal>The AFS plug-in configuration panel provider can be used to
  check the status of the AFS Client Service and its version.<span
  style='mso-spacerun:yes'>  </span>An optional checkbox is provided that will
  prevent the AFS System Tray Tool from being started by Windows after
--- 954,960 ----
  </v:shape><![endif]--><![if !vml]><img border=0 width=542 height=393
  src="relnotes_files/image006.jpg" v:shapes="_x0000_i1027"><![endif]></p>
  
! <p class=MsoNormal>The OpenAFS Provider configuration panel can be used to
  check the status of the AFS Client Service and its version.<span
  style='mso-spacerun:yes'>  </span>An optional checkbox is provided that will
  prevent the AFS System Tray Tool from being started by Windows after
***************
*** 965,974 ****
  <p class=MsoNormal>By itself the OpenAFS Client Service does not provide robust
  behavior in a plug-n-play network environment.&nbsp; Changes to the number of
  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
--- 970,980 ----
  <p class=MsoNormal>By itself the OpenAFS Client Service does not provide robust
  behavior in a plug-n-play network environment.&nbsp; Changes to the number of
  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
***************
*** 1041,1052 ****
  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>
--- 1047,1058 ----
  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>
***************
*** 1107,1116 ****
  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;
  The realm “ATHENA.MIT.EDU” is obtained by performing a domain name to realm
  mapping on the hostname of one of the cell's Volume Database servers.</p>
  
--- 1113,1122 ----
  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;
  The realm “ATHENA.MIT.EDU” is obtained by performing a domain name to realm
  mapping on the hostname of one of the cell's Volume Database servers.</p>
  
***************
*** 1120,1129 ****
  passwords.</p>
  
  <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>
--- 1126,1135 ----
  passwords.</p>
  
  <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>
***************
*** 1143,1148 ****
--- 1149,1159 ----
  style='mso-bookmark:_Toc152605047'><span style='mso-bookmark:_Toc115416112'>3.6.
  AFS System Tray Command Line Options</span></span></span></h2>
  
+ <p class=MsoNormal><span style='color:red'>The AFS System Tray Tool
+ (afscreds.exe) has been deprecated in favor of Network Identity Manager. <span
+ 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>
  
***************
*** 1175,1182 ****
  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
--- 1186,1193 ----
  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
***************
*** 1254,1262 ****
  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
--- 1265,1273 ----
  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
***************
*** 1264,1271 ****
  &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
--- 1275,1282 ----
  &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
***************
*** 1300,1310 ****
  name="_Toc115416115"></a><a name="_Toc139993099"></a><a name="_Toc126872180"></a><a
  name="_Toc115417051"></a><span style='mso-bookmark:_Toc154229369'><span
  style='mso-bookmark:_Toc152605050'><span style='mso-bookmark:_Toc115416115'>3.9.
! OpenAFS includes aklog.exe</span></span></span></h2>
  
  <p class=MsoNormal>The OpenAFS Client ships with its own version of aklog.exe
  which should be used in preference to those obtained by other sources.&nbsp;
! The OpenAFS aklog.exe supports Kerberos 5 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>
--- 1311,1321 ----
  name="_Toc115416115"></a><a name="_Toc139993099"></a><a name="_Toc126872180"></a><a
  name="_Toc115417051"></a><span style='mso-bookmark:_Toc154229369'><span
  style='mso-bookmark:_Toc152605050'><span style='mso-bookmark:_Toc115416115'>3.9.
! aklog.exe</span></span></span></h2>
  
  <p class=MsoNormal>The OpenAFS Client ships with its own version of aklog.exe
  which should be used in preference to those obtained by other sources.&nbsp;
! 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>
***************
*** 1357,1373 ****
  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.<span style='mso-spacerun:yes'>  </span>As a result, the installation
! process will fail.<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><a
! href="http://www.openafs.org/no-more-des.html">kaserver is deprecated and its
! use is strongly discouraged.</a><span style='mso-spacerun:yes'> 
! </span>Instead, Active Directory or some other Kerberos 5 KDC should be used in
! its place.</p>
  
  <h3><a name="_Toc154229372">3.10.2. Using the AFS Client Service when the
  Server is installed</a></h3>
--- 1368,1383 ----
  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>
  
  <h3><a name="_Toc154229372">3.10.2. Using the AFS Client Service when the
  Server is installed</a></h3>
***************
*** 1379,1386 ****
  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>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
--- 1389,1396 ----
  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>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
***************
*** 1389,1396 ****
  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.<span
! style='mso-spacerun:yes'>  </span></p>
  
  <h2><a name="_Toc154229373"></a><a name="_Toc152605052"></a><a
  name="_Toc115416117"></a><a name="_Toc139993101"></a><a name="_Toc126872182"></a><a
--- 1399,1414 ----
  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;
! font-family:"Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>The AFS
! Servers are not aware of power management events nor are they aware of network
! configuration changes. <span style='mso-spacerun:yes'> </span>It is strongly
! advised that the AFS servers be installed only on systems that will not be
! shutdown or suspended unexpectedly. <span style='mso-spacerun:yes'>  </span>An inadvertent
! shutdown will corrupt volume data.</p>
  
  <h2><a name="_Toc154229373"></a><a name="_Toc152605052"></a><a
  name="_Toc115416117"></a><a name="_Toc139993101"></a><a name="_Toc126872182"></a><a
***************
*** 1442,1448 ****
  name="_Toc115416119"></a><a name="_Toc139993103"></a><a name="_Toc126872184"></a><a
  name="_Toc115417055"></a><span style='mso-bookmark:_Toc154229375'><span
  style='mso-bookmark:_Toc152605054'><span style='mso-bookmark:_Toc115416119'>3.13.
! Encrypted AFS File Access</span></span></span></h2>
  
  <p class=MsoNormal>The OpenAFS for Windows installer by default activates a
  weak form of encrypted data transfer between the AFS client and the AFS
--- 1460,1466 ----
  name="_Toc115416119"></a><a name="_Toc139993103"></a><a name="_Toc126872184"></a><a
  name="_Toc115417055"></a><span style='mso-bookmark:_Toc154229375'><span
  style='mso-bookmark:_Toc152605054'><span style='mso-bookmark:_Toc115416119'>3.13.
! Encrypted AFS Network Communication</span></span></span></h2>
  
  <p class=MsoNormal>The OpenAFS for Windows installer by default activates a
  weak form of encrypted data transfer between the AFS client and the AFS
***************
*** 1458,1469 ****
  Authenticated Access to the OpenAFS Client Service</span></span></span></h2>
  
  <p class=MsoNormal>OpenAFS authenticates SMB connections using either NTLM or
! GSS SPNEGO (NTLM).&nbsp; In previous versions of OpenAFS, the SMB connections were
! unauthenticated which opened the door for several attacks which could be used
! to obtain access to another user's tokens on shared machines.&nbsp;&nbsp;&nbsp;
! </p>
  
! <p class=MsoNormal>When GSS SPNEGO attempts a Kerberos 5 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
--- 1476,1487 ----
  Authenticated Access to the OpenAFS Client Service</span></span></span></h2>
  
  <p class=MsoNormal>OpenAFS authenticates SMB connections using either NTLM or
! GSS SPNEGO (NTLM).&nbsp; In previous versions of OpenAFS, the SMB connections
! were unauthenticated which opened the door for several attacks which could be
! used to obtain access to another user's tokens on shared
! 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
***************
*** 1501,1510 ****
  
  <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="_Toc154229379"></a><a name="_Toc152605058"></a><a
  name="_Toc115416123"></a><a name="_Toc139993107"></a><a name="_Toc126872188"></a><a
--- 1519,1529 ----
  
  <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="_Toc154229379"></a><a name="_Toc152605058"></a><a
  name="_Toc115416123"></a><a name="_Toc139993107"></a><a name="_Toc126872188"></a><a
***************
*** 1526,1535 ****
  
  <p class=MsoNormal>Many applications on Windows (e.g. Microsoft Office) require
  the use of byte range locks applied to a file either to protect against
! simultaneous file access or as a signaling mechanism.&nbsp;&nbsp; OpenAFS for
! Windows release 1.5 (or greater) implements byte range locking within the
! CIFS-AFS gateway server.&nbsp;&nbsp; This support for byte range locking
! obtains AFS’ advisory file server locks to simulate Microsoft Windows mandatory
  locks.&nbsp;&nbsp; When an application opens a file, a lock will be obtained
  from AFS indicating that the file is in use.&nbsp; If the lock is a write lock,
  access to the file will be restricted to other applications running on the same
--- 1545,1554 ----
  
  <p class=MsoNormal>Many applications on Windows (e.g. Microsoft Office) require
  the use of byte range locks applied to a file either to protect against
! simultaneous file access or as a signaling mechanism.&nbsp;&nbsp; OpenAFS for Windows
! release 1.5 (or greater) implements byte range locking within the CIFS-AFS
! gateway server.&nbsp;&nbsp; This support for byte range locking obtains AFS’
! advisory file server locks to simulate Microsoft Windows mandatory
  locks.&nbsp;&nbsp; When an application opens a file, a lock will be obtained
  from AFS indicating that the file is in use.&nbsp; If the lock is a write lock,
  access to the file will be restricted to other applications running on the same
***************
*** 1547,1559 ****
  lock semantics on top of AFS lock semantics it is important to understand how
  AFS file locks work.&nbsp; In Windows there are no special privileges
  associated with obtaining file locks.&nbsp; If you can read or execute a file,
! then you can obtain shared and exclusive locks.&nbsp; In general, a Windows shared
! lock equates to an AFS read lock and a Windows exclusive lock equates to an AFS 
! write lock.&nbsp; In AFS if you can write to a file, then you
! can obtain a write lock.&nbsp; However, in AFS if you can read a file it does
! not mean that you can obtain a read lock on it.&nbsp;&nbsp; The ability to
! obtain read locks is granted only if you have the lock (or ‘k’) privilege.&nbsp;
! This behavior is required in order to allow anonymous users to read files while
  preventing them from being able to deny access to the files to other
  users.&nbsp; <i>OpenAFS 1.4.0 and earlier as well as all IBM AFS file servers
  have an implementation bug that prevents users with write privileges from being
--- 1566,1578 ----
  lock semantics on top of AFS lock semantics it is important to understand how
  AFS file locks work.&nbsp; In Windows there are no special privileges
  associated with obtaining file locks.&nbsp; If you can read or execute a file,
! then you can obtain shared and exclusive locks.&nbsp; In general, a Windows
! shared lock equates to an AFS read lock and a Windows exclusive lock equates to
! an AFS write lock.&nbsp; In AFS if you can write to a file, then you can obtain
! a write lock.&nbsp; However, in AFS if you can read a file it does not mean
! that you can obtain a read lock on it.&nbsp;&nbsp; The ability to obtain read
! locks is granted only if you have the lock (or ‘k’) privilege.&nbsp; This
! behavior is required in order to allow anonymous users to read files while
  preventing them from being able to deny access to the files to other
  users.&nbsp; <i>OpenAFS 1.4.0 and earlier as well as all IBM AFS file servers
  have an implementation bug that prevents users with write privileges from being
***************
*** 1567,1613 ****
  inconvenience on end users.&nbsp; </p>
  
  <ul style='margin-top:0pt' type=disc>
!  <li class=MsoNormal style='mso-list:l0 level1 lfo3;tab-stops:list 36.0pt'>If
       the file is located on a read-only volume and the application requests a
!      shared lock, the CIFS-AFS server will grant the lock request without asking
!      the AFS file server.</li>
!  <li class=MsoNormal style='mso-list:l0 level1 lfo3;tab-stops:list 36.0pt'>If
!      the file is located on a read-only volume and the application opens the 
!      file with write access and requests an exclusive lock, the CIFS-AFS server 
       will refuse the lock request and return a read only error.</li>
!  <li class=MsoNormal style='mso-list:l0 level1 lfo3;tab-stops:list 36.0pt'>If
!      the file is located on a read-only volume and the application opens the 
!      file with only read access and requests an exclusive lock, the CIFS-AFS server 
!      will fulfill the lock request with a read lock.</li>
!  <li class=MsoNormal style='mso-list:l0 level1 lfo3;tab-stops:list 36.0pt'>If
       the file is located on a read-write volume and the application requests an
!      exclusive lock, the CIFS-AFS server will request a write lock from the AFS file
!      server.&nbsp; If granted by the file server, then the CIFS-AFS server will
!      grant the lock request.&nbsp; 
! 
!      If the request is denied due to an access denied error and the user has the 
!      lookup, read and lock privileges and the file was opened for read only access, 
!      then the CIFS-AFS server will request a read lock from the file server.&nbsp;
! 
!      If the request is denied due to an access denied error and the user has the 
!      lookup and read privileges but not the lock privilege, then the CIFS-AFS 
!      server will grant the request even though the AFS file server said ‘no’.&nbsp; 
!      If the user does not have at least those permissions, the CIFS-AFS server 
!      will deny the request.</li>
!  <li class=MsoNormal style='mso-list:l0 level1 lfo3;tab-stops:list 36.0pt'>If
       the file is located on a read-write volume and the application requests a
!      shared lock, the CIFS-AFS server will request a read lock from the AFS file
!      server.&nbsp; If granted by the file server, then the CIFS-AFS server
       grants the lock request.&nbsp; If the request is denied due to an access
       denied error and the user has the lookup and read privileges but not the
       lock privilege, then the CIFS-AFS server will grant the request even
       though the AFS file server said ‘no’.&nbsp; If the user does not have at
       least those permissions, the CIFS-AFS server will deny the request.</li>
!  <li class=MsoNormal style='mso-list:l0 level1 lfo3;tab-stops:list 36.0pt'>If
       multiple processes on the same machine attempt to access the same file
       simultaneously, the CIFS-AFS server will locally manage the granted locks
       and all processes will share a single lock on the AFS file server.</li>
!  <li class=MsoNormal style='mso-list:l0 level1 lfo3;tab-stops:list 36.0pt'>If
       the CIFS-AFS server is unable to renew the AFS file server locks, then it
       will invalidate the associated file handles.&nbsp; This is the same
       behavior that an application will experience if it was using a Windows
--- 1586,1630 ----
  inconvenience on end users.&nbsp; </p>
  
  <ul style='margin-top:0pt' type=disc>
!  <li class=MsoNormal style='mso-list:l1 level1 lfo3;tab-stops:list 36.0pt'>If
       the file is located on a read-only volume and the application requests a
!      shared lock, the CIFS-AFS server will grant the lock request without
!      asking the AFS file server.</li>
!  <li class=MsoNormal style='mso-list:l1 level1 lfo3;tab-stops:list 36.0pt'>If
!      the file is located on a read-only volume and the application opens the
!      file with write access and requests an exclusive lock, the CIFS-AFS server
       will refuse the lock request and return a read only error.</li>
!  <li class=MsoNormal style='mso-list:l1 level1 lfo3;tab-stops:list 36.0pt'>If
!      the file is located on a read-only volume and the application opens the
!      file with only read access and requests an exclusive lock, the CIFS-AFS
!      server will fulfill the lock request with a read lock.</li>
!  <li class=MsoNormal style='mso-list:l1 level1 lfo3;tab-stops:list 36.0pt'>If
       the file is located on a read-write volume and the application requests an
!      exclusive lock, the CIFS-AFS server will request a write lock from the AFS
!      file server.&nbsp; If granted by the file server, then the CIFS-AFS server
!      will grant the lock request.&nbsp; If the request is denied due to an
!      access denied error and the user has the lookup, read and lock privileges
!      and the file was opened for read only access, then the CIFS-AFS server
!      will request a read lock from the file server.&nbsp; If the request is
!      denied due to an access denied error and the user has the lookup and read
!      privileges but not the lock privilege, then the CIFS-AFS server will grant
!      the request even though the AFS file server said ‘no’.&nbsp; If the user
!      does not have at least those permissions, the CIFS-AFS server will deny
!      the request.</li>
!  <li class=MsoNormal style='mso-list:l1 level1 lfo3;tab-stops:list 36.0pt'>If
       the file is located on a read-write volume and the application requests a
!      shared lock, the CIFS-AFS server will request a read lock from the AFS
!      file server.&nbsp; If granted by the file server, then the CIFS-AFS server
       grants the lock request.&nbsp; If the request is denied due to an access
       denied error and the user has the lookup and read privileges but not the
       lock privilege, then the CIFS-AFS server will grant the request even
       though the AFS file server said ‘no’.&nbsp; If the user does not have at
       least those permissions, the CIFS-AFS server will deny the request.</li>
!  <li class=MsoNormal style='mso-list:l1 level1 lfo3;tab-stops:list 36.0pt'>If
       multiple processes on the same machine attempt to access the same file
       simultaneously, the CIFS-AFS server will locally manage the granted locks
       and all processes will share a single lock on the AFS file server.</li>
!  <li class=MsoNormal style='mso-list:l1 level1 lfo3;tab-stops:list 36.0pt'>If
       the CIFS-AFS server is unable to renew the AFS file server locks, then it
       will invalidate the associated file handles.&nbsp; This is the same
       behavior that an application will experience if it was using a Windows
***************
*** 1740,1753 ****
  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'>
--- 1757,1770 ----
  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'>
***************
*** 1755,1824 ****
    height:399.5pt'>
    <td width=590 valign=top style='width:442.8pt;border:solid windowtext 1.0pt;
    padding:0pt 5.4pt 0pt 5.4pt;height:399.5pt'>
!   <p class=preformattedtext>&nbsp;&nbsp;&nbsp;&nbsp; [Ç]&nbsp; 128&nbsp;
!   08/00&nbsp; 200&nbsp; 80&nbsp; C cedilla</p>
!   <p class=preformattedtext>&nbsp;&nbsp;&nbsp;&nbsp; [ü]&nbsp; 129&nbsp;
!   08/01&nbsp; 201&nbsp; 81&nbsp; u diaeresis</p>
!   <p class=preformattedtext>&nbsp;&nbsp;&nbsp;&nbsp; [é]&nbsp; 130&nbsp;
!   08/02&nbsp; 202&nbsp; 82&nbsp; e acute</p>
!   <p class=preformattedtext>&nbsp;&nbsp;&nbsp;&nbsp; [â]&nbsp; 131&nbsp;
!   08/03&nbsp; 203&nbsp; 83&nbsp; a circumflex</p>
!   <p class=preformattedtext>&nbsp;&nbsp;&nbsp;&nbsp; [ä]&nbsp; 132&nbsp;
!   08/04&nbsp; 204&nbsp; 84&nbsp; a diaeresis</p>
!   <p class=preformattedtext>&nbsp;&nbsp;&nbsp;&nbsp; [à]&nbsp; 133&nbsp;
!   08/05&nbsp; 205&nbsp; 85&nbsp; a grave</p>
!   <p class=preformattedtext>&nbsp;&nbsp;&nbsp;&nbsp; [å]&nbsp; 134&nbsp;
!   08/06&nbsp; 206&nbsp; 86&nbsp; a ring</p>
!   <p class=preformattedtext>&nbsp;&nbsp;&nbsp;&nbsp; [ç]&nbsp; 135&nbsp;
!   08/07&nbsp; 207&nbsp; 87&nbsp; c cedilla</p>
!   <p class=preformattedtext>&nbsp;&nbsp;&nbsp;&nbsp; [ê]&nbsp; 136&nbsp; 08/08&nbsp;
!   210&nbsp; 88&nbsp; e circumflex</p>
!   <p class=preformattedtext>&nbsp;&nbsp;&nbsp;&nbsp; [ë]&nbsp; 137&nbsp;
!   08/09&nbsp; 211&nbsp; 89&nbsp; e diaeresis</p>
!   <p class=preformattedtext>&nbsp;&nbsp;&nbsp;&nbsp; [è]&nbsp; 138&nbsp;
!   08/10&nbsp; 212&nbsp; 8A&nbsp; e grave</p>
!   <p class=preformattedtext>&nbsp;&nbsp;&nbsp;&nbsp; [ï]&nbsp; 139&nbsp;
!   08/11&nbsp; 213&nbsp; 8B&nbsp; i diaeresis</p>
!   <p class=preformattedtext>&nbsp;&nbsp;&nbsp;&nbsp; [î]&nbsp; 140&nbsp;
!   08/12&nbsp; 214&nbsp; 8C&nbsp; i circumflex</p>
!   <p class=preformattedtext>&nbsp;&nbsp;&nbsp;&nbsp; [ì]&nbsp; 141&nbsp;
!   08/13&nbsp; 215&nbsp; 8D&nbsp; i grave</p>
!   <p class=preformattedtext>&nbsp;&nbsp;&nbsp;&nbsp; [Ä]&nbsp; 142&nbsp; 08/14&nbsp;
!   216&nbsp; 8E&nbsp; A diaeresis</p>
!   <p class=preformattedtext>&nbsp;&nbsp;&nbsp;&nbsp; [Å]&nbsp; 143&nbsp;
!   08/15&nbsp; 217&nbsp; 8F&nbsp; A ring</p>
!   <p class=preformattedtext>&nbsp;&nbsp;&nbsp;&nbsp; [É]&nbsp; 144&nbsp;
!   09/00&nbsp; 220&nbsp; 90&nbsp; E acute</p>
!   <p class=preformattedtext>&nbsp;&nbsp;&nbsp;&nbsp; [æ]&nbsp; 145&nbsp;
!   09/01&nbsp; 221&nbsp; 91&nbsp; ae diphthong</p>
!   <p class=preformattedtext>&nbsp;&nbsp;&nbsp;&nbsp; [Æ]&nbsp; 146&nbsp;
!   09/02&nbsp; 222&nbsp; 92&nbsp; AE diphthong</p>
!   <p class=preformattedtext>&nbsp;&nbsp;&nbsp;&nbsp; [ô]&nbsp; 147&nbsp;
!   09/03&nbsp; 223&nbsp; 93&nbsp; o circumflex</p>
!   <p class=preformattedtext>&nbsp;&nbsp;&nbsp;&nbsp; [ö]&nbsp; 148&nbsp;
!   09/04&nbsp; 224&nbsp; 94&nbsp; o diaeresis</p>
!   <p class=preformattedtext>&nbsp;&nbsp;&nbsp;&nbsp; [ò]&nbsp; 149&nbsp;
!   09/05&nbsp; 225&nbsp; 95&nbsp; o grave</p>
!   <p class=preformattedtext>&nbsp;&nbsp;&nbsp;&nbsp; [û]&nbsp; 150&nbsp;
!   09/06&nbsp; 226&nbsp; 96&nbsp; u circumflex</p>
!   <p class=preformattedtext>&nbsp;&nbsp;&nbsp;&nbsp; [ù]&nbsp; 151&nbsp;
!   09/07&nbsp; 227&nbsp; 97&nbsp; u grave</p>
!   <p class=preformattedtext>&nbsp;&nbsp;&nbsp;&nbsp; [ÿ]&nbsp; 152&nbsp;
!   09/08&nbsp; 230&nbsp; 98&nbsp; y diaeresis</p>
!   <p class=preformattedtext>&nbsp;&nbsp;&nbsp;&nbsp; [Ö]&nbsp; 153&nbsp;
!   09/09&nbsp; 231&nbsp; 99&nbsp; O diaeresis</p>
!   <p class=preformattedtext>&nbsp;&nbsp;&nbsp;&nbsp; [Ü]&nbsp; 154&nbsp;
!   09/10&nbsp; 232&nbsp; 9A&nbsp; U diaeresis</p>
!   <p class=preformattedtext>&nbsp;&nbsp;&nbsp;&nbsp; [ø]&nbsp; 155&nbsp;
!   09/11&nbsp; 233&nbsp; 9B&nbsp; o slash</p>
    <p class=preformattedtext>&nbsp;&nbsp;&nbsp;&nbsp; [£]&nbsp; 156&nbsp;
    09/12&nbsp; 234&nbsp; 9C&nbsp; Pound sterling sign</p>
!   <p class=preformattedtext>&nbsp;&nbsp;&nbsp;&nbsp; [Ø]&nbsp; 157&nbsp;
!   09/13&nbsp; 235&nbsp; 9D&nbsp; O slash</p>
!   <p class=preformattedtext>&nbsp;&nbsp;&nbsp;&nbsp; [×]&nbsp; 158&nbsp;
!   09/14&nbsp; 236&nbsp; 9E&nbsp; Multiplication sign</p>
!   <p class=preformattedtext>&nbsp;&nbsp;&nbsp;&nbsp; [ƒ]&nbsp; 159&nbsp;
!   09/15&nbsp; 237&nbsp; 9F&nbsp; <st1:place w:st="on">Florin</st1:place> sign</p>
    </td>
   </tr>
  </table>
--- 1772,1846 ----
    height:399.5pt'>
    <td width=590 valign=top style='width:442.8pt;border:solid windowtext 1.0pt;
    padding:0pt 5.4pt 0pt 5.4pt;height:399.5pt'>
!   <p class=preformattedtext>&nbsp;&nbsp;&nbsp;&nbsp; <span lang=IT
!   style='mso-ansi-language:IT'>[Ç]&nbsp; 128&nbsp; 08/00&nbsp; 200&nbsp;
!   80&nbsp; C cedilla<o:p></o:p></span></p>
!   <p class=preformattedtext><span lang=IT style='mso-ansi-language:IT'>&nbsp;&nbsp;&nbsp;&nbsp;
!   [ü]&nbsp; 129&nbsp; 08/01&nbsp; 201&nbsp; 81&nbsp; u diaeresis<o:p></o:p></span></p>
!   <p class=preformattedtext><span lang=IT style='mso-ansi-language:IT'>&nbsp;&nbsp;&nbsp;&nbsp;
!   [é]&nbsp; 130&nbsp; 08/02&nbsp; 202&nbsp; 82&nbsp; e acute<o:p></o:p></span></p>
!   <p class=preformattedtext><span lang=IT style='mso-ansi-language:IT'>&nbsp;&nbsp;&nbsp;&nbsp;
!   [â]&nbsp; 131&nbsp; 08/03&nbsp; 203&nbsp; 83&nbsp; a circumflex<o:p></o:p></span></p>
!   <p class=preformattedtext><span lang=IT style='mso-ansi-language:IT'>&nbsp;&nbsp;&nbsp;&nbsp;
!   [ä]&nbsp; 132&nbsp; 08/04&nbsp; 204&nbsp; 84&nbsp; a diaeresis<o:p></o:p></span></p>
!   <p class=preformattedtext><span lang=IT style='mso-ansi-language:IT'>&nbsp;&nbsp;&nbsp;&nbsp;
!   [à]&nbsp; 133&nbsp; 08/05&nbsp; 205&nbsp; 85&nbsp; a grave<o:p></o:p></span></p>
!   <p class=preformattedtext><span lang=IT style='mso-ansi-language:IT'>&nbsp;&nbsp;&nbsp;&nbsp;
!   [å]&nbsp; 134&nbsp; 08/06&nbsp; 206&nbsp; 86&nbsp; a ring<o:p></o:p></span></p>
!   <p class=preformattedtext><span lang=IT style='mso-ansi-language:IT'>&nbsp;&nbsp;&nbsp;&nbsp;
!   [ç]&nbsp; 135&nbsp; 08/07&nbsp; 207&nbsp; 87&nbsp; c cedilla<o:p></o:p></span></p>
!   <p class=preformattedtext><span lang=IT style='mso-ansi-language:IT'>&nbsp;&nbsp;&nbsp;&nbsp;
!   [ê]&nbsp; 136&nbsp; 08/08&nbsp; 210&nbsp; 88&nbsp; e circumflex<o:p></o:p></span></p>
!   <p class=preformattedtext><span lang=IT style='mso-ansi-language:IT'>&nbsp;&nbsp;&nbsp;&nbsp;
!   [ë]&nbsp; 137&nbsp; 08/09&nbsp; 211&nbsp; 89&nbsp; e diaeresis<o:p></o:p></span></p>
!   <p class=preformattedtext><span lang=IT style='mso-ansi-language:IT'>&nbsp;&nbsp;&nbsp;&nbsp;
!   [è]&nbsp; 138&nbsp; 08/10&nbsp; 212&nbsp; 8A&nbsp; e grave<o:p></o:p></span></p>
!   <p class=preformattedtext><span lang=IT style='mso-ansi-language:IT'>&nbsp;&nbsp;&nbsp;&nbsp;
!   [ï]&nbsp; 139&nbsp; 08/11&nbsp; 213&nbsp; 8B&nbsp; i diaeresis<o:p></o:p></span></p>
!   <p class=preformattedtext><span lang=IT style='mso-ansi-language:IT'>&nbsp;&nbsp;&nbsp;&nbsp;
!   [î]&nbsp; 140&nbsp; 08/12&nbsp; 214&nbsp; 8C&nbsp; i circumflex<o:p></o:p></span></p>
!   <p class=preformattedtext><span lang=IT style='mso-ansi-language:IT'>&nbsp;&nbsp;&nbsp;&nbsp;
!   [ì]&nbsp; 141&nbsp; 08/13&nbsp; 215&nbsp; 8D&nbsp; i grave<o:p></o:p></span></p>
!   <p class=preformattedtext><span lang=IT style='mso-ansi-language:IT'>&nbsp;&nbsp;&nbsp;&nbsp;
!   [Ä]&nbsp; 142&nbsp; 08/14&nbsp; 216&nbsp; 8E&nbsp; A diaeresis<o:p></o:p></span></p>
!   <p class=preformattedtext><span lang=IT style='mso-ansi-language:IT'>&nbsp;&nbsp;&nbsp;&nbsp;
!   [Å]&nbsp; 143&nbsp; 08/15&nbsp; 217&nbsp; 8F&nbsp; A ring<o:p></o:p></span></p>
!   <p class=preformattedtext><span lang=IT style='mso-ansi-language:IT'>&nbsp;&nbsp;&nbsp;&nbsp;
!   [É]&nbsp; 144&nbsp; 09/00&nbsp; 220&nbsp; 90&nbsp; E acute<o:p></o:p></span></p>
!   <p class=preformattedtext><span lang=IT style='mso-ansi-language:IT'>&nbsp;&nbsp;&nbsp;&nbsp;
!   [æ]&nbsp; 145&nbsp; 09/01&nbsp; 221&nbsp; 91&nbsp; ae diphthong<o:p></o:p></span></p>
!   <p class=preformattedtext><span lang=IT style='mso-ansi-language:IT'>&nbsp;&nbsp;&nbsp;&nbsp;
!   [Æ]&nbsp; 146&nbsp; 09/02&nbsp; 222&nbsp; 92&nbsp; AE diphthong<o:p></o:p></span></p>
!   <p class=preformattedtext><span lang=IT style='mso-ansi-language:IT'>&nbsp;&nbsp;&nbsp;&nbsp;
!   [ô]&nbsp; 147&nbsp; 09/03&nbsp; 223&nbsp; 93&nbsp; o circumflex<o:p></o:p></span></p>
!   <p class=preformattedtext><span lang=IT style='mso-ansi-language:IT'>&nbsp;&nbsp;&nbsp;&nbsp;
!   [ö]&nbsp; 148&nbsp; 09/04&nbsp; 224&nbsp; 94&nbsp; o diaeresis<o:p></o:p></span></p>
!   <p class=preformattedtext><span lang=IT style='mso-ansi-language:IT'>&nbsp;&nbsp;&nbsp;&nbsp;
!   [ò]&nbsp; 149&nbsp; 09/05&nbsp; 225&nbsp; 95&nbsp; o grave<o:p></o:p></span></p>
!   <p class=preformattedtext><span lang=IT style='mso-ansi-language:IT'>&nbsp;&nbsp;&nbsp;&nbsp;
!   [û]&nbsp; 150&nbsp; 09/06&nbsp; 226&nbsp; 96&nbsp; u circumflex<o:p></o:p></span></p>
!   <p class=preformattedtext><span lang=IT style='mso-ansi-language:IT'>&nbsp;&nbsp;&nbsp;&nbsp;
!   </span><span lang=FR style='mso-ansi-language:FR'>[ù]&nbsp; 151&nbsp;
!   09/07&nbsp; 227&nbsp; 97&nbsp; u grave<o:p></o:p></span></p>
!   <p class=preformattedtext><span lang=FR style='mso-ansi-language:FR'>&nbsp;&nbsp;&nbsp;&nbsp;
!   [ÿ]&nbsp; 152&nbsp; 09/08&nbsp; 230&nbsp; 98&nbsp; y diaeresis<o:p></o:p></span></p>
!   <p class=preformattedtext><span lang=FR style='mso-ansi-language:FR'>&nbsp;&nbsp;&nbsp;&nbsp;
!   </span><span lang=IT style='mso-ansi-language:IT'>[Ö]&nbsp; 153&nbsp;
!   09/09&nbsp; 231&nbsp; 99&nbsp; O diaeresis<o:p></o:p></span></p>
!   <p class=preformattedtext><span lang=IT style='mso-ansi-language:IT'>&nbsp;&nbsp;&nbsp;&nbsp;
!   [Ü]&nbsp; 154&nbsp; 09/10&nbsp; 232&nbsp; 9A&nbsp; U diaeresis<o:p></o:p></span></p>
!   <p class=preformattedtext><span lang=IT style='mso-ansi-language:IT'>&nbsp;&nbsp;&nbsp;&nbsp;
!   </span>[ø]&nbsp; 155&nbsp; 09/11&nbsp; 233&nbsp; 9B&nbsp; o slash</p>
    <p class=preformattedtext>&nbsp;&nbsp;&nbsp;&nbsp; [£]&nbsp; 156&nbsp;
    09/12&nbsp; 234&nbsp; 9C&nbsp; Pound sterling sign</p>
!   <p class=preformattedtext>&nbsp;&nbsp;&nbsp;&nbsp; <span lang=IT
!   style='mso-ansi-language:IT'>[Ø]&nbsp; 157&nbsp; 09/13&nbsp; 235&nbsp;
!   9D&nbsp; O slash<o:p></o:p></span></p>
!   <p class=preformattedtext><span lang=IT style='mso-ansi-language:IT'>&nbsp;&nbsp;&nbsp;&nbsp;
!   [×]&nbsp; 158&nbsp; 09/14&nbsp; 236&nbsp; 9E&nbsp; Multiplication sign<o:p></o:p></span></p>
!   <p class=preformattedtext><span lang=IT style='mso-ansi-language:IT'>&nbsp;&nbsp;&nbsp;&nbsp;
!   </span>[ƒ]&nbsp; 159&nbsp; 09/15&nbsp; 237&nbsp; 9F&nbsp; <st1:place w:st="on">Florin</st1:place>
!   sign</p>
    </td>
   </tr>
  </table>
***************
*** 1862,1869 ****
  
  <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>
--- 1884,1891 ----
  
  <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>
***************
*** 2007,2014 ****
  <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="_Toc154229399"></a><a name="_Toc152605078"></a><a
  name="_Toc115416143"></a><a name="_Toc139993127"></a><a name="_Toc126872208"></a><a
--- 2029,2036 ----
  <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="_Toc154229399"></a><a name="_Toc152605078"></a><a
  name="_Toc115416143"></a><a name="_Toc139993127"></a><a name="_Toc126872208"></a><a
***************
*** 2036,2044 ****
  file.&nbsp;&nbsp; When cloning machines that have Windows AFS client installed,
  the AFSCache files should be deleted as part of the cloning process.</p>
  
! <h2><a name="_Toc154229401"></a><a name="_Toc152605080"></a><a
! name="_Toc139993129"><span style='mso-bookmark:_Toc152605080'><span
! style='mso-bookmark:_Toc154229401'>3.39. Delayed Write Errors with Microsoft
  Office Applications</span></span></a></h2>
  
  <p class=MsoBodyText>Microsoft Office makes heavy use of asynchronous
--- 2058,2066 ----
  file.&nbsp;&nbsp; When cloning machines that have Windows AFS client installed,
  the AFSCache files should be deleted as part of the cloning process.</p>
  
! <h2><a name="_Toc139993129"></a><a name="_Toc152605080"></a><a
! name="_Toc154229401"><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
***************
*** 2082,2090 ****
  applications should be modified to use of \\AFS\&lt;cellname&gt;\&lt;path&gt;
  instead of drive letters.</p>
  
! <h2><a name="_Toc154229403"></a><a name="_Toc152605082"></a><a
! name="_Toc139993131"><span style='mso-bookmark:_Toc152605082'><span
! style='mso-bookmark:_Toc154229403'>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
--- 2104,2112 ----
  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="_Toc154229403"><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
***************
*** 2138,2460 ****
  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 help engine for this format.</a>  <a href="http://www.secure-endpoints.com>
! Secure Endpoints Inc.</a> is funding the development of compatible HtmlHelp (.CHM) files.
! </p>
! 
! <h1><a name="_Toc154229405"></a><a name="_Toc152605084"></a><a
! name="_Toc115416145"></a><a name="_Toc139993133"></a><a name="_Toc126872210"></a><a
! name="_Toc115417112"></a><a name="_Toc115417081"></a><span style='mso-bookmark:
! _Toc154229405'><span style='mso-bookmark:_Toc152605084'><span style='mso-bookmark:
! _Toc115416145'>4. How to Debug Problems with OpenAFS for Windows:</span></span></span></h1>
! 
! <p class=MsoNormal>OpenAFS for Windows provides a wide range of tools to assist
! the developers in debugging problems.&nbsp; The techniques available are varied
! because of the wide range of issues that have been discovered over the
! years.<span style='mso-spacerun:yes'>  </span>When filing bug reports to the
! OpenAFS developers, please collect as much information as possible and forward
! it as part of the bug </p>
! 
! <h2><a name="_Toc154229406"></a><a name="_Toc152605085"></a><a
! name="_Toc115416146"></a><a name="_Toc139993134"></a><a name="_Toc126872211"></a><a
! name="_Toc115417082"></a><span style='mso-bookmark:_Toc154229406'><span
! style='mso-bookmark:_Toc152605085'><span style='mso-bookmark:_Toc115416146'>4.1.
! pioctl debugging (</span></span></span><a href="#_Value___:_IoctlDebug"><span
! style='mso-bookmark:_Toc154229406'><span style='mso-bookmark:_Toc152605085'>IoctlDebug</span></span><span
! style='mso-bookmark:_Toc154229406'><span style='mso-bookmark:_Toc152605085'></span></span></a><span
! style='mso-bookmark:_Toc154229406'><span style='mso-bookmark:_Toc152605085'>
! registry key)</span></span></h2>
! 
! <p class=MsoNormal>pioctl (path-based ioctl) calls are used by various tools to
! communicate with the AFS Client Service.&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;
! font-family:"Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>setting/querying
! tokens&nbsp; (tokens.exe, aklog.exe, afscreds.exe)</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;
! 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;
! font-family:"Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>setting/querying
! cache parameters</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;
! font-family:"Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>flushing
! files or volumes</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;
! font-family:"Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>setting/querying
! server preferences</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;
! font-family:"Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>querying
! path location</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;
! font-family:"Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>checking
! the status of servers and volumes</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;
! 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="_Toc154229407"></a><a name="_Toc152605086"></a><a
! name="_Toc115416147"></a><a name="_Toc139993135"></a><a name="_Toc126872212"></a><a
! name="_Toc115417083"></a><span style='mso-bookmark:_Toc154229407'><span
! style='mso-bookmark:_Toc152605086'><span style='mso-bookmark:_Toc115416147'>4.2.
! afsd_service initialization log (%WinDir%\TEMP\afsd_init.log)</span></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 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="_Toc154229408"></a><a name="_Toc152605087"></a><a
! name="_Toc115416148"></a><a name="_Toc139993136"></a><a name="_Toc126872213"></a><a
! name="_Toc115417084"></a><span style='mso-bookmark:_Toc154229408'><span
! style='mso-bookmark:_Toc152605087'><span style='mso-bookmark:_Toc115416148'>4.3.
! afsd_service debug logs (fs trace {-on, -off, -dump}
! -&gt;%WinDir%\TEMP\afsd.log)</span></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
! being performed.&nbsp; While running the AFS Client Service keeps an in memory
! log of many of its actions.&nbsp;&nbsp; The default number of actions preserved
! 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="_Toc154229409"></a><a name="_Toc152605088"></a><a
! name="_Toc115416149"></a><a name="_Toc139993137"></a><a name="_Toc126872214"></a><a
! name="_Toc115417085"></a><span style='mso-bookmark:_Toc154229409'><span
! style='mso-bookmark:_Toc152605088'><span style='mso-bookmark:_Toc115416149'>4.4.
! Using SysInternal’s DbgView and FileMon Tools</span></span></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
! FileMon utility can be use to monitor the file operations requested by
! applications and their success or failure.&nbsp;&nbsp; Use the Volumes menu to
! restrict FileMon monitor 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>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="../relnotes.htm#_5._Reporting_Bugs:">bug reports</a>.</p>
! 
! <h2><a name="_Toc154229410"></a><a name="_Toc152605089"></a><a
! name="_Toc139993138"><span style='mso-bookmark:_Toc152605089'><span
! style='mso-bookmark:_Toc154229410'>4.5. Microsoft MiniDumps <br>
! (fs minidump -&gt; %WinDir%\TEMP\afsd.dmp)</span></span></a></h2>
! 
! <p class=MsoNormal>If the AFS Client Service become unresponsive to any form of
! communication there may be a serious error that can only be debugged by someone
! 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="_Toc154229411"></a><a name="_Toc152605090"></a><a
! name="_Toc115416151"></a><a name="_Toc139993139"></a><a name="_Toc126872216"></a><a
! name="_Toc115417087"></a><span style='mso-bookmark:_Toc154229411'><span
! style='mso-bookmark:_Toc152605090'><span style='mso-bookmark:_Toc115416151'>4.6.
! Single Sign-on (Integrated Logon) debugging</span></span></span></h2>
! 
! <p class=MsoNormal>If you are having trouble with the Integrated Logon
! operations it is often useful to be able to obtain a log of what it is
! 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
! the name “AFS Logon&quot;.</p>
! 
! <h2><a name="_Toc154229412"></a><a name="_Toc152605091"></a><a
! name="_Toc115416152"></a><a name="_Toc139993140"></a><a name="_Toc126872217"></a><a
! name="_Toc115417088"></a><span style='mso-bookmark:_Toc154229412'><span
! style='mso-bookmark:_Toc152605091'><span style='mso-bookmark:_Toc115416152'>4.7.
! RX (AFS RPC) debugging (rxdebug)</span></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: 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="_Toc154229413"></a><a name="_Toc152605092"></a><a
! name="_Toc115416153"></a><a name="_Toc139993141"></a><a name="_Toc126872218"></a><a
! name="_Toc115417089"></a><span style='mso-bookmark:_Toc154229413'><span
! style='mso-bookmark:_Toc152605092'><span style='mso-bookmark:_Toc115416153'>4.8.
! Cache Manager debugging (cmdebug)</span></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>Usage: cmdebug -servers &lt;server machine&gt; [-port
! &lt;IP port&gt;] [-long] </p>
! 
! <p class=preformattedtext style='margin-left:70.9pt'>&nbsp;&nbsp; [-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>
! 
! <h2><a name="_Toc154229414"></a><a name="_Toc152605093"></a><a
! name="_Toc115416154"></a><a name="_Toc139993142"></a><a name="_Toc126872219"></a><a
! name="_Toc115417090"></a><span style='mso-bookmark:_Toc154229414'><span
! style='mso-bookmark:_Toc152605093'><span style='mso-bookmark:_Toc115416154'>4.9.
! Persistent Cache consistency check</span></span></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>
! 
! <h1><a name="_Toc154229415"></a><a name="_Toc152605094"></a><a
! name="_Toc139993143"></a><a name="_Toc126872220"></a><a name="_Toc115417113"></a><a
! name="_Toc115417091"></a><a name="_Toc115416155"></a><a
! name="_5._Reporting_Bugs:"></a><span style='mso-bookmark:_Toc154229415'><span
! style='mso-bookmark:_Toc152605094'>5. Reporting Bugs:</span></span></h1>
! 
! <p class=MsoNormal>Bug reports should be sent to <a
! href="mailto:openafs-bugs@openafs.org?subject=Bug%20Report">openafs-bugs@openafs.org</a>.&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>
  
--- 2160,2177 ----
  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
! help engine for this format.</a> <a
! href="http://www.secure-endpoints.com%3e%0d%0aSecure%20Endpoints%20Inc.%3c/a%3e%20is%20funding%20the%20development%20of%20compatible%20HtmlHelp%20(.CHM)%20files.%0d%0a%3c/p%3e%0d%0a%0d%0a%3ch1%3e%3ca%20name="
! Times New Times New Times New Times New Times New Times New Times New Times New
! .. 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>
  
***************
*** 2582,2592 ****
  <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
--- 2299,2309 ----
  <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
***************
*** 2635,2645 ****
  name="_MSI_Deployment_Guide"></a><span style='mso-bookmark:_Toc154229421'><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:
! "MS Mincho";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="_Toc154229422"></a><a name="_Toc152605101"></a><a
  name="_Toc115416159"></a><a name="_Toc139993151"></a><a name="_Toc126872228"></a><a
--- 2352,2362 ----
  name="_MSI_Deployment_Guide"></a><span style='mso-bookmark:_Toc154229421'><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="_Toc154229422"></a><a name="_Toc152605101"></a><a
  name="_Toc115416159"></a><a name="_Toc139993151"></a><a name="_Toc126872228"></a><a
***************
*** 2740,2748 ****
  -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
--- 2457,2465 ----
  -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
***************
*** 2777,2787 ****
  
  <p class=MsoNormal>When one of the configurable properties is set, the
  installer will use the property value to set the corresponding setting in the
! HKEY_LOCAL_MACHINE registry hive.&nbsp; The HKEY_CURRENT_USER hive is not
! touched by the installer.</p>
  
! <p class=MsoNormal>For each property, the associated registry setting is referenced
! by the same text used in <a href="#_Appendix_A:_Registry_Values">Appendix A</a>.</p>
  
  <p class=MsoNormal>Strings are quoted using single quotes (e.g. 'a string'). An
  empty string is denoted as ''.&nbsp; Note that you can't author null values
--- 2494,2505 ----
  
  <p class=MsoNormal>When one of the configurable properties is set, the
  installer will use the property value to set the corresponding setting in the
! HKEY_LOCAL_MACHINE registry hive.&nbsp; The HKEY_CURRENT_USER hive is not touched
! by the installer.</p>
  
! <p class=MsoNormal>For each property, the associated registry setting is
! referenced by the same text used in <a href="#_Appendix_A:_Registry_Values">Appendix
! A</a>.</p>
  
  <p class=MsoNormal>Strings are quoted using single quotes (e.g. 'a string'). An
  empty string is denoted as ''.&nbsp; Note that you can't author null values
***************
*** 2828,2860 ****
   <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="_Toc154229429"></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:
!   _Toc154229429'><span style='mso-bookmark:_Toc152605108'><span
!   style='mso-fareast-font-family:"Times New Roman"'>(Service parameters):</span></span></span><span
!   style='mso-fareast-font-family:"Times New Roman"'><o:p></o:p></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="_Toc154229430"></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:
!   _Toc154229430'><span style='mso-bookmark:_Toc152605109'><span
!   style='mso-fareast-font-family:"Times New Roman"'>(Network provider):</span></span></span><span
!   style='mso-fareast-font-family:"Times New Roman"'><o:p></o:p></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="_Toc154229431"></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:
!   _Toc154229431'><span style='mso-bookmark:_Toc152605110'><span
!   style='mso-fareast-font-family:"Times New Roman"'>(OpenAFS Client):</span></span></span><span
!   style='mso-fareast-font-family:"Times New Roman"'><o:p></o:p></span></h5>
    <p class=listcontents style='margin-left:0pt'>[HKLM\SOFTWARE\OpenAFS\Client]</p>
    </td>
   </tr>
--- 2546,2572 ----
   <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="_Toc154229429"></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:_Toc154229429'><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="_Toc154229430"></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:_Toc154229430'><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="_Toc154229431"></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:_Toc154229431'><span
!   style='mso-bookmark:_Toc152605110'>(OpenAFS Client):</span></span></h5>
    <p class=listcontents style='margin-left:0pt'>[HKLM\SOFTWARE\OpenAFS\Client]</p>
    </td>
   </tr>
***************
*** 2865,2882 ****
  style='mso-bookmark:_Toc154229432'><span style='mso-bookmark:_Toc152605111'><span
  style='mso-bookmark:_Toc115416169'>7.2.1.2.1 Registry Properties</span></span></span></h5>
  
! <p class=MsoNormal>These properties are used to set the values of registry
! entries associated with OpenAFS for Windows.</p>
  
  <table class=MsoNormalTable border=1 cellspacing=3 cellpadding=0
   style='mso-cellspacing:2.2pt;mso-padding-alt:0pt 0pt 0pt 0pt'>
   <tr style='mso-yfti-irow:0;mso-yfti-firstrow:yes'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
    <h6><a name="_Toc154229433"></a><a name="_Toc152605112"></a><a
!   name="_Toc115416170"></a><a name="_Toc126872239"></a><a name="_Toc139993162"></a><span
    style='mso-bookmark:_Toc154229433'><span style='mso-bookmark:_Toc152605112'><span
!   style='mso-bookmark:_Toc115416170'><span style='mso-fareast-font-family:"Times New Roman"'>AFSCACHEPATH</span></span></span></span><span
!   style='mso-fareast-font-family:"Times New Roman"'><o:p></o:p></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>
--- 2577,2593 ----
  style='mso-bookmark:_Toc154229432'><span style='mso-bookmark:_Toc152605111'><span
  style='mso-bookmark:_Toc115416169'>7.2.1.2.1 Registry Properties</span></span></span></h5>
  
! <p class=MsoNormal>These properties are used to set the values of registry entries
! associated with OpenAFS for Windows.</p>
  
  <table class=MsoNormalTable border=1 cellspacing=3 cellpadding=0
   style='mso-cellspacing:2.2pt;mso-padding-alt:0pt 0pt 0pt 0pt'>
   <tr style='mso-yfti-irow:0;mso-yfti-firstrow:yes'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
    <h6><a name="_Toc154229433"></a><a name="_Toc152605112"></a><a
!   name="_Toc115416170"></a><a name="_Toc139993162"></a><a name="_Toc126872239"></a><span
    style='mso-bookmark:_Toc154229433'><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>
***************
*** 2886,2895 ****
   <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="_Toc154229434"></a><a name="_Toc152605113"></a><a
!   name="_Toc115416171"></a><a name="_Toc126872240"></a><a name="_Toc139993163"></a><span
    style='mso-bookmark:_Toc154229434'><span style='mso-bookmark:_Toc152605113'><span
!   style='mso-bookmark:_Toc115416171'><span style='mso-fareast-font-family:"Times New Roman"'>AFSCACHESIZE</span></span></span></span><span
!   style='mso-fareast-font-family:"Times New Roman"'><o:p></o:p></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>
--- 2597,2605 ----
   <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="_Toc154229434"></a><a name="_Toc152605113"></a><a
!   name="_Toc115416171"></a><a name="_Toc139993163"></a><a name="_Toc126872240"></a><span
    style='mso-bookmark:_Toc154229434'><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>
***************
*** 2899,2908 ****
   <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="_Toc154229435"></a><a name="_Toc152605114"></a><a
!   name="_Toc115416172"></a><a name="_Toc126872241"></a><a name="_Toc139993164"></a><span
    style='mso-bookmark:_Toc154229435'><span style='mso-bookmark:_Toc152605114'><span
!   style='mso-bookmark:_Toc115416172'><span style='mso-fareast-font-family:"Times New Roman"'>AFSCELLNAME</span></span></span></span><span
!   style='mso-fareast-font-family:"Times New Roman"'><o:p></o:p></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_:_Cell">Cell</a></p>
--- 2609,2617 ----
   <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="_Toc154229435"></a><a name="_Toc152605114"></a><a
!   name="_Toc115416172"></a><a name="_Toc139993164"></a><a name="_Toc126872241"></a><span
    style='mso-bookmark:_Toc154229435'><span style='mso-bookmark:_Toc152605114'><span
!   style='mso-bookmark:_Toc115416172'>AFSCELLNAME</span></span></span></h6>
    <p class=MsoList>Registry key&nbsp;&nbsp;&nbsp; : <a
    href="#_(Service_parameters):">(Service parameters)</a></p>
    <p class=MsoList>Registry value : <a href="#_Value_:_Cell">Cell</a></p>
***************
*** 2912,2921 ****
   <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="_Toc154229436"></a><a name="_Toc152605115"></a><a
!   name="_Toc115416173"></a><a name="_Toc126872242"></a><a name="_Toc139993165"></a><span
    style='mso-bookmark:_Toc154229436'><span style='mso-bookmark:_Toc152605115'><span
!   style='mso-bookmark:_Toc115416173'><span style='mso-fareast-font-family:"Times New Roman"'>FREELANCEMODE</span></span></span></span><span
!   style='mso-fareast-font-family:"Times New Roman"'><o:p></o:p></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>
--- 2621,2629 ----
   <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="_Toc154229436"></a><a name="_Toc152605115"></a><a
!   name="_Toc115416173"></a><a name="_Toc139993165"></a><a name="_Toc126872242"></a><span
    style='mso-bookmark:_Toc154229436'><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>
***************
*** 2925,2934 ****
   <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="_Toc154229437"></a><a name="_Toc152605116"></a><a
!   name="_Toc115416174"></a><a name="_Toc126872243"></a><a name="_Toc139993166"></a><span
    style='mso-bookmark:_Toc154229437'><span style='mso-bookmark:_Toc152605116'><span
!   style='mso-bookmark:_Toc115416174'><span style='mso-fareast-font-family:"Times New Roman"'>HIDEDOTFILES</span></span></span></span><span
!   style='mso-fareast-font-family:"Times New Roman"'><o:p></o:p></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>
--- 2633,2641 ----
   <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="_Toc154229437"></a><a name="_Toc152605116"></a><a
!   name="_Toc115416174"></a><a name="_Toc139993166"></a><a name="_Toc126872243"></a><span
    style='mso-bookmark:_Toc154229437'><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>
***************
*** 2938,2947 ****
   <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="_Toc154229438"></a><a name="_Toc152605117"></a><a
!   name="_Toc115416175"></a><a name="_Toc126872244"></a><a name="_Toc139993167"></a><span
    style='mso-bookmark:_Toc154229438'><span style='mso-bookmark:_Toc152605117'><span
!   style='mso-bookmark:_Toc115416175'><span style='mso-fareast-font-family:"Times New Roman"'>LOGONOPTIONS</span></span></span></span><span
!   style='mso-fareast-font-family:"Times New Roman"'><o:p></o:p></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>
--- 2645,2653 ----
   <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="_Toc154229438"></a><a name="_Toc152605117"></a><a
!   name="_Toc115416175"></a><a name="_Toc139993167"></a><a name="_Toc126872244"></a><span
    style='mso-bookmark:_Toc154229438'><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>
***************
*** 2954,2963 ****
   <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="_Toc154229439"></a><a name="_Toc152605118"></a><a
!   name="_Toc115416176"></a><a name="_Toc126872245"></a><a name="_Toc139993168"></a><span
    style='mso-bookmark:_Toc154229439'><span style='mso-bookmark:_Toc152605118'><span
!   style='mso-bookmark:_Toc115416176'><span style='mso-fareast-font-family:"Times New Roman"'>MOUNTROOT</span></span></span></span><span
!   style='mso-fareast-font-family:"Times New Roman"'><o:p></o:p></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>
--- 2660,2668 ----
   <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="_Toc154229439"></a><a name="_Toc152605118"></a><a
!   name="_Toc115416176"></a><a name="_Toc139993168"></a><a name="_Toc126872245"></a><span
    style='mso-bookmark:_Toc154229439'><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>
***************
*** 2967,2976 ****
   <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="_Toc154229440"></a><a name="_Toc152605119"></a><a
!   name="_Toc115416177"></a><a name="_Toc126872246"></a><a name="_Toc139993169"></a><span
    style='mso-bookmark:_Toc154229440'><span style='mso-bookmark:_Toc152605119'><span
!   style='mso-bookmark:_Toc115416177'><span style='mso-fareast-font-family:"Times New Roman"'>NETBIOSNAME</span></span></span></span><span
!   style='mso-fareast-font-family:"Times New Roman"'><o:p></o:p></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>
--- 2672,2680 ----
   <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="_Toc154229440"></a><a name="_Toc152605119"></a><a
!   name="_Toc115416177"></a><a name="_Toc139993169"></a><a name="_Toc126872246"></a><span
    style='mso-bookmark:_Toc154229440'><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>
***************
*** 2981,2990 ****
   <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="_Toc154229441"></a><a name="_Toc152605120"></a><a
!   name="_Toc115416178"></a><a name="_Toc126872247"></a><a name="_Toc139993170"></a><span
    style='mso-bookmark:_Toc154229441'><span style='mso-bookmark:_Toc152605120'><span
!   style='mso-bookmark:_Toc115416178'><span style='mso-fareast-font-family:"Times New Roman"'>NOFINDLANABYNAME</span></span></span></span><span
!   style='mso-fareast-font-family:"Times New Roman"'><o:p></o:p></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>
--- 2685,2693 ----
   <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="_Toc154229441"></a><a name="_Toc152605120"></a><a
!   name="_Toc115416178"></a><a name="_Toc139993170"></a><a name="_Toc126872247"></a><span
    style='mso-bookmark:_Toc154229441'><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>
***************
*** 2994,3003 ****
   <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="_Toc154229442"></a><a name="_Toc152605121"></a><a
!   name="_Toc115416179"></a><a name="_Toc126872248"></a><a name="_Toc139993171"></a><span
    style='mso-bookmark:_Toc154229442'><span style='mso-bookmark:_Toc152605121'><span
!   style='mso-bookmark:_Toc115416179'><span style='mso-fareast-font-family:"Times New Roman"'>RXMAXMTU</span></span></span></span><span
!   style='mso-fareast-font-family:"Times New Roman"'><o:p></o:p></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>
--- 2697,2705 ----
   <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="_Toc154229442"></a><a name="_Toc152605121"></a><a
!   name="_Toc115416179"></a><a name="_Toc139993171"></a><a name="_Toc126872248"></a><span
    style='mso-bookmark:_Toc154229442'><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>
***************
*** 3007,3016 ****
   <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="_Toc154229443"></a><a name="_Toc152605122"></a><a
!   name="_Toc115416180"></a><a name="_Toc126872249"></a><a name="_Toc139993172"></a><span
    style='mso-bookmark:_Toc154229443'><span style='mso-bookmark:_Toc152605122'><span
!   style='mso-bookmark:_Toc115416180'><span style='mso-fareast-font-family:"Times New Roman"'>SECURITYLEVEL</span></span></span></span><span
!   style='mso-fareast-font-family:"Times New Roman"'><o:p></o:p></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>
--- 2709,2717 ----
   <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="_Toc154229443"></a><a name="_Toc152605122"></a><a
!   name="_Toc115416180"></a><a name="_Toc139993172"></a><a name="_Toc126872249"></a><span
    style='mso-bookmark:_Toc154229443'><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>
***************
*** 3020,3029 ****
   <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="_Toc154229444"></a><a name="_Toc152605123"></a><a
!   name="_Toc115416181"></a><a name="_Toc126872250"></a><a name="_Toc139993173"></a><span
    style='mso-bookmark:_Toc154229444'><span style='mso-bookmark:_Toc152605123'><span
!   style='mso-bookmark:_Toc115416181'><span style='mso-fareast-font-family:"Times New Roman"'>SMBAUTHTYPE</span></span></span></span><span
!   style='mso-fareast-font-family:"Times New Roman"'><o:p></o:p></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>
--- 2721,2729 ----
   <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="_Toc154229444"></a><a name="_Toc152605123"></a><a
!   name="_Toc115416181"></a><a name="_Toc139993173"></a><a name="_Toc126872250"></a><span
    style='mso-bookmark:_Toc154229444'><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>
***************
*** 3033,3042 ****
   <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="_Toc154229445"></a><a name="_Toc152605124"></a><a
!   name="_Toc115416182"></a><a name="_Toc126872251"></a><a name="_Toc139993174"></a><span
    style='mso-bookmark:_Toc154229445'><span style='mso-bookmark:_Toc152605124'><span
!   style='mso-bookmark:_Toc115416182'><span style='mso-fareast-font-family:"Times New Roman"'>STOREANSIFILENAMES</span></span></span></span><span
!   style='mso-fareast-font-family:"Times New Roman"'><o:p></o:p></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>
--- 2733,2741 ----
   <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="_Toc154229445"></a><a name="_Toc152605124"></a><a
!   name="_Toc115416182"></a><a name="_Toc139993174"></a><a name="_Toc126872251"></a><span
    style='mso-bookmark:_Toc154229445'><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>
***************
*** 3046,3055 ****
   <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="_Toc154229446"></a><a name="_Toc152605125"></a><a
!   name="_Toc115416183"></a><a name="_Toc126872252"></a><a name="_Toc139993175"></a><span
    style='mso-bookmark:_Toc154229446'><span style='mso-bookmark:_Toc152605125'><span
!   style='mso-bookmark:_Toc115416183'><span style='mso-fareast-font-family:"Times New Roman"'>USEDNS</span></span></span></span><span
!   style='mso-fareast-font-family:"Times New Roman"'><o:p></o:p></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>
--- 2745,2753 ----
   <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="_Toc154229446"></a><a name="_Toc152605125"></a><a
!   name="_Toc115416183"></a><a name="_Toc139993175"></a><a name="_Toc126872252"></a><span
    style='mso-bookmark:_Toc154229446'><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>
***************
*** 3064,3099 ****
  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="_Toc154229448"></a><a name="_Toc152605127"></a><a
!   name="_Toc115416185"></a><a name="_Toc126872254"></a><a name="_Toc139993177"></a><span
    style='mso-bookmark:_Toc154229448'><span style='mso-bookmark:_Toc152605127'><span
!   style='mso-bookmark:_Toc115416185'><span style='mso-fareast-font-family:"Times New Roman"'>CREDSSTARTUP</span></span></span></span><span
!   style='mso-fareast-font-family:"Times New Roman"'><o:p></o:p></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="_Toc154229449"></a><a name="_Toc152605128"></a><a
!   name="_Toc115416186"></a><a name="_Toc126872255"></a><a name="_Toc139993178"></a><span
    style='mso-bookmark:_Toc154229449'><span style='mso-bookmark:_Toc152605128'><span
!   style='mso-bookmark:_Toc115416186'><span style='mso-fareast-font-family:"Times New Roman"'>CREDSAUTOINIT</span></span></span></span><span
!   style='mso-fareast-font-family:"Times New Roman"'><o:p></o:p></span></h6>
    <p class=MsoList>Valid values&nbsp;&nbsp;&nbsp; : '-a' or ''</p>
    <p class=MsoList>Enables automatic initialization.</p>
    </td>
--- 2762,2795 ----
  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="_Toc154229448"></a><a name="_Toc152605127"></a><a
!   name="_Toc115416185"></a><a name="_Toc139993177"></a><a name="_Toc126872254"></a><span
    style='mso-bookmark:_Toc154229448'><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="_Toc154229449"></a><a name="_Toc152605128"></a><a
!   name="_Toc115416186"></a><a name="_Toc139993178"></a><a name="_Toc126872255"></a><span
    style='mso-bookmark:_Toc154229449'><span style='mso-bookmark:_Toc152605128'><span
!   style='mso-bookmark:_Toc115416186'>CREDSAUTOINIT</span></span></span></h6>
    <p class=MsoList>Valid values&nbsp;&nbsp;&nbsp; : '-a' or ''</p>
    <p class=MsoList>Enables automatic initialization.</p>
    </td>
***************
*** 3101,3110 ****
   <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="_Toc154229450"></a><a name="_Toc152605129"></a><a
!   name="_Toc115416187"></a><a name="_Toc126872256"></a><a name="_Toc139993179"></a><span
    style='mso-bookmark:_Toc154229450'><span style='mso-bookmark:_Toc152605129'><span
!   style='mso-bookmark:_Toc115416187'><span style='mso-fareast-font-family:"Times New Roman"'>CREDSIPCHDET</span></span></span></span><span
!   style='mso-fareast-font-family:"Times New Roman"'><o:p></o:p></span></h6>
    <p class=MsoList>Valid values&nbsp;&nbsp;&nbsp; : '-n' or ''</p>
    <p class=MsoList>Enables IP address change detection.</p>
    </td>
--- 2797,2805 ----
   <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="_Toc154229450"></a><a name="_Toc152605129"></a><a
!   name="_Toc115416187"></a><a name="_Toc139993179"></a><a name="_Toc126872256"></a><span
    style='mso-bookmark:_Toc154229450'><span style='mso-bookmark:_Toc152605129'><span
!   style='mso-bookmark:_Toc115416187'>CREDSIPCHDET</span></span></span></h6>
    <p class=MsoList>Valid values&nbsp;&nbsp;&nbsp; : '-n' or ''</p>
    <p class=MsoList>Enables IP address change detection.</p>
    </td>
***************
*** 3112,3121 ****
   <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="_Toc154229451"></a><a name="_Toc152605130"></a><a
!   name="_Toc115416188"></a><a name="_Toc126872257"></a><a name="_Toc139993180"></a><span
    style='mso-bookmark:_Toc154229451'><span style='mso-bookmark:_Toc152605130'><span
!   style='mso-bookmark:_Toc115416188'><span style='mso-fareast-font-family:"Times New Roman"'>CREDSQUIET</span></span></span></span><span
!   style='mso-fareast-font-family:"Times New Roman"'><o:p></o:p></span></h6>
    <p class=MsoList>Valid values&nbsp;&nbsp;&nbsp; : '-q' or ''</p>
    <p class=MsoList>Enables quiet mode.</p>
    </td>
--- 2807,2815 ----
   <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="_Toc154229451"></a><a name="_Toc152605130"></a><a
!   name="_Toc115416188"></a><a name="_Toc139993180"></a><a name="_Toc126872257"></a><span
    style='mso-bookmark:_Toc154229451'><span style='mso-bookmark:_Toc152605130'><span
!   style='mso-bookmark:_Toc115416188'>CREDSQUIET</span></span></span></h6>
    <p class=MsoList>Valid values&nbsp;&nbsp;&nbsp; : '-q' or ''</p>
    <p class=MsoList>Enables quiet mode.</p>
    </td>
***************
*** 3123,3132 ****
   <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="_Toc154229452"></a><a name="_Toc152605131"></a><a
!   name="_Toc115416189"></a><a name="_Toc126872258"></a><a name="_Toc139993181"></a><span
    style='mso-bookmark:_Toc154229452'><span style='mso-bookmark:_Toc152605131'><span
!   style='mso-bookmark:_Toc115416189'><span style='mso-fareast-font-family:"Times New Roman"'>CREDSRENEWDRMAP</span></span></span></span><span
!   style='mso-fareast-font-family:"Times New Roman"'><o:p></o:p></span></h6>
    <p class=MsoList>Valid values&nbsp;&nbsp;&nbsp; : '-m' or '’</p>
    <p class=MsoList>Enables renewing drive map at startup.</p>
    </td>
--- 2817,2825 ----
   <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="_Toc154229452"></a><a name="_Toc152605131"></a><a
!   name="_Toc115416189"></a><a name="_Toc139993181"></a><a name="_Toc126872258"></a><span
    style='mso-bookmark:_Toc154229452'><span style='mso-bookmark:_Toc152605131'><span
!   style='mso-bookmark:_Toc115416189'>CREDSRENEWDRMAP</span></span></span></h6>
    <p class=MsoList>Valid values&nbsp;&nbsp;&nbsp; : '-m' or '’</p>
    <p class=MsoList>Enables renewing drive map at startup.</p>
    </td>
***************
*** 3134,3143 ****
   <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="_Toc154229453"></a><a name="_Toc152605132"></a><a
!   name="_Toc115416190"></a><a name="_Toc126872259"></a><a name="_Toc139993182"></a><span
    style='mso-bookmark:_Toc154229453'><span style='mso-bookmark:_Toc152605132'><span
!   style='mso-bookmark:_Toc115416190'><span style='mso-fareast-font-family:"Times New Roman"'>CREDSSHOW</span></span></span></span><span
!   style='mso-fareast-font-family:"Times New Roman"'><o:p></o:p></span></h6>
    <p class=MsoList>Valid values&nbsp;&nbsp;&nbsp; : '-s' or ''</p>
    <p class=MsoList>Enables displaying the credential manager window when
    AFSCREDS starts up.</p>
--- 2827,2835 ----
   <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="_Toc154229453"></a><a name="_Toc152605132"></a><a
!   name="_Toc115416190"></a><a name="_Toc139993182"></a><a name="_Toc126872259"></a><span
    style='mso-bookmark:_Toc154229453'><span style='mso-bookmark:_Toc152605132'><span
!   style='mso-bookmark:_Toc115416190'>CREDSSHOW</span></span></span></h6>
    <p class=MsoList>Valid values&nbsp;&nbsp;&nbsp; : '-s' or ''</p>
    <p class=MsoList>Enables displaying the credential manager window when
    AFSCREDS starts up.</p>
***************
*** 3201,3209 ****
  
  <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>
--- 2893,2901 ----
  
  <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>
***************
*** 3298,3307 ****
  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>
--- 2990,3000 ----
  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>
***************
*** 3409,3422 ****
   </tr>
  </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
--- 3102,3115 ----
   </tr>
  </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
***************
*** 3547,3554 ****
  <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
--- 3240,3247 ----
  <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
***************
*** 3594,3601 ****
  <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 sequence number of 1000
! designates this as the media source for the newly added file.</p>
  
  <h4><a name="_Toc154229456"></a><a name="_Toc152605135"></a><a
  name="_Toc139993185"></a><a name="_Toc126872262"></a><a name="_Toc115416193"></a><a
--- 3287,3294 ----
  <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 sequence number of 1000 designates
! this as the media source for the newly added file.</p>
  
  <h4><a name="_Toc154229456"></a><a name="_Toc152605135"></a><a
  name="_Toc139993185"></a><a name="_Toc126872262"></a><a name="_Toc115416193"></a><a
***************
*** 3620,3627 ****
  <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>
  
  <table class=MsoNormalTable border=1 cellspacing=3 cellpadding=0
   style='mso-cellspacing:2.2pt;mso-padding-alt:0pt 0pt 0pt 0pt'>
--- 3313,3320 ----
  <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>
  
  <table class=MsoNormalTable border=1 cellspacing=3 cellpadding=0
   style='mso-cellspacing:2.2pt;mso-padding-alt:0pt 0pt 0pt 0pt'>
***************
*** 3635,3641 ****
    <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;
--- 3328,3335 ----
    <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;
***************
*** 3643,3650 ****
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    Level&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    : 30<br>
!   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
!   Attributes&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : 10</p>
    </td>
   </tr>
   <tr style='mso-yfti-irow:2'>
--- 3337,3344 ----
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    Level&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    : 30<br>
!   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Attributes&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
!   : 10</p>
    </td>
   </tr>
   <tr style='mso-yfti-irow:2'>
***************
*** 3761,3768 ****
    : 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;
    : 'LogonOptions'<br>
--- 3455,3461 ----
    : 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;
    : 'LogonOptions'<br>
***************
*** 3777,3791 ****
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
    <p class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&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_domkey4'<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>
    &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>
--- 3470,3484 ----
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
    <p class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&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_domkey4'<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>
    &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>
***************
*** 3807,3814 ****
    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;
--- 3500,3506 ----
    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;
***************
*** 3829,3836 ****
    : 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;
    : 'FailLoginsSilently'<br>
--- 3521,3527 ----
    : 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;
    : 'FailLoginsSilently'<br>
***************
*** 3874,3881 ****
   </tr>
   <tr style='mso-yfti-irow:1'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <p class=MsoNormal>&nbsp;&nbsp;&nbsp;
!   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (new row)<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    Feature&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; :
    'feaFreelanceKeys'<br>
--- 3565,3572 ----
   </tr>
   <tr style='mso-yfti-irow:1'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <p class=MsoNormal>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
!   (new row)<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    Feature&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; :
    'feaFreelanceKeys'<br>
***************
*** 4040,4047 ****
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
    <p class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&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>
--- 3731,3739 ----
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
    <p class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&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>
***************
*** 4054,4068 ****
    &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>
  </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="_Toc154229459"></a><a name="_Toc152605138"></a><a
  name="_Ref115275867"></a><a name="_Toc139993188"></a><a name="_Toc126872265"></a><a
--- 3746,3760 ----
    &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>
  </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="_Toc154229459"></a><a name="_Toc152605138"></a><a
  name="_Ref115275867"></a><a name="_Toc139993188"></a><a name="_Toc126872265"></a><a
***************
*** 4145,4152 ****
  <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
--- 3837,3844 ----
  <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
***************
*** 4182,4192 ****
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:145.25pt'>
    <h5><a name="_Toc154229464"></a><a name="_Toc152605143"></a><a
!   name="_Toc115416201"></a><a name="_Toc126872270"></a><a name="_Toc139993193"></a><span
    style='mso-bookmark:_Toc154229464'><span style='mso-bookmark:_Toc152605143'><span
!   style='mso-bookmark:_Toc115416201'><span style='mso-fareast-font-family:"Times New Roman"'>Value:
!   LANadapter</span></span></span></span><span style='mso-fareast-font-family:
!   "Times New Roman"'><o:p></o:p></span></h5>
    <p class=MsoBodyText>Type: DWORD<br>
    Default: -1<br>
    Variable: LANadapter</p>
--- 3874,3882 ----
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:145.25pt'>
    <h5><a name="_Toc154229464"></a><a name="_Toc152605143"></a><a
!   name="_Toc115416201"></a><a name="_Toc139993193"></a><a name="_Toc126872270"></a><span
    style='mso-bookmark:_Toc154229464'><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>
***************
*** 4203,4213 ****
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:79.25pt'>
    <h5><a name="_Toc154229465"></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:
!   _Toc154229465'><span style='mso-bookmark:_Toc152605144'><span
!   style='mso-fareast-font-family:"Times New Roman"'>Value: CacheSize</span></span></span><span
!   style='mso-fareast-font-family:"Times New Roman"'><o:p></o:p></span></h5>
    <p class=MsoBodyText>Type: DWORD<br>
    Default: 98304 (CM_CONFIGDEFAULT_CACHESIZE)<br>
    Variable: cm_initParams.cacheSize</p>
--- 3893,3901 ----
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:79.25pt'>
    <h5><a name="_Toc154229465"></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:_Toc154229465'><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>
***************
*** 4218,4228 ****
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:79.25pt'>
    <h5><a name="_Toc154229466"></a><a name="_Toc152605145"></a><a
!   name="_Toc115416203"></a><a name="_Toc126872272"></a><a name="_Toc139993195"></a><span
    style='mso-bookmark:_Toc154229466'><span style='mso-bookmark:_Toc152605145'><span
!   style='mso-bookmark:_Toc115416203'><span style='mso-fareast-font-family:"Times New Roman"'>Value:
!   ChunkSize</span></span></span></span><span style='mso-fareast-font-family:
!   "Times New Roman"'><o:p></o:p></span></h5>
    <p class=MsoBodyText>Type: DWORD<br>
    Default: 17 (CM_CONFIGDEFAULT_CHUNKSIZE)<br>
    Variable: cm_logChunkSize (cm_chunkSize = 1 &lt;&lt; cm_logChunkSize)</p>
--- 3906,3914 ----
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:79.25pt'>
    <h5><a name="_Toc154229466"></a><a name="_Toc152605145"></a><a
!   name="_Toc115416203"></a><a name="_Toc139993195"></a><a name="_Toc126872272"></a><span
    style='mso-bookmark:_Toc154229466'><span style='mso-bookmark:_Toc152605145'><span
!   style='mso-bookmark:_Toc115416203'>Value: ChunkSize</span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD<br>
    Default: 17 (CM_CONFIGDEFAULT_CHUNKSIZE)<br>
    Variable: cm_logChunkSize (cm_chunkSize = 1 &lt;&lt; cm_logChunkSize)</p>
***************
*** 4234,4243 ****
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:92.0pt'>
    <h5><a name="_Toc154229467"></a><a name="_Toc152605146"></a><a
!   name="_Toc115416204"></a><a name="_Toc126872273"></a><a name="_Toc139993196"></a><span
    style='mso-bookmark:_Toc154229467'><span style='mso-bookmark:_Toc152605146'><span
!   style='mso-bookmark:_Toc115416204'><span style='mso-fareast-font-family:"Times New Roman"'>Value:
!   Daemons</span></span></span></span><span style='mso-fareast-font-family:"Times New Roman"'><o:p></o:p></span></h5>
    <p class=MsoBodyText>Type: DWORD<br>
    Default: 2 (CM_CONFIGDEFAULT_DAEMONS)<br>
    Variable: numBkgD</p>
--- 3920,3928 ----
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:92.0pt'>
    <h5><a name="_Toc154229467"></a><a name="_Toc152605146"></a><a
!   name="_Toc115416204"></a><a name="_Toc139993196"></a><a name="_Toc126872273"></a><span
    style='mso-bookmark:_Toc154229467'><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>
***************
*** 4249,4259 ****
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:92.0pt'>
    <h5><a name="_Toc154229468"></a><a name="_Toc152605147"></a><a
!   name="_Toc115416205"></a><a name="_Toc126872274"></a><a name="_Toc139993197"></a><span
    style='mso-bookmark:_Toc154229468'><span style='mso-bookmark:_Toc152605147'><span
!   style='mso-bookmark:_Toc115416205'><span style='mso-fareast-font-family:"Times New Roman"'>Value:
!   ServerThreads</span></span></span></span><span style='mso-fareast-font-family:
!   "Times New Roman"'><o:p></o:p></span></h5>
    <p class=MsoBodyText>Type: DWORD<br>
    Default: 25 (CM_CONFIGDEFAULT_SVTHREADS)<br>
    Variable: numSvThreads</p>
--- 3934,3942 ----
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:92.0pt'>
    <h5><a name="_Toc154229468"></a><a name="_Toc152605147"></a><a
!   name="_Toc115416205"></a><a name="_Toc139993197"></a><a name="_Toc126872274"></a><span
    style='mso-bookmark:_Toc154229468'><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>
***************
*** 4265,4275 ****
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:79.25pt'>
    <h5><a name="_Toc154229469"></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:_Toc154229469'><span
!   style='mso-bookmark:_Toc152605148'><span style='mso-bookmark:_Toc115416206'><span
!   style='mso-fareast-font-family:"Times New Roman"'>Value: Stats</span></span></span></span><span
!   style='mso-fareast-font-family:"Times New Roman"'><o:p></o:p></span></h5>
    <p class=MsoBodyText>Type: DWORD<br>
    Default: 10000 (CM_CONFIGDEFAULT_STATS)<br>
    Variable: cm_initParams.nStatCaches</p>
--- 3948,3957 ----
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:79.25pt'>
    <h5><a name="_Toc154229469"></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:_Toc154229469'><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>
***************
*** 4280,4290 ****
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:78.5pt'>
    <h5><a name="_Toc154229470"></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:
!   _Toc154229470'><span style='mso-bookmark:_Toc152605149'><span
!   style='mso-fareast-font-family:"Times New Roman"'>Value: LogoffPreserveTokens</span></span></span><span
!   style='mso-fareast-font-family:"Times New Roman"'><o:p></o:p></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
--- 3962,3970 ----
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:78.5pt'>
    <h5><a name="_Toc154229470"></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:_Toc154229470'><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
***************
*** 4296,4306 ****
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:79.25pt'>
    <h5><a name="_Toc154229471"></a><a name="_Toc152605150"></a><a
!   name="_Toc115416208"></a><a name="_Toc126872277"></a><a name="_Toc139993200"></a><span
    style='mso-bookmark:_Toc154229471'><span style='mso-bookmark:_Toc152605150'><span
!   style='mso-bookmark:_Toc115416208'><span style='mso-fareast-font-family:"Times New Roman"'>Value:
!   RootVolume</span></span></span></span><span style='mso-fareast-font-family:
!   "Times New Roman"'><o:p></o:p></span></h5>
    <p class=MsoBodyText>Type: REG_SZ<br>
    Default: &quot;root.afs&quot;<br>
    Variable: cm_rootVolumeName</p>
--- 3976,3984 ----
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:79.25pt'>
    <h5><a name="_Toc154229471"></a><a name="_Toc152605150"></a><a
!   name="_Toc115416208"></a><a name="_Toc139993200"></a><a name="_Toc126872277"></a><span
    style='mso-bookmark:_Toc154229471'><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>
***************
*** 4311,4321 ****
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:145.25pt'>
    <h5><a name="_Toc154229472"></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:
!   _Toc154229472'><span style='mso-bookmark:_Toc152605151'><span
!   style='mso-fareast-font-family:"Times New Roman"'>Value: MountRoot</span></span></span><span
!   style='mso-fareast-font-family:"Times New Roman"'><o:p></o:p></span></h5>
    <p class=MsoBodyText>Type: REG_SZ<br>
    Default: &quot;/afs&quot;<br>
    Variable: cm_mountRoot</p>
--- 3989,3997 ----
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:145.25pt'>
    <h5><a name="_Toc154229472"></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:_Toc154229472'><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>
***************
*** 4333,4343 ****
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:92.0pt'>
    <h5><a name="_Toc154229473"></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:
!   _Toc154229473'><span style='mso-bookmark:_Toc152605152'><span
!   style='mso-fareast-font-family:"Times New Roman"'>Value: CachePath</span></span></span><span
!   style='mso-fareast-font-family:"Times New Roman"'><o:p></o:p></span></h5>
    <p class=MsoBodyText>Type: REG_SZ or REG_EXPAND_SZ<br>
    Default: &quot;%TEMP%\AFSCache&quot;<br>
    Variable: cm_CachePath</p>
--- 4009,4017 ----
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:92.0pt'>
    <h5><a name="_Toc154229473"></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:_Toc154229473'><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>
***************
*** 4350,4360 ****
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:119.0pt'>
    <h5><a name="_Toc154229474"></a><a name="_Toc152605153"></a><a
!   name="_Toc115416211"></a><a name="_Toc126872280"></a><a name="_Toc139993203"></a><span
    style='mso-bookmark:_Toc154229474'><span style='mso-bookmark:_Toc152605153'><span
!   style='mso-bookmark:_Toc115416211'><span style='mso-fareast-font-family:"Times New Roman"'>Value:
!   NonPersistentCaching</span></span></span></span><span style='mso-fareast-font-family:
!   "Times New Roman"'><o:p></o:p></span></h5>
    <p class=MsoBodyText>Type: DWORD [0..1]<br>
    Default: 0<br>
    Variable: buf_CacheType</p>
--- 4024,4032 ----
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:119.0pt'>
    <h5><a name="_Toc154229474"></a><a name="_Toc152605153"></a><a
!   name="_Toc115416211"></a><a name="_Toc139993203"></a><a name="_Toc126872280"></a><span
    style='mso-bookmark:_Toc154229474'><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>
***************
*** 4369,4379 ****
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:125.5pt'>
    <h5><a name="_Toc154229475"></a><a name="_Toc152605154"></a><a
!   name="_Toc115416212"></a><a name="_Toc126872281"></a><a name="_Toc139993204"></a><span
    style='mso-bookmark:_Toc154229475'><span style='mso-bookmark:_Toc152605154'><span
!   style='mso-bookmark:_Toc115416212'><span style='mso-fareast-font-family:"Times New Roman"'>Value:
!   ValidateCache</span></span></span></span><span style='mso-fareast-font-family:
!   "Times New Roman"'><o:p></o:p></span></h5>
    <p class=MsoBodyText>Type: DWORD [0..2]<br>
    Default: 1<br>
    Variable: buf_CacheType</p>
--- 4041,4049 ----
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:125.5pt'>
    <h5><a name="_Toc154229475"></a><a name="_Toc152605154"></a><a
!   name="_Toc115416212"></a><a name="_Toc139993204"></a><a name="_Toc126872281"></a><span
    style='mso-bookmark:_Toc154229475'><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>
***************
*** 4388,4398 ****
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:79.25pt'>
    <h5><a name="_Toc154229476"></a><a name="_Toc152605155"></a><a
!   name="_Toc115416213"></a><a name="_Toc126872282"></a><a name="_Toc139993205"></a><span
    style='mso-bookmark:_Toc154229476'><span style='mso-bookmark:_Toc152605155'><span
!   style='mso-bookmark:_Toc115416213'><span style='mso-fareast-font-family:"Times New Roman"'>Value:
!   TrapOnPanic</span></span></span></span><span style='mso-fareast-font-family:
!   "Times New Roman"'><o:p></o:p></span></h5>
    <p class=MsoBodyText>Type: DWORD {1,0}<br>
    Default: 0<br>
    Variable: traceOnPanic</p>
--- 4058,4066 ----
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:79.25pt'>
    <h5><a name="_Toc154229476"></a><a name="_Toc152605155"></a><a
!   name="_Toc115416213"></a><a name="_Toc139993205"></a><a name="_Toc126872282"></a><span
    style='mso-bookmark:_Toc154229476'><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>
***************
*** 4404,4414 ****
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:92.0pt'>
    <h5><a name="_Toc154229477"></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:
!   _Toc154229477'><span style='mso-bookmark:_Toc152605156'><span
!   style='mso-fareast-font-family:"Times New Roman"'>Value: NetbiosName</span></span></span><span
!   style='mso-fareast-font-family:"Times New Roman"'><o:p></o:p></span></h5>
    <p class=MsoBodyText>Type: REG_EXPAND_SZ<br>
    Default: &quot;AFS&quot;<br>
    Variable: cm_NetbiosName</p>
--- 4072,4080 ----
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:92.0pt'>
    <h5><a name="_Toc154229477"></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:_Toc154229477'><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>
***************
*** 4421,4431 ****
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:152.0pt'>
    <h5><a name="_Toc154229478"></a><a name="_Toc152605157"></a><a
!   name="_Toc115416215"></a><a name="_Toc126872284"></a><a name="_Toc139993207"></a><span
    style='mso-bookmark:_Toc154229478'><span style='mso-bookmark:_Toc152605157'><span
!   style='mso-bookmark:_Toc115416215'><span style='mso-fareast-font-family:"Times New Roman"'>Value:
!   IsGateway</span></span></span></span><span style='mso-fareast-font-family:
!   "Times New Roman"'><o:p></o:p></span></h5>
    <p class=MsoBodyText>Type: DWORD {1,0}<br>
    Default: 0<br>
    Variable: isGateway</p>
--- 4087,4095 ----
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:152.0pt'>
    <h5><a name="_Toc154229478"></a><a name="_Toc152605157"></a><a
!   name="_Toc115416215"></a><a name="_Toc139993207"></a><a name="_Toc126872284"></a><span
    style='mso-bookmark:_Toc154229478'><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>
***************
*** 4443,4453 ****
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:92.0pt'>
    <h5><a name="_Toc154229479"></a><a name="_Toc152605158"></a><a
!   name="_Toc115416216"></a><a name="_Toc126872285"></a><a name="_Toc139993208"></a><span
    style='mso-bookmark:_Toc154229479'><span style='mso-bookmark:_Toc152605158'><span
!   style='mso-bookmark:_Toc115416216'><span style='mso-fareast-font-family:"Times New Roman"'>Value:
!   ReportSessionStartups</span></span></span></span><span style='mso-fareast-font-family:
!   "Times New Roman"'><o:p></o:p></span></h5>
    <p class=MsoBodyText>Type: DWORD {1,0}<br>
    Default: 0<br>
    Variable: reportSessionStartups</p>
--- 4107,4115 ----
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:92.0pt'>
    <h5><a name="_Toc154229479"></a><a name="_Toc152605158"></a><a
!   name="_Toc115416216"></a><a name="_Toc139993208"></a><a name="_Toc126872285"></a><span
    style='mso-bookmark:_Toc154229479'><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>
***************
*** 4460,4470 ****
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:79.25pt'>
    <h5><a name="_Toc154229480"></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:
!   _Toc154229480'><span style='mso-bookmark:_Toc152605159'><span
!   style='mso-fareast-font-family:"Times New Roman"'>Value: TraceBufferSize</span></span></span><span
!   style='mso-fareast-font-family:"Times New Roman"'><o:p></o:p></span></h5>
    <p class=MsoBodyText>Type: DWORD<br>
    Default: 5000 (CM_CONFIGDEFAULT_TRACEBUFSIZE)<br>
    Variable: traceBufSize</p>
--- 4122,4130 ----
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:79.25pt'>
    <h5><a name="_Toc154229480"></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:_Toc154229480'><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>
***************
*** 4475,4485 ****
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:92.0pt'>
    <h5><a name="_Toc154229481"></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:
!   _Toc154229481'><span style='mso-bookmark:_Toc152605160'><span
!   style='mso-fareast-font-family:"Times New Roman"'>Value: SysName</span></span></span><span
!   style='mso-fareast-font-family:"Times New Roman"'><o:p></o:p></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>
--- 4135,4143 ----
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:92.0pt'>
    <h5><a name="_Toc154229481"></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:_Toc154229481'><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>
***************
*** 4493,4503 ****
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:79.25pt'>
    <h5><a name="_Toc154229482"></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:
!   _Toc154229482'><span style='mso-bookmark:_Toc152605161'><span
!   style='mso-fareast-font-family:"Times New Roman"'>Value: SecurityLevel</span></span></span><span
!   style='mso-fareast-font-family:"Times New Roman"'><o:p></o:p></span></h5>
    <p class=MsoBodyText>Type: DWORD {1,0}<br>
    Default: 0<br>
    Variable: cryptall</p>
--- 4151,4159 ----
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:79.25pt'>
    <h5><a name="_Toc154229482"></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:_Toc154229482'><span
!   style='mso-bookmark:_Toc152605161'>Value: SecurityLevel</span></span></h5>
    <p class=MsoBodyText>Type: DWORD {1,0}<br>
    Default: 0<br>
    Variable: cryptall</p>
***************
*** 4508,4535 ****
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:112.25pt'>
    <h5><a name="_Toc154229483"></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:_Toc154229483'><span
!   style='mso-bookmark:_Toc152605162'><span style='mso-fareast-font-family:"Times New Roman"'>Value:
!   UseDNS</span></span></span><span style='mso-fareast-font-family:"Times New Roman"'><o:p></o:p></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="_Toc154229484"></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:
!   _Toc154229484'><span style='mso-bookmark:_Toc152605163'><span
!   style='mso-fareast-font-family:"Times New Roman"'>Value: FreelanceClient</span></span></span><span
!   style='mso-fareast-font-family:"Times New Roman"'><o:p></o:p></span></h5>
    <p class=MsoBodyText>Type: DWORD {1,0}<br>
    Default: 0<br>
    Variable: cm_freelanceEnabled</p>
--- 4164,4187 ----
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:112.25pt'>
    <h5><a name="_Toc154229483"></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:_Toc154229483'><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="_Toc154229484"></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:_Toc154229484'><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>
***************
*** 4540,4550 ****
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:92.0pt'>
    <h5><a name="_Toc154229485"></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:_Toc154229485'><span
!   style='mso-bookmark:_Toc152605164'><span style='mso-fareast-font-family:"Times New Roman"'>Value:
!   HideDotFiles</span></span></span><span style='mso-fareast-font-family:"Times New Roman"'><o:p></o:p></span></h5>
    <p class=MsoBodyText>Type: DWORD {1,0}<br>
    Default: 1<br>
    Variable: smb_hideDotFiles</p>
--- 4192,4201 ----
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:92.0pt'>
    <h5><a name="_Toc154229485"></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:_Toc154229485'><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>
***************
*** 4557,4567 ****
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:79.25pt'>
    <h5><a name="_Toc154229486"></a><a name="_Toc152605165"></a><a
!   name="_Toc115416223"></a><a name="_Toc126872292"></a><a name="_Toc139993215"></a><span
    style='mso-bookmark:_Toc154229486'><span style='mso-bookmark:_Toc152605165'><span
!   style='mso-bookmark:_Toc115416223'><span style='mso-fareast-font-family:"Times New Roman"'>Value:
!   MaxMpxRequests</span></span></span></span><span style='mso-fareast-font-family:
!   "Times New Roman"'><o:p></o:p></span></h5>
    <p class=MsoBodyText>Type: DWORD<br>
    Default: 50<br>
    Variable: smb_maxMpxRequests</p>
--- 4208,4216 ----
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:79.25pt'>
    <h5><a name="_Toc154229486"></a><a name="_Toc152605165"></a><a
!   name="_Toc115416223"></a><a name="_Toc139993215"></a><a name="_Toc126872292"></a><span
    style='mso-bookmark:_Toc154229486'><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>
***************
*** 4573,4583 ****
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:79.25pt'>
    <h5><a name="_Toc154229487"></a><a name="_Toc152605166"></a><a
!   name="_Toc115416224"></a><a name="_Toc126872293"></a><a name="_Toc139993216"></a><span
    style='mso-bookmark:_Toc154229487'><span style='mso-bookmark:_Toc152605166'><span
!   style='mso-bookmark:_Toc115416224'><span style='mso-fareast-font-family:"Times New Roman"'>Value:
!   MaxVCPerServer</span></span></span></span><span style='mso-fareast-font-family:
!   "Times New Roman"'><o:p></o:p></span></h5>
    <p class=MsoBodyText>Type: DWORD<br>
    Default: 100<br>
    Variable: smb_maxVCPerServer</p>
--- 4222,4230 ----
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:79.25pt'>
    <h5><a name="_Toc154229487"></a><a name="_Toc152605166"></a><a
!   name="_Toc115416224"></a><a name="_Toc139993216"></a><a name="_Toc126872293"></a><span
    style='mso-bookmark:_Toc154229487'><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>
***************
*** 4588,4597 ****
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:79.25pt'>
    <h5><a name="_Toc154229488"></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:_Toc154229488'><span
!   style='mso-bookmark:_Toc152605167'><span style='mso-fareast-font-family:"Times New Roman"'>Value:
!   Cell</span></span></span><span style='mso-fareast-font-family:"Times New Roman"'><o:p></o:p></span></h5>
    <p class=MsoBodyText>Type: REG_SZ<br>
    Default: &lt;none&gt;<br>
    Variable: rootCellName</p>
--- 4235,4243 ----
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:79.25pt'>
    <h5><a name="_Toc154229488"></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:_Toc154229488'><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>
***************
*** 4603,4613 ****
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:79.25pt'>
    <h5><a name="_Toc154229489"></a><a name="_Toc152605168"></a><a
!   name="_Toc115416226"></a><a name="_Toc126872295"></a><a name="_Toc139993218"></a><span
    style='mso-bookmark:_Toc154229489'><span style='mso-bookmark:_Toc152605168'><span
!   style='mso-bookmark:_Toc115416226'><span style='mso-fareast-font-family:"Times New Roman"'>Value:
!   RxNoJumbo</span></span></span></span><span style='mso-fareast-font-family:
!   "Times New Roman"'><o:p></o:p></span></h5>
    <p class=MsoBodyText>Type: DWORD {0,1}<br>
    Default: 0<br>
    Variable: rx_nojumbo</p>
--- 4249,4257 ----
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:79.25pt'>
    <h5><a name="_Toc154229489"></a><a name="_Toc152605168"></a><a
!   name="_Toc115416226"></a><a name="_Toc139993218"></a><a name="_Toc126872295"></a><span
    style='mso-bookmark:_Toc154229489'><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>
***************
*** 4619,4629 ****
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:124.75pt'>
    <h5><a name="_Toc154229490"></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:
!   _Toc154229490'><span style='mso-bookmark:_Toc152605169'><span
!   style='mso-fareast-font-family:"Times New Roman"'>Value: RxMaxMTU</span></span></span><span
!   style='mso-fareast-font-family:"Times New Roman"'><o:p></o:p></span></h5>
    <p class=MsoBodyText>Type: DWORD<br>
    Default: -1<br>
    Variable: rx_mtu</p>
--- 4263,4271 ----
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:124.75pt'>
    <h5><a name="_Toc154229490"></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:_Toc154229490'><span
!   style='mso-bookmark:_Toc152605169'>Value: RxMaxMTU</span></span></h5>
    <p class=MsoBodyText>Type: DWORD<br>
    Default: -1<br>
    Variable: rx_mtu</p>
***************
*** 4637,4647 ****
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:151.75pt'>
    <h5><a name="_Toc154229491"></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:
!   _Toc154229491'><span style='mso-bookmark:_Toc152605170'><span
!   style='mso-fareast-font-family:"Times New Roman"'>Value: ConnDeadTimeout</span></span></span><span
!   style='mso-fareast-font-family:"Times New Roman"'><o:p></o:p></span></h5>
    <p class=MsoBodyText>Type: DWORD<br>
    Default: 60 (seconds)<br>
    Variable: ConnDeadtimeout</p>
--- 4279,4287 ----
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:151.75pt'>
    <h5><a name="_Toc154229491"></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:_Toc154229491'><span
!   style='mso-bookmark:_Toc152605170'>Value: ConnDeadTimeout</span></span></h5>
    <p class=MsoBodyText>Type: DWORD<br>
    Default: 60 (seconds)<br>
    Variable: ConnDeadtimeout</p>
***************
*** 4658,4668 ****
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:92.0pt'>
    <h5><a name="_Toc154229492"></a><a name="_Toc152605171"></a><a
!   name="_Toc115416229"></a><a name="_Toc126872298"></a><a name="_Toc139993221"></a><span
    style='mso-bookmark:_Toc154229492'><span style='mso-bookmark:_Toc152605171'><span
!   style='mso-bookmark:_Toc115416229'><span style='mso-fareast-font-family:"Times New Roman"'>Value:
!   HardDeadTimeout</span></span></span></span><span style='mso-fareast-font-family:
!   "Times New Roman"'><o:p></o:p></span></h5>
    <p class=MsoBodyText>Type: DWORD<br>
    Default: 120 (seconds)<br>
    Variable: HardDeadtimeout</p>
--- 4298,4306 ----
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:92.0pt'>
    <h5><a name="_Toc154229492"></a><a name="_Toc152605171"></a><a
!   name="_Toc115416229"></a><a name="_Toc139993221"></a><a name="_Toc126872298"></a><span
    style='mso-bookmark:_Toc154229492'><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>
***************
*** 4674,4684 ****
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:158.5pt'>
    <h5><a name="_Toc154229493"></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:
!   _Toc154229493'><span style='mso-bookmark:_Toc152605172'><span
!   style='mso-fareast-font-family:"Times New Roman"'>Value: TraceOption</span></span></span><span
!   style='mso-fareast-font-family:"Times New Roman"'><o:p></o:p></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
--- 4312,4320 ----
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:158.5pt'>
    <h5><a name="_Toc154229493"></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:_Toc154229493'><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
***************
*** 4697,4707 ****
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:98.5pt'>
    <h5><a name="_Toc154229494"></a><a name="_Toc152605173"></a><a
!   name="_Toc115416231"></a><a name="_Toc126872300"></a><a name="_Toc139993223"></a><span
    style='mso-bookmark:_Toc154229494'><span style='mso-bookmark:_Toc152605173'><span
!   style='mso-bookmark:_Toc115416231'><span style='mso-fareast-font-family:"Times New Roman"'>Value:
!   AllSubmount</span></span></span></span><span style='mso-fareast-font-family:
!   "Times New Roman"'><o:p></o:p></span></h5>
    <p class=MsoBodyText>Type: DWORD {0, 1}<br>
    Default: 1</p>
    <p class=MsoBodyText>Variable: allSubmount (smb.c)</p>
--- 4333,4341 ----
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:98.5pt'>
    <h5><a name="_Toc154229494"></a><a name="_Toc152605173"></a><a
!   name="_Toc115416231"></a><a name="_Toc139993223"></a><a name="_Toc126872300"></a><span
    style='mso-bookmark:_Toc154229494'><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>
***************
*** 4714,4740 ****
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:78.5pt'>
    <h5><a name="_Toc154229495"></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:
!   _Toc154229495'><span style='mso-bookmark:_Toc152605174'><span
!   style='mso-fareast-font-family:"Times New Roman"'>Value: NoFindLanaByName</span></span></span><span
!   style='mso-fareast-font-family:"Times New Roman"'><o:p></o:p></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="_Toc154229496"></a><a name="_Toc152605175"></a><a
!   name="_Toc115416233"></a><a name="_Toc126872302"></a><a name="_Toc139993225"></a><span
    style='mso-bookmark:_Toc154229496'><span style='mso-bookmark:_Toc152605175'><span
!   style='mso-bookmark:_Toc115416233'><span style='mso-fareast-font-family:"Times New Roman"'>Value:
!   MaxCPUs</span></span></span></span><span style='mso-fareast-font-family:"Times New Roman"'><o:p></o:p></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
--- 4348,4370 ----
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:78.5pt'>
    <h5><a name="_Toc154229495"></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:_Toc154229495'><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="_Toc154229496"></a><a name="_Toc152605175"></a><a
!   name="_Toc115416233"></a><a name="_Toc139993225"></a><a name="_Toc126872302"></a><span
    style='mso-bookmark:_Toc154229496'><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
***************
*** 4745,4755 ****
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:151.75pt'>
    <h5><a name="_Toc154229497"></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:
!   _Toc154229497'><span style='mso-bookmark:_Toc152605176'><span
!   style='mso-fareast-font-family:"Times New Roman"'>Value: smbAuthType</span></span></span><span
!   style='mso-fareast-font-family:"Times New Roman"'><o:p></o:p></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
--- 4375,4383 ----
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:151.75pt'>
    <h5><a name="_Toc154229497"></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:_Toc154229497'><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
***************
*** 4765,4775 ****
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:92.0pt'>
    <h5><a name="_Toc154229498"></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:
!   _Toc154229498'><span style='mso-bookmark:_Toc152605177'><span
!   style='mso-fareast-font-family:"Times New Roman"'>Value: MaxLogSize</span></span></span><span
!   style='mso-fareast-font-family:"Times New Roman"'><o:p></o:p></span></h5>
    <p class=MsoBodyText>Type: DWORD {0 .. MAXDWORD}<br>
    Default: 100K</p>
    <p class=MsoBodyText>This entry determines the maximum size of the
--- 4393,4401 ----
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:92.0pt'>
    <h5><a name="_Toc154229498"></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:_Toc154229498'><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
***************
*** 4782,4792 ****
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:65.75pt'>
    <h5><a name="_Toc154229499"></a><a name="_Toc152605178"></a><a
!   name="_Toc115416236"></a><a name="_Toc126872305"></a><a name="_Toc139993228"></a><span
    style='mso-bookmark:_Toc154229499'><span style='mso-bookmark:_Toc152605178'><span
!   style='mso-bookmark:_Toc115416236'><span style='mso-fareast-font-family:"Times New Roman"'>Value:
!   FlushOnHibernate</span></span></span></span><span style='mso-fareast-font-family:
!   "Times New Roman"'><o:p></o:p></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
--- 4408,4416 ----
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:65.75pt'>
    <h5><a name="_Toc154229499"></a><a name="_Toc152605178"></a><a
!   name="_Toc115416236"></a><a name="_Toc139993228"></a><a name="_Toc126872305"></a><span
    style='mso-bookmark:_Toc154229499'><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
***************
*** 4797,4805 ****
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:65.75pt'>
    <h5><a name="_Toc154229500"></a><a name="_Toc152605179"><span
!   style='mso-bookmark:_Toc154229500'><span style='mso-fareast-font-family:"Times New Roman"'>Value:
!   daemonCheckDownInterval</span></span></a><span style='mso-fareast-font-family:
!   "Times New Roman"'><o:p></o:p></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
--- 4421,4427 ----
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:65.75pt'>
    <h5><a name="_Toc154229500"></a><a name="_Toc152605179"><span
!   style='mso-bookmark:_Toc154229500'>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
***************
*** 4811,4819 ****
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:65.75pt'>
    <h5><a name="_Toc154229501"></a><a name="_Toc152605180"><span
!   style='mso-bookmark:_Toc154229501'><span style='mso-fareast-font-family:"Times New Roman"'>Value:
!   daemonCheckUpInterval</span></span></a><span style='mso-fareast-font-family:
!   "Times New Roman"'><o:p></o:p></span></h5>
    <p class=MsoBodyText>Type: DWORD (seconds)<br>
    Default: 600</p>
    <p class=MsoBodyText>This value controls how frequently the AFS cache manager
--- 4433,4439 ----
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:65.75pt'>
    <h5><a name="_Toc154229501"></a><a name="_Toc152605180"><span
!   style='mso-bookmark:_Toc154229501'>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
***************
*** 4824,4832 ****
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:65.75pt'>
    <h5><a name="_Toc154229502"></a><a name="_Toc152605181"><span
!   style='mso-bookmark:_Toc154229502'><span style='mso-fareast-font-family:"Times New Roman"'>Value:
!   daemonCheckVolInterval</span></span></a><span style='mso-fareast-font-family:
!   "Times New Roman"'><o:p></o:p></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
--- 4444,4450 ----
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:65.75pt'>
    <h5><a name="_Toc154229502"></a><a name="_Toc152605181"><span
!   style='mso-bookmark:_Toc154229502'>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
***************
*** 4838,4860 ****
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:65.75pt'>
    <h5><a name="_Toc154229503"></a><a name="_Toc152605182"><span
!   style='mso-bookmark:_Toc154229503'><span style='mso-fareast-font-family:"Times New Roman"'>Value:
!   daemonCheckCBInterval</span></span></a><span style='mso-fareast-font-family:
!   "Times New Roman"'><o:p></o:p></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
!   value controls how frequently the AFS cache manager checks for callback
!   invalidation.<o:p></o:p></span></p>
    </td>
   </tr>
   <tr style='mso-yfti-irow:40;height:65.75pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:65.75pt'>
    <h5><a name="_Toc154229504"></a><a name="_Toc152605183"><span
!   style='mso-bookmark:_Toc154229504'><span style='mso-fareast-font-family:"Times New Roman"'>Value:
!   daemonCheckLockInterval</span></span></a><span style='mso-fareast-font-family:
!   "Times New Roman"'><o:p></o:p></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
--- 4456,4473 ----
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:65.75pt'>
    <h5><a name="_Toc154229503"></a><a name="_Toc152605182"><span
!   style='mso-bookmark:_Toc154229503'>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
!   value controls how frequently the AFS cache manager checks for callback invalidation.<o:p></o:p></span></p>
    </td>
   </tr>
   <tr style='mso-yfti-irow:40;height:65.75pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:65.75pt'>
    <h5><a name="_Toc154229504"></a><a name="_Toc152605183"><span
!   style='mso-bookmark:_Toc154229504'>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
***************
*** 4866,4874 ****
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:65.75pt'>
    <h5><a name="_Toc154229505"></a><a name="_Toc152605184"><span
!   style='mso-bookmark:_Toc154229505'><span style='mso-fareast-font-family:"Times New Roman"'>Value:
!   daemonTokenCheckInterval</span></span></a><span style='mso-fareast-font-family:
!   "Times New Roman"'><o:p></o:p></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
--- 4479,4485 ----
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:65.75pt'>
    <h5><a name="_Toc154229505"></a><a name="_Toc152605184"><span
!   style='mso-bookmark:_Toc154229505'>Value: daemonTokenCheckInterval</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
***************
*** 4880,4887 ****
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:65.75pt'>
    <h5><a name="_Toc154229506"></a><a name="_Toc152605185"><span
!   style='mso-bookmark:_Toc154229506'><span style='mso-fareast-font-family:"Times New Roman"'>Value:
!   CallBackPort</span></span></a><span style='mso-fareast-font-family:"Times New Roman"'><o:p></o:p></span></h5>
    <p class=MsoBodyText>Type: DWORD<br>
    Default: 7001</p>
    <p class=MsoBodyText>This value specifies which port number should be used
--- 4491,4497 ----
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:65.75pt'>
    <h5><a name="_Toc154229506"></a><a name="_Toc152605185"><span
!   style='mso-bookmark:_Toc154229506'>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
***************
*** 4897,4905 ****
    height:65.75pt'>
    <h5><a name="_Toc154229507"></a><a name="_Toc152605186"></a><a
    name="_Value:_EnableServerLocks"></a><span style='mso-bookmark:_Toc154229507'><span
!   style='mso-bookmark:_Toc152605186'><span style='mso-fareast-font-family:"Times New Roman"'>Value:
!   EnableServerLocks</span></span></span><span style='mso-fareast-font-family:
!   "Times New Roman"'><o:p></o:p></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
--- 4507,4513 ----
    height:65.75pt'>
    <h5><a name="_Toc154229507"></a><a name="_Toc152605186"></a><a
    name="_Value:_EnableServerLocks"></a><span style='mso-bookmark:_Toc154229507'><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
***************
*** 4927,4937 ****
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:65.0pt'>
    <h5><a name="_Toc154229509"></a><a name="_Toc152605188"></a><a
!   name="_Toc115416238"></a><a name="_Toc126872307"></a><a name="_Toc139993230"></a><span
    style='mso-bookmark:_Toc154229509'><span style='mso-bookmark:_Toc152605188'><span
!   style='mso-bookmark:_Toc115416238'><span style='mso-fareast-font-family:"Times New Roman"'>Value:
!   &lt;Drive Letter:&gt; for example &quot;G:&quot;</span></span></span></span><span
!   style='mso-fareast-font-family:"Times New Roman"'><o:p></o:p></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>
--- 4535,4544 ----
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:65.0pt'>
    <h5><a name="_Toc154229509"></a><a name="_Toc152605188"></a><a
!   name="_Toc115416238"></a><a name="_Toc139993230"></a><a name="_Toc126872307"></a><span
    style='mso-bookmark:_Toc154229509'><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>
***************
*** 4953,4963 ****
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:78.5pt'>
    <h5><a name="_Toc154229511"></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:
!   _Toc154229511'><span style='mso-bookmark:_Toc152605190'><span
!   style='mso-fareast-font-family:"Times New Roman"'>Value: CellServDBDir</span></span></span><span
!   style='mso-fareast-font-family:"Times New Roman"'><o:p></o:p></span></h5>
    <p class=MsoBodyText>Type: REG_SZ<br>
    Default: &lt;not defined&gt;</p>
    <p class=MsoBodyText>Specifies the directory containing the CellServDB
--- 4560,4568 ----
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:78.5pt'>
    <h5><a name="_Toc154229511"></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:_Toc154229511'><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
***************
*** 4969,4980 ****
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:145.25pt'>
    <h5><a name="_Toc154229512"></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:
!   _Toc154229512'><span style='mso-bookmark:_Toc152605191'><span
!   style='mso-fareast-font-family:"Times New Roman"'>Value:
!   VerifyServiceSignature</span></span></span><span style='mso-fareast-font-family:
!   "Times New Roman"'><o:p></o:p></span></h5>
    <p class=MsoBodyText>Type: REG_DWORD<br>
    Default: 0x1</p>
    <p class=MsoBodyText>This value can be used to disable the runtime
--- 4574,4582 ----
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:145.25pt'>
    <h5><a name="_Toc154229512"></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:_Toc154229512'><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
***************
*** 4992,5002 ****
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:105.5pt'>
    <h5><a name="_Toc154229513"></a><a name="_Toc152605192"></a><a
!   name="_Value___:_IoctlDebug"></a><a name="_Toc115416242"></a><a
!   name="_Toc126872311"></a><a name="_Toc139993234"></a><span style='mso-bookmark:
!   _Toc154229513'><span style='mso-bookmark:_Toc152605192'><span
!   style='mso-fareast-font-family:"Times New Roman"'>Value: IoctlDebug</span></span></span><span
!   style='mso-fareast-font-family:"Times New Roman"'><o:p></o:p></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()
--- 4594,4602 ----
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:105.5pt'>
    <h5><a name="_Toc154229513"></a><a name="_Toc152605192"></a><a
!   name="_Toc139993234"></a><a name="_Toc126872311"></a><a name="_Toc115416242"></a><a
!   name="_Value___:_IoctlDebug"></a><span style='mso-bookmark:_Toc154229513'><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()
***************
*** 5010,5020 ****
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:330.75pt'>
    <h5><a name="_Toc154229514"></a><a name="_Toc152605193"></a><a
!   name="_Toc115416243"></a><a name="_Toc126872312"></a><a name="_Toc139993235"></a><span
    style='mso-bookmark:_Toc154229514'><span style='mso-bookmark:_Toc152605193'><span
!   style='mso-bookmark:_Toc115416243'><span style='mso-fareast-font-family:"Times New Roman"'>Value:
!   MiniDumpType</span></span></span></span><span style='mso-fareast-font-family:
!   "Times New Roman"'><o:p></o:p></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
--- 4610,4618 ----
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:330.75pt'>
    <h5><a name="_Toc154229514"></a><a name="_Toc152605193"></a><a
!   name="_Toc115416243"></a><a name="_Toc139993235"></a><a name="_Toc126872312"></a><span
    style='mso-bookmark:_Toc154229514'><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
***************
*** 5045,5060 ****
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:138.25pt'>
    <h5><a name="_Toc154229515"></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:
!   _Toc154229515'><span style='mso-bookmark:_Toc152605194'><span
!   style='mso-fareast-font-family:"Times New Roman"'>Value: StoreAnsiFilenames</span></span></span><span
!   style='mso-fareast-font-family:"Times New Roman"'><o:p></o:p></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
--- 4643,4656 ----
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:138.25pt'>
    <h5><a name="_Toc154229515"></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:_Toc154229515'><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
***************
*** 5077,5087 ****
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:112.0pt'>
    <h5><a name="_Toc154229517"></a><a name="_Toc152605196"></a><a
!   name="_Toc115416246"></a><a name="_Toc126872315"></a><a name="_Toc139993238"></a><span
    style='mso-bookmark:_Toc154229517'><span style='mso-bookmark:_Toc152605196'><span
!   style='mso-bookmark:_Toc115416246'><span style='mso-fareast-font-family:"Times New Roman"'>Value:
!   &quot;smb/cifs share name&quot;</span></span></span></span><span
!   style='mso-fareast-font-family:"Times New Roman"'><o:p></o:p></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
--- 4673,4681 ----
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:112.0pt'>
    <h5><a name="_Toc154229517"></a><a name="_Toc152605196"></a><a
!   name="_Toc115416246"></a><a name="_Toc139993238"></a><a name="_Toc126872315"></a><span
    style='mso-bookmark:_Toc154229517'><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
***************
*** 5106,5121 ****
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:138.5pt'>
    <h5><a name="_Toc154229519"></a><a name="_Toc152605198"></a><a
!   name="_Toc115416248"></a><a name="_Toc126872317"></a><a name="_Toc139993240"></a><span
    style='mso-bookmark:_Toc154229519'><span style='mso-bookmark:_Toc152605198'><span
!   style='mso-bookmark:_Toc115416248'><span style='mso-fareast-font-family:"Times New Roman"'>Value:
!   &quot;numeric value&quot;</span></span></span></span><span style='mso-fareast-font-family:
!   "Times New Roman"'><o:p></o:p></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>
--- 4700,4713 ----
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:138.5pt'>
    <h5><a name="_Toc154229519"></a><a name="_Toc152605198"></a><a
!   name="_Toc115416248"></a><a name="_Toc139993240"></a><a name="_Toc126872317"></a><span
    style='mso-bookmark:_Toc154229519'><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>
***************
*** 5136,5146 ****
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:145.0pt'>
    <h5><a name="_Toc154229521"></a><a name="_Toc152605200"></a><a
!   name="_Toc115416250"></a><a name="_Toc126872319"></a><a name="_Toc139993242"></a><span
    style='mso-bookmark:_Toc154229521'><span style='mso-bookmark:_Toc152605200'><span
!   style='mso-bookmark:_Toc115416250'><span style='mso-fareast-font-family:"Times New Roman"'>Value:
!   &quot;numeric value&quot;</span></span></span></span><span style='mso-fareast-font-family:
!   "Times New Roman"'><o:p></o:p></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
--- 4728,4736 ----
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:145.0pt'>
    <h5><a name="_Toc154229521"></a><a name="_Toc152605200"></a><a
!   name="_Toc115416250"></a><a name="_Toc139993242"></a><a name="_Toc126872319"></a><span
    style='mso-bookmark:_Toc154229521'><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
***************
*** 5167,5184 ****
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:171.75pt'>
    <h5><a name="_Toc154229523"></a><a name="_Toc152605202"></a><a
!   name="_Toc115416252"></a><a name="_Toc126872321"></a><a name="_Toc139993244"></a><span
    style='mso-bookmark:_Toc154229523'><span style='mso-bookmark:_Toc152605202'><span
!   style='mso-bookmark:_Toc115416252'><span style='mso-fareast-font-family:"Times New Roman"'>Value:
!   &quot;submount name&quot;</span></span></span></span><span style='mso-fareast-font-family:
!   "Times New Roman"'><o:p></o:p></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
--- 4757,4772 ----
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:171.75pt'>
    <h5><a name="_Toc154229523"></a><a name="_Toc152605202"></a><a
!   name="_Toc115416252"></a><a name="_Toc139993244"></a><a name="_Toc126872321"></a><span
    style='mso-bookmark:_Toc154229523'><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
***************
*** 5200,5210 ****
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:105.5pt'>
    <h5><a name="_Toc154229525"></a><a name="_Toc152605204"></a><a
!   name="_Toc115416254"></a><a name="_Toc126872323"></a><a name="_Toc139993246"></a><span
    style='mso-bookmark:_Toc154229525'><span style='mso-bookmark:_Toc152605204'><span
!   style='mso-bookmark:_Toc115416254'><span style='mso-fareast-font-family:"Times New Roman"'>Value:
!   &quot;hostname or ip address&quot;</span></span></span></span><span
!   style='mso-fareast-font-family:"Times New Roman"'><o:p></o:p></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
--- 4788,4796 ----
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:105.5pt'>
    <h5><a name="_Toc154229525"></a><a name="_Toc152605204"></a><a
!   name="_Toc115416254"></a><a name="_Toc139993246"></a><a name="_Toc126872323"></a><span
    style='mso-bookmark:_Toc154229525'><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
***************
*** 5229,5239 ****
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:105.5pt'>
    <h5><a name="_Toc154229527"></a><a name="_Toc152605206"></a><a
!   name="_Toc115416256"></a><a name="_Toc126872325"></a><a name="_Toc139993248"></a><span
    style='mso-bookmark:_Toc154229527'><span style='mso-bookmark:_Toc152605206'><span
!   style='mso-bookmark:_Toc115416256'><span style='mso-fareast-font-family:"Times New Roman"'>Value:
!   &quot;hostname or ip address&quot;</span></span></span></span><span
!   style='mso-fareast-font-family:"Times New Roman"'><o:p></o:p></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
--- 4815,4823 ----
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:105.5pt'>
    <h5><a name="_Toc154229527"></a><a name="_Toc152605206"></a><a
!   name="_Toc115416256"></a><a name="_Toc139993248"></a><a name="_Toc126872325"></a><span
    style='mso-bookmark:_Toc154229527'><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
***************
*** 5266,5276 ****
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:65.75pt'>
    <h5><a name="_Toc154229530"></a><a name="_Toc152605209"></a><a
!   name="_Toc115416259"></a><a name="_Toc126872328"></a><a name="_Toc139993251"></a><span
    style='mso-bookmark:_Toc154229530'><span style='mso-bookmark:_Toc152605209'><span
!   style='mso-bookmark:_Toc115416259'><span style='mso-fareast-font-family:"Times New Roman"'>Value:
!   FailLoginsSilently</span></span></span></span><span style='mso-fareast-font-family:
!   "Times New Roman"'><o:p></o:p></span></h5>
    <p class=MsoBodyText>Type: DWORD<br>
    Default: 0</p>
    <p class=MsoBodyText>Do not display message boxes if the login fails.</p>
--- 4850,4858 ----
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:65.75pt'>
    <h5><a name="_Toc154229530"></a><a name="_Toc152605209"></a><a
!   name="_Toc115416259"></a><a name="_Toc139993251"></a><a name="_Toc126872328"></a><span
    style='mso-bookmark:_Toc154229530'><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>
***************
*** 5290,5300 ****
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:65.75pt'>
    <h5><a name="_Toc154229532"></a><a name="_Toc152605211"></a><a
!   name="_Toc115416261"></a><a name="_Toc126872330"></a><a name="_Toc139993253"></a><span
    style='mso-bookmark:_Toc154229532'><span style='mso-bookmark:_Toc152605211'><span
!   style='mso-bookmark:_Toc115416261'><span style='mso-fareast-font-family:"Times New Roman"'>Value:
!   NoWarnings</span></span></span></span><span style='mso-fareast-font-family:
!   "Times New Roman"'><o:p></o:p></span></h5>
    <p class=MsoBodyText>Type: DWORD<br>
    Default: 0</p>
    <p class=MsoBodyText>Disables visible warnings during logon.</p>
--- 4872,4880 ----
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:65.75pt'>
    <h5><a name="_Toc154229532"></a><a name="_Toc152605211"></a><a
!   name="_Toc115416261"></a><a name="_Toc139993253"></a><a name="_Toc126872330"></a><span
    style='mso-bookmark:_Toc154229532'><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>
***************
*** 5304,5314 ****
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:65.75pt'>
    <h5><a name="_Toc154229533"></a><a name="_Toc152605212"></a><a
!   name="_Toc115416262"></a><a name="_Toc126872331"></a><a name="_Toc139993254"></a><span
    style='mso-bookmark:_Toc154229533'><span style='mso-bookmark:_Toc152605212'><span
!   style='mso-bookmark:_Toc115416262'><span style='mso-fareast-font-family:"Times New Roman"'>Value:
!   AuthentProviderPath</span></span></span></span><span style='mso-fareast-font-family:
!   "Times New Roman"'><o:p></o:p></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
--- 4884,4892 ----
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:65.75pt'>
    <h5><a name="_Toc154229533"></a><a name="_Toc152605212"></a><a
!   name="_Toc115416262"></a><a name="_Toc139993254"></a><a name="_Toc126872331"></a><span
    style='mso-bookmark:_Toc154229533'><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
***************
*** 5319,5328 ****
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:65.75pt'>
    <h5><a name="_Toc154229534"></a><a name="_Toc152605213"></a><a
!   name="_Toc115416263"></a><a name="_Toc126872332"></a><a name="_Toc139993255"></a><span
    style='mso-bookmark:_Toc154229534'><span style='mso-bookmark:_Toc152605213'><span
!   style='mso-bookmark:_Toc115416263'><span style='mso-fareast-font-family:"Times New Roman"'>Value:
!   Class</span></span></span></span><span style='mso-fareast-font-family:"Times New Roman"'><o:p></o:p></span></h5>
    <p class=MsoBodyText>Type: DWORD<br>
    NSIS: 0x02</p>
    <p class=MsoBodyText>Specifies the class of network provider</p>
--- 4897,4905 ----
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:65.75pt'>
    <h5><a name="_Toc154229534"></a><a name="_Toc152605213"></a><a
!   name="_Toc115416263"></a><a name="_Toc139993255"></a><a name="_Toc126872332"></a><span
    style='mso-bookmark:_Toc154229534'><span style='mso-bookmark:_Toc152605213'><span
!   style='mso-bookmark:_Toc115416263'>Value: Class</span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD<br>
    NSIS: 0x02</p>
    <p class=MsoBodyText>Specifies the class of network provider</p>
***************
*** 5332,5342 ****
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:92.0pt'>
    <h5><a name="_Toc154229535"></a><a name="_Toc152605214"></a><a
!   name="_Toc115416264"></a><a name="_Toc126872333"></a><a name="_Toc139993256"></a><span
    style='mso-bookmark:_Toc154229535'><span style='mso-bookmark:_Toc152605214'><span
!   style='mso-bookmark:_Toc115416264'><span style='mso-fareast-font-family:"Times New Roman"'>Value:
!   DependOnGroup</span></span></span></span><span style='mso-fareast-font-family:
!   "Times New Roman"'><o:p></o:p></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
--- 4909,4917 ----
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:92.0pt'>
    <h5><a name="_Toc154229535"></a><a name="_Toc152605214"></a><a
!   name="_Toc115416264"></a><a name="_Toc139993256"></a><a name="_Toc126872333"></a><span
    style='mso-bookmark:_Toc154229535'><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
***************
*** 5349,5374 ****
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:92.0pt'>
    <h5><a name="_Toc154229536"></a><a name="_Toc152605215"></a><a
!   name="_Toc115416265"></a><a name="_Toc126872334"></a><a name="_Toc139993257"></a><span
    style='mso-bookmark:_Toc154229536'><span style='mso-bookmark:_Toc152605215'><span
!   style='mso-bookmark:_Toc115416265'><span style='mso-fareast-font-family:"Times New Roman"'>Value:
!   DependOnService</span></span></span></span><span style='mso-fareast-font-family:
!   "Times New Roman"'><o:p></o:p></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>
    </td>
   </tr>
   <tr style='mso-yfti-irow:5;height:65.75pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:65.75pt'>
    <h5><a name="_Toc154229537"></a><a name="_Toc152605216"></a><a
!   name="_Toc115416266"></a><a name="_Toc126872335"></a><a name="_Toc139993258"></a><span
    style='mso-bookmark:_Toc154229537'><span style='mso-bookmark:_Toc152605216'><span
!   style='mso-bookmark:_Toc115416266'><span style='mso-fareast-font-family:"Times New Roman"'>Value:
!   Name</span></span></span></span><span style='mso-fareast-font-family:"Times New Roman"'><o:p></o:p></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>
--- 4924,4946 ----
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:92.0pt'>
    <h5><a name="_Toc154229536"></a><a name="_Toc152605215"></a><a
!   name="_Toc115416265"></a><a name="_Toc139993257"></a><a name="_Toc126872334"></a><span
    style='mso-bookmark:_Toc154229536'><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>
    </td>
   </tr>
   <tr style='mso-yfti-irow:5;height:65.75pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:65.75pt'>
    <h5><a name="_Toc154229537"></a><a name="_Toc152605216"></a><a
!   name="_Toc115416266"></a><a name="_Toc139993258"></a><a name="_Toc126872335"></a><span
    style='mso-bookmark:_Toc154229537'><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>
***************
*** 5378,5388 ****
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:65.75pt'>
    <h5><a name="_Toc154229538"></a><a name="_Toc152605217"></a><a
!   name="_Toc115416267"></a><a name="_Toc126872336"></a><a name="_Toc139993259"></a><span
    style='mso-bookmark:_Toc154229538'><span style='mso-bookmark:_Toc152605217'><span
!   style='mso-bookmark:_Toc115416267'><span style='mso-fareast-font-family:"Times New Roman"'>Value:
!   ProviderPath</span></span></span></span><span style='mso-fareast-font-family:
!   "Times New Roman"'><o:p></o:p></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>
--- 4950,4958 ----
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:65.75pt'>
    <h5><a name="_Toc154229538"></a><a name="_Toc152605217"></a><a
!   name="_Toc115416267"></a><a name="_Toc139993259"></a><a name="_Toc126872336"></a><span
    style='mso-bookmark:_Toc154229538'><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>
***************
*** 5397,5408 ****
  Domain specific configuration keys for the Network Provider</span></span></h2>
  
  <p class=MsoBodyText>The network provider can be configured to have different
! behavior depending on the domain that the user logs into.&nbsp; These settings
! 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>
  
--- 4967,4978 ----
  Domain specific configuration keys for the Network Provider</span></span></h2>
  
  <p class=MsoBodyText>The network provider can be configured to have different
! behavior depending on the domain that the user logs into.&nbsp; These settings 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>
  
***************
*** 5476,5486 ****
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:191.0pt'>
    <h5><a name="_Toc154229547"></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:
!   _Toc154229547'><span style='mso-bookmark:_Toc152605226'><span
!   style='mso-fareast-font-family:"Times New Roman"'>Value: LogonOptions</span></span></span><span
!   style='mso-fareast-font-family:"Times New Roman"'><o:p></o:p></span></h5>
    <p class=MsoBodyText>Type: DWORD<br>
    Default: 0x01</p>
    <p class=MsoBodyText>NSIS/WiX: depends on user configuration</p>
--- 5046,5054 ----
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:191.0pt'>
    <h5><a name="_Toc154229547"></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:_Toc154229547'><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>
***************
*** 5500,5510 ****
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:92.0pt'>
    <h5><a name="_Toc154229548"></a><a name="_Toc152605227"></a><a
!   name="_Toc115416277"></a><a name="_Toc126872346"></a><a name="_Toc139993269"></a><span
    style='mso-bookmark:_Toc154229548'><span style='mso-bookmark:_Toc152605227'><span
!   style='mso-bookmark:_Toc115416277'><span style='mso-fareast-font-family:"Times New Roman"'>Value:
!   FailLoginsSilentl</span></span></span></span><span style='mso-fareast-font-family:
!   "Times New Roman"'><o:p></o:p></span></h5>
    <p class=MsoBodyText>Type: DWORD (1|0)<br>
    Default: 0<br>
    NSIS/WiX: (not set)</p>
--- 5068,5076 ----
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:92.0pt'>
    <h5><a name="_Toc154229548"></a><a name="_Toc152605227"></a><a
!   name="_Toc115416277"></a><a name="_Toc139993269"></a><a name="_Toc126872346"></a><span
    style='mso-bookmark:_Toc154229548'><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>
***************
*** 5516,5526 ****
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:139.0pt'>
    <h5><a name="_Toc154229549"></a><a name="_Toc152605228"></a><a
!   name="_Toc115416278"></a><a name="_Toc126872347"></a><a name="_Toc139993270"></a><span
    style='mso-bookmark:_Toc154229549'><span style='mso-bookmark:_Toc152605228'><span
!   style='mso-bookmark:_Toc115416278'><span style='mso-fareast-font-family:"Times New Roman"'>Value:
!   LogonScript</span></span></span></span><span style='mso-fareast-font-family:
!   "Times New Roman"'><o:p></o:p></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
--- 5082,5090 ----
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:139.0pt'>
    <h5><a name="_Toc154229549"></a><a name="_Toc152605228"></a><a
!   name="_Toc115416278"></a><a name="_Toc139993270"></a><a name="_Toc126872347"></a><span
    style='mso-bookmark:_Toc154229549'><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
***************
*** 5537,5547 ****
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:105.5pt'>
    <h5><a name="_Toc154229550"></a><a name="_Toc152605229"></a><a
!   name="_Toc115416279"></a><a name="_Toc126872348"></a><a name="_Toc139993271"></a><span
    style='mso-bookmark:_Toc154229550'><span style='mso-bookmark:_Toc152605229'><span
!   style='mso-bookmark:_Toc115416279'><span style='mso-fareast-font-family:"Times New Roman"'>Value:
!   LoginRetryInterval</span></span></span></span><span style='mso-fareast-font-family:
!   "Times New Roman"'><o:p></o:p></span></h5>
    <p class=MsoBodyText>Type: DWORD<br>
    Default: 30<br>
    NSIS/WiX: (not set)</p>
--- 5101,5109 ----
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:105.5pt'>
    <h5><a name="_Toc154229550"></a><a name="_Toc152605229"></a><a
!   name="_Toc115416279"></a><a name="_Toc139993271"></a><a name="_Toc126872348"></a><span
    style='mso-bookmark:_Toc154229550'><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>
***************
*** 5555,5565 ****
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:79.25pt'>
    <h5><a name="_Toc154229551"></a><a name="_Toc152605230"></a><a
!   name="_Toc115416280"></a><a name="_Toc126872349"></a><a name="_Toc139993272"></a><span
    style='mso-bookmark:_Toc154229551'><span style='mso-bookmark:_Toc152605230'><span
!   style='mso-bookmark:_Toc115416280'><span style='mso-fareast-font-family:"Times New Roman"'>Value:
!   LoginSleepInterval</span></span></span></span><span style='mso-fareast-font-family:
!   "Times New Roman"'><o:p></o:p></span></h5>
    <p class=MsoBodyText>Type: DWORD<br>
    Default: 5<br>
    NSIS/WiX: (not set)</p>
--- 5117,5125 ----
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:79.25pt'>
    <h5><a name="_Toc154229551"></a><a name="_Toc152605230"></a><a
!   name="_Toc115416280"></a><a name="_Toc139993272"></a><a name="_Toc126872349"></a><span
    style='mso-bookmark:_Toc154229551'><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>
***************
*** 5570,5585 ****
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:78.5pt'>
    <h5><a name="_Toc154229552"></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:
!   _Toc154229552'><span style='mso-bookmark:_Toc152605231'><span
!   style='mso-fareast-font-family:"Times New Roman"'>Value: TheseCells</span></span></span><span
!   style='mso-fareast-font-family:"Times New Roman"'><o:p></o:p></span></h5>
    <p class=MsoBodyText>Type: REG_MULTI_SZ<br>
    NSIS: &lt;not set&gt;</p>
!   <p class=MsoBodyText>When Kerberos 5 is being used, TheseCells provides a
    list of additional cells for which tokens should be obtained with the default
!   Kerberos 5 principal.</p>
    </td>
   </tr>
  </table>
--- 5130,5143 ----
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:78.5pt'>
    <h5><a name="_Toc154229552"></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:_Toc154229552'><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>
***************
*** 5670,5694 ****
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:92.0pt'>
    <h5><a name="_Toc154229559"></a><a name="_Toc152605238"></a><a
!   name="_Toc115416288"></a><a name="_Toc126872357"></a><a name="_Toc139993280"></a><span
    style='mso-bookmark:_Toc154229559'><span style='mso-bookmark:_Toc152605238'><span
!   style='mso-bookmark:_Toc115416288'><span style='mso-fareast-font-family:"Times New Roman"'>Value:
!   Gateway</span></span></span></span><span style='mso-fareast-font-family:"Times New Roman"'><o:p></o:p></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>
   </tr>
   <tr style='mso-yfti-irow:1;mso-yfti-lastrow:yes;height:92.0pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:92.0pt'>
    <h5><a name="_Toc154229560"></a><a name="_Toc152605239"></a><a
!   name="_Toc115416289"></a><a name="_Toc126872358"></a><a name="_Toc139993281"></a><span
    style='mso-bookmark:_Toc154229560'><span style='mso-bookmark:_Toc152605239'><span
!   style='mso-bookmark:_Toc115416289'><span style='mso-fareast-font-family:"Times New Roman"'>Value:
!   Cell</span></span></span></span><span style='mso-fareast-font-family:"Times New Roman"'><o:p></o:p></span></h5>
    <p class=MsoBodyText>Type: REG_SZ<br>
    Default: &lt;none&gt;<br>
    Variable: IsServiceConfigured()</p>
--- 5228,5250 ----
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:92.0pt'>
    <h5><a name="_Toc154229559"></a><a name="_Toc152605238"></a><a
!   name="_Toc115416288"></a><a name="_Toc139993280"></a><a name="_Toc126872357"></a><span
    style='mso-bookmark:_Toc154229559'><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>
   </tr>
   <tr style='mso-yfti-irow:1;mso-yfti-lastrow:yes;height:92.0pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:92.0pt'>
    <h5><a name="_Toc154229560"></a><a name="_Toc152605239"></a><a
!   name="_Toc115416289"></a><a name="_Toc139993281"></a><a name="_Toc126872358"></a><span
    style='mso-bookmark:_Toc154229560'><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>
***************
*** 5711,5721 ****
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:157.5pt'>
    <h5><a name="_Toc154229562"></a><a name="_Toc152605241"></a><a
!   name="_Toc115416291"></a><a name="_Toc126872360"></a><a name="_Toc139993283"></a><span
    style='mso-bookmark:_Toc154229562'><span style='mso-bookmark:_Toc152605241'><span
!   style='mso-bookmark:_Toc115416291'><span style='mso-fareast-font-family:"Times New Roman"'>Value:
!   ShowTrayIcon</span></span></span></span><span style='mso-fareast-font-family:
!   "Times New Roman"'><o:p></o:p></span></h5>
    <p class=MsoBodyText>Type: DWORD {0, 1}<br>
    Default: 1<br>
    Function: InitApp(), Main_OnCheckTerminate()</p>
--- 5267,5275 ----
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:157.5pt'>
    <h5><a name="_Toc154229562"></a><a name="_Toc152605241"></a><a
!   name="_Toc115416291"></a><a name="_Toc139993283"></a><a name="_Toc126872360"></a><span
    style='mso-bookmark:_Toc154229562'><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>
***************
*** 5732,5749 ****
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:119.0pt'>
    <h5><a name="_Toc154229563"></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:
    _Toc154229563'><span style='mso-bookmark:_Toc152605242'><span
!   style='mso-bookmark:_Toc115416292'><span style='mso-fareast-font-family:"Times New Roman"'>Value:
!   EnableKFW</span></span></span></span><span style='mso-fareast-font-family:
!   "Times New Roman"'><o:p></o:p></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 5
    will be used to obtain AFS credentials.&nbsp; By setting this value to 0, the
!   internal Kerberos 4 implementation will be used instead.&nbsp; The current
    user value is checked first; if it does not exist the local machine value is
    checked.</p>
    </td>
--- 5286,5301 ----
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:119.0pt'>
    <h5><a name="_Toc154229563"></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:
    _Toc154229563'><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
    user value is checked first; if it does not exist the local machine value is
    checked.</p>
    </td>
***************
*** 5752,5768 ****
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:119.0pt'>
    <h5><a name="_Toc154229564"></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:_Toc154229564'><span
!   style='mso-bookmark:_Toc152605243'><span style='mso-fareast-font-family:"Times New Roman"'>Value:
!   Use524</span></span></span><span style='mso-fareast-font-family:"Times New Roman"'><o:p></o:p></span></h5>
    <p class=MsoBodyText>Type: DWORD {0, 1}<br>
    Default: 0<br>
    Function: KFW_use_krb524()</p>
!   <p class=MsoBodyText>When MIT Kerberos for Windows can be loaded, Kerberos 5
    will be used to obtain AFS credentials.&nbsp; By setting this value to 1, the
!   Kerberos 5 tickets will be converted to Kerberos 4 tokens via a call to the
    krb524 daemon.&nbsp; The current user value is checked first; if it does not
    exist the local machine value is checked.</p>
    </td>
--- 5304,5319 ----
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:119.0pt'>
    <h5><a name="_Toc154229564"></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:_Toc154229564'><span
!   style='mso-bookmark:_Toc152605243'>Value: Use524</span></span></h5>
    <p class=MsoBodyText>Type: DWORD {0, 1}<br>
    Default: 0<br>
    Function: KFW_use_krb524()</p>
!   <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 1, the
!   Kerberos v5 tickets will be converted to Kerberos v4 tokens via a call to the
    krb524 daemon.&nbsp; The current user value is checked first; if it does not
    exist the local machine value is checked.</p>
    </td>
***************
*** 5771,5782 ****
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:251.5pt'>
    <h5><a name="_Toc154229565"></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:
!   _Toc154229565'><span style='mso-bookmark:_Toc152605244'><span
!   style='mso-fareast-font-family:"Times New Roman"'>Value:
!   AfscredsShortcutParams</span></span></span><span style='mso-fareast-font-family:
!   "Times New Roman"'><o:p></o:p></span></h5>
    <p class=MsoBodyText>Type: REG_SZ<br>
    Default: &quot;-A -M -N -Q&quot;<br>
    Function: Shortcut_FixStartup</p>
--- 5322,5330 ----
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:251.5pt'>
    <h5><a name="_Toc154229565"></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:_Toc154229565'><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>
***************
*** 5813,5823 ****
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:92.0pt'>
    <h5><a name="_Toc154229567"></a><a name="_Toc152605246"></a><a
!   name="_Toc115416296"></a><a name="_Toc126872365"></a><a name="_Toc139993288"></a><span
    style='mso-bookmark:_Toc154229567'><span style='mso-bookmark:_Toc152605246'><span
!   style='mso-bookmark:_Toc115416296'><span style='mso-fareast-font-family:"Times New Roman"'>Value:
!   Authentication Cell</span></span></span></span><span style='mso-fareast-font-family:
!   "Times New Roman"'><o:p></o:p></span></h5>
    <p class=MsoBodyText>Type: REG_SZ<br>
    Default: &lt;none&gt;<br>
    Function: Afscreds.exe GetDefaultCell()</p>
--- 5361,5369 ----
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:92.0pt'>
    <h5><a name="_Toc154229567"></a><a name="_Toc152605246"></a><a
!   name="_Toc115416296"></a><a name="_Toc139993288"></a><a name="_Toc126872365"></a><span
    style='mso-bookmark:_Toc154229567'><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>
***************
*** 5840,5850 ****
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:124.75pt'>
    <h5><a name="_Toc154229569"></a><a name="_Toc152605248"></a><a
!   name="_Toc115416298"></a><a name="_Toc126872367"></a><a name="_Toc139993290"></a><span
    style='mso-bookmark:_Toc154229569'><span style='mso-bookmark:_Toc152605248'><span
!   style='mso-bookmark:_Toc115416298'><span style='mso-fareast-font-family:"Times New Roman"'>Value:
!   &quot;afs cell name&quot;</span></span></span></span><span style='mso-fareast-font-family:
!   "Times New Roman"'><o:p></o:p></span></h5>
    <p class=MsoBodyText>Type: DWORD {0, 1}<br>
    Default: &lt;none&gt;<br>
    Function: LoadRemind(), SaveRemind()</p>
--- 5386,5394 ----
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:124.75pt'>
    <h5><a name="_Toc154229569"></a><a name="_Toc152605248"></a><a
!   name="_Toc115416298"></a><a name="_Toc139993290"></a><a name="_Toc126872367"></a><span
    style='mso-bookmark:_Toc154229569'><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>
***************
*** 5869,5879 ****
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:98.5pt'>
    <h5><a name="_Toc154229571"></a><a name="_Toc152605250"></a><a
!   name="_Toc115416300"></a><a name="_Toc126872369"></a><a name="_Toc139993292"></a><span
    style='mso-bookmark:_Toc154229571'><span style='mso-bookmark:_Toc152605250'><span
!   style='mso-bookmark:_Toc115416300'><span style='mso-fareast-font-family:"Times New Roman"'>Value:
!   &quot;upper case drive letter&quot;</span></span></span></span><span
!   style='mso-fareast-font-family:"Times New Roman"'><o:p></o:p></span></h5>
    <p class=MsoBodyText>Type: DWORD {0, 1}<br>
    Default: &lt;none&gt;</p>
    <p class=MsoBodyText>These values are used to store the persistence state of
--- 5413,5421 ----
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:98.5pt'>
    <h5><a name="_Toc154229571"></a><a name="_Toc152605250"></a><a
!   name="_Toc115416300"></a><a name="_Toc139993292"></a><a name="_Toc126872369"></a><span
    style='mso-bookmark:_Toc154229571'><span style='mso-bookmark:_Toc152605250'><span
!   style='mso-bookmark:_Toc115416300'>Value: &quot;upper case drive letter&quot;</span></span></span></h5>
    <p class=MsoBodyText>Type: DWORD {0, 1}<br>
    Default: &lt;none&gt;</p>
    <p class=MsoBodyText>These values are used to store the persistence state of
***************
*** 5896,5906 ****
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:98.5pt'>
    <h5><a name="_Toc154229573"></a><a name="_Toc152605252"></a><a
!   name="_Toc115416302"></a><a name="_Toc126872371"></a><a name="_Toc139993294"></a><span
    style='mso-bookmark:_Toc154229573'><span style='mso-bookmark:_Toc152605252'><span
!   style='mso-bookmark:_Toc115416302'><span style='mso-fareast-font-family:"Times New Roman"'>Value:
!   &quot;upper case drive letter&quot;</span></span></span></span><span
!   style='mso-fareast-font-family:"Times New Roman"'><o:p></o:p></span></h5>
    <p class=MsoBodyText>Type: REG_SZ<br>
    Default: &lt;none&gt;</p>
    <p class=MsoBodyText>These values are used to store the AFS path in UNIX
--- 5438,5446 ----
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:98.5pt'>
    <h5><a name="_Toc154229573"></a><a name="_Toc152605252"></a><a
!   name="_Toc115416302"></a><a name="_Toc139993294"></a><a name="_Toc126872371"></a><span
    style='mso-bookmark:_Toc154229573'><span style='mso-bookmark:_Toc152605252'><span
!   style='mso-bookmark:_Toc115416302'>Value: &quot;upper case drive letter&quot;</span></span></span></h5>
    <p class=MsoBodyText>Type: REG_SZ<br>
    Default: &lt;none&gt;</p>
    <p class=MsoBodyText>These values are used to store the AFS path in UNIX
***************
*** 5913,5931 ****
  <h2><a name="_Toc154229574"></a><a name="_Toc152605253"></a><a
  name="_Toc115416303"></a><a name="_Toc139993295"></a><a name="_Toc126872372"></a><a
  name="_Toc115417108"></a><span style='mso-bookmark:_Toc154229574'><span
! style='mso-bookmark:_Toc152605253'><span style='mso-bookmark:_Toc115416303'>A.4
! OpenAFS Client Service Environment Variables</span></span></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="_Toc154229575"></a><a name="_Toc152605254"></a><a
!   name="_Toc115416304"></a><a name="_Toc126872373"></a><a name="_Toc139993296"></a><span
    style='mso-bookmark:_Toc154229575'><span style='mso-bookmark:_Toc152605254'><span
!   style='mso-bookmark:_Toc115416304'><span style='mso-fareast-font-family:"Times New Roman"'>Variable:
!   AFS_RPC_ENCRYPT</span></span></span></span><span style='mso-fareast-font-family:
!   "Times New Roman"'><o:p></o:p></span></h5>
    <p class=MsoBodyText>Values:&nbsp;&nbsp; &quot;OFF&quot; disables the use of
    RPC encryption any other value allows RPC encryption to be used<br>
    Default:&nbsp; RPC encryption is on</p>
--- 5453,5471 ----
  <h2><a name="_Toc154229574"></a><a name="_Toc152605253"></a><a
  name="_Toc115416303"></a><a name="_Toc139993295"></a><a name="_Toc126872372"></a><a
  name="_Toc115417108"></a><span style='mso-bookmark:_Toc154229574'><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="_Toc154229575"></a><a name="_Toc152605254"></a><a
!   name="_Toc115416304"></a><a name="_Toc139993296"></a><a name="_Toc126872373"></a><span
    style='mso-bookmark:_Toc154229575'><span style='mso-bookmark:_Toc152605254'><span
!   style='mso-bookmark:_Toc115416304'>Variable: AFS_RPC_ENCRYPT</span></span></span></h5>
    <p class=MsoBodyText>Values:&nbsp;&nbsp; &quot;OFF&quot; disables the use of
    RPC encryption any other value allows RPC encryption to be used<br>
    Default:&nbsp; RPC encryption is on</p>
***************
*** 5934,5944 ****
   <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="_Toc154229576"></a><a name="_Toc152605255"></a><a
!   name="_Toc115416305"></a><a name="_Toc126872374"></a><a name="_Toc139993297"></a><span
    style='mso-bookmark:_Toc154229576'><span style='mso-bookmark:_Toc152605255'><span
!   style='mso-bookmark:_Toc115416305'><span style='mso-fareast-font-family:"Times New Roman"'>Variable:
!   AFS_RPC_PROTSEQ</span></span></span></span><span style='mso-fareast-font-family:
!   "Times New Roman"'><o:p></o:p></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;
--- 5474,5482 ----
   <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="_Toc154229576"></a><a name="_Toc152605255"></a><a
!   name="_Toc115416305"></a><a name="_Toc139993297"></a><a name="_Toc126872374"></a><span
    style='mso-bookmark:_Toc154229576'><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;
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.12 openafs/src/WINNT/doc/install/Documentation/en_US/html/ReleaseNotes/toc.htm:1.2.6.13
*** openafs/src/WINNT/doc/install/Documentation/en_US/html/ReleaseNotes/toc.htm:1.2.6.12	Wed Apr 18 12:03:22 2007
--- openafs/src/WINNT/doc/install/Documentation/en_US/html/ReleaseNotes/toc.htm	Wed May 16 18:37:14 2007
***************
*** 10,38 ****
  <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.19 Table of Contents</title>
  <!--[if gte mso 9]><xml>
   <o:DocumentProperties>
    <o:Author>Jeffrey Altman</o:Author>
    <o:LastAuthor>Jeffrey Altman</o:LastAuthor>
    <o:Revision>1</o:Revision>
!   <o:TotalTime>4</o:TotalTime>
    <o:Created>2006-11-30T04:12:00Z</o:Created>
    <o:LastSaved>2006-11-30T04:14:00Z</o:LastSaved>
    <o:Pages>1</o:Pages>
!   <o:Words>6422</o:Words>
!   <o:Characters>36609</o:Characters>
    <o:Company>Secure Endpoints Inc.</o:Company>
!   <o:Lines>305</o:Lines>
!   <o:Paragraphs>85</o:Paragraphs>
!   <o:CharactersWithSpaces>42946</o:CharactersWithSpaces>
!   <o:Version>11.8107</o:Version>
   </o:DocumentProperties>
  </xml><![endif]--><!--[if gte mso 9]><xml>
   <w:WordDocument>
-   <w:Zoom>0</w:Zoom>
-   <w:SpellingState>Clean</w:SpellingState>
-   <w:GrammarState>Clean</w:GrammarState>
    <w:ValidateAgainstSchemas/>
    <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>
    <w:IgnoreMixedContent>false</w:IgnoreMixedContent>
--- 10,35 ----
  <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.20 Table of Contents</title>
  <!--[if gte mso 9]><xml>
   <o:DocumentProperties>
    <o:Author>Jeffrey Altman</o:Author>
    <o:LastAuthor>Jeffrey Altman</o:LastAuthor>
    <o:Revision>1</o:Revision>
!   <o:TotalTime>6</o:TotalTime>
    <o:Created>2006-11-30T04:12:00Z</o:Created>
    <o:LastSaved>2006-11-30T04:14:00Z</o:LastSaved>
    <o:Pages>1</o:Pages>
!   <o:Words>2846</o:Words>
!   <o:Characters>16223</o:Characters>
    <o:Company>Secure Endpoints Inc.</o:Company>
!   <o:Lines>135</o:Lines>
!   <o:Paragraphs>38</o:Paragraphs>
!   <o:CharactersWithSpaces>19031</o:CharactersWithSpaces>
!   <o:Version>11.8132</o:Version>
   </o:DocumentProperties>
  </xml><![endif]--><!--[if gte mso 9]><xml>
   <w:WordDocument>
    <w:ValidateAgainstSchemas/>
    <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>
    <w:IgnoreMixedContent>false</w:IgnoreMixedContent>
***************
*** 43,49 ****
     <w:WrapTextWithPunct/>
     <w:UseAsianBreakRules/>
     <w:UseWord2002TableStyleRules/>
-    <w:UseFELayout/>
    </w:Compatibility>
    <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel>
   </w:WordDocument>
--- 40,45 ----
***************
*** 226,238 ****
  	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="4098"/>
  </xml><![endif]--><!--[if gte mso 9]><xml>
   <o:shapelayout v:ext="edit">
    <o:idmap v:ext="edit" data="1"/>
--- 222,233 ----
  	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="5122"/>
  </xml><![endif]--><!--[if gte mso 9]><xml>
   <o:shapelayout v:ext="edit">
    <o:idmap v:ext="edit" data="1"/>
***************
*** 303,309 ****
  
  <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc154229361">3.1.3. Network Identity Manager Plug-in</a></span></span><span
  style='mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
--- 298,304 ----
  
  <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc154229361">3.1.3. Network Identity Manager Provider</a></span></span><span
  style='mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
***************
*** 343,349 ****
  
  <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc154229369">3.9. OpenAFS includes aklog.exe</a></span></span><span
  style='mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
--- 338,344 ----
  
  <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc154229369">3.9. aklog.exe</a></span></span><span
  style='mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
***************
*** 373,379 ****
  
  <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc154229375">3.13. Encrypted AFS File Access</a></span></span><span
  style='mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
--- 368,374 ----
  
  <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc154229375">3.13. Encrypted AFS Network</a> Communication</span></span><span
  style='mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
***************
*** 493,500 ****
  
  <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc154229399">3.37. Generating Minidumps of the OpenAFS Client
! Service</a></span></span><span style='mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
--- 488,495 ----
  
  <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc154229399">3.37. Generating Minidumps of the OpenAFS
! Client Service</a></span></span><span style='mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
***************
*** 1043,1050 ****
  
  <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc154229508">Regkey:
! [HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters\GlobalAutoMapper]</a></span></span><span
  style='mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
--- 1038,1044 ----
  
  <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc154229508">Regkey: [HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters\GlobalAutoMapper]</a></span></span><span
  style='mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
***************
*** 1085,1091 ****
  
  <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc154229516">Regkey: [HKLM\SOFTWARE\OpenAFS\Client\CSCPolicy]</a></span></span><span
  style='mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
--- 1079,1086 ----
  
  <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc154229516">Regkey:
! [HKLM\SOFTWARE\OpenAFS\Client\CSCPolicy]</a></span></span><span
  style='mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
***************
*** 1158,1164 ****
  
  <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc154229529">Regkey: [HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters]</a></span></span><span
  style='mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
--- 1153,1160 ----
  
  <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc154229529">Regkey:
! [HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters]</a></span></span><span
  style='mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
***************
*** 1168,1175 ****
  
  <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc154229531">Regkey:
! [HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider]</a></span></span><span
  style='mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
--- 1164,1170 ----
  
  <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span
  class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc154229531">Regkey: [HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider]</a></span></span><span
  style='mso-no-proof:yes'><o:p></o:p></span></p>
  
  <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
Index: openafs/src/WINNT/install/wix/files.wxi
diff -c openafs/src/WINNT/install/wix/files.wxi:1.22.2.10 openafs/src/WINNT/install/wix/files.wxi:1.22.2.12
*** openafs/src/WINNT/install/wix/files.wxi:1.22.2.10	Wed Mar 28 18:30:46 2007
--- openafs/src/WINNT/install/wix/files.wxi	Thu Apr 26 14:45:16 2007
***************
*** 707,713 ****
                                  <File Id="fileauarf284_HTM_$(var.Language)" Name="auarf284.htm" LongName="auarf284.htm" DiskId="1" />
                              </Component>
                          </Directory> <!-- CmdRef -->
!                         <Directory Id="dirInstallGd_$(var.Language)" Name="InstalGd" SourceName="InstGd" LongSource="InstallGuide" src="$(var.SrcDir)\WINNT\doc\install\Documentation\$(var.Language)\html\InstallGd\">
                              <Component Id="cmp_Install_Guide_$(var.Language)" Guid="$(var.DocHtmlInstallGuid)">
                                  <File Id="fileawqbg000_HTM_$(var.Language)" Name="awqbg000.htm" LongName="awqbg000.htm" KeyPath="yes" DiskId="1" />
                                  <File Id="fileawqbg002_HTM_$(var.Language)" Name="awqbg002.htm" LongName="awqbg002.htm" DiskId="1" />
--- 707,713 ----
                                  <File Id="fileauarf284_HTM_$(var.Language)" Name="auarf284.htm" LongName="auarf284.htm" DiskId="1" />
                              </Component>
                          </Directory> <!-- CmdRef -->
!                         <Directory Id="dirInstallGd_$(var.Language)" Name="InstalGd" LongName="InstallGd" SourceName="InstGd" LongSource="InstallGuide" src="$(var.SrcDir)\WINNT\doc\install\Documentation\$(var.Language)\html\InstallGd\">
                              <Component Id="cmp_Install_Guide_$(var.Language)" Guid="$(var.DocHtmlInstallGuid)">
                                  <File Id="fileawqbg000_HTM_$(var.Language)" Name="awqbg000.htm" LongName="awqbg000.htm" KeyPath="yes" DiskId="1" />
                                  <File Id="fileawqbg002_HTM_$(var.Language)" Name="awqbg002.htm" LongName="awqbg002.htm" DiskId="1" />
Index: openafs/src/WINNT/install/wix/oafwbins.wxs
diff -c openafs/src/WINNT/install/wix/oafwbins.wxs:1.1 openafs/src/WINNT/install/wix/oafwbins.wxs:1.1.4.1
*** openafs/src/WINNT/install/wix/oafwbins.wxs:1.1	Fri Apr 21 00:57:55 2006
--- openafs/src/WINNT/install/wix/oafwbins.wxs	Thu May  3 19:13:31 2007
***************
*** 69,81 ****
          <AdvertiseExecuteSequence />
          <AdminExecuteSequence />
          <InstallExecuteSequence>
!             <RemoveExistingProducts After="InstallValidate">OPENAFSBIN_UPGRADE</RemoveExistingProducts>
          </InstallExecuteSequence>
  
          <!-- Related producs -->
!         <!-- MIT's OpenAFS MSI installer -->
          <Upgrade Id="A94D03E9-EF11-4B87-9B42-409016BD4B7C">
!             <UpgradeVersion IgnoreRemoveFailure="no" IncludeMaximum="no" Maximum="$(var.NumericVersion)" MigrateFeatures="yes" Property="OPENAFSBIN_UPGRADE" />
          </Upgrade>
          
          <!-- Media -->
--- 69,81 ----
          <AdvertiseExecuteSequence />
          <AdminExecuteSequence />
          <InstallExecuteSequence>
!             <RemoveExistingProducts After="InstallValidate">(Not Installed) And (OPENAFSBIN_UPGRADE)</RemoveExistingProducts>
          </InstallExecuteSequence>
  
          <!-- Related producs -->
!         <!-- OpenAFS MSI installer -->
          <Upgrade Id="A94D03E9-EF11-4B87-9B42-409016BD4B7C">
!             <UpgradeVersion IgnoreRemoveFailure="no" IncludeMaximum="yes" Maximum="$(var.NumericVersion)" MigrateFeatures="yes" Property="OPENAFSBIN_UPGRADE" />
          </Upgrade>
          
          <!-- Media -->
Index: openafs/src/WINNT/install/wix/openafs.wxs
diff -c openafs/src/WINNT/install/wix/openafs.wxs:1.13.4.1 openafs/src/WINNT/install/wix/openafs.wxs:1.13.4.2
*** openafs/src/WINNT/install/wix/openafs.wxs:1.13.4.1	Thu Oct 12 17:19:42 2006
--- openafs/src/WINNT/install/wix/openafs.wxs	Thu May  3 19:13:31 2007
***************
*** 207,213 ****
          <AdvertiseExecuteSequence />
          <AdminExecuteSequence />
          <InstallExecuteSequence>
! 			<RemoveExistingProducts After="InstallValidate">IBMAFS_UPGRADE OR OPENAFS_UPGRADE OR AFSPLUGIN_UPGRADE</RemoveExistingProducts>
  			<Custom Action="RemoveNsisInstallation" Before="AbortInstallationA">NSISUNINSTALL &lt;&gt; "" AND UILevel &gt;= 4</Custom>
  			<Custom Action="AbortInstallationA" Before="CostInitialize">NSISUNINSTALL &lt;&gt; "" AND UILevel &lt; 4</Custom>
  			<!-- Assert that if the server is going to be installed locally after this session, control center and client are also local -->
--- 207,213 ----
          <AdvertiseExecuteSequence />
          <AdminExecuteSequence />
          <InstallExecuteSequence>
! 			<RemoveExistingProducts After="InstallValidate">(Not Installed) And (IBMAFS_UPGRADE OR OPENAFS_UPGRADE OR AFSPLUGIN_UPGRADE)</RemoveExistingProducts>
  			<Custom Action="RemoveNsisInstallation" Before="AbortInstallationA">NSISUNINSTALL &lt;&gt; "" AND UILevel &gt;= 4</Custom>
  			<Custom Action="AbortInstallationA" Before="CostInitialize">NSISUNINSTALL &lt;&gt; "" AND UILevel &lt; 4</Custom>
  			<!-- Assert that if the server is going to be installed locally after this session, control center and client are also local -->
***************
*** 233,241 ****
          </InstallExecuteSequence>
  
          <!-- Related producs -->
!         <!-- MIT's OpenAFS MSI installer -->
          <Upgrade Id="6823EEDD-84FC-4204-ABB3-A80D25779833">
!             <UpgradeVersion IgnoreRemoveFailure="no" IncludeMaximum="no" Maximum="$(var.NumericVersion)" MigrateFeatures="yes" Property="OPENAFS_UPGRADE" />
          </Upgrade>
          
          <!-- MIT's Transarc AFS MSI Installer -->
--- 233,241 ----
          </InstallExecuteSequence>
  
          <!-- Related producs -->
!         <!-- OpenAFS MSI installer -->
          <Upgrade Id="6823EEDD-84FC-4204-ABB3-A80D25779833">
!             <UpgradeVersion IgnoreRemoveFailure="no" IncludeMaximum="yes" Maximum="$(var.NumericVersion)" MigrateFeatures="yes" Property="OPENAFS_UPGRADE" />
          </Upgrade>
          
          <!-- MIT's Transarc AFS MSI Installer -->
Index: openafs/src/WINNT/install/wix/registry.wxi
diff -c openafs/src/WINNT/install/wix/registry.wxi:1.10.2.2 openafs/src/WINNT/install/wix/registry.wxi:1.10.2.3
*** openafs/src/WINNT/install/wix/registry.wxi:1.10.2.2	Wed Sep  6 19:14:02 2006
--- openafs/src/WINNT/install/wix/registry.wxi	Thu May  3 22:49:57 2007
***************
*** 235,246 ****
          <Registry Root="HKLM" Key="SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Approved" Id="reg_Client_Bins28" />
          <Registry Root="HKLM" Key="SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Approved" Action="createKey" Id="reg_Client_Bins29" />
          <Registry Root="HKLM" Key="SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Approved" Name="{$(var.clsid_afs_shl_ext)}" Type="string" Value="$(loc.StrShlExtDesc)" Id="reg_Client_Bins30" />
!         <Registry Root="HKCR" Key="*\shellex\ContextMenuHandlers\AFS Client Shell Extension" Action="createKeyAndRemoveKeyOnUninstall" Id="reg_Client_Bins31" />
!         <Registry Root="HKCR" Key="*\shellex\ContextMenuHandlers\AFS Client Shell Extension" Type="string" Value="{$(var.clsid_afs_shl_ext)}" Id="reg_Client_Bins32" />
!         <Registry Root="HKCR" Key="FOLDER\shellex\ContextMenuHandlers\AFS Client Shell Extension" Action="createKeyAndRemoveKeyOnUninstall" Id="reg_Client_Bins33" />
!         <Registry Root="HKCR" Key="FOLDER\shellex\ContextMenuHandlers\AFS Client Shell Extension" Type="string" Value="{$(var.clsid_afs_shl_ext)}" Id="reg_Client_Bins34" />
!         <Registry Root="HKCR" Key="DIRECTORY\shellex\ContextMenuHandlers\AFS Client Shell Extension" Action="createKeyAndRemoveKeyOnUninstall" Id="reg_Client_Bins35" />
!         <Registry Root="HKCR" Key="DIRECTORY\shellex\ContextMenuHandlers\AFS Client Shell Extension" Type="string" Value="{$(var.clsid_afs_shl_ext)}" Id="reg_Client_Bins36" />
      </Component>
  <?endif?>
  </Include>
--- 235,246 ----
          <Registry Root="HKLM" Key="SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Approved" Id="reg_Client_Bins28" />
          <Registry Root="HKLM" Key="SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Approved" Action="createKey" Id="reg_Client_Bins29" />
          <Registry Root="HKLM" Key="SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Approved" Name="{$(var.clsid_afs_shl_ext)}" Type="string" Value="$(loc.StrShlExtDesc)" Id="reg_Client_Bins30" />
!         <Registry Root="HKCR" Key="*\shellex\ContextMenuHandlers\AFS Client Shell Extension (32-bit)" Action="createKeyAndRemoveKeyOnUninstall" Id="reg_Client_Bins31" />
!         <Registry Root="HKCR" Key="*\shellex\ContextMenuHandlers\AFS Client Shell Extension (32-bit)" Type="string" Value="{$(var.clsid_afs_shl_ext)}" Id="reg_Client_Bins32" />
!         <Registry Root="HKCR" Key="FOLDER\shellex\ContextMenuHandlers\AFS Client Shell Extension (32-bit)" Action="createKeyAndRemoveKeyOnUninstall" Id="reg_Client_Bins33" />
!         <Registry Root="HKCR" Key="FOLDER\shellex\ContextMenuHandlers\AFS Client Shell Extension (32-bit)" Type="string" Value="{$(var.clsid_afs_shl_ext)}" Id="reg_Client_Bins34" />
!         <Registry Root="HKCR" Key="DIRECTORY\shellex\ContextMenuHandlers\AFS Client Shell Extension (32-bit)" Action="createKeyAndRemoveKeyOnUninstall" Id="reg_Client_Bins35" />
!         <Registry Root="HKCR" Key="DIRECTORY\shellex\ContextMenuHandlers\AFS Client Shell Extension (32-bit)" Type="string" Value="{$(var.clsid_afs_shl_ext)}" Id="reg_Client_Bins36" />
      </Component>
  <?endif?>
  </Include>
Index: openafs/src/WINNT/netidmgr_plugin/afsfuncs.c
diff -c openafs/src/WINNT/netidmgr_plugin/afsfuncs.c:1.1.2.8 openafs/src/WINNT/netidmgr_plugin/afsfuncs.c:1.1.2.9
*** openafs/src/WINNT/netidmgr_plugin/afsfuncs.c:1.1.2.8	Tue Apr 10 18:09:18 2007
--- openafs/src/WINNT/netidmgr_plugin/afsfuncs.c	Sat May  5 17:14:48 2007
***************
*** 22,28 ****
   * SOFTWARE.
   */
  
! /* $Id: afsfuncs.c,v 1.1.2.8 2007/04/10 22:09:18 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.9 2007/05/05 21:14:48 jaltman Exp $ */
  
  /* Disable the 'macro redefinition' warning which is getting
     triggerred by a redefinition of the ENCRYPT and DECRYPT macros. */
***************
*** 650,655 ****
--- 650,656 ----
  	pr_End();
      }
  
+ #ifdef AFS_ID_TO_NAME
      /*
       * This is a crock, but it is Transarc's crock, so
       * we have to play along in order to get the
***************
*** 659,665 ****
       * the code for tokens, this hack (AFS ID %d) will
       * not work if you change %d to something else.
       */
! 
      /*
       * This code is taken from cklog -- it lets people
       * automatically register with the ptserver in foreign cells
--- 660,666 ----
       * the code for tokens, this hack (AFS ID %d) will
       * not work if you change %d to something else.
       */
! #endif /* AFS_ID_TO_NAME */
      /*
       * This code is taken from cklog -- it lets people
       * automatically register with the ptserver in foreign cells
***************
*** 692,699 ****
              status = pr_CreateUser(username, &id);
  	    pr_End();
              StringCbCopyA(username, BUFSIZ, username_copy);
- 	    if (status)
- 		return status;
  #ifdef AFS_ID_TO_NAME
              StringCchPrintfA(username, BUFSIZ, "%s (AFS ID %d)", username_copy, (int) viceId);
  #endif /* AFS_ID_TO_NAME */
--- 693,698 ----
***************
*** 727,733 ****
      char	RealmName[128];
      char	CellName[128];
      char	ServiceName[128];
!     khm_handle	confighandle;
      khm_int32	supports_krb4 = 1;
      khm_int32   got524cred = 0;
  
--- 726,732 ----
      char	RealmName[128];
      char	CellName[128];
      char	ServiceName[128];
!     khm_handle	confighandle = NULL;
      khm_int32	supports_krb4 = 1;
      khm_int32   got524cred = 0;
  
***************
*** 1155,1165 ****
          ViceIDToUsername(aclient.name, realm_of_user, realm_of_cell, CellName, 
                           &aclient, &aserver, &atoken);
  
-         // NOTE: On WIN32, the order of SetToken params changed...
-         // to   ktc_SetToken(&aserver, &aclient, &atoken, 0)
-         // from ktc_SetToken(&aserver, &atoken, &aclient, 0) on
-         // Unix...  The afscompat ktc_SetToken provides the Unix order
- 
          if (rc = ktc_SetToken(&aserver, &atoken, &aclient, 0)) {
              afs_report_error(rc, "ktc_SetToken()");
              return(rc);
--- 1154,1159 ----
***************
*** 1470,1472 ****
--- 1464,1501 ----
   
      return(hr); 
  }
+ 
+ khm_boolean
+ afs_check_for_cell_realm_match(khm_handle identity, char * cell) {
+     char local_cell[MAXCELLCHARS];
+     wchar_t wrealm[MAXCELLCHARS];
+     wchar_t idname[KCDB_IDENT_MAXCCH_NAME];
+     wchar_t * atsign;
+     khm_size cb;
+     char * realm;
+     afs_conf_cell cellconfig;
+     int rc;
+ 
+     ZeroMemory(local_cell, sizeof(local_cell));
+ 
+     rc = afs_get_cellconfig(cell, &cellconfig, local_cell);
+     if (rc)
+         return FALSE;
+ 
+     realm = afs_realm_of_cell(&cellconfig, FALSE);
+     if (realm == NULL)
+         return FALSE;
+ 
+     AnsiStrToUnicode(wrealm, sizeof(wrealm), realm);
+ 
+     cb = sizeof(idname);
+     idname[0] = L'\0';
+     kcdb_identity_get_name(identity, idname, &cb);
+ 
+     atsign = wcschr(idname, L'@');
+     if (atsign && atsign[1] && !wcsicmp(atsign + 1, wrealm)) {
+         return TRUE;
+     } else {
+         return FALSE;
+     }
+ }
Index: openafs/src/WINNT/netidmgr_plugin/afsfuncs.h
diff -c openafs/src/WINNT/netidmgr_plugin/afsfuncs.h:1.1.2.4 openafs/src/WINNT/netidmgr_plugin/afsfuncs.h:1.1.2.5
*** openafs/src/WINNT/netidmgr_plugin/afsfuncs.h:1.1.2.4	Fri Feb  9 15:12:38 2007
--- openafs/src/WINNT/netidmgr_plugin/afsfuncs.h	Sat May  5 17:14:48 2007
***************
*** 22,28 ****
   * SOFTWARE.
   */
  
! /* $Id: afsfuncs.h,v 1.1.2.4 2007/02/09 20:12:38 jaltman Exp $ */
  
  #ifndef __KHIMAIRA_AFSFUNCS_H
  #define __KHIMAIRA_AFSFUNCS_H
--- 22,28 ----
   * SOFTWARE.
   */
  
! /* $Id: afsfuncs.h,v 1.1.2.5 2007/05/05 21:14:48 jaltman Exp $ */
  
  #ifndef __KHIMAIRA_AFSFUNCS_H
  #define __KHIMAIRA_AFSFUNCS_H
***************
*** 73,80 ****
  
  void afs_report_error(LONG rc, LPCSTR FailedFunctionName);
  
  static char *afs_realm_of_cell(afs_conf_cell *, BOOL);
  static long afs_get_cellconfig_callback(void *, struct sockaddr_in *, char *);
  static int afs_get_cellconfig(char *, afs_conf_cell *, char *);
- 
  #endif
--- 73,82 ----
  
  void afs_report_error(LONG rc, LPCSTR FailedFunctionName);
  
+ khm_boolean
+ afs_check_for_cell_realm_match(khm_handle identity, char * cell);
+ 
  static char *afs_realm_of_cell(afs_conf_cell *, BOOL);
  static long afs_get_cellconfig_callback(void *, struct sockaddr_in *, char *);
  static int afs_get_cellconfig(char *, afs_conf_cell *, char *);
  #endif
Index: openafs/src/WINNT/netidmgr_plugin/afsnewcreds.c
diff -c openafs/src/WINNT/netidmgr_plugin/afsnewcreds.c:1.1.2.3 openafs/src/WINNT/netidmgr_plugin/afsnewcreds.c:1.1.2.4
*** openafs/src/WINNT/netidmgr_plugin/afsnewcreds.c:1.1.2.3	Mon Oct 16 09:55:35 2006
--- openafs/src/WINNT/netidmgr_plugin/afsnewcreds.c	Sat May  5 17:14:48 2007
***************
*** 22,28 ****
   * SOFTWARE.
   */
  
! /* $Id: afsnewcreds.c,v 1.1.2.3 2006/10/16 13:55:35 jaltman Exp $ */
  
  #include<afscred.h>
  #include<commctrl.h>
--- 22,28 ----
   * SOFTWARE.
   */
  
! /* $Id: afsnewcreds.c,v 1.1.2.4 2007/05/05 21:14:48 jaltman Exp $ */
  
  #include<afscred.h>
  #include<commctrl.h>
***************
*** 535,540 ****
--- 535,541 ----
      return ok_to_add;
  }
  
+ 
  void 
  afs_cred_get_identity_creds(afs_cred_list * l, 
                              khm_handle ident,
***************
*** 672,678 ****
  
          khc_open_space(csp_params, L"Cells", 0, &h_gcells);
  
!         if(!cm_GetRootCellName(buf)) {
              AnsiStrToUnicode(wbuf, sizeof(wbuf), buf);
  
              if (afs_check_add_token_to_identity(wbuf, ident, NULL)) {
--- 673,680 ----
  
          khc_open_space(csp_params, L"Cells", 0, &h_gcells);
  
!         if (!cm_GetRootCellName(buf) &&
!             afs_check_for_cell_realm_match(ident, buf)) {
              AnsiStrToUnicode(wbuf, sizeof(wbuf), buf);
  
              if (afs_check_add_token_to_identity(wbuf, ident, NULL)) {
***************
*** 753,758 ****
--- 755,769 ----
                  if (i < l->n_rows)
                      continue;
  
+                 {
+                     char cell[MAXCELLCHARS];
+ 
+                     UnicodeStrToAnsi(cell, sizeof(cell), c_cell);
+ 
+                     if (!afs_check_for_cell_realm_match(ident, cell))
+                         continue;
+                 }
+ 
                  r = afs_cred_get_new_row(l);
  
                  r->cell = PMALLOC(cb);
Index: openafs/src/afs/afs_call.c
diff -c openafs/src/afs/afs_call.c:1.86.4.6 openafs/src/afs/afs_call.c:1.86.4.8
*** openafs/src/afs/afs_call.c:1.86.4.6	Thu Feb  8 20:06:11 2007
--- openafs/src/afs/afs_call.c	Mon May 14 17:37:51 2007
***************
*** 11,17 ****
  #include "afs/param.h"
  
  RCSID
!     ("$Header: /cvs/openafs/src/afs/afs_call.c,v 1.86.4.6 2007/02/09 01:06:11 shadow Exp $");
  
  #include "afs/sysincludes.h"	/* Standard vendor system headers */
  #include "afsincludes.h"	/* Afs-based standard headers */
--- 11,17 ----
  #include "afs/param.h"
  
  RCSID
!     ("$Header: /cvs/openafs/src/afs/afs_call.c,v 1.86.4.8 2007/05/14 21:37:51 shadow Exp $");
  
  #include "afs/sysincludes.h"	/* Standard vendor system headers */
  #include "afsincludes.h"	/* Afs-based standard headers */
Index: openafs/src/afs/afs_dcache.c
diff -c openafs/src/afs/afs_dcache.c:1.64.4.4 openafs/src/afs/afs_dcache.c:1.64.4.5
*** openafs/src/afs/afs_dcache.c:1.64.4.4	Wed Dec 20 16:18:11 2006
--- openafs/src/afs/afs_dcache.c	Mon May 14 17:33:54 2007
***************
*** 14,20 ****
  #include "afs/param.h"
  
  RCSID
!     ("$Header: /cvs/openafs/src/afs/afs_dcache.c,v 1.64.4.4 2006/12/20 21:18:11 shadow Exp $");
  
  #include "afs/sysincludes.h"	/*Standard vendor system headers */
  #include "afsincludes.h"	/*AFS-based standard headers */
--- 14,20 ----
  #include "afs/param.h"
  
  RCSID
!     ("$Header: /cvs/openafs/src/afs/afs_dcache.c,v 1.64.4.5 2007/05/14 21:33:54 shadow Exp $");
  
  #include "afs/sysincludes.h"	/*Standard vendor system headers */
  #include "afsincludes.h"	/*AFS-based standard headers */
***************
*** 2581,2597 ****
  	    afs_DCMoveBucket(tdc, 0, 0);
  	    ReleaseWriteLock(&tdc->lock);
  	    afs_PutDCache(tdc);
! 	    ObtainWriteLock(&afs_xcbhash, 454);
! 	    afs_DequeueCallback(avc);
! 	    avc->states &= ~(CStatd | CUnique);
! 	    ReleaseWriteLock(&afs_xcbhash);
! 	    if (avc->fid.Fid.Vnode & 1 || (vType(avc) == VDIR))
! 		osi_dnlc_purgedp(avc);
! 	    /*
! 	     * Locks held:
! 	     * avc->lock(W); assert(!setLocks || slowPass)
! 	     */
! 	    osi_Assert(!setLocks || slowPass);
  	    tdc->f.states &= ~(DRO|DBackup|DRW);
  	    afs_DCMoveBucket(tdc, 0, 0);
  	    tdc = NULL;
--- 2581,2599 ----
  	    afs_DCMoveBucket(tdc, 0, 0);
  	    ReleaseWriteLock(&tdc->lock);
  	    afs_PutDCache(tdc);
! 	    if (!afs_IsDynroot(avc)) {
! 		ObtainWriteLock(&afs_xcbhash, 454);
! 		afs_DequeueCallback(avc);
! 		avc->states &= ~(CStatd | CUnique);
! 		ReleaseWriteLock(&afs_xcbhash);
! 		if (avc->fid.Fid.Vnode & 1 || (vType(avc) == VDIR))
! 		    osi_dnlc_purgedp(avc);
! 		/*
! 		 * Locks held:
! 		 * avc->lock(W); assert(!setLocks || slowPass)
! 		 */
! 		osi_Assert(!setLocks || slowPass);
! 	    }
  	    tdc->f.states &= ~(DRO|DBackup|DRW);
  	    afs_DCMoveBucket(tdc, 0, 0);
  	    tdc = NULL;
Index: openafs/src/afs/LINUX/osi_vnodeops.c
diff -c openafs/src/afs/LINUX/osi_vnodeops.c:1.126.2.14 openafs/src/afs/LINUX/osi_vnodeops.c:1.126.2.16
*** openafs/src/afs/LINUX/osi_vnodeops.c:1.126.2.14	Wed Apr 18 14:20:05 2007
--- openafs/src/afs/LINUX/osi_vnodeops.c	Thu May 17 14:36:02 2007
***************
*** 22,28 ****
  #include "afs/param.h"
  
  RCSID
!     ("$Header: /cvs/openafs/src/afs/LINUX/osi_vnodeops.c,v 1.126.2.14 2007/04/18 18:20:05 shadow Exp $");
  
  #include "afs/sysincludes.h"
  #include "afsincludes.h"
--- 22,28 ----
  #include "afs/param.h"
  
  RCSID
!     ("$Header: /cvs/openafs/src/afs/LINUX/osi_vnodeops.c,v 1.126.2.16 2007/05/17 18:36:02 shadow Exp $");
  
  #include "afs/sysincludes.h"
  #include "afsincludes.h"
***************
*** 491,501 ****
  #ifdef AFS_LINUX24_ENV
      if ((code == 0 || flp->fl_type == F_UNLCK) && 
  	(cmd == F_SETLK || cmd == F_SETLKW)) {
! #ifdef AFS_LINUX26_ENV
! 	flp->fl_flags &=~ FL_SLEEP;
! 	code = posix_lock_file(fp, flp);
  #else
! 	code = posix_lock_file(fp, flp, 0);
  #endif
         if (code && flp->fl_type != F_UNLCK) {
             struct AFS_FLOCK flock2;
--- 491,501 ----
  #ifdef AFS_LINUX24_ENV
      if ((code == 0 || flp->fl_type == F_UNLCK) && 
  	(cmd == F_SETLK || cmd == F_SETLKW)) {
! #ifdef POSIX_LOCK_FILE_WAIT_ARG
!         code = posix_lock_file(fp, flp, 0);
  #else
!         flp->fl_flags &=~ FL_SLEEP;
!         code = posix_lock_file(fp, flp);
  #endif
         if (code && flp->fl_type != F_UNLCK) {
             struct AFS_FLOCK flock2;
Index: openafs/src/bucoord/restore.c
diff -c openafs/src/bucoord/restore.c:1.10.6.2 openafs/src/bucoord/restore.c:1.10.6.3
*** openafs/src/bucoord/restore.c:1.10.6.2	Tue Apr 10 14:39:50 2007
--- openafs/src/bucoord/restore.c	Thu May 17 02:14:06 2007
***************
*** 15,21 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/bucoord/restore.c,v 1.10.6.2 2007/04/10 18:39:50 shadow Exp $");
  
  #include <afs/stds.h>
  #include <sys/types.h>
--- 15,21 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/bucoord/restore.c,v 1.10.6.3 2007/05/17 06:14:06 shadow Exp $");
  
  #include <afs/stds.h>
  #include <sys/types.h>
***************
*** 40,46 ****
  extern struct bc_dumpTask bc_dumpTasks[BC_MAXSIMDUMPS];
  extern char *whoami;
  
- #define	BC_MAXLEVELS	    20
  #define	MAXTAPESATONCE	    10
  
  #define HOSTADDR(sockaddr) (sockaddr)->sin_addr.s_addr
--- 40,45 ----
***************
*** 182,190 ****
      statusP statusPtr, newStatusPtr;
  
      struct dumpinfo *dumpinfolist = NULL;
!     struct dumpinfo *pdi, *ndi, *di, dlevels[BC_MAXLEVELS];
      struct volinfo *pvi, *nvi, *vi;
      afs_int32 lvl, lv;
  
      afs_int32 serverAll;	/* The server to which all volumes are to be restore to */
      afs_int32 partitionAll;	/* Likewise for partition */
--- 181,190 ----
      statusP statusPtr, newStatusPtr;
  
      struct dumpinfo *dumpinfolist = NULL;
!     struct dumpinfo *pdi, *ndi, *di, *dlevels;
      struct volinfo *pvi, *nvi, *vi;
      afs_int32 lvl, lv;
+     int num_dlevels = 20;
  
      afs_int32 serverAll;	/* The server to which all volumes are to be restore to */
      afs_int32 partitionAll;	/* Likewise for partition */
***************
*** 196,201 ****
--- 196,203 ----
      extern statusP createStatusNode();
      extern statusP findStatus();
  
+     dlevels = (struct dumpinfo *) malloc(num_dlevels * sizeof(*dlevels));
+ 
      dumpTaskPtr = &bc_dumpTasks[aindex];
      serverAll = HOSTADDR(&dumpTaskPtr->destServer);
      partitionAll = dumpTaskPtr->destPartition;
***************
*** 314,319 ****
--- 316,329 ----
  	memcpy(&dlevels[0], di, sizeof(struct dumpinfo));
  	for (lvl = 1, parent = dlevels[0].parentDumpId; parent;
  	     parent = dlevels[lvl].parentDumpId, lvl++) {
+ 	    if (lvl >= num_dlevels) {		/* running out of dump levels */
+ 		struct dumpinfo *tdl = dlevels;
+ 
+ 		num_dlevels += num_dlevels;	/* double */
+ 		dlevels = (struct dumpinfo *) malloc(num_dlevels * sizeof(*dlevels));
+ 		memcpy(dlevels, tdl, (num_dlevels/2) * sizeof(*dlevels));
+ 		free(tdl);
+ 	    }
  	    code = bcdb_FindDumpByID(parent, &dumpDescr1);
  	    if (code) {
  		for (vi = di->volinfolist; vi; vi = vi->next) {
***************
*** 768,772 ****
--- 778,784 ----
      if (volumeEntries)
  	free(volumeEntries);
  
+     free(dlevels);
+ 
      return code;
  }
Index: openafs/src/cf/linux-test4.m4
diff -c openafs/src/cf/linux-test4.m4:1.29.2.23 openafs/src/cf/linux-test4.m4:1.29.2.24
*** openafs/src/cf/linux-test4.m4:1.29.2.23	Wed Apr 18 14:20:05 2007
--- openafs/src/cf/linux-test4.m4	Thu May 17 02:36:48 2007
***************
*** 456,461 ****
--- 456,472 ----
    AC_MSG_RESULT($ac_cv_linux_fs_struct_super_has_alloc_inode)])
  
  
+ AC_DEFUN([LINUX_KERNEL_POSIX_LOCK_FILE_WAIT_ARG], [
+   AC_MSG_CHECKING([for 3rd argument in posix_lock_file found in new kernels])
+   AC_CACHE_VAL([ac_cv_linux_kernel_posix_lock_file_wait_arg], [
+     AC_TRY_KBUILD(
+ [#include <linux/fs.h>],
+ [posix_lock_file(0,0,0);],
+       ac_cv_linux_kernel_posix_lock_file_wait_arg=yes,
+       ac_cv_linux_kernel_posix_lock_file_wait_arg=no)])
+   AC_MSG_RESULT($ac_cv_linux_kernel_posix_lock_file_wait_arg)])
+ 
+ 
  AC_DEFUN([LINUX_KERNEL_SOCK_CREATE], [
    AC_MSG_CHECKING([for 5th argument in sock_create found in some SELinux kernels])
    AC_CACHE_VAL([ac_cv_linux_kernel_sock_create_v], [
Index: openafs/src/config/NTMakefile.amd64_w2k
diff -c openafs/src/config/NTMakefile.amd64_w2k:1.24.2.22 openafs/src/config/NTMakefile.amd64_w2k:1.24.2.23
*** openafs/src/config/NTMakefile.amd64_w2k:1.24.2.22	Wed Apr 18 12:10:27 2007
--- openafs/src/config/NTMakefile.amd64_w2k	Thu May 17 12:12:52 2007
***************
*** 84,90 ****
  #define used in WinNT/2000 installation and program version display
  AFSPRODUCT_VER_MAJOR=1
  AFSPRODUCT_VER_MINOR=5
! AFSPRODUCT_VER_PATCH=1900
  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=2000
  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.22 openafs/src/config/NTMakefile.i386_nt40:1.84.2.23
*** openafs/src/config/NTMakefile.i386_nt40:1.84.2.22	Wed Apr 18 12:10:27 2007
--- openafs/src/config/NTMakefile.i386_nt40	Thu May 17 12:12:52 2007
***************
*** 84,90 ****
  #define used in WinNT/2000 installation and program version display
  AFSPRODUCT_VER_MAJOR=1
  AFSPRODUCT_VER_MINOR=5
! AFSPRODUCT_VER_PATCH=1900
  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=2000
  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.22 openafs/src/config/NTMakefile.i386_w2k:1.23.2.23
*** openafs/src/config/NTMakefile.i386_w2k:1.23.2.22	Wed Apr 18 12:10:28 2007
--- openafs/src/config/NTMakefile.i386_w2k	Thu May 17 12:12:52 2007
***************
*** 84,90 ****
  #define used in WinNT/2000 installation and program version display
  AFSPRODUCT_VER_MAJOR=1
  AFSPRODUCT_VER_MINOR=5
! AFSPRODUCT_VER_PATCH=1900
  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=2000
  AFSPRODUCT_VER_BUILD=0
  
  AFSPRODUCT_VERSION=$(AFSPRODUCT_VER_MAJOR).$(AFSPRODUCT_VER_MINOR).$(AFSPRODUCT_VER_PATCH)
Index: openafs/src/libafs/Makefile.common.in
diff -c openafs/src/libafs/Makefile.common.in:1.24.2.4 openafs/src/libafs/Makefile.common.in:1.24.2.5
*** openafs/src/libafs/Makefile.common.in:1.24.2.4	Mon Jul 31 17:27:41 2006
--- openafs/src/libafs/Makefile.common.in	Wed May 16 16:58:43 2007
***************
*** 48,55 ****
  	$(CC) $(COMMON_INCLUDE) $(CFLAGS) -P -c $<
  
  .c.o:
! 	$(CC) $(COMMON_INCLUDE) $(CFLAGS) $(CFLAGS-$@) $(KERN_DBG) -c $<
! CRULE_NOOPT=	$(CC) $(COMMON_INCLUDE) $(KERN_DBG) $(CFLAGS) $(CFLAGS-$@) -o $@ -c $?
  CRULE_OPT=	$(CC) $(COMMON_INCLUDE) $(KERN_DBG) $(KERN_OPTMZ) $(CFLAGS) $(CFLAGS-$@) -o $@ -c $?
  
  system:	all
--- 48,55 ----
  	$(CC) $(COMMON_INCLUDE) $(CFLAGS) -P -c $<
  
  .c.o:
! 	$(CC) $(COMMON_INCLUDE) $(CFLAGS) $(CFLAGS-$(@)) $(KERN_DBG) -c $<
! CRULE_NOOPT=	$(CC) $(COMMON_INCLUDE) $(KERN_DBG) $(CFLAGS) $(CFLAGS-$(@)) -o $@ -c $?
  CRULE_OPT=	$(CC) $(COMMON_INCLUDE) $(KERN_DBG) $(KERN_OPTMZ) $(CFLAGS) $(CFLAGS-$@) -o $@ -c $?
  
  system:	all
Index: openafs/src/libafs/afs.ppc_darwin_70.plist.in
diff -c openafs/src/libafs/afs.ppc_darwin_70.plist.in:1.2.10.15 openafs/src/libafs/afs.ppc_darwin_70.plist.in:1.2.10.16
*** openafs/src/libafs/afs.ppc_darwin_70.plist.in:1.2.10.15	Thu Apr 19 00:04:31 2007
--- openafs/src/libafs/afs.ppc_darwin_70.plist.in	Fri May 18 01:22:37 2007
***************
*** 15,25 ****
  	<key>CFBundlePackageType</key>
  	<string>KEXT</string>
  	<key>CFBundleShortVersionString</key>
! 	<string>1.5.19</string>
  	<key>CFBundleSignature</key>
  	<string>????</string>
  	<key>CFBundleVersion</key>
! 	<string>1.5.19</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.20</string>
  	<key>CFBundleSignature</key>
  	<string>????</string>
  	<key>CFBundleVersion</key>
! 	<string>1.5.20</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.15 openafs/src/libafs/afs.ppc_darwin_80.plist.in:1.2.4.16
*** openafs/src/libafs/afs.ppc_darwin_80.plist.in:1.2.4.15	Thu Apr 19 00:04:31 2007
--- openafs/src/libafs/afs.ppc_darwin_80.plist.in	Fri May 18 01:22:37 2007
***************
*** 15,25 ****
  	<key>CFBundlePackageType</key>
  	<string>KEXT</string>
  	<key>CFBundleShortVersionString</key>
! 	<string>1.5.19</string>
  	<key>CFBundleSignature</key>
  	<string>????</string>
  	<key>CFBundleVersion</key>
! 	<string>1.5.19</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.20</string>
  	<key>CFBundleSignature</key>
  	<string>????</string>
  	<key>CFBundleVersion</key>
! 	<string>1.5.20</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.15 openafs/src/libafs/afs.ppc_darwin_90.plist.in:1.1.6.16
*** openafs/src/libafs/afs.ppc_darwin_90.plist.in:1.1.6.15	Thu Apr 19 00:04:31 2007
--- openafs/src/libafs/afs.ppc_darwin_90.plist.in	Fri May 18 01:22:37 2007
***************
*** 15,25 ****
  	<key>CFBundlePackageType</key>
  	<string>KEXT</string>
  	<key>CFBundleShortVersionString</key>
! 	<string>1.5.19</string>
  	<key>CFBundleSignature</key>
  	<string>????</string>
  	<key>CFBundleVersion</key>
! 	<string>1.5.19</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.20</string>
  	<key>CFBundleSignature</key>
  	<string>????</string>
  	<key>CFBundleVersion</key>
! 	<string>1.5.20</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.15 openafs/src/libafs/afs.x86_darwin_80.plist.in:1.1.6.16
*** openafs/src/libafs/afs.x86_darwin_80.plist.in:1.1.6.15	Thu Apr 19 00:04:31 2007
--- openafs/src/libafs/afs.x86_darwin_80.plist.in	Fri May 18 01:22:37 2007
***************
*** 15,25 ****
  	<key>CFBundlePackageType</key>
  	<string>KEXT</string>
  	<key>CFBundleShortVersionString</key>
! 	<string>1.5.19</string>
  	<key>CFBundleSignature</key>
  	<string>????</string>
  	<key>CFBundleVersion</key>
! 	<string>1.5.19</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.20</string>
  	<key>CFBundleSignature</key>
  	<string>????</string>
  	<key>CFBundleVersion</key>
! 	<string>1.5.20</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.15 openafs/src/libafs/afs.x86_darwin_90.plist.in:1.1.6.16
*** openafs/src/libafs/afs.x86_darwin_90.plist.in:1.1.6.15	Thu Apr 19 00:04:31 2007
--- openafs/src/libafs/afs.x86_darwin_90.plist.in	Fri May 18 01:22:37 2007
***************
*** 15,25 ****
  	<key>CFBundlePackageType</key>
  	<string>KEXT</string>
  	<key>CFBundleShortVersionString</key>
! 	<string>1.5.19</string>
  	<key>CFBundleSignature</key>
  	<string>????</string>
  	<key>CFBundleVersion</key>
! 	<string>1.5.19</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.20</string>
  	<key>CFBundleSignature</key>
  	<string>????</string>
  	<key>CFBundleVersion</key>
! 	<string>1.5.20</string>
  	<key>OSBundleLibraries</key>
  	<dict>
  		<key>com.apple.kpi.bsd</key>
Index: openafs/src/lwp/process.c
diff -c openafs/src/lwp/process.c:1.23 openafs/src/lwp/process.c:1.23.2.1
*** openafs/src/lwp/process.c:1.23	Fri Mar 31 00:51:07 2006
--- openafs/src/lwp/process.c	Wed May 16 16:22:30 2007
***************
*** 13,19 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/lwp/process.c,v 1.23 2006/03/31 05:51:07 shadow Exp $");
  
  #include <stdio.h>
  #include <assert.h>
--- 13,19 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/lwp/process.c,v 1.23.2.1 2007/05/16 20:22:30 shadow Exp $");
  
  #include <stdio.h>
  #include <assert.h>
***************
*** 142,147 ****
--- 142,172 ----
  static int rc;
  static jmp_buf_type *jmpBuffer;
  
+ /** Starting with Glibc 2.4 pointers in jmp_buf are mangled (XOR) for "protection".
+   * On Sparc ucontext functions are not implemented.
+   */
+ #define ptr_mangle(x) (x)
+ #ifdef AFS_LINUX20_ENV
+ 
+ #ifdef __GLIBC__
+ #if (__GLIBC__ > 2) || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 3)
+ 
+ #ifdef AFS_SPARC64_LINUX24_ENV
+ #undef ptr_mangle
+ static int ptr_mangle(int p)
+ {   
+     register char *tls_ptr __asm__("%g7");
+     return p ^ *(int*)(tls_ptr + 0x18);
+ }
+ #else
+ #error need ptr_mangle support or use UCONTEXT
+ #endif
+ 
+ #endif
+ #endif
+ #endif
+ 
+ 
  afs_int32
  savecontext(ep, savearea, sp)
       char (*ep) ();
***************
*** 155,161 ****
  
      code = setjmp(savearea->setjmp_buffer);
      jmpBuffer = (jmp_buf_type *) savearea->setjmp_buffer;
!     savearea->topstack = (char *)jmpBuffer[LWP_SP];
  
  #if	defined(DEBUG)
      {
--- 180,186 ----
  
      code = setjmp(savearea->setjmp_buffer);
      jmpBuffer = (jmp_buf_type *) savearea->setjmp_buffer;
!     savearea->topstack = (char *) ptr_mangle(jmpBuffer[LWP_SP]);
  
  #if	defined(DEBUG)
      {
***************
*** 178,186 ****
  	    switch (rc) {
  	    case 0:
  		jmpBuffer = (jmp_buf_type *) jmp_tmp;
! 		jmpBuffer[LWP_SP] = (jmp_buf_type) sp;
  #if defined(AFS_S390_LINUX20_ENV) || defined(AFS_SPARC_LINUX20_ENV) || (defined(AFS_SPARC64_LINUX20_ENV) && defined(AFS_32BIT_USR_ENV))
! 		jmpBuffer[LWP_FP] = (jmp_buf_type) sp;
  #endif
  		longjmp(jmp_tmp, 1);
  		break;
--- 203,211 ----
  	    switch (rc) {
  	    case 0:
  		jmpBuffer = (jmp_buf_type *) jmp_tmp;
! 		jmpBuffer[LWP_SP] = ptr_mangle((jmp_buf_type) sp);
  #if defined(AFS_S390_LINUX20_ENV) || defined(AFS_SPARC_LINUX20_ENV) || (defined(AFS_SPARC64_LINUX20_ENV) && defined(AFS_32BIT_USR_ENV))
! 		jmpBuffer[LWP_FP] = ptr_mangle((jmp_buf_type) sp);
  #endif
  		longjmp(jmp_tmp, 1);
  		break;
Index: openafs/src/packaging/MacOS/OpenAFS.Info.plist
diff -c openafs/src/packaging/MacOS/OpenAFS.Info.plist:1.2.10.16 openafs/src/packaging/MacOS/OpenAFS.Info.plist:1.2.10.17
*** openafs/src/packaging/MacOS/OpenAFS.Info.plist:1.2.10.16	Thu Apr 19 00:04:31 2007
--- openafs/src/packaging/MacOS/OpenAFS.Info.plist	Fri May 18 01:22:39 2007
***************
*** 3,15 ****
  <plist version="1.0">
  <dict>
  	<key>CFBundleGetInfoString</key>
! 	<string>OpenAFS 1.5.19</string>
  	<key>CFBundleIdentifier</key>
  	<string>org.openafs.OpenAFS.pkg</string>
  	<key>CFBundleName</key>
  	<string>OpenAFS</string>
  	<key>CFBundleShortVersionString</key>
! 	<string>1.5.19</string>
  	<key>IFMajorVersion</key>
  	<integer>1</integer>
  	<key>IFMinorVersion</key>
--- 3,15 ----
  <plist version="1.0">
  <dict>
  	<key>CFBundleGetInfoString</key>
! 	<string>OpenAFS 1.5.20</string>
  	<key>CFBundleIdentifier</key>
  	<string>org.openafs.OpenAFS.pkg</string>
  	<key>CFBundleName</key>
  	<string>OpenAFS</string>
  	<key>CFBundleShortVersionString</key>
! 	<string>1.5.20</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.15 openafs/src/packaging/MacOS/OpenAFS.info:1.1.12.16
*** openafs/src/packaging/MacOS/OpenAFS.info:1.1.12.15	Thu Apr 19 00:04:31 2007
--- openafs/src/packaging/MacOS/OpenAFS.info	Fri May 18 01:22:39 2007
***************
*** 1,5 ****
  Title OpenAFS
! Version 1.5.19
  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.20
  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/ptserver/db_verify.c
diff -c openafs/src/ptserver/db_verify.c:1.16.14.1 openafs/src/ptserver/db_verify.c:1.16.14.2
*** openafs/src/ptserver/db_verify.c:1.16.14.1	Tue Apr 10 14:39:54 2007
--- openafs/src/ptserver/db_verify.c	Wed May 16 15:44:12 2007
***************
*** 12,18 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/ptserver/db_verify.c,v 1.16.14.1 2007/04/10 18:39:54 shadow Exp $");
  
  /*
   *                      (3) Define a structure, idused, instead of an
--- 12,18 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/ptserver/db_verify.c,v 1.16.14.2 2007/05/16 19:44:12 shadow Exp $");
  
  /*
   *                      (3) Define a structure, idused, instead of an
***************
*** 314,320 ****
  
  	    id = ntohl(e.id);
  
! 	    if (((ntohl(e.flags) & (PRGRP | PRINST)) == 0)
  		&& (strchr(e.name, '@'))) {
  		/* Foreign user */
  		if (id > misc->maxForId)
--- 314,320 ----
  
  	    id = ntohl(e.id);
  
! 	    if (((e.flags & htonl((PRGRP | PRINST))) == 0)
  		&& (strchr(e.name, '@'))) {
  		/* Foreign user */
  		if (id > misc->maxForId)
***************
*** 469,476 ****
  		break;
  	}
  #if defined(SUPERGROUPS)
! 	sghead = g->nextsg;
! 	if ((e->flags & PRGRP)) {
  	    for (i = 0; i < SGSIZE; ++i) {
  		afs_int32 id = ntohl(g->supergroup[i]);
  		if (id == PRBADID)
--- 469,476 ----
  		break;
  	}
  #if defined(SUPERGROUPS)
! 	sghead = ntohl(g->nextsg);
! 	if ((e->flags & htonl(PRGRP))) {
  	    for (i = 0; i < SGSIZE; ++i) {
  		afs_int32 id = ntohl(g->supergroup[i]);
  		if (id == PRBADID)
***************
*** 502,508 ****
      for (na = sghead; na; na = ntohl(c.next)) {
  	code = ConvertDiskAddress(na, &ni);
  	if (code) {
! 	    fprintf(stderr, "Bad continuation ptr %d", na);
  	    if (PrintEntryError(misc, ea, e, 2))
  		return PRDBBAD;
  	    if (na != sghead) {
--- 502,508 ----
      for (na = sghead; na; na = ntohl(c.next)) {
  	code = ConvertDiskAddress(na, &ni);
  	if (code) {
! 	    fprintf(stderr, "Bad SGcontinuation ptr %d", na);
  	    if (PrintEntryError(misc, ea, e, 2))
  		return PRDBBAD;
  	    if (na != sghead) {
***************
*** 689,695 ****
  #if defined(SUPERGROUPS)
  	noErrors = 0;
      }
!     if (e && (e->flags & PRGRP) && (sgcount != ntohl(g->countsg))) {
  	fprintf(stderr, "SGCount was %d should be %d\n", sgcount,
  		ntohl(g->countsg));
  	if (PrintEntryError(misc, ea, e, 2))
--- 689,695 ----
  #if defined(SUPERGROUPS)
  	noErrors = 0;
      }
!     if (e && (e->flags & htonl(PRGRP)) && (sgcount != ntohl(g->countsg))) {
  	fprintf(stderr, "SGCount was %d should be %d\n", sgcount,
  		ntohl(g->countsg));
  	if (PrintEntryError(misc, ea, e, 2))
***************
*** 891,897 ****
  	    case PRFOREIGN:
  		fprintf(stderr,
  			"ENTRY IS unexpected type [PRFOREIGN] (flags=0x%x)\n",
! 			e.flags);
  		break;
  	    case PRINST:
  		misc->ninsts++;
--- 891,897 ----
  	    case PRFOREIGN:
  		fprintf(stderr,
  			"ENTRY IS unexpected type [PRFOREIGN] (flags=0x%x)\n",
! 			ntohl(e.flags));
  		break;
  	    case PRINST:
  		misc->ninsts++;
***************
*** 1226,1232 ****
  		    if (code)
  			return code;
  
! 		    if ((id == ntohl(c.id)) && (ntohl(c.flags) & PRCONT)) {
  			for (i = 0; i < COSIZE; i++) {
  			    afs_int32 uid = ntohl(c.entries[i]);
  			    if (uid == 0)
--- 1226,1232 ----
  		    if (code)
  			return code;
  
! 		    if ((id == ntohl(c.id)) && (c.flags & htonl(PRCONT))) {
  			for (i = 0; i < COSIZE; i++) {
  			    afs_int32 uid = ntohl(c.entries[i]);
  			    if (uid == 0)
***************
*** 1252,1258 ****
  		    if (code)
  			return code;
  
! 		    if ((id == ntohl(c.id)) && (ntohl(c.flags) & PRCONT)) {
  			for (i = 0; i < COSIZE; i++) {
  			    afs_int32 uid = ntohl(c.entries[i]);
  			    if (uid == 0)
--- 1252,1258 ----
  		    if (code)
  			return code;
  
! 		    if ((id == ntohl(c.id)) && (c.flags & htonl(PRCONT))) {
  			for (i = 0; i < COSIZE; i++) {
  			    afs_int32 uid = ntohl(c.entries[i]);
  			    if (uid == 0)
Index: openafs/src/ptserver/map.c
diff -c openafs/src/ptserver/map.c:1.3 openafs/src/ptserver/map.c:1.3.14.1
*** openafs/src/ptserver/map.c:1.3	Wed Jun 23 10:27:41 2004
--- openafs/src/ptserver/map.c	Wed May 16 15:44:12 2007
***************
*** 2,8 ****
   *	bit map routines (in-core).
   */
  /*
!  * Copyright (c) 1995, 1996 Marcus D. Watts  All rights reserved.
   *
   * Redistribution and use in source and binary forms, with or without
   * modification, are permitted provided that the following conditions
--- 2,8 ----
   *	bit map routines (in-core).
   */
  /*
!  * Copyright (c) 1995, 1996, 2007 Marcus D. Watts  All rights reserved.
   *
   * Redistribution and use in source and binary forms, with or without
   * modification, are permitted provided that the following conditions
***************
*** 12,21 ****
   * 2. Redistributions in binary form must reproduce the above copyright
   *    notice, this list of conditions and the following disclaimer in the
   *    documentation and/or other materials provided with the distribution.
!  * 3. All advertising materials mentioning features or use of this software
!  *    must display the following acknowledgement:
!  *	This product includes software developed by Marcus D. Watts.
!  * 4. The name of the developer may not be used to endorse or promote
   *    products derived from this software without specific prior written
   *    permission.
   *
--- 12,18 ----
   * 2. Redistributions in binary form must reproduce the above copyright
   *    notice, this list of conditions and the following disclaimer in the
   *    documentation and/or other materials provided with the distribution.
!  * 3. The name of the developer may not be used to endorse or promote
   *    products derived from this software without specific prior written
   *    permission.
   *
***************
*** 35,41 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/ptserver/map.c,v 1.3 2004/06/23 14:27:41 shadow Exp $");
  
  #ifdef SUPERGROUPS
  #include <errno.h>
--- 32,38 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/ptserver/map.c,v 1.3.14.1 2007/05/16 19:44:12 shadow Exp $");
  
  #ifdef SUPERGROUPS
  #include <errno.h>
***************
*** 52,64 ****
  struct bitmap {
      struct bitmap *m_next;
      int m_page;
!     long m_data[MDATA];
  };
  
! #define MAP(p)	((struct bitmap*)((long)(p)&~1))
  #define NEGMAP(p)	(((int)(p))&1)
  #define POSMAP(p)	(!NEGMAP(p))
! #define NOT_MAP(mp)	((struct map *) (((long)(mp)) ^ 1))
  
  #define NUMBERTOBIT(n)	((n) & ((1<<LSHIFT)-1))
  #define NUMBERTOINDEX(n)	((n>>LSHIFT) & ((1<<MSHIFT)-1))
--- 49,61 ----
  struct bitmap {
      struct bitmap *m_next;
      int m_page;
!     int m_data[MDATA];
  };
  
! #define MAP(p)	((struct bitmap*)((int)(p)&~1))
  #define NEGMAP(p)	(((int)(p))&1)
  #define POSMAP(p)	(!NEGMAP(p))
! #define NOT_MAP(mp)	((struct map *) (((int)(mp)) ^ 1))
  
  #define NUMBERTOBIT(n)	((n) & ((1<<LSHIFT)-1))
  #define NUMBERTOINDEX(n)	((n>>LSHIFT) & ((1<<MSHIFT)-1))
***************
*** 70,79 ****
  extern int debug_mask;
  
  int
! in_map(struct map *parm, long node)
  {
      struct bitmap *map;
!     long bit;
      int x, page;
      int result;
  
--- 67,76 ----
  extern int debug_mask;
  
  int
! in_map(struct map *parm, int node)
  {
      struct bitmap *map;
!     int bit;
      int x, page;
      int result;
  
***************
*** 91,97 ****
      if (Aflag)
  	if (TONUMBER(page, x, bit) != node) {
  	    printf
! 		("bxp mixup: node=%ld -> p=%d x=%d b=%d -> %ld, %ld, %ld = %ld\n",
  		 node, page, x, bit, TONUMBER(page, 0, 0), TONUMBER(0, x, 0),
  		 TONUMBER(0, 0, bit), TONUMBER(page, x, bit));
  	}
--- 88,94 ----
      if (Aflag)
  	if (TONUMBER(page, x, bit) != node) {
  	    printf
! 		("bxp mixup: node=%d -> p=%d x=%d b=%d -> %d, %d, %d = %d\n",
  		 node, page, x, bit, TONUMBER(page, 0, 0), TONUMBER(0, x, 0),
  		 TONUMBER(0, 0, bit), TONUMBER(page, x, bit));
  	}
***************
*** 129,138 ****
  }
  
  struct map *
! add_map(struct map *parm, long node)
  {
      struct bitmap *map;
!     long bit;
      int x, page;
  
  #ifdef MAP_DEBUG
--- 126,135 ----
  }
  
  struct map *
! add_map(struct map *parm, int node)
  {
      struct bitmap *map;
!     int bit;
      int x, page;
  
  #ifdef MAP_DEBUG
***************
*** 161,167 ****
  	    return 0;
  	}
  	map->m_page = page;
! 	bzero((char *)map->m_data, sizeof map->m_data);
  	if (NEGMAP(parm)) {
  	    int i;
  	    for (i = 0; i < MDATA; ++i)
--- 158,164 ----
  	    return 0;
  	}
  	map->m_page = page;
! 	memset((char *) map->m_data, 0, sizeof map->m_data);
  	if (NEGMAP(parm)) {
  	    int i;
  	    for (i = 0; i < MDATA; ++i)
***************
*** 192,200 ****
  {
      struct bitmap **mpp, *mp2;
      int i;
!     for (mpp = &map; mp2 = *mpp;) {
  	for (i = 0; i < MDATA; ++i)
! 	    if (map->m_data[i])
  		break;
  	if (i == MDATA) {
  #ifdef PRINT_MAP_ERROR
--- 189,197 ----
  {
      struct bitmap **mpp, *mp2;
      int i;
!     for (mpp = &map; (mp2 = *mpp);) {
  	for (i = 0; i < MDATA; ++i)
! 	    if (mp2->m_data[i])
  		break;
  	if (i == MDATA) {
  #ifdef PRINT_MAP_ERROR
***************
*** 215,221 ****
      struct bitmap **rightmp, *lmap, *rmap;
      int i;
      for (lmap = left; lmap; lmap = lmap->m_next) {
! 	for (rightmp = &right; rmap = *rightmp; rightmp = &rmap->m_next)
  	    if (rmap->m_page == lmap->m_page) {
  		for (i = 0; i < MDATA; ++i)
  		    lmap->m_data[i] |= rmap->m_data[i];
--- 212,218 ----
      struct bitmap **rightmp, *lmap, *rmap;
      int i;
      for (lmap = left; lmap; lmap = lmap->m_next) {
! 	for (rightmp = &right; (rmap = *rightmp); rightmp = &rmap->m_next)
  	    if (rmap->m_page == lmap->m_page) {
  		for (i = 0; i < MDATA; ++i)
  		    lmap->m_data[i] |= rmap->m_data[i];
***************
*** 224,230 ****
  		break;
  	    }
      }
!     for (rightmp = &left; *rightmp; rightmp = &(*rightmp)->m_next);
      *rightmp = right;
      return left;
  }
--- 221,228 ----
  		break;
  	    }
      }
!     for (rightmp = &left; *rightmp; rightmp = &(*rightmp)->m_next)
! 	;
      *rightmp = right;
      return left;
  }
***************
*** 234,243 ****
  {
      struct bitmap **rightmp, *lmap, *rmap, **leftmp;
      int i;
!     long sig;
!     for (leftmp = &left; lmap = *leftmp;) {
  	sig = 0;
! 	for (rightmp = &right; rmap = *rightmp; rightmp = &rmap->m_next)
  	    if (rmap->m_page == lmap->m_page) {
  		for (i = 0; i < MDATA; ++i)
  		    sig |= (lmap->m_data[i] &= rmap->m_data[i]);
--- 232,241 ----
  {
      struct bitmap **rightmp, *lmap, *rmap, **leftmp;
      int i;
!     int sig;
!     for (leftmp = &left; (lmap = *leftmp);) {
  	sig = 0;
! 	for (rightmp = &right; (rmap = *rightmp); rightmp = &rmap->m_next)
  	    if (rmap->m_page == lmap->m_page) {
  		for (i = 0; i < MDATA; ++i)
  		    sig |= (lmap->m_data[i] &= rmap->m_data[i]);
***************
*** 262,276 ****
  {
      struct bitmap **rightmp, *lmap, *rmap, **leftmp;
      int i;
!     long sig;
  #ifdef MAP_DEBUG
      if (Mflag) {
! 	printf("bic_bitmap: left=%#lx right=%#lx\n", left, right);
      }
  #endif
!     for (leftmp = &left; lmap = *leftmp;) {
  	sig = 0;
! 	for (rightmp = &right; rmap = *rightmp; rightmp = &rmap->m_next)
  	    if (rmap->m_page == lmap->m_page) {
  		for (i = 0; i < MDATA; ++i)
  		    sig |= (lmap->m_data[i] &= ~rmap->m_data[i]);
--- 260,274 ----
  {
      struct bitmap **rightmp, *lmap, *rmap, **leftmp;
      int i;
!     int sig;
  #ifdef MAP_DEBUG
      if (Mflag) {
! 	printf("bic_bitmap: left=%#lx right=%#lx\n", (long)left, (long)right);
      }
  #endif
!     for (leftmp = &left; (lmap = *leftmp);) {
  	sig = 0;
! 	for (rightmp = &right; (rmap = *rightmp); rightmp = &rmap->m_next)
  	    if (rmap->m_page == lmap->m_page) {
  		for (i = 0; i < MDATA; ++i)
  		    sig |= (lmap->m_data[i] &= ~rmap->m_data[i]);
***************
*** 289,295 ****
      left = simplify_bitmap(left);
  #ifdef MAP_DEBUG
      if (Mflag) {
! 	printf("bic_bitmap: result=%#lx\n", left);
      }
  #endif
      return left;
--- 287,293 ----
      left = simplify_bitmap(left);
  #ifdef MAP_DEBUG
      if (Mflag) {
! 	printf("bic_bitmap: result=%#lx\n", (long) left);
      }
  #endif
      return left;
***************
*** 308,318 ****
  #endif
      if (POSMAP(mp1))
  	if (POSMAP(mp2))
! 	    mp1 = (struct map *)and_bitmap(mp1, mp2);
  	else
! 	    mp1 = (struct map *)bic_bitmap(mp1, MAP(mp2));
      else if (POSMAP(mp2))
! 	mp1 = (struct map *)bic_bitmap(mp2, MAP(mp1));
      else
  	mp1 = NOT_MAP(or_bitmap(MAP(mp1), MAP(mp2)));
  #ifdef MAP_DEBUG
--- 306,317 ----
  #endif
      if (POSMAP(mp1))
  	if (POSMAP(mp2))
! 	    mp1 = (struct map *)and_bitmap((struct bitmap *) mp1,
! 		(struct bitmap *) mp2);
  	else
! 	    mp1 = (struct map *)bic_bitmap((struct bitmap *) mp1, MAP(mp2));
      else if (POSMAP(mp2))
! 	mp1 = (struct map *)bic_bitmap((struct bitmap *) mp2, MAP(mp1));
      else
  	mp1 = NOT_MAP(or_bitmap(MAP(mp1), MAP(mp2)));
  #ifdef MAP_DEBUG
***************
*** 338,348 ****
  #endif
      if (POSMAP(mp1))
  	if (POSMAP(mp2))
! 	    mp1 = (struct map *)or_bitmap(mp1, mp2);
  	else
! 	    mp1 = NOT_MAP(bic_bitmap(MAP(mp2), mp1));
      else if (POSMAP(mp2))
! 	mp1 = NOT_MAP(bic_bitmap(MAP(mp1), mp2));
      else
  	mp1 = NOT_MAP(and_bitmap(MAP(mp1), MAP(mp2)));
  #ifdef MAP_DEBUG
--- 337,348 ----
  #endif
      if (POSMAP(mp1))
  	if (POSMAP(mp2))
! 	    mp1 = (struct map *)or_bitmap((struct bitmap *) mp1,
! 		(struct bitmap *) mp2);
  	else
! 	    mp1 = NOT_MAP(bic_bitmap(MAP(mp2), (struct bitmap *) mp1));
      else if (POSMAP(mp2))
! 	mp1 = NOT_MAP(bic_bitmap(MAP(mp1), (struct bitmap *) mp2));
      else
  	mp1 = NOT_MAP(and_bitmap(MAP(mp1), MAP(mp2)));
  #ifdef MAP_DEBUG
***************
*** 380,386 ****
      }
  #endif
      map = MAP(parm);
!     for (mpp = &result; *mpp = 0, map; map = map->m_next) {
  	*mpp = (struct bitmap *)malloc(sizeof **mpp);
  	if (!*mpp) {
  #ifdef MAP_DEBUG
--- 380,386 ----
      }
  #endif
      map = MAP(parm);
!     for (mpp = &result; (*mpp = 0), map; map = map->m_next) {
  	*mpp = (struct bitmap *)malloc(sizeof **mpp);
  	if (!*mpp) {
  #ifdef MAP_DEBUG
***************
*** 400,416 ****
  	return (struct map *)result;
  }
  
! long
  count_map(struct map *parm)
  {
!     long nf;
      struct bitmap *map;
!     register i, j;
  
      nf = 0;
      for (map = MAP(parm); map; map = map->m_next) {
  	for (i = 0; i < MDATA; ++i) {
! 	    if (!map->m_data[i]);
  	    else if (!~map->m_data[i])
  		nf += (1 << LSHIFT);
  	    else
--- 400,417 ----
  	return (struct map *)result;
  }
  
! int
  count_map(struct map *parm)
  {
!     int nf;
      struct bitmap *map;
!     int i, j;
  
      nf = 0;
      for (map = MAP(parm); map; map = map->m_next) {
  	for (i = 0; i < MDATA; ++i) {
! 	    if (!map->m_data[i])
! 		;
  	    else if (!~map->m_data[i])
  		nf += (1 << LSHIFT);
  	    else
***************
*** 431,441 ****
      return nf;
  }
  
! long
! next_map(struct map *parm, long node)
  {
      struct bitmap *map, *lowest;
!     long bit, mask;
      int x, page;
      int best;
      int i;
--- 432,442 ----
      return nf;
  }
  
! int
! next_map(struct map *parm, int node)
  {
      struct bitmap *map, *lowest;
!     int bit, mask;
      int x, page;
      int best;
      int i;
***************
*** 480,486 ****
  		if (Aflag) {
  		    if (bn == (1 << LSHIFT)) {
  			printf
! 			    ("next_map: botch; pageno %d index %d data %#lx mask %#lx x,bit %d,%#lx\n",
  			     map->m_page, i, map->m_data[i], mask, x, bit);
  			continue;
  		    }
--- 481,487 ----
  		if (Aflag) {
  		    if (bn == (1 << LSHIFT)) {
  			printf
! 			    ("next_map: botch; pageno %d index %d data %#x mask %#x x,bit %d,%#x\n",
  			     map->m_page, i, map->m_data[i], mask, x, bit);
  			continue;
  		    }
***************
*** 494,500 ****
  #ifdef MAP_DEBUG
      if (Aflag) {
  	printf(" -> %d\n", best);
! 	if (best >= 0 && !in_map((struct map *)parm, best)) {
  	    printf("next_map: botch; %d not in map\n", best);
  	    return -1;
  	}
--- 495,501 ----
  #ifdef MAP_DEBUG
      if (Aflag) {
  	printf(" -> %d\n", best);
! 	if (best >= 0 && !in_map(parm, best)) {
  	    printf("next_map: botch; %d not in map\n", best);
  	    return -1;
  	}
***************
*** 503,519 ****
      return best;
  }
  
! long
  first_map(struct map *parm)
  {
      return next_map(parm, -9999);
  }
  
! long
! prev_map(struct map *parm, long node)
  {
      struct bitmap *map, *lowest;
!     long bit, mask;
      int x, page;
      int best;
      int i;
--- 504,520 ----
      return best;
  }
  
! int
  first_map(struct map *parm)
  {
      return next_map(parm, -9999);
  }
  
! int
! prev_map(struct map *parm, int node)
  {
      struct bitmap *map, *lowest;
!     int bit, mask;
      int x, page;
      int best;
      int i;
***************
*** 534,540 ****
      }
  
      if (node < 0)
! 	node = ((unsigned long)~0) >> 1;
  
      --node;
      bit = NUMBERTOBIT(node);
--- 535,541 ----
      }
  
      if (node < 0)
! 	node = ((unsigned int)~0) >> 1;
  
      --node;
      bit = NUMBERTOBIT(node);
***************
*** 561,567 ****
  		if (Aflag) {
  		    if (bn < 0) {
  			printf
! 			    ("prev_map: botch; pageno %d index %d data %#lx mask %#lx x,bit %d,%#lx\n",
  			     map->m_page, i, map->m_data[i], mask, x, bit);
  			continue;
  		    }
--- 562,568 ----
  		if (Aflag) {
  		    if (bn < 0) {
  			printf
! 			    ("prev_map: botch; pageno %d index %d data %#x mask %#x x,bit %d,%#x\n",
  			     map->m_page, i, map->m_data[i], mask, x, bit);
  			continue;
  		    }
***************
*** 584,590 ****
      return best;
  }
  
! long
  last_map(struct map *parm)
  {
      return prev_map(parm, 0x7fffffff);
--- 585,591 ----
      return best;
  }
  
! int
  last_map(struct map *parm)
  {
      return prev_map(parm, 0x7fffffff);
***************
*** 630,638 ****
      }
      map = MAP(parm);
      if (!map)
! 	printf(" nil(%lx)", parm);
      else
! 	printf(" %lx", parm);
      lastbitno = -100;
      firstbitno = -100;
      for (; map; map = map->m_next)
--- 631,639 ----
      }
      map = MAP(parm);
      if (!map)
! 	printf(" nil(%lx)", (long)parm);
      else
! 	printf(" %lx", (long)parm);
      lastbitno = -100;
      firstbitno = -100;
      for (; map; map = map->m_next)
***************
*** 667,678 ****
  
  #ifdef NEED_READ_WRITE
  struct map *
! read_map(int (*f) (), char *arg)
  {
      struct bitmap *map, *result, **mp;
      int page;
!     int bitno, lastno, thisno, prevno;
!     int i, j;
      int data;
  
  /* count, then startbitno, then bits. */
--- 668,678 ----
  
  #ifdef NEED_READ_WRITE
  struct map *
! read_map(int (*f) (void *), char *arg)
  {
      struct bitmap *map, *result, **mp;
      int page;
!     int bitno, lastno;
      int data;
  
  /* count, then startbitno, then bits. */
***************
*** 700,706 ****
  	    continue;
  	page = NUMBERTOPAGE(bitno);
  	if (!map || map->m_page != page)
! 	    for (mp = &result; map = *mp; mp = &map->m_next)
  		if (map->m_page == page)
  		    break;
  	if (!map) {
--- 700,706 ----
  	    continue;
  	page = NUMBERTOPAGE(bitno);
  	if (!map || map->m_page != page)
! 	    for (mp = &result; (map = *mp); mp = &map->m_next)
  		if (map->m_page == page)
  		    break;
  	if (!map) {
***************
*** 713,719 ****
  		    free_map((struct map *)result);
  		return 0;
  	    }
! 	    bzero((char *)map->m_data, sizeof map->m_data);
  	    map->m_page = page;
  	    map->m_next = 0;
  	    *mp = map;
--- 713,719 ----
  		    free_map((struct map *)result);
  		return 0;
  	    }
! 	    memset((char *) map->m_data, 0, sizeof map->m_data);
  	    map->m_page = page;
  	    map->m_next = 0;
  	    *mp = map;
***************
*** 724,730 ****
  }
  
  int 
! write_map(struct map *parm, int (*f) (), char *arg)
  {
      struct bitmap *map;
      int page;
--- 724,730 ----
  }
  
  int 
! write_map(struct map *parm, int (*f) (void *, int), char *arg)
  {
      struct bitmap *map;
      int page;
Index: openafs/src/ptserver/map.h
diff -c openafs/src/ptserver/map.h:1.1 openafs/src/ptserver/map.h:1.1.14.1
*** openafs/src/ptserver/map.h:1.1	Wed Jan 15 12:36:07 2003
--- openafs/src/ptserver/map.h	Wed May 16 15:44:12 2007
***************
*** 2,8 ****
   *	map.h - header routines for in-core bitmap routines.
   */
  /*
!  * Copyright (c) 1995 Marcus D. Watts  All rights reserved.
   *
   * Redistribution and use in source and binary forms, with or without
   * modification, are permitted provided that the following conditions
--- 2,8 ----
   *	map.h - header routines for in-core bitmap routines.
   */
  /*
!  * Copyright (c) 1995, 2007 Marcus D. Watts  All rights reserved.
   *
   * Redistribution and use in source and binary forms, with or without
   * modification, are permitted provided that the following conditions
***************
*** 12,21 ****
   * 2. Redistributions in binary form must reproduce the above copyright
   *    notice, this list of conditions and the following disclaimer in the
   *    documentation and/or other materials provided with the distribution.
!  * 3. All advertising materials mentioning features or use of this software
!  *    must display the following acknowledgement:
!  *	This product includes software developed by Marcus D. Watts.
!  * 4. The name of the developer may not be used to endorse or promote
   *    products derived from this software without specific prior written
   *    permission.
   *
--- 12,18 ----
   * 2. Redistributions in binary form must reproduce the above copyright
   *    notice, this list of conditions and the following disclaimer in the
   *    documentation and/or other materials provided with the distribution.
!  * 3. The name of the developer may not be used to endorse or promote
   *    products derived from this software without specific prior written
   *    permission.
   *
***************
*** 33,50 ****
  
  struct map;
  
! int in_map(struct map *, long);
  void free_map(struct map *);
! struct map *add_map(struct map *, long);
  struct map *and_map(struct map *, struct map *);
  struct map *or_map(struct map *, struct map *);
  struct map *not_map(struct map *);
  struct map *copy_map(struct map *);
! long count_map(struct map *);
! long next_map(struct map *, long);
! long first_map(struct map *);
! long prev_map(struct map *, long);
! long last_map(struct map *);
  struct map *negative_map(struct map *);
  struct map *bic_map(struct map *, struct map *);
  int print_map(struct map *);
--- 30,47 ----
  
  struct map;
  
! int in_map(struct map *, int);
  void free_map(struct map *);
! struct map *add_map(struct map *, int);
  struct map *and_map(struct map *, struct map *);
  struct map *or_map(struct map *, struct map *);
  struct map *not_map(struct map *);
  struct map *copy_map(struct map *);
! int count_map(struct map *);
! int next_map(struct map *, int);
! int first_map(struct map *);
! int prev_map(struct map *, int);
! int last_map(struct map *);
  struct map *negative_map(struct map *);
  struct map *bic_map(struct map *, struct map *);
  int print_map(struct map *);
Index: openafs/src/ptserver/ptutils.c
diff -c openafs/src/ptserver/ptutils.c:1.19.6.1 openafs/src/ptserver/ptutils.c:1.19.6.2
*** openafs/src/ptserver/ptutils.c:1.19.6.1	Tue Apr 10 14:39:54 2007
--- openafs/src/ptserver/ptutils.c	Wed May 16 15:55:49 2007
***************
*** 24,30 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/ptserver/ptutils.c,v 1.19.6.1 2007/04/10 18:39:54 shadow Exp $");
  
  #include <afs/stds.h>
  #include <sys/types.h>
--- 24,30 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/ptserver/ptutils.c,v 1.19.6.2 2007/05/16 19:55:49 shadow Exp $");
  
  #include <afs/stds.h>
  #include <sys/types.h>
***************
*** 113,183 ****
  	    c = ENTRYSIZE - o;
  	    if (c > l)
  		c = l;
  #if DEBUG_SG_MAP
  	    if (o)
  		fprintf(stderr, "Writing %d bytes of entry @ %#lx(+%d)\n", c,
  			p - o, o);
  	    else if (c == ENTRYSIZE)
  		fprintf(stderr,
! 			"Writing %d bytes of entry @ %#lx (%d<%s>,%d)\n", c,
! 			p, ((struct prentry *)cp)->flags,
! 			(((struct prentry *)cp)->flags & PRTYPE) ==
! 			PRUSER ? "user" : (((struct prentry *)cp)->
! 					   flags & PRTYPE) ==
! 			PRFREE ? "free" : (((struct prentry *)cp)->
! 					   flags & PRTYPE) ==
! 			PRGRP ? "group" : (((struct prentry *)cp)->
! 					   flags & PRTYPE) ==
! 			PRCONT ? "cont" : (((struct prentry *)cp)->
! 					   flags & PRTYPE) ==
! 			PRCELL ? "cell" : (((struct prentry *)cp)->
! 					   flags & PRTYPE) ==
! 			PRFOREIGN ? "foreign" : (((struct prentry *)cp)->
! 						 flags & PRTYPE) ==
! 			PRINST ? "sub/super instance" : "?",
! 			((struct prentry *)cp)->id);
  	    else if (c >= 8)
  		fprintf(stderr,
  			"Writing first %d bytes of entry @ %#lx (%d<%s>,%d)\n",
! 			c, p, ((struct prentry *)cp)->flags,
! 			(((struct prentry *)cp)->flags & PRTYPE) ==
! 			PRUSER ? "user" : (((struct prentry *)cp)->
! 					   flags & PRTYPE) ==
! 			PRFREE ? "free" : (((struct prentry *)cp)->
! 					   flags & PRTYPE) ==
! 			PRGRP ? "group" : (((struct prentry *)cp)->
! 					   flags & PRTYPE) ==
! 			PRCONT ? "cont" : (((struct prentry *)cp)->
! 					   flags & PRTYPE) ==
! 			PRCELL ? "cell" : (((struct prentry *)cp)->
! 					   flags & PRTYPE) ==
! 			PRFOREIGN ? "foreign" : (((struct prentry *)cp)->
! 						 flags & PRTYPE) ==
! 			PRINST ? "sub/super instance" : "?",
! 			((struct prentry *)cp)->id);
  	    else
  		fprintf(stderr, "Writing %d bytes of entry @ %#lx\n", c, p);
  #endif
! 	    if (!o && c >= 8
! 		&& (((struct prentry *)cp)->flags & PRTYPE) == PRGRP) {
  #if DEBUG_SG_MAP
! 		if (in_map(sg_found, -((struct prentry *)cp)->id))
  		    fprintf(stderr, "Unfound: Removing group %d\n",
! 			    ((struct prentry *)cp)->id);
! 		if (in_map(sg_flagged, -((struct prentry *)cp)->id))
  		    fprintf(stderr, "Unflag: Removing group %d\n",
! 			    ((struct prentry *)cp)->id);
  #endif
  		sg_found =
  		    bic_map(sg_found,
! 			    add_map(NIL_MAP, -((struct prentry *)cp)->id));
  		sg_flagged =
  		    bic_map(sg_flagged,
! 			    add_map(NIL_MAP, -((struct prentry *)cp)->id));
  	    }
  	    cp += c;
  	    p += c;
  	    l -= c;
  	}
      }
      return (*pt_save_dbase_write) (tdb, fno, bp, pos, count);
--- 113,164 ----
  	    c = ENTRYSIZE - o;
  	    if (c > l)
  		c = l;
+ #define xPT(p,x) ((((struct prentry *)(p))->flags & htonl(PRTYPE)) == htonl(x))
  #if DEBUG_SG_MAP
  	    if (o)
  		fprintf(stderr, "Writing %d bytes of entry @ %#lx(+%d)\n", c,
  			p - o, o);
  	    else if (c == ENTRYSIZE)
  		fprintf(stderr,
! 			"Writing %d bytes of entry @ %#lx (%d<%s>,%d)\n",
! 			c, p, ntohl(((struct prentry *)cp)->flags),
! 			xPT(cp,PRUSER) ? "user" : xPT(cp,PRFREE) ? "free" :
! 			xPT(cp,PRGRP) ? "group" : xPT(cp,PRCONT) ? "cont" :
! 			xPT(cp,PRCELL) ? "cell" : xPT(cp,PRFOREIGN) ? "foreign" :
! 			xPT(cp,PRINST) ? "sub/super instance" : "?",
! 			ntohl(((struct prentry *)cp)->id));
  	    else if (c >= 8)
  		fprintf(stderr,
  			"Writing first %d bytes of entry @ %#lx (%d<%s>,%d)\n",
! 			c, p, ntohl(((struct prentry *)cp)->flags),
! 			xPT(cp,PRUSER) ? "user" : xPT(cp,PRFREE) ? "free" :
! 			xPT(cp,PRGRP) ? "group" : xPT(cp,PRCONT) ? "cont" :
! 			xPT(cp,PRCELL) ? "cell" : xPT(cp,PRFOREIGN) ? "foreign" :
! 			xPT(cp,PRINST) ? "sub/super instance" : "?",
! 			ntohl(((struct prentry *)cp)->id));
  	    else
  		fprintf(stderr, "Writing %d bytes of entry @ %#lx\n", c, p);
  #endif
! 	    if (!o && c >= 8 && xPT(cp,PRGRP)) {
  #if DEBUG_SG_MAP
! 		if (in_map(sg_found, -ntohl(((struct prentry *)cp)->id)))
  		    fprintf(stderr, "Unfound: Removing group %d\n",
! 			    ntohl(((struct prentry *)cp)->id));
! 		if (in_map(sg_flagged, -ntohl(((struct prentry *)cp)->id)))
  		    fprintf(stderr, "Unflag: Removing group %d\n",
! 			    ntohl(((struct prentry *)cp)->id));
  #endif
  		sg_found =
  		    bic_map(sg_found,
! 			add_map(NIL_MAP, -ntohl(((struct prentry *)cp)->id)));
  		sg_flagged =
  		    bic_map(sg_flagged,
! 			add_map(NIL_MAP, -ntohl(((struct prentry *)cp)->id)));
  	    }
  	    cp += c;
  	    p += c;
  	    l -= c;
+ #undef xPT
  	}
      }
      return (*pt_save_dbase_write) (tdb, fno, bp, pos, count);
***************
*** 744,750 ****
      }
  
      nptr = tentry.next;
!     while (nptr != NULL) {
  	code = pr_ReadCoEntry(at, 0, nptr, &centry);
  	if (code != 0)
  	    return code;
--- 725,731 ----
      }
  
      nptr = tentry.next;
!     while (nptr) {
  	code = pr_ReadCoEntry(at, 0, nptr, &centry);
  	if (code != 0)
  	    return code;
***************
*** 803,809 ****
      if (code != 0)
  	return code;
  #ifdef PR_REMEMBER_TIMES
!     tentry.removeTime = time((afs_int32 *) 0);
  #endif
      tentryg = (struct prentryg *)&tentry;
      for (i = 0; i < SGSIZE; i++) {
--- 784,790 ----
      if (code != 0)
  	return code;
  #ifdef PR_REMEMBER_TIMES
!     tentry.removeTime = time(NULL);
  #endif
      tentryg = (struct prentryg *)&tentry;
      for (i = 0; i < SGSIZE; i++) {
***************
*** 821,827 ****
      }
      hloc = 0;
      nptr = tentryg->nextsg;
!     while (nptr != NULL) {
  	code = pr_ReadCoEntry(at, 0, nptr, &centry);
  	if (code != 0)
  	    return code;
--- 802,808 ----
      }
      hloc = 0;
      nptr = tentryg->nextsg;
!     while (nptr) {
  	code = pr_ReadCoEntry(at, 0, nptr, &centry);
  	if (code != 0)
  	    return code;
***************
*** 1158,1164 ****
      if (entry->id == aid)
  	return PRINCONSISTENT;
  #ifdef PR_REMEMBER_TIMES
!     entry->addTime = time((afs_int32 *) 0);
  #endif
      entryg = (struct prentryg *)entry;
      for (i = 0; i < SGSIZE; i++) {
--- 1139,1145 ----
      if (entry->id == aid)
  	return PRINCONSISTENT;
  #ifdef PR_REMEMBER_TIMES
!     entry->addTime = time(NULL);
  #endif
      entryg = (struct prentryg *)entry;
      for (i = 0; i < SGSIZE; i++) {
***************
*** 1177,1183 ****
      }
      last = 0;
      nptr = entryg->nextsg;
!     while (nptr != NULL) {
  	code = pr_ReadCoEntry(tt, 0, nptr, &nentry);
  	if (code != 0)
  	    return code;
--- 1158,1164 ----
      }
      last = 0;
      nptr = entryg->nextsg;
!     while (nptr) {
  	code = pr_ReadCoEntry(tt, 0, nptr, &nentry);
  	if (code != 0)
  	    return code;
***************
*** 1237,1243 ****
      memset(&aentry, 0, sizeof(aentry));
      aentry.flags |= PRCONT;
      aentry.id = entry->id;
!     aentry.next = NULL;
      aentry.entries[0] = aid;
      code = pr_WriteCoEntry(tt, 0, nptr, &aentry);
      if (code != 0)
--- 1218,1224 ----
      memset(&aentry, 0, sizeof(aentry));
      aentry.flags |= PRCONT;
      aentry.id = entry->id;
!     aentry.next = 0;
      aentry.entries[0] = aid;
      code = pr_WriteCoEntry(tt, 0, nptr, &aentry);
      if (code != 0)
***************
*** 1531,1537 ****
      }
  
      nptr = tentryg->nextsg;
!     while (nptr != NULL) {
  	didsomething = 1;
  	/* look through cont entries */
  	code = pr_ReadCoEntry(at, 0, nptr, &centry);
--- 1512,1518 ----
      }
  
      nptr = tentryg->nextsg;
!     while (nptr) {
  	didsomething = 1;
  	/* look through cont entries */
  	code = pr_ReadCoEntry(at, 0, nptr, &centry);
***************
*** 1599,1605 ****
      }
  
      nptr = tentryg->nextsg;
!     while (nptr != NULL) {
  	/* look through cont entries */
  	code = pr_ReadCoEntry(at, 0, nptr, &centry);
  	if (code != 0)
--- 1580,1586 ----
      }
  
      nptr = tentryg->nextsg;
!     while (nptr) {
  	/* look through cont entries */
  	code = pr_ReadCoEntry(at, 0, nptr, &centry);
  	if (code != 0)
***************
*** 1942,1948 ****
  		break;
  	}
  	pos = tentry.next;
! 	while (pos != NULL) {
  #define centry  (*(struct contentry*)&tent)
  	    code = pr_ReadCoEntry(at, 0, pos, &centry);
  	    if ((centry.id != aid)
--- 1923,1929 ----
  		break;
  	}
  	pos = tentry.next;
! 	while (pos) {
  #define centry  (*(struct contentry*)&tent)
  	    code = pr_ReadCoEntry(at, 0, pos, &centry);
  	    if ((centry.id != aid)
Index: openafs/src/rx/rx.c
diff -c openafs/src/rx/rx.c:1.97.2.7 openafs/src/rx/rx.c:1.97.2.10
*** openafs/src/rx/rx.c:1.97.2.7	Tue Apr  3 09:31:34 2007
--- openafs/src/rx/rx.c	Wed May 16 16:45:25 2007
***************
*** 17,23 ****
  #endif
  
  RCSID
!     ("$Header: /cvs/openafs/src/rx/rx.c,v 1.97.2.7 2007/04/03 13:31:34 jaltman Exp $");
  
  #ifdef KERNEL
  #include "afs/sysincludes.h"
--- 17,23 ----
  #endif
  
  RCSID
!     ("$Header: /cvs/openafs/src/rx/rx.c,v 1.97.2.10 2007/05/16 20:45:25 shadow Exp $");
  
  #ifdef KERNEL
  #include "afs/sysincludes.h"
***************
*** 1043,1048 ****
--- 1043,1066 ----
      USERPRI;
  }
  
+ /* Wait for the transmit queue to no longer be busy. 
+  * requires the call->lock to be held */
+ static void rxi_WaitforTQBusy(struct rx_call *call) {
+     while (call->flags & RX_CALL_TQ_BUSY) {
+ 	call->flags |= RX_CALL_TQ_WAIT;
+ 	call->tqWaiters++;
+ #ifdef RX_ENABLE_LOCKS
+ 	osirx_AssertMine(&call->lock, "rxi_WaitforTQ lock");
+ 	CV_WAIT(&call->cv_tq, &call->lock);
+ #else /* RX_ENABLE_LOCKS */
+ 	osi_rxSleep(&call->tq);
+ #endif /* RX_ENABLE_LOCKS */
+ 	call->tqWaiters--;
+ 	if (call->tqWaiters == 0) {
+ 	    call->flags &= ~RX_CALL_TQ_WAIT;
+ 	}
+     }
+ }
  /* Start a new rx remote procedure call, on the specified connection.
   * If wait is set to 1, wait for a free call channel; otherwise return
   * 0.  Maxtime gives the maximum number of seconds this call may take,
***************
*** 1168,1187 ****
  #ifdef	AFS_GLOBAL_RXLOCK_KERNEL
      /* Now, if TQ wasn't cleared earlier, do it now. */
      MUTEX_ENTER(&call->lock);
!     while (call->flags & RX_CALL_TQ_BUSY) {
! 	call->flags |= RX_CALL_TQ_WAIT;
! 	call->tqWaiters++;
! #ifdef RX_ENABLE_LOCKS
! 	osirx_AssertMine(&call->lock, "rxi_Start lock4");
! 	CV_WAIT(&call->cv_tq, &call->lock);
! #else /* RX_ENABLE_LOCKS */
! 	osi_rxSleep(&call->tq);
! #endif /* RX_ENABLE_LOCKS */
! 	call->tqWaiters--;
! 	if (call->tqWaiters == 0) {
! 	    call->flags &= ~RX_CALL_TQ_WAIT;
! 	}
!     }
      if (call->flags & RX_CALL_TQ_CLEARME) {
  	rxi_ClearTransmitQueue(call, 0);
  	queue_Init(&call->tq);
--- 1186,1192 ----
  #ifdef	AFS_GLOBAL_RXLOCK_KERNEL
      /* Now, if TQ wasn't cleared earlier, do it now. */
      MUTEX_ENTER(&call->lock);
!     rxi_WaitforTQBusy(call);
      if (call->flags & RX_CALL_TQ_CLEARME) {
  	rxi_ClearTransmitQueue(call, 0);
  	queue_Init(&call->tq);
***************
*** 3359,3367 ****
  
  	    /* We need to send an ack of the packet is out of sequence, 
  	     * or if an ack was requested by the peer. */
! 	    if (seq != prev + 1 || missing || (flags & RX_REQUEST_ACK)) {
  		ackNeeded = RX_ACK_OUT_OF_SEQUENCE;
! 	    }
  
  	    /* Acknowledge the last packet for each call */
  	    if (flags & RX_LAST_PACKET) {
--- 3364,3374 ----
  
  	    /* We need to send an ack of the packet is out of sequence, 
  	     * or if an ack was requested by the peer. */
! 	    if (seq != prev + 1 || missing) {
  		ackNeeded = RX_ACK_OUT_OF_SEQUENCE;
! 	    } else if (flags & RX_REQUEST_ACK) {
! 		ackNeeded = RX_ACK_REQUESTED;
!             }
  
  	    /* Acknowledge the last packet for each call */
  	    if (flags & RX_LAST_PACKET) {
***************
*** 3893,3911 ****
  	    return np;
  	}
  	call->flags |= RX_CALL_FAST_RECOVER_WAIT;
! 	while (call->flags & RX_CALL_TQ_BUSY) {
! 	    call->flags |= RX_CALL_TQ_WAIT;
! 	    call->tqWaiters++;
! #ifdef RX_ENABLE_LOCKS
! 	    osirx_AssertMine(&call->lock, "rxi_Start lock2");
! 	    CV_WAIT(&call->cv_tq, &call->lock);
! #else /* RX_ENABLE_LOCKS */
! 	    osi_rxSleep(&call->tq);
! #endif /* RX_ENABLE_LOCKS */
! 	    call->tqWaiters--;
! 	    if (call->tqWaiters == 0)
! 		call->flags &= ~RX_CALL_TQ_WAIT;
! 	}
  	MUTEX_ENTER(&peer->peer_lock);
  #endif /* AFS_GLOBAL_RXLOCK_KERNEL */
  	call->flags &= ~RX_CALL_FAST_RECOVER_WAIT;
--- 3900,3906 ----
  	    return np;
  	}
  	call->flags |= RX_CALL_FAST_RECOVER_WAIT;
! 	rxi_WaitforTQBusy(call);
  	MUTEX_ENTER(&peer->peer_lock);
  #endif /* AFS_GLOBAL_RXLOCK_KERNEL */
  	call->flags &= ~RX_CALL_FAST_RECOVER_WAIT;
***************
*** 5113,5131 ****
  	    return;
  	}
  	call->flags |= RX_CALL_FAST_RECOVER_WAIT;
! 	while (call->flags & RX_CALL_TQ_BUSY) {
! 	    call->flags |= RX_CALL_TQ_WAIT;
! 	    call->tqWaiters++;
! #ifdef RX_ENABLE_LOCKS
! 	    osirx_AssertMine(&call->lock, "rxi_Start lock1");
! 	    CV_WAIT(&call->cv_tq, &call->lock);
! #else /* RX_ENABLE_LOCKS */
! 	    osi_rxSleep(&call->tq);
! #endif /* RX_ENABLE_LOCKS */
! 	    call->tqWaiters--;
! 	    if (call->tqWaiters == 0)
! 		call->flags &= ~RX_CALL_TQ_WAIT;
! 	}
  #endif /* AFS_GLOBAL_RXLOCK_KERNEL */
  	call->flags &= ~RX_CALL_FAST_RECOVER_WAIT;
  	call->flags |= RX_CALL_FAST_RECOVER;
--- 5108,5114 ----
  	    return;
  	}
  	call->flags |= RX_CALL_FAST_RECOVER_WAIT;
! 	rxi_WaitforTQBusy(call);
  #endif /* AFS_GLOBAL_RXLOCK_KERNEL */
  	call->flags &= ~RX_CALL_FAST_RECOVER_WAIT;
  	call->flags |= RX_CALL_FAST_RECOVER;
***************
*** 5640,5645 ****
--- 5623,5629 ----
  			    (char *)&error, sizeof(error), 0);
  	rxi_FreePacket(packet);
      }
+     CALL_RELE(call, RX_CALL_REFCOUNT_ABORT);
      MUTEX_EXIT(&call->lock);
  }
  
Index: openafs/src/rx/rx.h
diff -c openafs/src/rx/rx.h:1.28.4.1 openafs/src/rx/rx.h:1.28.4.2
*** openafs/src/rx/rx.h:1.28.4.1	Mon Jun 12 17:56:23 2006
--- openafs/src/rx/rx.h	Wed May 16 16:49:56 2007
***************
*** 635,641 ****
  #define	RX_ACK_PING_RESPONSE	7	/* Ack'ing because we were pinged */
  #define	RX_ACK_DELAY		8	/* Ack generated since nothing has happened since receiving packet */
  #define RX_ACK_IDLE             9	/* Similar to RX_ACK_DELAY, but can 
! 					 * be */
  
  /* Packet acknowledgement type */
  #define	RX_ACK_TYPE_NACK	0	/* I Don't have this packet */
--- 635,641 ----
  #define	RX_ACK_PING_RESPONSE	7	/* Ack'ing because we were pinged */
  #define	RX_ACK_DELAY		8	/* Ack generated since nothing has happened since receiving packet */
  #define RX_ACK_IDLE             9	/* Similar to RX_ACK_DELAY, but can 
! 					 * be used to compute RTT */
  
  /* Packet acknowledgement type */
  #define	RX_ACK_TYPE_NACK	0	/* I Don't have this packet */
Index: openafs/src/venus/up.c
diff -c openafs/src/venus/up.c:1.17 openafs/src/venus/up.c:1.17.2.1
*** openafs/src/venus/up.c:1.17	Wed Feb  1 11:20:11 2006
--- openafs/src/venus/up.c	Mon May  7 13:24:34 2007
***************
*** 11,17 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/venus/up.c,v 1.17 2006/02/01 16:20:11 shadow Exp $");
  
  /* missing type from C language */
  
--- 11,17 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/venus/up.c,v 1.17.2.1 2007/05/07 17:24:34 rra Exp $");
  
  /* missing type from C language */
  
***************
*** 522,527 ****
--- 522,528 ----
  	char f1[MAXPATHLEN], f2[MAXPATHLEN];
  	char *p1, *p2;
  	struct dirent *d;
+ 	struct timeval tv[2];
  
  	if (verbose) {
  	    printf("Level %d: Directory %s to %s\n", level, file1, file2);
***************
*** 709,714 ****
--- 710,724 ----
  		printf("Not setting acls\n");
  	    }
  	}
+ 
+         /* preserve access and modification times: ("-x" disables) */
+         if (preserveDate) {
+             tv[0].tv_sec = s1.st_atime;
+             tv[0].tv_usec = 0;
+             tv[1].tv_sec = s1.st_mtime;
+             tv[1].tv_usec = 0;
+             utimes(file2, tv);
+         }
      }
  
      return rcode;
Index: openafs/src/viced/afsfileprocs.c
diff -c openafs/src/viced/afsfileprocs.c:1.113.2.14 openafs/src/viced/afsfileprocs.c:1.113.2.15
*** openafs/src/viced/afsfileprocs.c:1.113.2.14	Mon Feb 26 13:49:42 2007
--- openafs/src/viced/afsfileprocs.c	Mon Apr 23 20:28:28 2007
***************
*** 29,35 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/viced/afsfileprocs.c,v 1.113.2.14 2007/02/26 18:49:42 shadow Exp $");
  
  #include <stdio.h>
  #include <stdlib.h>
--- 29,35 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/viced/afsfileprocs.c,v 1.113.2.15 2007/04/24 00:28:28 jaltman Exp $");
  
  #include <stdio.h>
  #include <stdlib.h>
***************
*** 1725,1732 ****
  		0;
  	Time += AFS_LOCKWAIT;
  	if (LockingType == LockRead) {
! 	    if ( !(rights & PRSFS_LOCK) )
! 		return(EACCES);
  
  	    if (targetptr->disk.lock.lockCount >= 0) {
  		++(targetptr->disk.lock.lockCount);
--- 1725,1735 ----
  		0;
  	Time += AFS_LOCKWAIT;
  	if (LockingType == LockRead) {
! 	    if ( !(rights & PRSFS_LOCK) && 
!                  !(rights & PRSFS_WRITE) &&
!                  !(OWNSp(client, targetptr) && (rights & PRSFS_INSERT)) )
!                     return(EACCES);
!             return(EACCES);
  
  	    if (targetptr->disk.lock.lockCount >= 0) {
  		++(targetptr->disk.lock.lockCount);
Index: openafs/src/vol/clone.c
diff -c openafs/src/vol/clone.c:1.19.2.3 openafs/src/vol/clone.c:1.25
*** openafs/src/vol/clone.c:1.19.2.3	Thu Jan  4 22:40:34 2007
--- openafs/src/vol/clone.c	Fri May 18 01:52:37 2007
***************
*** 19,25 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/vol/clone.c,v 1.19.2.3 2007/01/05 03:40:34 shadow Exp $");
  
  #include <sys/types.h>
  #include <stdio.h>
--- 19,25 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/vol/clone.c,v 1.25 2007/05/18 05:52:37 shadow Exp $");
  
  #include <sys/types.h>
  #include <stdio.h>
***************
*** 256,262 ****
  		    Log("IH_INC failed: %x, %s, %u errno %d\n",
  			V_linkHandle(rwvp), PrintInode(NULL, rwinode),
  			V_parentId(rwvp), errno);
! 		    VForceOffline_r(rwvp, 0);
  		    ERROR_EXIT(EIO);
  		}
  		inodeinced = 1;
--- 256,262 ----
  		    Log("IH_INC failed: %x, %s, %u errno %d\n",
  			V_linkHandle(rwvp), PrintInode(NULL, rwinode),
  			V_parentId(rwvp), errno);
! 		    VForceOffline(rwvp);
  		    ERROR_EXIT(EIO);
  		}
  		inodeinced = 1;
***************
*** 309,315 ****
  		    Log("IH_DEC failed: %x, %s, %u errno %d\n",
  			V_linkHandle(rwvp), PrintInode(NULL, rwinode),
  			V_parentId(rwvp), errno);
! 		    VForceOffline_r(rwvp, 0);
  		    ERROR_EXIT(EIO);
  		}
  	    }
--- 309,315 ----
  		    Log("IH_DEC failed: %x, %s, %u errno %d\n",
  			V_linkHandle(rwvp), PrintInode(NULL, rwinode),
  			V_parentId(rwvp), errno);
! 		    VForceOffline(rwvp);
  		    ERROR_EXIT(EIO);
  		}
  	    }
***************
*** 403,417 ****
  }
  
  void
! CloneVolume(Error * error, Volume * original, Volume * new, Volume * old)
! {
!     VOL_LOCK;
!     CloneVolume_r(error, original, new, old);
!     VOL_UNLOCK;
! }
! 
! void
! CloneVolume_r(Error * rerror, Volume * original, Volume * new, Volume * old)
  {
      afs_int32 code, error = 0;
      afs_int32 reclone;
--- 403,409 ----
  }
  
  void
! CloneVolume(Error * rerror, Volume * original, Volume * new, Volume * old)
  {
      afs_int32 code, error = 0;
      afs_int32 reclone;
***************
*** 426,432 ****
      if (code)
  	ERROR_EXIT(code);
  
!     code = CopyVolumeHeader_r(&V_disk(original), &V_disk(new));
      if (code)
  	ERROR_EXIT(code);
  
--- 418,424 ----
      if (code)
  	ERROR_EXIT(code);
  
!     code = CopyVolumeHeader(&V_disk(original), &V_disk(new));
      if (code)
  	ERROR_EXIT(code);
  
Index: openafs/src/vol/namei_ops.c
diff -c openafs/src/vol/namei_ops.c:1.28.2.7 openafs/src/vol/namei_ops.c:1.28.2.8
*** openafs/src/vol/namei_ops.c:1.28.2.7	Thu Jan  4 22:40:34 2007
--- openafs/src/vol/namei_ops.c	Mon May 14 17:43:43 2007
***************
*** 13,19 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/vol/namei_ops.c,v 1.28.2.7 2007/01/05 03:40:34 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.8 2007/05/14 21:43:43 shadow Exp $");
  
  #ifdef AFS_NAMEI_ENV
  #include <stdio.h>
***************
*** 1144,1149 ****
--- 1144,1151 ----
      int ninodes;
      struct afs_stat status;
  
+     *forcep = 0; /* no need to salvage until further notice */
+ 
      if (resultFile) {
  	fp = afs_fopen(resultFile, "w");
  	if (!fp) {
Index: openafs/src/vol/partition.c
diff -c openafs/src/vol/partition.c:1.33.2.1 openafs/src/vol/partition.c:1.33.2.2
*** openafs/src/vol/partition.c:1.33.2.1	Tue Mar 20 15:00:43 2007
--- openafs/src/vol/partition.c	Thu May 10 18:42:33 2007
***************
*** 22,28 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/vol/partition.c,v 1.33.2.1 2007/03/20 19:00:43 shadow Exp $");
  
  #include <ctype.h>
  #ifdef AFS_NT40_ENV
--- 22,28 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/vol/partition.c,v 1.33.2.2 2007/05/10 22:42:33 shadow Exp $");
  
  #include <ctype.h>
  #ifdef AFS_NT40_ENV
***************
*** 463,476 ****
  	/* but allow zfs too if we're in the NAMEI environment */
  	if (
  #ifdef AFS_NAMEI_ENV
! 	((!strcmp(mnt.mnt_fstype, "ufs") &&
! 	  !strcmp(mnt.mnt_fstype, "zfs")))
  #else
! 	(strcmp(mnt.mnt_fstype, "ufs") != 0)
  #endif
! 	|| (strncmp(mnt.mnt_mntopts, "ro,ignore", 9) == 0))
  	    continue;
! 
  	/* If we're going to always attach this partition, do it later. */
  	if (VIsAlwaysAttach(mnt.mnt_mountp))
  	    continue;
--- 463,476 ----
  	/* but allow zfs too if we're in the NAMEI environment */
  	if (
  #ifdef AFS_NAMEI_ENV
! 	    ((!(strcmp(mnt.mnt_fstype, "ufs") &&
! 		strcmp(mnt.mnt_fstype, "zfs"))))
  #else
! 	    (strcmp(mnt.mnt_fstype, "ufs") != 0)
  #endif
! 	    || (strncmp(mnt.mnt_mntopts, "ro,ignore", 9) == 0))
  	    continue;
! 	
  	/* If we're going to always attach this partition, do it later. */
  	if (VIsAlwaysAttach(mnt.mnt_mountp))
  	    continue;
Index: openafs/src/volser/vos.c
diff -c openafs/src/volser/vos.c:1.55.2.2 openafs/src/volser/vos.c:1.55.2.3
*** openafs/src/volser/vos.c:1.55.2.2	Thu Feb  8 20:00:23 2007
--- openafs/src/volser/vos.c	Wed May  9 20:16:57 2007
***************
*** 11,17 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/volser/vos.c,v 1.55.2.2 2007/02/09 01:00:23 shadow Exp $");
  
  #include <sys/types.h>
  #ifdef AFS_NT40_ENV
--- 11,17 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/volser/vos.c,v 1.55.2.3 2007/05/10 00:16:57 shadow Exp $");
  
  #include <sys/types.h>
  #ifdef AFS_NT40_ENV
***************
*** 2785,2791 ****
  
  {
      afs_int32 avolid, aserver, apart, voltype, fromdate = 0, code, err, i;
!     char filename[NameLen];
      struct nvldbentry entry;
  
      rx_SetRxDeadTime(60 * 10);
--- 2785,2791 ----
  
  {
      afs_int32 avolid, aserver, apart, voltype, fromdate = 0, code, err, i;
!     char filename[MAXPATHLEN];
      struct nvldbentry entry;
  
      rx_SetRxDeadTime(60 * 10);
***************
*** 2885,2891 ****
      afs_int32 acreation = 0, alastupdate = 0;
      int restoreflags, readonly = 0, offline = 0, voltype = RWVOL;
      char prompt;
!     char afilename[NameLen], avolname[VOLSER_MAXVOLNAME + 1], apartName[10];
      char volname[VOLSER_MAXVOLNAME + 1];
      struct nvldbentry entry;
  
--- 2885,2891 ----
      afs_int32 acreation = 0, alastupdate = 0;
      int restoreflags, readonly = 0, offline = 0, voltype = RWVOL;
      char prompt;
!     char afilename[MAXPATHLEN], avolname[VOLSER_MAXVOLNAME + 1], apartName[10];
      char volname[VOLSER_MAXVOLNAME + 1];
      struct nvldbentry entry;
  
