Index: openafs/src/NTMakefile
diff -c openafs/src/NTMakefile:1.24.2.2 openafs/src/NTMakefile:1.24.2.3
*** openafs/src/NTMakefile:1.24.2.2	Wed May 18 18:57:06 2005
--- openafs/src/NTMakefile	Mon Jul 31 17:51:17 2006
***************
*** 134,140 ****
  	$(NTMAKE)
  	$(CD) ..\..
  
! rxstat: rx
       echo ***** $@
  	$(DOCD) $(SRC)\$@
  	$(CD) $(SRC)\$@
--- 134,147 ----
  	$(NTMAKE)
  	$(CD) ..\..
  
! ubik_headers: rx
!      echo ***** $@
! 	$(DOCD) $(SRC)\ubik
! 	$(CD) $(SRC)\ubik
! 	$(NTMAKE_HEADERS)
! 	$(CD) ..\..
! 
! rxstat: ubik_headers
       echo ***** $@
  	$(DOCD) $(SRC)\$@
  	$(CD) $(SRC)\$@
Index: openafs/src/WINNT/afsd/NTMakefile
diff -c openafs/src/WINNT/afsd/NTMakefile:1.27.2.13 openafs/src/WINNT/afsd/NTMakefile:1.27.2.17
*** openafs/src/WINNT/afsd/NTMakefile:1.27.2.13	Tue Jun  6 10:52:20 2006
--- openafs/src/WINNT/afsd/NTMakefile	Mon Jul 31 23:22:07 2006
***************
*** 223,230 ****
  LOGON_DLLLIBS =\
      $(DESTDIR)\lib\afsauthent.lib \
      $(DESTDIR)\lib\libafsconf.lib \
-     $(DESTDIR)\lib\afsrxkad.lib \
-     $(DESTDIR)\lib\afsdes.lib \
      $(LANAHELPERLIB) \
      $(AFSKFWLIB)
  
--- 223,228 ----
***************
*** 239,245 ****
  	ole32.lib \
  	adsiid.lib \
  	activeds.lib \
!     userenv.lib
  
  $(LOGON_DLLFILE): $(LOGON_DLLOBJS) $(LOGON_DLLLIBS)
  	$(DLLGUILINK) $(LOGONLINKFLAGS) -def:afslogon.def $(LOGON_DLLSDKLIBS)
--- 237,244 ----
  	ole32.lib \
  	adsiid.lib \
  	activeds.lib \
! 	user32.lib \
!         userenv.lib
  
  $(LOGON_DLLFILE): $(LOGON_DLLOBJS) $(LOGON_DLLLIBS)
  	$(DLLGUILINK) $(LOGONLINKFLAGS) -def:afslogon.def $(LOGON_DLLSDKLIBS)
***************
*** 360,366 ****
  
  # afscpcc.exe
  $(EXEDIR)\afscpcc.exe: $(OUT)\afscpcc.obj $(OUT)\afscpcc.res $(LOGON_DLLLIBS)
! 	$(EXECONLINK) dnsapi.lib mpr.lib iphlpapi.lib
  	$(EXEPREP)
  
  
--- 359,365 ----
  
  # afscpcc.exe
  $(EXEDIR)\afscpcc.exe: $(OUT)\afscpcc.obj $(OUT)\afscpcc.res $(LOGON_DLLLIBS)
! 	$(EXECONLINK) dnsapi.lib mpr.lib iphlpapi.lib userenv.lib
  	$(EXEPREP)
  
  
***************
*** 389,394 ****
--- 388,395 ----
  	$(DESTDIR)\lib\afs\mtafsint.lib \
  	$(DESTDIR)\lib\libafsconf.lib \
  	$(DESTDIR)\lib\afs\afsreg.lib \
+ 	$(DESTDIR)\lib\afs\afsutil.lib \
+ 	$(DESTDIR)\lib\afspthread.lib \
          $(LANAHELPERLIB)
  
  $(AFSD_EXEFILE): $(OUT)\afsd.obj $(AFSDOBJS) $(OUT)\afsd.res  $(RXOBJS) $(AFSD_EXELIBS)
Index: openafs/src/WINNT/afsd/afscpcc.c
diff -c openafs/src/WINNT/afsd/afscpcc.c:1.1.2.2 openafs/src/WINNT/afsd/afscpcc.c:1.1.2.3
*** openafs/src/WINNT/afsd/afscpcc.c:1.1.2.2	Sun May 29 23:52:52 2005
--- openafs/src/WINNT/afsd/afscpcc.c	Mon Jul 24 10:11:30 2006
***************
*** 1,5 ****
  /*
!  * Copyright 2005, Secure Endpoints Inc.
   * All Rights Reserved.
   * 
   * This software has been released under the terms of the MIT License.  
--- 1,5 ----
  /*
!  * Copyright 2005,2006 Secure Endpoints Inc.
   * All Rights Reserved.
   * 
   * This software has been released under the terms of the MIT License.  
***************
*** 15,21 ****
  
      KFW_initialize();
  
!     return KFW_AFS_copy_system_file_to_default_cache(argv[1]);
  }
  
  
--- 15,21 ----
  
      KFW_initialize();
  
!     return KFW_AFS_copy_file_cache_to_default_cache(argv[1]);
  }
  
  
Index: openafs/src/WINNT/afsd/afskfw-int.h
diff -c openafs/src/WINNT/afsd/afskfw-int.h:1.3 openafs/src/WINNT/afsd/afskfw-int.h:1.3.2.1
*** openafs/src/WINNT/afsd/afskfw-int.h:1.3	Thu Jul 22 18:41:27 2004
--- openafs/src/WINNT/afsd/afskfw-int.h	Mon Jul 24 10:11:30 2006
***************
*** 1,5 ****
  /*
!  * Copyright (c) 2003 SkyRope, LLC
   * All rights reserved.
   * 
   * Redistribution and use in source and binary forms, with or without 
--- 1,6 ----
  /*
! * Copyright (c) 2004, 2005, 2006 Secure Endpoints Inc.
! * Copyright (c) 2003 SkyRope, LLC
   * All rights reserved.
   * 
   * Redistribution and use in source and binary forms, with or without 
***************
*** 103,108 ****
--- 104,110 ----
  #define KRB5_DEFAULT_LIFE            60*60*10 /* 10 hours */
  #define LSA_CCNAME                   "MSLSA:"
  
+ #ifndef KTC_ERROR
  #define KTC_ERROR      11862784L
  #define KTC_TOOBIG     11862785L
  #define KTC_INVAL      11862786L
***************
*** 111,116 ****
--- 113,119 ----
  #define KTC_NOPIOCTL   11862789L
  #define KTC_NOCELL     11862790L
  #define KTC_NOCM       11862791L
+ #endif
  
  /* User Query data structures and functions */
  
Index: openafs/src/WINNT/afsd/afskfw.c
diff -c openafs/src/WINNT/afsd/afskfw.c:1.8.2.18 openafs/src/WINNT/afsd/afskfw.c:1.8.2.20
*** openafs/src/WINNT/afsd/afskfw.c:1.8.2.18	Sun Jul  2 21:20:45 2006
--- openafs/src/WINNT/afsd/afskfw.c	Wed Jul 26 08:54:36 2006
***************
*** 1,5 ****
  /*
!  * Copyright (c) 2004, 2005 Secure Endpoints Inc.
   * Copyright (c) 2003 SkyRope, LLC
   * All rights reserved.
   * 
--- 1,5 ----
  /*
!  * Copyright (c) 2004, 2005, 2006 Secure Endpoints Inc.
   * Copyright (c) 2003 SkyRope, LLC
   * All rights reserved.
   * 
***************
*** 60,65 ****
--- 60,68 ----
  #undef  USE_KRB4
  #include "afskfw-int.h"
  #include "afskfw.h"
+ #include <userenv.h>
+ #include <Sddl.h>
+ #include <Aclapi.h>
  
  #include <osilog.h>
  #include <afs/ptserver.h>
***************
*** 3491,3509 ****
      return success;
  }
  
  void
  KFW_AFS_copy_cache_to_system_file(char * user, char * szLogonId)
  {
!     char filename[256];
      DWORD count;
!     char cachename[264] = "FILE:";
      krb5_context		ctx = 0;
      krb5_error_code		code;
      krb5_principal              princ = 0;
      krb5_ccache			cc  = 0;
      krb5_ccache                 ncc = 0;
  
!     if (!pkrb5_init_context)
          return;
  
      count = GetEnvironmentVariable("TEMP", filename, sizeof(filename));
--- 3494,3636 ----
      return success;
  }
  
+ int 
+ KFW_AFS_set_file_cache_dacl(char *filename, HANDLE hUserToken)
+ {
+     // SID_IDENTIFIER_AUTHORITY authority = SECURITY_NT_SID_AUTHORITY;
+     PSID pSystemSID = NULL;
+     DWORD SystemSIDlength = 0, UserSIDlength = 0;
+     PACL ccacheACL = NULL;
+     DWORD ccacheACLlength = 0;
+     PTOKEN_USER pTokenUser = NULL;
+     DWORD retLen;
+     DWORD gle;
+     int ret = 0;  
+ 
+     if (!filename) {
+ 	return 1;
+     }
+ 
+     /* Get System SID */
+     if (!ConvertStringSidToSid("S-1-5-18", &pSystemSID)) {
+ 	ret = 1;
+ 	goto cleanup;
+     }
+ 
+     /* Create ACL */
+     SystemSIDlength = GetLengthSid(pSystemSID);
+     ccacheACLlength = sizeof(ACL) + sizeof(ACCESS_ALLOWED_ACE)
+         + SystemSIDlength - sizeof(DWORD);
+ 
+     if (hUserToken) {
+ 	if (!GetTokenInformation(hUserToken, TokenUser, NULL, 0, &retLen))
+ 	{
+ 	    if ( GetLastError() == ERROR_INSUFFICIENT_BUFFER ) {
+ 		pTokenUser = (PTOKEN_USER) LocalAlloc(LPTR, retLen);
+ 
+ 		GetTokenInformation(hUserToken, TokenUser, pTokenUser, retLen, &retLen);
+ 	    }		 
+ 	}
+ 
+ 	if (pTokenUser) {
+ 	    UserSIDlength = GetLengthSid(pTokenUser->User.Sid);
+ 
+ 	    ccacheACLlength += sizeof(ACCESS_ALLOWED_ACE) + UserSIDlength 
+ 		- sizeof(DWORD);
+ 	}
+     }
+ 
+     ccacheACL = (PACL) LocalAlloc(LPTR, ccacheACLlength);
+     if (!ccacheACL) {
+  	ret = 1;
+  	goto cleanup;
+      }
+     InitializeAcl(ccacheACL, ccacheACLlength, ACL_REVISION);
+     AddAccessAllowedAceEx(ccacheACL, ACL_REVISION, 0,
+                          STANDARD_RIGHTS_ALL | SPECIFIC_RIGHTS_ALL,
+                          pSystemSID);
+     if (pTokenUser) {
+ 	AddAccessAllowedAceEx(ccacheACL, ACL_REVISION, 0,
+ 			     STANDARD_RIGHTS_ALL | SPECIFIC_RIGHTS_ALL,
+ 			     pTokenUser->User.Sid);
+ 	if (!SetNamedSecurityInfo( filename, SE_FILE_OBJECT,
+ 				   DACL_SECURITY_INFORMATION | PROTECTED_DACL_SECURITY_INFORMATION,
+ 				   NULL,
+ 				   NULL, 
+ 				   ccacheACL,
+ 				   NULL)) {
+  	    gle = GetLastError();
+  	    if (gle != ERROR_NO_TOKEN)
+ 		ret = 1;
+ 	}
+ 	if (!SetNamedSecurityInfo( filename, SE_FILE_OBJECT,
+ 				   OWNER_SECURITY_INFORMATION,
+ 				   pTokenUser->User.Sid,
+ 				   NULL, 
+ 				   NULL,
+ 				   NULL)) {
+  	    gle = GetLastError();
+  	    if (gle != ERROR_NO_TOKEN)
+ 		ret = 1;
+ 	}
+     } else {
+ 	if (!SetNamedSecurityInfo( filename, SE_FILE_OBJECT,
+ 				   DACL_SECURITY_INFORMATION | PROTECTED_DACL_SECURITY_INFORMATION,
+ 				   NULL,
+ 				   NULL, 
+ 				   ccacheACL,
+ 				   NULL)) {
+  	    gle = GetLastError();
+  	    if (gle != ERROR_NO_TOKEN)
+ 		ret = 1;
+ 	}
+     }
+ 
+   cleanup:
+     if (pSystemSID)
+ 	LocalFree(pSystemSID);
+     if (pTokenUser)
+ 	LocalFree(pTokenUser);
+     if (ccacheACL)
+ 	LocalFree(ccacheACL);
+     return ret;
+ }
+ 
+ int 
+ KFW_AFS_obtain_user_temp_directory(HANDLE hUserToken, char *newfilename, int size)
+ {
+     int  retval = 0;
+     DWORD dwSize = size-1;	/* leave room for nul */
+     DWORD dwLen  = 0;
+  
+     if (!hUserToken || !newfilename || size <= 0)
+  	return;
+  
+      *newfilename = '\0';
+  
+      dwLen = ExpandEnvironmentStringsForUser(hUserToken, "%TEMP%", newfilename, dwSize);
+      if ( !dwLen || dwLen > dwSize )
+  	dwLen = ExpandEnvironmentStringsForUser(hUserToken, "%TMP%", newfilename, dwSize);
+      if ( !dwLen || dwLen > dwSize )
+  	return 1;
+  
+      newfilename[dwSize] = '\0';
+     return 0;
+ }
+ 
  void
  KFW_AFS_copy_cache_to_system_file(char * user, char * szLogonId)
  {
!     char filename[MAX_PATH] = "";
      DWORD count;
!     char cachename[MAX_PATH + 8] = "FILE:";
      krb5_context		ctx = 0;
      krb5_error_code		code;
      krb5_principal              princ = 0;
      krb5_ccache			cc  = 0;
      krb5_ccache                 ncc = 0;
  
!     if (!pkrb5_init_context || !user || !szLogonId)
          return;
  
      count = GetEnvironmentVariable("TEMP", filename, sizeof(filename));
***************
*** 3536,3541 ****
--- 3663,3671 ----
      code = pkrb5_cc_initialize(ctx, ncc, princ);
      if (code) goto cleanup;
  
+     code = KFW_AFS_set_file_cache_dacl(filename, NULL);
+     if (code) goto cleanup;
+ 
      code = pkrb5_cc_copy_creds(ctx,cc,ncc);
  
    cleanup:
***************
*** 3557,3566 ****
  }
  
  int
! KFW_AFS_copy_system_file_to_default_cache(char * filename)
  {
!     DWORD count;
!     char cachename[264] = "FILE:";
      HANDLE hFile;
      krb5_context		ctx = 0;
      krb5_error_code		code;
--- 3687,3695 ----
  }
  
  int
! KFW_AFS_copy_file_cache_to_default_cache(char * filename)
  {
!     char cachename[MAX_PATH * 8] = "FILE:";
      HANDLE hFile;
      krb5_context		ctx = 0;
      krb5_error_code		code;
***************
*** 3569,3578 ****
      krb5_ccache                 ncc = 0;
      int retval = 1;
  
!     if (!pkrb5_init_context)
          return 1;
  
!     if ( strlen(filename) + 6 > sizeof(cachename) )
          return 1;
  
      strcat(cachename, filename);
--- 3698,3707 ----
      krb5_ccache                 ncc = 0;
      int retval = 1;
  
!     if (!pkrb5_init_context || !filename)
          return 1;
  
!     if ( strlen(filename) + sizeof("FILE:") > sizeof(cachename) )
          return 1;
  
      strcat(cachename, filename);
Index: openafs/src/WINNT/afsd/afskfw.h
diff -c openafs/src/WINNT/afsd/afskfw.h:1.2.2.3 openafs/src/WINNT/afsd/afskfw.h:1.2.2.4
*** openafs/src/WINNT/afsd/afskfw.h:1.2.2.3	Sun Jul  2 21:20:45 2006
--- openafs/src/WINNT/afsd/afskfw.h	Mon Jul 24 10:11:30 2006
***************
*** 1,5 ****
  /*
!  * Copyright (c) 2003 SkyRope, LLC
   * All rights reserved.
   * 
   * Redistribution and use in source and binary forms, with or without 
--- 1,6 ----
  /*
! * Copyright (c) 2004, 2005, 2006 Secure Endpoints Inc.
! * Copyright (c) 2003 SkyRope, LLC
   * All rights reserved.
   * 
   * Redistribution and use in source and binary forms, with or without 
***************
*** 62,67 ****
--- 63,72 ----
  int  KFW_AFS_get_cellconfig(char *, struct afsconf_cell *, char *);
  void KFW_import_windows_lsa(void);
  BOOL KFW_AFS_get_lsa_principal(char *, DWORD *);
+ int  KFW_AFS_set_file_cache_dacl(char *filename, HANDLE hUserToken);
+ int  KFW_AFS_obtain_user_temp_directory(HANDLE hUserToken, char *newfilename, int size);
+ int  KFW_AFS_copy_file_cache_to_default_cache(char * filename);
+ 
  
  /* These functions are only to be used in the afslogon.dll */
  void KFW_AFS_copy_cache_to_system_file(char *, char *);
Index: openafs/src/WINNT/afsd/afslogon.c
diff -c openafs/src/WINNT/afsd/afslogon.c:1.24.2.21 openafs/src/WINNT/afsd/afslogon.c:1.24.2.23
*** openafs/src/WINNT/afsd/afslogon.c:1.24.2.21	Sun Jul  2 21:20:45 2006
--- openafs/src/WINNT/afsd/afslogon.c	Wed Jul 26 08:54:36 2006
***************
*** 670,677 ****
          lpszOutputString[min(uInputString.Length/2,nOutStringLen-1)] = '\0';
          return TRUE;
      }
!     else
!         lpszOutputString[0] = '\0';
      return FALSE;
  }  // UnicodeStringToANSI
  
--- 670,677 ----
          lpszOutputString[min(uInputString.Length/2,nOutStringLen-1)] = '\0';
          return TRUE;
      }
!       
!     lpszOutputString[0] = '\0';
      return FALSE;
  }  // UnicodeStringToANSI
  
***************
*** 750,758 ****
      /* Convert from Unicode to ANSI */
  
      /*TODO: Use SecureZeroMemory to erase passwords */
!     UnicodeStringToANSI(IL->UserName, uname, MAX_USERNAME_LENGTH);
!     UnicodeStringToANSI(IL->Password, password, MAX_PASSWORD_LENGTH);
!     UnicodeStringToANSI(IL->LogonDomainName, logonDomain, MAX_DOMAIN_LENGTH);
  
      /* Make sure AD-DOMANS sent from login that is sent to us is striped */
      ctemp = strchr(uname, '@');
--- 750,759 ----
      /* Convert from Unicode to ANSI */
  
      /*TODO: Use SecureZeroMemory to erase passwords */
!     if (!UnicodeStringToANSI(IL->UserName, uname, MAX_USERNAME_LENGTH) ||
! 	 !UnicodeStringToANSI(IL->Password, password, MAX_PASSWORD_LENGTH) ||
! 	 !UnicodeStringToANSI(IL->LogonDomainName, logonDomain, MAX_DOMAIN_LENGTH))
!  	return 0;
  
      /* Make sure AD-DOMANS sent from login that is sent to us is striped */
      ctemp = strchr(uname, '@');
***************
*** 1296,1305 ****
      char szPath[MAX_PATH] = "";
      char szLogonId[128] = "";
      DWORD count;
!     char filename[256];
!     char commandline[512];
      STARTUPINFO startupinfo;
      PROCESS_INFORMATION procinfo;
  
      LUID LogonId = {0, 0};
      PSECURITY_LOGON_SESSION_DATA pLogonSessionData = NULL;
--- 1297,1308 ----
      char szPath[MAX_PATH] = "";
      char szLogonId[128] = "";
      DWORD count;
!     char filename[MAX_PATH] = "";
!     char newfilename[MAX_PATH] = "";
!     char commandline[MAX_PATH+256] = "";
      STARTUPINFO startupinfo;
      PROCESS_INFORMATION procinfo;
+     HANDLE hf = INVALID_HANDLE_VALUE;
  
      LUID LogonId = {0, 0};
      PSECURITY_LOGON_SESSION_DATA pLogonSessionData = NULL;
***************
*** 1329,1342 ****
          GetWindowsDirectory(filename, sizeof(filename));
      }
  
!     if ( strlen(filename) + strlen(szLogonId) + 2 <= sizeof(filename) ) {
!         strcat(filename, "\\");
!         strcat(filename, szLogonId);    
  
!         sprintf(commandline, "afscpcc.exe \"%s\"", filename);
  
!         GetStartupInfo(&startupinfo);
!         if (CreateProcessAsUser( pInfo->hToken,
                               "afscpcc.exe",
                               commandline,
                               NULL,
--- 1332,1387 ----
          GetWindowsDirectory(filename, sizeof(filename));
      }
  
!     count = GetEnvironmentVariable("TEMP", filename, sizeof(filename));
!     if ( count > sizeof(filename) || count == 0 ) {
!         GetWindowsDirectory(filename, sizeof(filename));
!     }
! 
!     if ( strlen(filename) + strlen(szLogonId) + 2 > sizeof(filename) ) {
!         DebugEvent0("KFW_Logon_Event - filename too long");
! 	return;
!     }
  
!     strcat(filename, "\\");
!     strcat(filename, szLogonId);    
  
!     hf = CreateFile(filename, FILE_ALL_ACCESS, 0, NULL, OPEN_EXISTING, 
! 		     FILE_ATTRIBUTE_NORMAL, NULL);
!     if (hf == INVALID_HANDLE_VALUE) {
! 	DebugEvent0("KFW_Logon_Event - file cannot be opened");
!  	return;
!     }
!     CloseHandle(hf);
!  
!     if (KFW_AFS_set_file_cache_dacl(filename, pInfo->hToken)) {
! 	DebugEvent0("KFW_Logon_Event - unable to set dacl");
!  	DeleteFile(filename);
!  	return;
!     }
!  
!     if (KFW_AFS_obtain_user_temp_directory(pInfo->hToken, newfilename, sizeof(newfilename))) {
! 	DebugEvent0("KFW_Logon_Event - unable to obtain temp directory");
!  	return;
!     }
! 
!     if ( strlen(newfilename) + strlen(szLogonId) + 2 > sizeof(newfilename) ) {
!         DebugEvent0("KFW_Logon_Event - new filename too long");
! 	return;
!     }
! 
!     strcat(newfilename, "\\");
!     strcat(newfilename, szLogonId);    
! 
!     if (!MoveFileEx(filename, newfilename, 
! 		     MOVEFILE_COPY_ALLOWED | MOVEFILE_REPLACE_EXISTING | MOVEFILE_WRITE_THROUGH)) {
!         DebugEvent("KFW_Logon_Event - MoveFileEx failed GLE = 0x%x", GetLastError());
! 	return;
!     }
! 
!     sprintf(commandline, "afscpcc.exe \"%s\"", newfilename);
! 
!     GetStartupInfo(&startupinfo);
!     if (CreateProcessAsUser( pInfo->hToken,
                               "afscpcc.exe",
                               commandline,
                               NULL,
***************
*** 1347,1358 ****
                               NULL,
                               &startupinfo,
                               &procinfo)) 
!         {
!             WaitForSingleObject(procinfo.hProcess, 30000);
  
!             CloseHandle(procinfo.hThread);
!             CloseHandle(procinfo.hProcess);
!         }
      }
  
      DeleteFile(filename);
--- 1392,1406 ----
                               NULL,
                               &startupinfo,
                               &procinfo)) 
!     {
! 	DebugEvent("KFW_Logon_Event - CommandLine %s", commandline);
  
! 	WaitForSingleObject(procinfo.hProcess, 30000);
! 
! 	CloseHandle(procinfo.hThread);
! 	CloseHandle(procinfo.hProcess);
!     } else {
! 	DebugEvent0("KFW_Logon_Event - CreateProcessFailed");
      }
  
      DeleteFile(filename);
Index: openafs/src/WINNT/afsd/cm_conn.c
diff -c openafs/src/WINNT/afsd/cm_conn.c:1.25.2.21 openafs/src/WINNT/afsd/cm_conn.c:1.25.2.22
*** openafs/src/WINNT/afsd/cm_conn.c:1.25.2.21	Sat Jun  3 13:57:12 2006
--- openafs/src/WINNT/afsd/cm_conn.c	Mon Jul 10 15:25:41 2006
***************
*** 51,57 ****
  	HKEY parmKey;
          
      if (osi_Once(&once)) {
! 		lock_InitializeRWLock(&cm_connLock, "connection global lock");
  
          /* keisa - read timeout value for lanmanworkstation  service.
           * jaltman - as per 
--- 51,57 ----
  	HKEY parmKey;
          
      if (osi_Once(&once)) {
! 	lock_InitializeRWLock(&cm_connLock, "connection global lock");
  
          /* keisa - read timeout value for lanmanworkstation  service.
           * jaltman - as per 
***************
*** 60,88 ****
           * I believe that the default should not be short.  Instead, we should wait until
           * RX times out before reporting a timeout to the SMB client.
           */
! 		code = RegOpenKeyEx(HKEY_LOCAL_MACHINE, LANMAN_WKS_PARAM_KEY,
!                             0, KEY_QUERY_VALUE, &parmKey);
! 		if (code == ERROR_SUCCESS)
          {
! 		    DWORD dummyLen = sizeof(sessTimeout);
! 		    code = RegQueryValueEx(parmKey, LANMAN_WKS_SESSION_TIMEOUT, NULL, NULL, 
!                                    (BYTE *) &sessTimeout, &dummyLen);
! 		    if (code == ERROR_SUCCESS)
              {
-                 afsi_log("lanmanworkstation : SessTimeout %d", sessTimeout);
                  RDRtimeout = sessTimeout;
!                 if ( ConnDeadtimeout < RDRtimeout + 15 ) {
!                     ConnDeadtimeout = RDRtimeout + 15;
!                     afsi_log("ConnDeadTimeout increased to %d", ConnDeadtimeout);
!                 }
!                 if ( HardDeadtimeout < 2 * ConnDeadtimeout ) {
!                     HardDeadtimeout = 2 * ConnDeadtimeout;
!                     afsi_log("HardDeadTimeout increased to %d", HardDeadtimeout);
!                 }
!             }
          }
  
!         osi_EndOnce(&once);
      }
  }
  
--- 60,89 ----
           * I believe that the default should not be short.  Instead, we should wait until
           * RX times out before reporting a timeout to the SMB client.
           */
! 	code = RegOpenKeyEx(HKEY_LOCAL_MACHINE, LANMAN_WKS_PARAM_KEY,
! 			    0, KEY_QUERY_VALUE, &parmKey);
! 	if (code == ERROR_SUCCESS)
          {
! 	    DWORD dummyLen = sizeof(sessTimeout);
! 	    code = RegQueryValueEx(parmKey, LANMAN_WKS_SESSION_TIMEOUT, NULL, NULL, 
! 				   (BYTE *) &sessTimeout, &dummyLen);
! 	    if (code == ERROR_SUCCESS)
              {
                  RDRtimeout = sessTimeout;
! 	    }
          }
  
! 	afsi_log("lanmanworkstation : SessTimeout %d", sessTimeout);
! 	if ( ConnDeadtimeout < RDRtimeout + 15 ) {
! 	    ConnDeadtimeout = RDRtimeout + 15;
! 	    afsi_log("ConnDeadTimeout increased to %d", ConnDeadtimeout);
! 	}
! 	if ( HardDeadtimeout < 2 * ConnDeadtimeout ) {
! 	    HardDeadtimeout = 2 * ConnDeadtimeout;
! 	    afsi_log("HardDeadTimeout increased to %d", HardDeadtimeout);
! 	}
! 
! 	osi_EndOnce(&once);
      }
  }
  
***************
*** 184,190 ****
      if (reqp->flags & CM_REQ_NORETRY)
          goto out;
  
!     /* if timeout - check that it did not exceed the SMB timeout
       * and retry */
      
      /* timeleft - get if from reqp the same way as cmXonnByMServers does */
--- 185,191 ----
      if (reqp->flags & CM_REQ_NORETRY)
          goto out;
  
!     /* if timeout - check that it did not exceed the HardDead timeout
       * and retry */
      
      /* timeleft - get if from reqp the same way as cmXonnByMServers does */
***************
*** 196,202 ****
  #endif
  	    
      /* leave 5 seconds margin for sleep */
!     timeLeft = RDRtimeout - timeUsed;
  
      if (errorCode == CM_ERROR_TIMEDOUT) {
          if (timeLeft > 5 ) {
--- 197,203 ----
  #endif
  	    
      /* leave 5 seconds margin for sleep */
!     timeLeft = HardDeadtimeout - timeUsed;
  
      if (errorCode == CM_ERROR_TIMEDOUT) {
          if (timeLeft > 5 ) {
Index: openafs/src/WINNT/afsd/cm_memmap.c
diff -c openafs/src/WINNT/afsd/cm_memmap.c:1.1.2.5 openafs/src/WINNT/afsd/cm_memmap.c:1.1.2.6
*** openafs/src/WINNT/afsd/cm_memmap.c:1.1.2.5	Mon Feb  6 02:07:08 2006
--- openafs/src/WINNT/afsd/cm_memmap.c	Mon Jul 24 10:11:30 2006
***************
*** 161,167 ****
      psa = GlobalAlloc(GMEM_FIXED, sizeof(SECURITY_ATTRIBUTES));
      psa->nLength = sizeof(SECURITY_ATTRIBUTES);
      psa->lpSecurityDescriptor = psd;
!     psa->bInheritHandle = TRUE;
  
      return psa;
  }       
--- 161,167 ----
      psa = GlobalAlloc(GMEM_FIXED, sizeof(SECURITY_ATTRIBUTES));
      psa->nLength = sizeof(SECURITY_ATTRIBUTES);
      psa->lpSecurityDescriptor = psd;
!     psa->bInheritHandle = FALSE;
  
      return psa;
  }       
Index: openafs/src/WINNT/afsd/cm_scache.c
diff -c openafs/src/WINNT/afsd/cm_scache.c:1.14.2.21 openafs/src/WINNT/afsd/cm_scache.c:1.14.2.22
*** openafs/src/WINNT/afsd/cm_scache.c:1.14.2.21	Thu Jun 22 23:37:57 2006
--- openafs/src/WINNT/afsd/cm_scache.c	Thu Jul 27 22:08:41 2006
***************
*** 1079,1090 ****
          /* ensure that the buffer isn't already in the I/O list */
          for(qdp = scp->bufReadsp; qdp; qdp = (osi_queueData_t *) osi_QNext(&qdp->q)) {
              tbufp = osi_GetQData(qdp);
!             if (tbufp == bufp) break;
          }
!         osi_assert(qdp != NULL);
!         osi_assert(osi_GetQData(qdp) == bufp);
!         osi_QRemove((osi_queue_t **) &scp->bufReadsp, &qdp->q);
!         osi_QDFree(qdp);
          if (bufp) {
              bufp->cmFlags &= ~(CM_BUF_CMFETCHING | CM_BUF_CMFULLYFETCHED);
              if (bufp->flags & CM_BUF_WAITING) {
--- 1079,1091 ----
          /* ensure that the buffer isn't already in the I/O list */
          for(qdp = scp->bufReadsp; qdp; qdp = (osi_queueData_t *) osi_QNext(&qdp->q)) {
              tbufp = osi_GetQData(qdp);
!             if (tbufp == bufp) 
! 		break;
          }
! 	if (qdp) {
! 	    osi_QRemove((osi_queue_t **) &scp->bufReadsp, &qdp->q);
! 	    osi_QDFree(qdp);
! 	}
          if (bufp) {
              bufp->cmFlags &= ~(CM_BUF_CMFETCHING | CM_BUF_CMFULLYFETCHED);
              if (bufp->flags & CM_BUF_WAITING) {
***************
*** 1100,1111 ****
          /* ensure that the buffer isn't already in the I/O list */
          for(qdp = scp->bufWritesp; qdp; qdp = (osi_queueData_t *) osi_QNext(&qdp->q)) {
              tbufp = osi_GetQData(qdp);
!             if (tbufp == bufp) break;
          }
!         osi_assert(qdp != NULL);
!         osi_assert(osi_GetQData(qdp) == bufp);
!         osi_QRemove((osi_queue_t **) &scp->bufWritesp, &qdp->q);
!         osi_QDFree(qdp);
          if (bufp) {
              bufp->cmFlags &= ~CM_BUF_CMSTORING;
              if (bufp->flags & CM_BUF_WAITING) {
--- 1101,1113 ----
          /* ensure that the buffer isn't already in the I/O list */
          for(qdp = scp->bufWritesp; qdp; qdp = (osi_queueData_t *) osi_QNext(&qdp->q)) {
              tbufp = osi_GetQData(qdp);
!             if (tbufp == bufp) 
! 		break;
          }
! 	if (qdp) {
! 	    osi_QRemove((osi_queue_t **) &scp->bufWritesp, &qdp->q);
! 	    osi_QDFree(qdp);
! 	}
          if (bufp) {
              bufp->cmFlags &= ~CM_BUF_CMSTORING;
              if (bufp->flags & CM_BUF_WAITING) {
Index: openafs/src/WINNT/afssvrmgr/NTMakefile
diff -c openafs/src/WINNT/afssvrmgr/NTMakefile:1.4.2.5 openafs/src/WINNT/afssvrmgr/NTMakefile:1.4.2.6
*** openafs/src/WINNT/afssvrmgr/NTMakefile:1.4.2.5	Wed May 18 18:22:41 2005
--- openafs/src/WINNT/afssvrmgr/NTMakefile	Mon Jul 24 10:11:34 2006
***************
*** 90,96 ****
  
  VCLIBS =\
  	comctl32.lib \
! 	shell32.lib
  
  EXELIBS = \
  	$(DESTDIR)\lib\afsauthent.lib \
--- 90,97 ----
  
  VCLIBS =\
  	comctl32.lib \
! 	shell32.lib \
! 	userenv.lib
  
  EXELIBS = \
  	$(DESTDIR)\lib\afsauthent.lib \
Index: openafs/src/WINNT/client_creds/NTMakefile
diff -c openafs/src/WINNT/client_creds/NTMakefile:1.11.2.4 openafs/src/WINNT/client_creds/NTMakefile:1.11.2.5
*** openafs/src/WINNT/client_creds/NTMakefile:1.11.2.4	Fri Mar 11 02:00:24 2005
--- openafs/src/WINNT/client_creds/NTMakefile	Mon Jul 24 10:11:34 2006
***************
*** 53,65 ****
      $(OUT)\RegistrySupport.obj 
  
  VCLIBS =\
!     iphlpapi.lib \
  	comctl32.lib \
  	shell32.lib \
  	uuid.lib \
  	ole32.lib \
  	mpr.lib \
!     netapi32.lib 
  
  EXELIBS = \
  	$(DESTDIR)\lib\afs\afspioctl.lib \
--- 53,66 ----
      $(OUT)\RegistrySupport.obj 
  
  VCLIBS =\
!     	iphlpapi.lib \
  	comctl32.lib \
  	shell32.lib \
  	uuid.lib \
  	ole32.lib \
  	mpr.lib \
! 	userenv.lib \
!     	netapi32.lib 
  
  EXELIBS = \
  	$(DESTDIR)\lib\afs\afspioctl.lib \
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.1.24.3 openafs/src/WINNT/doc/install/Documentation/en_US/html/index.htm:1.1.24.4
*** openafs/src/WINNT/doc/install/Documentation/en_US/html/index.htm:1.1.24.3	Sun Sep 25 22:53:07 2005
--- openafs/src/WINNT/doc/install/Documentation/en_US/html/index.htm	Thu Jul  6 21:15:19 2006
***************
*** 223,229 ****
  mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol'><span
  style='mso-list:Ignore'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  </span></span></span><![endif]><a
! href="ReleaseNotes/frames.htm">OpenAFS for Windows
  Release Notes</a></p>
  
  <p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l0 level1 lfo1;
--- 223,229 ----
  mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol'><span
  style='mso-list:Ignore'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  </span></span></span><![endif]><a
! href="ReleaseNotes/relnotes-frames.htm">OpenAFS for Windows
  Release Notes</a></p>
  
  <p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l0 level1 lfo1;
Index: openafs/src/WINNT/doc/install/Documentation/en_US/html/ReleaseNotes/frames.htm
diff -c openafs/src/WINNT/doc/install/Documentation/en_US/html/ReleaseNotes/frames.htm:1.1.2.5 openafs/src/WINNT/doc/install/Documentation/en_US/html/ReleaseNotes/frames.htm:removed
*** openafs/src/WINNT/doc/install/Documentation/en_US/html/ReleaseNotes/frames.htm:1.1.2.5	Sun Feb  5 03:14:16 2006
--- openafs/src/WINNT/doc/install/Documentation/en_US/html/ReleaseNotes/frames.htm	Thu Aug  3 00:50:57 2006
***************
*** 1,130 ****
- <html xmlns:o="urn:schemas-microsoft-com:office:office"
- xmlns:w="urn:schemas-microsoft-com:office:word"
- xmlns="http://www.w3.org/TR/REC-html40">
- 
- <head>
- <meta http-equiv=Content-Type content="text/html; charset=windows-1252">
- <meta name=ProgId content=Word.Document>
- <meta name=Generator content="Microsoft Word 11">
- <meta name=Originator content="Microsoft Word 11">
- <link rel=File-List href="frames_files/filelist.xml">
- <title>OpenAFS for Windows 1.4.1 Release Notes</title>
- <!--[if gte mso 9]><xml>
-  <o:DocumentProperties>
-   <o:Author>Jeffrey Altman</o:Author>
-   <o:LastAuthor>Jeffrey Altman</o:LastAuthor>
-   <o:Revision>2</o:Revision>
-   <o:TotalTime>0</o:TotalTime>
-   <o:Created>2006-02-05T08:10:00Z</o:Created>
-   <o:LastSaved>2006-02-05T08:10:00Z</o:LastSaved>
-   <o:Pages>1</o:Pages>
-   <o:Words>9</o:Words>
-   <o:Characters>53</o:Characters>
-   <o:Company>Secure Endpoints Inc.</o:Company>
-   <o:Lines>1</o:Lines>
-   <o:Paragraphs>1</o:Paragraphs>
-   <o:CharactersWithSpaces>61</o:CharactersWithSpaces>
-   <o:Version>11.6568</o:Version>
-  </o:DocumentProperties>
- </xml><![endif]--><!--[if gte mso 9]><xml>
-  <w:WordDocument>
-   <w:View>Normal</w:View>
-   <w:Zoom>0</w:Zoom>
-   <w:SpellingState>Clean</w:SpellingState>
-   <w:ValidateAgainstSchemas/>
-   <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>
-   <w:IgnoreMixedContent>false</w:IgnoreMixedContent>
-   <w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>
-   <w:Compatibility>
-    <w:BreakWrappedTables/>
-    <w:SnapToGridInCell/>
-    <w:WrapTextWithPunct/>
-    <w:UseAsianBreakRules/>
-    <w:UseWord2002TableStyleRules/>
-    <w:UseFELayout/>
-   </w:Compatibility>
-   <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel>
-  </w:WordDocument>
- </xml><![endif]--><!--[if gte mso 9]><xml>
-  <w:LatentStyles DefLockedState="false" LatentStyleCount="156">
-  </w:LatentStyles>
- </xml><![endif]-->
- <style>
- <!--
-  /* Font Definitions */
-  @font-face
- 	{font-family:"MS Mincho";
- 	panose-1:2 2 6 9 4 2 5 8 3 4;
- 	mso-font-alt:"\FF2D\FF33 \660E\671D";
- 	mso-font-charset:128;
- 	mso-generic-font-family:modern;
- 	mso-font-pitch:fixed;
- 	mso-font-signature:-1610612033 1757936891 16 0 131231 0;}
- @font-face
- 	{font-family:"\@MS Mincho";
- 	panose-1:2 2 6 9 4 2 5 8 3 4;
- 	mso-font-charset:128;
- 	mso-generic-font-family:modern;
- 	mso-font-pitch:fixed;
- 	mso-font-signature:-1610612033 1757936891 16 0 131231 0;}
-  /* Style Definitions */
-  p.MsoNormal, li.MsoNormal, div.MsoNormal
- 	{mso-style-parent:"";
- 	margin:0pt;
- 	margin-bottom:.0001pt;
- 	mso-pagination:widow-orphan;
- 	font-size:12.0pt;
- 	font-family:"Times New Roman";
- 	mso-fareast-font-family:"MS Mincho";}
- @page Section1
- 	{size:612.0pt 792.0pt;
- 	margin:72.0pt 90.0pt 72.0pt 90.0pt;
- 	mso-header-margin:36.0pt;
- 	mso-footer-margin:36.0pt;
- 	mso-paper-source:0;}
- div.Section1
- 	{page:Section1;}
- -->
- </style>
- <!--[if gte mso 10]>
- <style>
-  /* Style Definitions */
-  table.MsoNormalTable
- 	{mso-style-name:"Table Normal";
- 	mso-tstyle-rowband-size:0;
- 	mso-tstyle-colband-size:0;
- 	mso-style-noshow:yes;
- 	mso-style-parent:"";
- 	mso-padding-alt:0pt 5.4pt 0pt 5.4pt;
- 	mso-para-margin:0pt;
- 	mso-para-margin-bottom:.0001pt;
- 	mso-pagination:widow-orphan;
- 	font-size:10.0pt;
- 	font-family:"Times New Roman";
- 	mso-ansi-language:#0400;
- 	mso-fareast-language:#0400;
- 	mso-bidi-language:#0400;}
- </style>
- <![endif]-->
- </head>
- 
- <frameset cols="275,1*">
-  <frameset rows="160,1*">
-   <frame name=OpenAFS.org src=logo.htm scrolling=no style='mso-linked-frame:
-   auto'>
-   <frame name="Release Notes Table of Contents" src=toc.htm style='mso-linked-frame:
-   auto'>
-  </frameset>
-  <frame name="OpenAFS for Windows Release Notes" src=relnotes.htm
-  style='mso-linked-frame:auto'>
-  <noframes>
-   <body lang=EN-US style='tab-interval:36.0pt'>
-   <div class=Section1>
-   <p class=MsoNormal>This page uses frames, but your browser doesn't support
-   them.</p>
-   </div>
-   </body>
-  </noframes>
- </frameset>
- 
- </html>
--- 0 ----
Index: openafs/src/WINNT/doc/install/Documentation/en_US/html/ReleaseNotes/logo.htm
diff -c openafs/src/WINNT/doc/install/Documentation/en_US/html/ReleaseNotes/logo.htm:1.1.2.5 openafs/src/WINNT/doc/install/Documentation/en_US/html/ReleaseNotes/logo.htm:1.1.2.6
*** openafs/src/WINNT/doc/install/Documentation/en_US/html/ReleaseNotes/logo.htm:1.1.2.5	Sun Feb  5 03:14:16 2006
--- openafs/src/WINNT/doc/install/Documentation/en_US/html/ReleaseNotes/logo.htm	Thu Jul  6 21:15:30 2006
***************
*** 1,161 ****
! <html xmlns:v="urn:schemas-microsoft-com:vml"
! xmlns:o="urn:schemas-microsoft-com:office:office"
! xmlns:w="urn:schemas-microsoft-com:office:word"
! xmlns="http://www.w3.org/TR/REC-html40">
  
  <head>
  <meta http-equiv=Content-Type content="text/html; charset=windows-1252">
! <meta name=ProgId content=Word.Document>
! <meta name=Generator content="Microsoft Word 11">
! <meta name=Originator content="Microsoft Word 11">
! <link rel=File-List href="logo_files/filelist.xml">
! <link rel=Edit-Time-Data href="logo_files/editdata.mso">
! <!--[if !mso]>
! <style>
! v\:* {behavior:url(#default#VML);}
! o\:* {behavior:url(#default#VML);}
! w\:* {behavior:url(#default#VML);}
! .shape {behavior:url(#default#VML);}
! </style>
! <![endif]-->
! <title>OpenAFS for Windows Logo</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>2</o:TotalTime>
!   <o:Created>2005-09-25T21:09:00Z</o:Created>
!   <o:LastSaved>2005-09-25T21:09:00Z</o:LastSaved>
!   <o:Pages>1</o:Pages>
!   <o:Characters>1</o:Characters>
!   <o:Company>Secure Endpoints Inc.</o:Company>
!   <o:Lines>1</o:Lines>
!   <o:Paragraphs>1</o:Paragraphs>
!   <o:CharactersWithSpaces>1</o:CharactersWithSpaces>
!   <o:Version>11.6568</o:Version>
!  </o:DocumentProperties>
! </xml><![endif]--><!--[if gte mso 9]><xml>
!  <w:WordDocument>
!   <w:SpellingState>Clean</w:SpellingState>
!   <w:GrammarState>Clean</w:GrammarState>
!   <w:ValidateAgainstSchemas/>
!   <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>
!   <w:IgnoreMixedContent>false</w:IgnoreMixedContent>
!   <w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>
!   <w:Compatibility>
!    <w:BreakWrappedTables/>
!    <w:SnapToGridInCell/>
!    <w:WrapTextWithPunct/>
!    <w:UseAsianBreakRules/>
!    <w:UseWord2002TableStyleRules/>
!    <w:UseFELayout/>
!   </w:Compatibility>
!   <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel>
!  </w:WordDocument>
! </xml><![endif]--><!--[if gte mso 9]><xml>
!  <w:LatentStyles DefLockedState="false" LatentStyleCount="156">
!  </w:LatentStyles>
! </xml><![endif]-->
  <style>
  <!--
   /* Font Definitions */
   @font-face
  	{font-family:"MS Mincho";
! 	panose-1:2 2 6 9 4 2 5 8 3 4;
! 	mso-font-alt:"\FF2D\FF33 \660E\671D";
! 	mso-font-charset:128;
! 	mso-generic-font-family:modern;
! 	mso-font-pitch:fixed;
! 	mso-font-signature:-1610612033 1757936891 16 0 131231 0;}
  @font-face
  	{font-family:"\@MS Mincho";
! 	panose-1:2 2 6 9 4 2 5 8 3 4;
! 	mso-font-charset:128;
! 	mso-generic-font-family:modern;
! 	mso-font-pitch:fixed;
! 	mso-font-signature:-1610612033 1757936891 16 0 131231 0;}
   /* Style Definitions */
   p.MsoNormal, li.MsoNormal, div.MsoNormal
! 	{mso-style-parent:"";
! 	margin:0pt;
  	margin-bottom:.0001pt;
- 	mso-pagination:widow-orphan;
  	font-size:12.0pt;
! 	font-family:"Times New Roman";
! 	mso-fareast-font-family:"MS Mincho";}
  @page Section1
  	{size:612.0pt 792.0pt;
! 	margin:72.0pt 90.0pt 72.0pt 90.0pt;
! 	mso-header-margin:36.0pt;
! 	mso-footer-margin:36.0pt;
! 	mso-paper-source:0;}
  div.Section1
  	{page:Section1;}
  -->
  </style>
! <!--[if gte mso 10]>
! <style>
!  /* Style Definitions */
!  table.MsoNormalTable
! 	{mso-style-name:"Table Normal";
! 	mso-tstyle-rowband-size:0;
! 	mso-tstyle-colband-size:0;
! 	mso-style-noshow:yes;
! 	mso-style-parent:"";
! 	mso-padding-alt:0pt 5.4pt 0pt 5.4pt;
! 	mso-para-margin:0pt;
! 	mso-para-margin-bottom:.0001pt;
! 	mso-pagination:widow-orphan;
! 	font-size:10.0pt;
! 	font-family:"Times New Roman";
! 	mso-ansi-language:#0400;
! 	mso-fareast-language:#0400;
! 	mso-bidi-language:#0400;}
! </style>
! <![endif]--><!--[if gte mso 9]><xml>
!  <o:shapedefaults v:ext="edit" spidmax="2050"/>
! </xml><![endif]--><!--[if gte mso 9]><xml>
!  <o:shapelayout v:ext="edit">
!   <o:idmap v:ext="edit" data="1"/>
!  </o:shapelayout></xml><![endif]-->
  </head>
  
! <body lang=EN-US style='tab-interval:36.0pt'>
  
  <div class=Section1>
  
! <p class=MsoNormal><!--[if gte vml 1]><v:shapetype id="_x0000_t75" coordsize="21600,21600"
!  o:spt="75" o:preferrelative="t" path="m@4@5l@4@11@9@11@9@5xe" filled="f"
!  stroked="f">
!  <v:stroke joinstyle="miter"/>
!  <v:formulas>
!   <v:f eqn="if lineDrawn pixelLineWidth 0"/>
!   <v:f eqn="sum @0 1 0"/>
!   <v:f eqn="sum 0 0 @1"/>
!   <v:f eqn="prod @2 1 2"/>
!   <v:f eqn="prod @3 21600 pixelWidth"/>
!   <v:f eqn="prod @3 21600 pixelHeight"/>
!   <v:f eqn="sum @0 0 1"/>
!   <v:f eqn="prod @6 1 2"/>
!   <v:f eqn="prod @7 21600 pixelWidth"/>
!   <v:f eqn="sum @8 21600 0"/>
!   <v:f eqn="prod @7 21600 pixelHeight"/>
!   <v:f eqn="sum @10 21600 0"/>
!  </v:formulas>
!  <v:path o:extrusionok="f" gradientshapeok="t" o:connecttype="rect"/>
!  <o:lock v:ext="edit" aspectratio="t"/>
! </v:shapetype><v:shape id="_x0000_s1026" type="#_x0000_t75"
!  href="http://www.openafs.org/" style='position:absolute;margin-left:0;
!  margin-top:0;width:150.4pt;height:104.2pt;z-index:1;mso-position-horizontal:left;
!  mso-position-vertical:top;mso-position-vertical-relative:line' o:allowoverlap="f"
!  o:button="t">
!  <v:fill o:detectmouseclick="t"/>
!  <v:imagedata src="logo_files/image001.jpg" o:title="openafswindowslarge"/>
!  <w:wrap type="square"/>
! </v:shape><![endif]--><![if !vml]><a href="http://www.openafs.org/"><img
! border=0 width=201 height=139 src="logo_files/image002.jpg" align=left
! hspace=12 v:shapes="_x0000_s1026"></a><![endif]></p>
  
  </div>
  
--- 1,41 ----
! <html>
  
  <head>
  <meta http-equiv=Content-Type content="text/html; charset=windows-1252">
! <meta name=Generator content="Microsoft Word 11 (filtered)">
! <title>OpenAFS for Windows 1.4.2 Release Notes</title>
  <style>
  <!--
   /* Font Definitions */
   @font-face
  	{font-family:"MS Mincho";
! 	panose-1:2 2 6 9 4 2 5 8 3 4;}
  @font-face
  	{font-family:"\@MS Mincho";
! 	panose-1:2 2 6 9 4 2 5 8 3 4;}
   /* Style Definitions */
   p.MsoNormal, li.MsoNormal, div.MsoNormal
! 	{margin:0pt;
  	margin-bottom:.0001pt;
  	font-size:12.0pt;
! 	font-family:"Times New Roman";}
  @page Section1
  	{size:612.0pt 792.0pt;
! 	margin:72.0pt 90.0pt 72.0pt 90.0pt;}
  div.Section1
  	{page:Section1;}
  -->
  </style>
! 
  </head>
  
! <body lang=EN-US>
  
  <div class=Section1>
  
! <p class=MsoNormal><a href="http://www.openafs.org/windows.html"><span
! style='color:windowtext;text-decoration:none'><img border=0 width=184
! height=127 src="logo_files/image001.jpg"></span></a></p>
  
  </div>
  
Index: openafs/src/WINNT/doc/install/Documentation/en_US/html/ReleaseNotes/relnotes-frames.htm
diff -c /dev/null openafs/src/WINNT/doc/install/Documentation/en_US/html/ReleaseNotes/relnotes-frames.htm:1.1.2.1
*** /dev/null	Thu Aug  3 00:50:57 2006
--- openafs/src/WINNT/doc/install/Documentation/en_US/html/ReleaseNotes/relnotes-frames.htm	Thu Jul  6 21:15:30 2006
***************
*** 0 ****
--- 1,48 ----
+ <html>
+ 
+ <head>
+ <meta http-equiv=Content-Type content="text/html; charset=windows-1252">
+ <meta name=Generator content="Microsoft Word 11 (filtered)">
+ <title>OpenAFS for Windows 1.4.2 Release Notes</title>
+ <style>
+ <!--
+  /* Font Definitions */
+  @font-face
+ 	{font-family:"MS Mincho";
+ 	panose-1:2 2 6 9 4 2 5 8 3 4;}
+ @font-face
+ 	{font-family:"\@MS Mincho";
+ 	panose-1:2 2 6 9 4 2 5 8 3 4;}
+  /* Style Definitions */
+  p.MsoNormal, li.MsoNormal, div.MsoNormal
+ 	{margin:0pt;
+ 	margin-bottom:.0001pt;
+ 	font-size:12.0pt;
+ 	font-family:"Times New Roman";}
+ @page Section1
+ 	{size:612.0pt 792.0pt;
+ 	margin:72.0pt 90.0pt 72.0pt 90.0pt;}
+ div.Section1
+ 	{page:Section1;}
+ -->
+ </style>
+ 
+ </head>
+ 
+ <frameset cols="216,1*">
+  <frameset rows="15%,1*">
+   <frame name=logo src=logo.htm>
+   <frame name="Table of Contents" src=toc.htm>
+  </frameset>
+  <frame name=Main src=relnotes.htm>
+  <noframes>
+   <body lang=EN-US>
+   <div class=Section1>
+   <p class=MsoNormal>This page uses frames, but your browser doesn't support
+   them.</p>
+   </div>
+   </body>
+  </noframes>
+ </frameset>
+ 
+ </html>
Index: openafs/src/WINNT/doc/install/Documentation/en_US/html/ReleaseNotes/relnotes.htm
diff -c openafs/src/WINNT/doc/install/Documentation/en_US/html/ReleaseNotes/relnotes.htm:1.2.2.9 openafs/src/WINNT/doc/install/Documentation/en_US/html/ReleaseNotes/relnotes.htm:1.2.2.10
*** openafs/src/WINNT/doc/install/Documentation/en_US/html/ReleaseNotes/relnotes.htm:1.2.2.9	Sun Feb  5 03:14:17 2006
--- openafs/src/WINNT/doc/install/Documentation/en_US/html/ReleaseNotes/relnotes.htm	Thu Jul  6 21:15:30 2006
***************
*** 1,3816 ****
! <html xmlns:v="urn:schemas-microsoft-com:vml"
! xmlns:o="urn:schemas-microsoft-com:office:office"
! xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:st1="urn:schemas:contacts"
! xmlns:st2="urn:schemas-microsoft-com:office:smarttags"
! xmlns="http://www.w3.org/TR/REC-html40">
  
  <head>
  <meta http-equiv=Content-Type content="text/html; charset=windows-1252">
! <meta name=ProgId content=Word.Document>
! <meta name=Generator content="Microsoft Word 11">
! <meta name=Originator content="Microsoft Word 11">
! <link rel=File-List href="relnotes_files/filelist.xml">
! <link rel=Preview href="relnotes_files/preview.wmf">
  <title>OpenAFS for Windows 1.4.1 Release Notes</title>
! <o:SmartTagType namespaceuri="urn:schemas:contacts" name="GivenName"/>
! <o:SmartTagType namespaceuri="urn:schemas-microsoft-com:office:smarttags"
!  name="PlaceType"/>
! <o:SmartTagType namespaceuri="urn:schemas-microsoft-com:office:smarttags"
!  name="PlaceName"/>
! <o:SmartTagType namespaceuri="urn:schemas-microsoft-com:office:smarttags"
!  name="place"/>
! <o:SmartTagType namespaceuri="urn:schemas-microsoft-com:office:smarttags"
!  name="country-region"/>
! <o:SmartTagType namespaceuri="urn:schemas-microsoft-com:office:smarttags"
!  name="address"/>
! <o:SmartTagType namespaceuri="urn:schemas-microsoft-com:office:smarttags"
!  name="City"/>
! <o:SmartTagType namespaceuri="urn:schemas-microsoft-com:office:smarttags"
!  name="State"/>
! <o:SmartTagType namespaceuri="urn:schemas-microsoft-com:office:smarttags"
!  name="PostalCode"/>
! <o:SmartTagType namespaceuri="urn:schemas-microsoft-com:office:smarttags"
!  name="Street"/>
! <!--[if gte mso 9]><xml>
!  <o:DocumentProperties>
!   <o:Author>Jeffrey Altman</o:Author>
!   <o:Keywords>OpenAFS 1.4.1 AFS Windows</o:Keywords>
!   <o:LastAuthor>Jeffrey Altman</o:LastAuthor>
!   <o:Revision>3</o:Revision>
!   <o:TotalTime>11</o:TotalTime>
!   <o:LastPrinted>1601-01-01T07:00:00Z</o:LastPrinted>
!   <o:Created>2005-09-25T21:12:00Z</o:Created>
!   <o:LastSaved>2006-01-09T05:13:00Z</o:LastSaved>
!   <o:Pages>1</o:Pages>
!   <o:Words>14578</o:Words>
!   <o:Characters>83097</o:Characters>
!   <o:Company>Secure Endpoints Inc.</o:Company>
!   <o:Lines>692</o:Lines>
!   <o:Paragraphs>194</o:Paragraphs>
!   <o:CharactersWithSpaces>97481</o:CharactersWithSpaces>
!   <o:Version>11.6568</o:Version>
!  </o:DocumentProperties>
! </xml><![endif]--><!--[if gte mso 9]><xml>
!  <w:WordDocument>
!   <w:DrawingGridHorizontalSpacing>0 pt</w:DrawingGridHorizontalSpacing>
!   <w:DrawingGridVerticalSpacing>0 pt</w:DrawingGridVerticalSpacing>
!   <w:DisplayHorizontalDrawingGridEvery>0</w:DisplayHorizontalDrawingGridEvery>
!   <w:DisplayVerticalDrawingGridEvery>0</w:DisplayVerticalDrawingGridEvery>
!   <w:UseMarginsForDrawingGridOrigin/>
!   <w:ValidateAgainstSchemas/>
!   <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>
!   <w:IgnoreMixedContent>false</w:IgnoreMixedContent>
!   <w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>
!   <w:DrawingGridHorizontalOrigin>0 pt</w:DrawingGridHorizontalOrigin>
!   <w:DrawingGridVerticalOrigin>0 pt</w:DrawingGridVerticalOrigin>
!   <w:Compatibility>
!    <w:NoLeading/>
!    <w:SpaceForUL/>
!    <w:BalanceSingleByteDoubleByteWidth/>
!    <w:DoNotLeaveBackslashAlone/>
!    <w:ULTrailSpace/>
!    <w:DoNotExpandShiftReturn/>
!    <w:AdjustLineHeightInTable/>
!    <w:SelectEntireFieldWithStartOrEnd/>
!    <w:UseWord2002TableStyleRules/>
!   </w:Compatibility>
!   <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel>
!  </w:WordDocument>
! </xml><![endif]--><!--[if gte mso 9]><xml>
!  <w:LatentStyles DefLockedState="false" LatentStyleCount="156">
!  </w:LatentStyles>
! </xml><![endif]--><!--[if !mso]><object
!  classid="clsid:38481807-CA0E-42D2-BF39-B33AF135CC4D" id=ieooui></object>
! <style>
! st1\:*{behavior:url(#ieooui) }st2\:*{behavior:url(#ieooui) }
! </style>
! <![endif]-->
  <style>
  <!--
   /* Font Definitions */
   @font-face
  	{font-family:Wingdings;
! 	panose-1:5 0 0 0 0 0 0 0 0 0;
! 	mso-font-charset:2;
! 	mso-generic-font-family:auto;
! 	mso-font-pitch:variable;
! 	mso-font-signature:0 268435456 0 0 -2147483648 0;}
  @font-face
  	{font-family:"MS Mincho";
! 	panose-1:2 2 6 9 4 2 5 8 3 4;
! 	mso-font-alt:"\FF2D\FF33 \660E\671D";
! 	mso-font-charset:128;
! 	mso-generic-font-family:modern;
! 	mso-font-pitch:fixed;
! 	mso-font-signature:-1610612033 1757936891 16 0 131231 0;}
  @font-face
  	{font-family:Tahoma;
! 	panose-1:2 11 6 4 3 5 4 4 2 4;
! 	mso-font-charset:0;
! 	mso-generic-font-family:swiss;
! 	mso-font-pitch:variable;
! 	mso-font-signature:1627421319 -2147483648 8 0 66047 0;}
  @font-face
! 	{font-family:Thorndale;
! 	panose-1:2 2 6 3 5 4 5 2 3 4;
! 	mso-font-charset:0;
! 	mso-generic-font-family:roman;
! 	mso-font-pitch:variable;
! 	mso-font-signature:647 0 0 0 159 0;}
! @font-face
! 	{font-family:"Andale Sans UI";
! 	panose-1:2 11 5 2 0 0 0 0 0 1;
! 	mso-font-charset:0;
! 	mso-generic-font-family:swiss;
! 	mso-font-pitch:variable;
! 	mso-font-signature:647 0 0 0 159 0;}
  @font-face
  	{font-family:StarSymbol;
! 	panose-1:5 0 0 0 0 0 0 0 0 0;
! 	mso-font-charset:0;
! 	mso-generic-font-family:auto;
! 	mso-font-pitch:variable;
! 	mso-font-signature:3 268468224 0 0 1 0;}
  @font-face
! 	{font-family:Albany;
! 	panose-1:2 11 6 4 2 2 2 2 2 4;
! 	mso-font-charset:0;
! 	mso-generic-font-family:swiss;
! 	mso-font-pitch:variable;
! 	mso-font-signature:647 0 0 0 159 0;}
  @font-face
  	{font-family:Cumberland;
! 	panose-1:2 7 3 9 2 2 5 2 4 4;
! 	mso-font-charset:0;
! 	mso-generic-font-family:modern;
! 	mso-font-pitch:fixed;
! 	mso-font-signature:647 0 0 0 159 0;}
  @font-face
  	{font-family:"\@MS Mincho";
! 	panose-1:2 2 6 9 4 2 5 8 3 4;
! 	mso-font-charset:128;
! 	mso-generic-font-family:modern;
! 	mso-font-pitch:fixed;
! 	mso-font-signature:-1610612033 1757936891 16 0 131231 0;}
   /* Style Definitions */
   p.MsoNormal, li.MsoNormal, div.MsoNormal
! 	{mso-style-parent:"";
! 	margin-top:7.2pt;
  	margin-right:0pt;
  	margin-bottom:7.2pt;
  	margin-left:0pt;
- 	mso-pagination:none;
- 	mso-hyphenate:none;
  	font-size:12.0pt;
! 	font-family:Thorndale;
! 	mso-fareast-font-family:"Andale Sans UI";
! 	mso-bidi-font-family:"Times New Roman";
! 	mso-fareast-language:#00FF;}
  h1
! 	{mso-style-parent:Heading;
! 	mso-style-next:"Body Text";
! 	margin-top:12.0pt;
  	margin-right:0pt;
  	margin-bottom:6.0pt;
  	margin-left:0pt;
  	text-indent:0pt;
- 	mso-pagination:none;
  	page-break-after:avoid;
- 	mso-outline-level:1;
- 	mso-list:l21 level1 lfo12;
- 	mso-hyphenate:none;
- 	tab-stops:list 0pt;
  	font-size:16.0pt;
! 	font-family:Albany;
! 	mso-fareast-font-family:"MS Mincho";
! 	mso-bidi-font-family:Tahoma;
! 	mso-font-kerning:0pt;
! 	mso-fareast-language:#00FF;}
  h2
! 	{mso-style-parent:Heading;
! 	mso-style-next:"Body Text";
! 	margin-top:12.0pt;
  	margin-right:0pt;
  	margin-bottom:6.0pt;
  	margin-left:0pt;
  	text-indent:0pt;
- 	mso-pagination:none;
  	page-break-after:avoid;
- 	mso-outline-level:2;
- 	mso-list:l21 level2 lfo12;
- 	mso-hyphenate:none;
- 	tab-stops:list 0pt;
  	font-size:14.0pt;
  	font-family:Albany;
- 	mso-fareast-font-family:"MS Mincho";
- 	mso-bidi-font-family:Tahoma;
- 	mso-fareast-language:#00FF;
  	font-style:italic;}
  h3
! 	{mso-style-parent:Heading;
! 	mso-style-link:"Heading 3 Char";
! 	mso-style-next:"Body Text";
! 	margin-top:12.0pt;
  	margin-right:0pt;
  	margin-bottom:6.0pt;
  	margin-left:0pt;
  	text-indent:0pt;
- 	mso-pagination:none;
  	page-break-after:avoid;
- 	mso-outline-level:3;
- 	mso-list:l21 level3 lfo12;
- 	mso-hyphenate:none;
- 	tab-stops:list 0pt;
  	font-size:14.0pt;
! 	font-family:Albany;
! 	mso-fareast-font-family:"MS Mincho";
! 	mso-bidi-font-family:Tahoma;
! 	mso-fareast-language:#00FF;}
  h4
! 	{mso-style-link:"Heading 4 Char";
! 	mso-style-next:Normal;
! 	margin-top:12.0pt;
  	margin-right:0pt;
  	margin-bottom:3.0pt;
  	margin-left:0pt;
- 	mso-pagination:none;
  	page-break-after:avoid;
- 	mso-outline-level:4;
- 	mso-hyphenate:none;
  	font-size:14.0pt;
! 	font-family:"Times New Roman";
! 	mso-fareast-font-family:"Andale Sans UI";
! 	mso-fareast-language:#00FF;}
  h5
! 	{mso-style-next:Normal;
! 	margin-top:12.0pt;
  	margin-right:0pt;
  	margin-bottom:3.0pt;
  	margin-left:0pt;
- 	mso-pagination:none;
- 	mso-outline-level:5;
- 	mso-hyphenate:none;
  	font-size:13.0pt;
  	font-family:Thorndale;
- 	mso-fareast-font-family:"Andale Sans UI";
- 	mso-fareast-language:#00FF;
  	font-style:italic;}
  h6
! 	{mso-style-next:Normal;
! 	margin-top:12.0pt;
  	margin-right:0pt;
  	margin-bottom:3.0pt;
  	margin-left:0pt;
- 	mso-pagination:none;
- 	mso-outline-level:6;
- 	mso-hyphenate:none;
  	font-size:11.0pt;
! 	font-family:"Times New Roman";
! 	mso-fareast-font-family:"Andale Sans UI";
! 	mso-fareast-language:#00FF;}
  p.MsoToc1, li.MsoToc1, div.MsoToc1
! 	{mso-style-noshow:yes;
! 	mso-style-parent:Index;
! 	margin-top:7.2pt;
  	margin-right:0pt;
  	margin-bottom:7.2pt;
  	margin-left:0pt;
- 	mso-pagination:no-line-numbers;
- 	mso-hyphenate:none;
- 	tab-stops:right dotted 432.0pt;
  	font-size:12.0pt;
! 	font-family:Thorndale;
! 	mso-fareast-font-family:"Andale Sans UI";
! 	mso-bidi-font-family:Tahoma;
! 	mso-fareast-language:#00FF;}
  p.MsoToc2, li.MsoToc2, div.MsoToc2
! 	{mso-style-noshow:yes;
! 	mso-style-parent:Index;
! 	margin-top:7.2pt;
  	margin-right:0pt;
  	margin-bottom:7.2pt;
  	margin-left:14.15pt;
- 	mso-pagination:no-line-numbers;
- 	mso-hyphenate:none;
- 	tab-stops:right dotted 432.0pt;
  	font-size:12.0pt;
! 	font-family:Thorndale;
! 	mso-fareast-font-family:"Andale Sans UI";
! 	mso-bidi-font-family:Tahoma;
! 	mso-fareast-language:#00FF;}
  p.MsoToc3, li.MsoToc3, div.MsoToc3
! 	{mso-style-noshow:yes;
! 	mso-style-parent:Index;
! 	margin-top:7.2pt;
  	margin-right:0pt;
  	margin-bottom:7.2pt;
  	margin-left:28.3pt;
- 	mso-pagination:no-line-numbers;
- 	mso-hyphenate:none;
- 	tab-stops:right dotted 432.0pt;
  	font-size:12.0pt;
! 	font-family:Thorndale;
! 	mso-fareast-font-family:"Andale Sans UI";
! 	mso-bidi-font-family:Tahoma;
! 	mso-fareast-language:#00FF;}
  p.MsoFootnoteText, li.MsoFootnoteText, div.MsoFootnoteText
! 	{mso-style-noshow:yes;
! 	margin-top:7.2pt;
  	margin-right:0pt;
  	margin-bottom:7.2pt;
  	margin-left:0pt;
- 	mso-pagination:none;
- 	mso-hyphenate:none;
  	font-size:10.0pt;
! 	font-family:Thorndale;
! 	mso-fareast-font-family:"Andale Sans UI";
! 	mso-bidi-font-family:"Times New Roman";
! 	mso-fareast-language:#00FF;}
  p.MsoHeader, li.MsoHeader, div.MsoHeader
  	{margin-top:7.2pt;
  	margin-right:0pt;
  	margin-bottom:7.2pt;
  	margin-left:0pt;
- 	mso-pagination:none;
- 	mso-hyphenate:none;
- 	tab-stops:center 216.0pt right 432.0pt;
  	font-size:12.0pt;
! 	font-family:Thorndale;
! 	mso-fareast-font-family:"Andale Sans UI";
! 	mso-bidi-font-family:"Times New Roman";
! 	mso-fareast-language:#00FF;}
  p.MsoFooter, li.MsoFooter, div.MsoFooter
  	{margin-top:7.2pt;
  	margin-right:0pt;
  	margin-bottom:7.2pt;
  	margin-left:0pt;
- 	mso-pagination:none;
- 	mso-hyphenate:none;
- 	tab-stops:center 216.0pt right 432.0pt;
  	font-size:12.0pt;
! 	font-family:Thorndale;
! 	mso-fareast-font-family:"Andale Sans UI";
! 	mso-bidi-font-family:"Times New Roman";
! 	mso-fareast-language:#00FF;}
  p.MsoEnvelopeAddress, li.MsoEnvelopeAddress, div.MsoEnvelopeAddress
  	{margin-top:7.2pt;
  	margin-right:0pt;
  	margin-bottom:7.2pt;
  	margin-left:144.0pt;
- 	mso-pagination:none;
- 	mso-hyphenate:none;
- 	mso-element:frame;
- 	mso-element-frame-width:396.0pt;
- 	mso-element-frame-height:99.0pt;
- 	mso-element-frame-hspace:9.0pt;
- 	mso-element-wrap:auto;
- 	mso-element-anchor-horizontal:page;
- 	mso-element-left:center;
- 	mso-element-top:bottom;
- 	mso-height-rule:exactly;
  	font-size:12.0pt;
! 	font-family:Arial;
! 	mso-fareast-font-family:"Andale Sans UI";
! 	mso-fareast-language:#00FF;}
  span.MsoFootnoteReference
! 	{mso-style-noshow:yes;
! 	vertical-align:super;}
  p.MsoList, li.MsoList, div.MsoList
! 	{mso-style-parent:"Body Text";
! 	margin-top:0pt;
  	margin-right:0pt;
  	margin-bottom:6.0pt;
  	margin-left:0pt;
- 	mso-pagination:none;
- 	mso-hyphenate:none;
  	font-size:12.0pt;
! 	font-family:Thorndale;
! 	mso-fareast-font-family:"Andale Sans UI";
! 	mso-bidi-font-family:Tahoma;
! 	mso-fareast-language:#00FF;}
  p.MsoTitle, li.MsoTitle, div.MsoTitle
! 	{mso-style-parent:Heading;
! 	mso-style-next:Subtitle;
! 	margin-top:12.0pt;
  	margin-right:0pt;
  	margin-bottom:6.0pt;
  	margin-left:0pt;
  	text-align:center;
- 	mso-pagination:none;
  	page-break-after:avoid;
- 	mso-hyphenate:none;
  	font-size:18.0pt;
  	font-family:Albany;
- 	mso-fareast-font-family:"MS Mincho";
- 	mso-bidi-font-family:Tahoma;
- 	mso-fareast-language:#00FF;
  	font-weight:bold;}
  p.MsoBodyText, li.MsoBodyText, div.MsoBodyText
! 	{mso-style-link:"Body Text Char";
! 	margin-top:0pt;
  	margin-right:0pt;
  	margin-bottom:6.0pt;
  	margin-left:0pt;
- 	mso-pagination:none;
- 	mso-hyphenate:none;
  	font-size:12.0pt;
! 	font-family:Thorndale;
! 	mso-fareast-font-family:"Andale Sans UI";
! 	mso-bidi-font-family:"Times New Roman";
! 	mso-fareast-language:#00FF;}
  p.MsoBodyTextIndent, li.MsoBodyTextIndent, div.MsoBodyTextIndent
! 	{mso-style-parent:"Body Text";
! 	margin-top:0pt;
  	margin-right:0pt;
  	margin-bottom:6.0pt;
  	margin-left:14.15pt;
- 	mso-pagination:none;
- 	mso-hyphenate:none;
  	font-size:12.0pt;
! 	font-family:Thorndale;
! 	mso-fareast-font-family:"Andale Sans UI";
! 	mso-bidi-font-family:"Times New Roman";
! 	mso-fareast-language:#00FF;}
  p.MsoSubtitle, li.MsoSubtitle, div.MsoSubtitle
! 	{mso-style-parent:Heading;
! 	mso-style-next:"Body Text";
! 	margin-top:12.0pt;
  	margin-right:0pt;
  	margin-bottom:6.0pt;
  	margin-left:0pt;
  	text-align:center;
- 	mso-pagination:none;
  	page-break-after:avoid;
- 	mso-hyphenate:none;
  	font-size:14.0pt;
  	font-family:Albany;
- 	mso-fareast-font-family:"MS Mincho";
- 	mso-bidi-font-family:Tahoma;
- 	mso-fareast-language:#00FF;
  	font-style:italic;}
  a:link, span.MsoHyperlink
! 	{mso-style-parent:"";
! 	color:navy;
! 	text-decoration:underline;
! 	text-underline:single;}
  a:visited, span.MsoHyperlinkFollowed
! 	{mso-style-parent:"";
! 	color:maroon;
! 	text-decoration:underline;
! 	text-underline:single;}
! span.NumberingSymbols
! 	{mso-style-name:"Numbering Symbols";
! 	mso-style-parent:"";}
  span.Bullets
! 	{mso-style-name:Bullets;
! 	mso-style-parent:"";
! 	mso-ansi-font-size:9.0pt;
! 	mso-bidi-font-size:9.0pt;
! 	font-family:StarSymbol;
! 	mso-ascii-font-family:StarSymbol;
! 	mso-fareast-font-family:StarSymbol;
! 	mso-hansi-font-family:StarSymbol;
! 	mso-bidi-font-family:StarSymbol;}
! span.FootnoteCharacters
! 	{mso-style-name:"Footnote Characters";
! 	mso-style-parent:"";}
! span.EndnoteCharacters
! 	{mso-style-name:"Endnote Characters";
! 	mso-style-parent:"";}
  p.Heading, li.Heading, div.Heading
! 	{mso-style-name:Heading;
! 	mso-style-link:"Heading Char";
! 	mso-style-next:"Body Text";
! 	margin-top:12.0pt;
  	margin-right:0pt;
  	margin-bottom:6.0pt;
  	margin-left:0pt;
- 	mso-pagination:none;
  	page-break-after:avoid;
- 	mso-hyphenate:none;
  	font-size:14.0pt;
! 	font-family:Albany;
! 	mso-fareast-font-family:"MS Mincho";
! 	mso-bidi-font-family:Tahoma;
! 	mso-fareast-language:#00FF;}
  p.Caption1, li.Caption1, div.Caption1
! 	{mso-style-name:Caption1;
! 	margin-top:6.0pt;
  	margin-right:0pt;
  	margin-bottom:6.0pt;
  	margin-left:0pt;
- 	mso-pagination:no-line-numbers;
- 	mso-hyphenate:none;
  	font-size:10.0pt;
  	font-family:Thorndale;
- 	mso-fareast-font-family:"Andale Sans UI";
- 	mso-bidi-font-family:Tahoma;
- 	mso-fareast-language:#00FF;
  	font-style:italic;}
  p.Index, li.Index, div.Index
! 	{mso-style-name:Index;
! 	margin-top:7.2pt;
  	margin-right:0pt;
  	margin-bottom:7.2pt;
  	margin-left:0pt;
- 	mso-pagination:no-line-numbers;
- 	mso-hyphenate:none;
  	font-size:12.0pt;
! 	font-family:Thorndale;
! 	mso-fareast-font-family:"Andale Sans UI";
! 	mso-bidi-font-family:Tahoma;
! 	mso-fareast-language:#00FF;}
  p.ContentsHeading, li.ContentsHeading, div.ContentsHeading
! 	{mso-style-name:"Contents Heading";
! 	mso-style-parent:Heading;
! 	margin-top:12.0pt;
  	margin-right:0pt;
  	margin-bottom:6.0pt;
  	margin-left:0pt;
- 	mso-pagination:no-line-numbers;
  	page-break-after:avoid;
- 	mso-hyphenate:none;
  	font-size:16.0pt;
  	font-family:Albany;
- 	mso-fareast-font-family:"MS Mincho";
- 	mso-bidi-font-family:Tahoma;
- 	mso-fareast-language:#00FF;
  	font-weight:bold;}
  p.PreformattedText, li.PreformattedText, div.PreformattedText
! 	{mso-style-name:"Preformatted Text";
! 	margin:0pt;
  	margin-bottom:.0001pt;
- 	mso-pagination:none;
- 	mso-hyphenate:none;
  	font-size:10.0pt;
! 	font-family:Cumberland;
! 	mso-fareast-font-family:Cumberland;
! 	mso-bidi-font-family:Cumberland;
! 	mso-fareast-language:#00FF;}
  p.ListContents, li.ListContents, div.ListContents
! 	{mso-style-name:"List Contents";
! 	margin-top:7.2pt;
  	margin-right:0pt;
  	margin-bottom:7.2pt;
  	margin-left:28.35pt;
- 	mso-pagination:none;
- 	mso-hyphenate:none;
  	font-size:12.0pt;
! 	font-family:Thorndale;
! 	mso-fareast-font-family:"Andale Sans UI";
! 	mso-bidi-font-family:"Times New Roman";
! 	mso-fareast-language:#00FF;}
  p.ListHeading, li.ListHeading, div.ListHeading
! 	{mso-style-name:"List Heading";
! 	mso-style-next:"List Contents";
! 	margin-top:4.3pt;
  	margin-right:0pt;
  	margin-bottom:4.3pt;
  	margin-left:0pt;
- 	mso-pagination:none;
- 	mso-hyphenate:none;
  	font-size:12.0pt;
! 	font-family:Thorndale;
! 	mso-fareast-font-family:"Andale Sans UI";
! 	mso-bidi-font-family:"Times New Roman";
! 	mso-fareast-language:#00FF;}
  span.HeadingChar
! 	{mso-style-name:"Heading Char";
! 	mso-style-locked:yes;
! 	mso-style-link:Heading;
! 	mso-ansi-font-size:14.0pt;
! 	mso-bidi-font-size:14.0pt;
! 	font-family:Albany;
! 	mso-ascii-font-family:Albany;
! 	mso-fareast-font-family:"MS Mincho";
! 	mso-hansi-font-family:Albany;
! 	mso-bidi-font-family:Tahoma;
! 	mso-ansi-language:EN-US;
! 	mso-fareast-language:#00FF;
! 	mso-bidi-language:AR-SA;}
  span.Heading3Char
! 	{mso-style-name:"Heading 3 Char";
! 	mso-style-locked:yes;
! 	mso-style-parent:"Heading Char";
! 	mso-style-link:"Heading 3";
! 	mso-ansi-font-size:14.0pt;
! 	mso-bidi-font-size:14.0pt;
! 	font-family:Albany;
! 	mso-ascii-font-family:Albany;
! 	mso-fareast-font-family:"MS Mincho";
! 	mso-hansi-font-family:Albany;
! 	mso-bidi-font-family:Tahoma;
! 	mso-ansi-language:EN-US;
! 	mso-fareast-language:#00FF;
! 	mso-bidi-language:AR-SA;
  	font-weight:bold;}
  p.Header5, li.Header5, div.Header5
! 	{mso-style-name:"Header 5";
! 	margin-top:7.2pt;
  	margin-right:0pt;
  	margin-bottom:7.2pt;
  	margin-left:0pt;
- 	mso-pagination:none;
- 	mso-hyphenate:none;
  	font-size:12.0pt;
! 	font-family:Thorndale;
! 	mso-fareast-font-family:"Andale Sans UI";
! 	mso-bidi-font-family:"Times New Roman";
! 	mso-fareast-language:#00FF;}
  p.Heading3, li.Heading3, div.Heading3
! 	{mso-style-name:Heading3;
! 	margin-top:7.2pt;
  	margin-right:0pt;
  	margin-bottom:7.2pt;
  	margin-left:0pt;
- 	mso-pagination:none;
- 	mso-hyphenate:none;
  	font-size:12.0pt;
! 	font-family:Thorndale;
! 	mso-fareast-font-family:"Andale Sans UI";
! 	mso-bidi-font-family:"Times New Roman";
! 	mso-fareast-language:#00FF;}
  span.Heading4Char
! 	{mso-style-name:"Heading 4 Char";
! 	mso-style-locked:yes;
! 	mso-style-link:"Heading 4";
! 	mso-ansi-font-size:14.0pt;
! 	mso-bidi-font-size:14.0pt;
! 	font-family:"Andale Sans UI";
! 	mso-fareast-font-family:"Andale Sans UI";
! 	mso-ansi-language:EN-US;
! 	mso-fareast-language:#00FF;
! 	mso-bidi-language:AR-SA;
  	font-weight:bold;}
  p.Default, li.Default, div.Default
! 	{mso-style-name:Default;
! 	mso-style-parent:"";
! 	margin:0pt;
  	margin-bottom:.0001pt;
- 	mso-pagination:widow-orphan;
- 	mso-layout-grid-align:none;
  	text-autospace:none;
  	font-size:12.0pt;
  	font-family:Arial;
- 	mso-fareast-font-family:"MS Mincho";
  	color:black;}
  span.BodyTextChar
! 	{mso-style-name:"Body Text Char";
! 	mso-style-locked:yes;
! 	mso-style-link:"Body Text";
! 	mso-ansi-font-size:12.0pt;
! 	mso-bidi-font-size:12.0pt;
! 	font-family:Thorndale;
! 	mso-ascii-font-family:Thorndale;
! 	mso-fareast-font-family:"Andale Sans UI";
! 	mso-hansi-font-family:Thorndale;
! 	mso-ansi-language:EN-US;
! 	mso-fareast-language:#00FF;
! 	mso-bidi-language:AR-SA;}
   /* Page Definitions */
!  @page
! 	{mso-footnote-separator:url("relnotes_files/header.htm") fs;
! 	mso-footnote-continuation-separator:url("relnotes_files/header.htm") fcs;
! 	mso-endnote-separator:url("relnotes_files/header.htm") es;
! 	mso-endnote-continuation-separator:url("relnotes_files/header.htm") ecs;
! 	mso-footnote-position:beneath-text;}
! @page Section1
  	{size:612.0pt 792.0pt;
! 	margin:72.0pt 90.0pt 72.0pt 90.0pt;
! 	mso-header-margin:36.0pt;
! 	mso-footer-margin:36.0pt;
! 	mso-paper-source:0;}
  div.Section1
! 	{page:Section1;
! 	mso-footnote-position:beneath-text;}
  @page Section2
  	{size:612.0pt 792.0pt;
! 	margin:72.0pt 90.0pt 72.0pt 90.0pt;
! 	mso-header-margin:36.0pt;
! 	mso-footer-margin:36.0pt;
! 	mso-header:url("relnotes_files/header.htm") h2;
! 	mso-paper-source:0;}
  div.Section2
  	{page:Section2;}
   /* List Definitions */
!  @list l0
! 	{mso-list-id:-132;
! 	mso-list-type:simple;
! 	mso-list-template-ids:-1234375184;}
! @list l0:level1
! 	{mso-level-tab-stop:90.0pt;
! 	mso-level-number-position:left;
! 	margin-left:90.0pt;
! 	text-indent:-18.0pt;}
! @list l1
! 	{mso-list-id:-131;
! 	mso-list-type:simple;
! 	mso-list-template-ids:1628742212;}
! @list l1:level1
! 	{mso-level-tab-stop:72.0pt;
! 	mso-level-number-position:left;
! 	margin-left:72.0pt;
! 	text-indent:-18.0pt;}
! @list l2
! 	{mso-list-id:-130;
! 	mso-list-type:simple;
! 	mso-list-template-ids:1598849380;}
! @list l2:level1
! 	{mso-level-tab-stop:54.0pt;
! 	mso-level-number-position:left;
! 	margin-left:54.0pt;
! 	text-indent:-18.0pt;}
! @list l3
! 	{mso-list-id:-129;
! 	mso-list-type:simple;
! 	mso-list-template-ids:-1708084928;}
! @list l3:level1
! 	{mso-level-tab-stop:36.0pt;
! 	mso-level-number-position:left;
! 	text-indent:-18.0pt;}
! @list l4
! 	{mso-list-id:-128;
! 	mso-list-type:simple;
! 	mso-list-template-ids:-573116274;}
! @list l4:level1
! 	{mso-level-number-format:bullet;
! 	mso-level-text:\F0B7;
! 	mso-level-tab-stop:90.0pt;
! 	mso-level-number-position:left;
! 	margin-left:90.0pt;
! 	text-indent:-18.0pt;
! 	font-family:Symbol;}
! @list l5
! 	{mso-list-id:-127;
! 	mso-list-type:simple;
! 	mso-list-template-ids:-1674157402;}
! @list l5:level1
! 	{mso-level-number-format:bullet;
! 	mso-level-text:\F0B7;
! 	mso-level-tab-stop:72.0pt;
! 	mso-level-number-position:left;
! 	margin-left:72.0pt;
! 	text-indent:-18.0pt;
! 	font-family:Symbol;}
! @list l6
! 	{mso-list-id:-126;
! 	mso-list-type:simple;
! 	mso-list-template-ids:-855098526;}
! @list l6:level1
! 	{mso-level-number-format:bullet;
! 	mso-level-text:\F0B7;
! 	mso-level-tab-stop:54.0pt;
! 	mso-level-number-position:left;
! 	margin-left:54.0pt;
! 	text-indent:-18.0pt;
! 	font-family:Symbol;}
! @list l7
! 	{mso-list-id:-125;
! 	mso-list-type:simple;
! 	mso-list-template-ids:1629288942;}
! @list l7: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;
! 	font-family:Symbol;}
! @list l8
! 	{mso-list-id:-120;
! 	mso-list-type:simple;
! 	mso-list-template-ids:1092749420;}
! @list l8:level1
! 	{mso-level-tab-stop:18.0pt;
! 	mso-level-number-position:left;
! 	margin-left:18.0pt;
! 	text-indent:-18.0pt;}
! @list l9
! 	{mso-list-id:-119;
! 	mso-list-type:simple;
! 	mso-list-template-ids:-593317242;}
! @list l9:level1
! 	{mso-level-number-format:bullet;
! 	mso-level-text:\F0B7;
! 	mso-level-tab-stop:18.0pt;
! 	mso-level-number-position:left;
! 	margin-left:18.0pt;
! 	text-indent:-18.0pt;
! 	font-family:Symbol;}
! @list l10
! 	{mso-list-id:1;
! 	mso-list-template-ids:1148726518;}
! @list l10:level1
! 	{mso-level-tab-stop:18.0pt;
! 	mso-level-number-position:left;
! 	margin-left:18.0pt;
! 	text-indent:-18.0pt;
! 	mso-ansi-font-size:9.0pt;
! 	mso-bidi-font-size:9.0pt;}
! @list l10:level2
! 	{mso-level-number-format:bullet;
! 	mso-level-text:\F0B7;
! 	mso-level-tab-stop:28.35pt;
! 	mso-level-number-position:left;
! 	margin-left:28.35pt;
! 	text-indent:-14.15pt;
! 	mso-ansi-font-size:9.0pt;
! 	mso-bidi-font-size:9.0pt;
! 	mso-ascii-font-family:Symbol;
! 	mso-hansi-font-family:Symbol;
! 	mso-bidi-font-family:StarSymbol;}
! @list l10:level3
! 	{mso-level-number-format:bullet;
! 	mso-level-text:\F0B7;
! 	mso-level-tab-stop:42.5pt;
! 	mso-level-number-position:left;
! 	margin-left:42.5pt;
! 	text-indent:-14.15pt;
! 	mso-ansi-font-size:9.0pt;
! 	mso-bidi-font-size:9.0pt;
! 	mso-ascii-font-family:Symbol;
! 	mso-hansi-font-family:Symbol;
! 	mso-bidi-font-family:StarSymbol;}
! @list l10:level4
! 	{mso-level-number-format:bullet;
! 	mso-level-text:\F0B7;
! 	mso-level-tab-stop:56.7pt;
! 	mso-level-number-position:left;
! 	margin-left:56.7pt;
! 	text-indent:-14.15pt;
! 	mso-ansi-font-size:9.0pt;
! 	mso-bidi-font-size:9.0pt;
! 	mso-ascii-font-family:Symbol;
! 	mso-hansi-font-family:Symbol;
! 	mso-bidi-font-family:StarSymbol;}
! @list l10:level5
! 	{mso-level-number-format:bullet;
! 	mso-level-text:\F0B7;
! 	mso-level-tab-stop:70.85pt;
! 	mso-level-number-position:left;
! 	margin-left:70.85pt;
! 	text-indent:-14.15pt;
! 	mso-ansi-font-size:9.0pt;
! 	mso-bidi-font-size:9.0pt;
! 	mso-ascii-font-family:Symbol;
! 	mso-hansi-font-family:Symbol;
! 	mso-bidi-font-family:StarSymbol;}
! @list l10:level6
! 	{mso-level-number-format:bullet;
! 	mso-level-text:\F0B7;
! 	mso-level-tab-stop:85.05pt;
! 	mso-level-number-position:left;
! 	margin-left:85.05pt;
! 	text-indent:-14.15pt;
! 	mso-ansi-font-size:9.0pt;
! 	mso-bidi-font-size:9.0pt;
! 	mso-ascii-font-family:Symbol;
! 	mso-hansi-font-family:Symbol;
! 	mso-bidi-font-family:StarSymbol;}
! @list l10:level7
! 	{mso-level-number-format:bullet;
! 	mso-level-text:\F0B7;
! 	mso-level-tab-stop:99.2pt;
! 	mso-level-number-position:left;
! 	margin-left:99.2pt;
! 	text-indent:-14.15pt;
! 	mso-ansi-font-size:9.0pt;
! 	mso-bidi-font-size:9.0pt;
! 	mso-ascii-font-family:Symbol;
! 	mso-hansi-font-family:Symbol;
! 	mso-bidi-font-family:StarSymbol;}
! @list l10:level8
! 	{mso-level-number-format:bullet;
! 	mso-level-text:\F0B7;
! 	mso-level-tab-stop:113.4pt;
! 	mso-level-number-position:left;
! 	margin-left:113.4pt;
! 	text-indent:-14.15pt;
! 	mso-ansi-font-size:9.0pt;
! 	mso-bidi-font-size:9.0pt;
! 	mso-ascii-font-family:Symbol;
! 	mso-hansi-font-family:Symbol;
! 	mso-bidi-font-family:StarSymbol;}
! @list l10:level9
! 	{mso-level-number-format:bullet;
! 	mso-level-text:\F0B7;
! 	mso-level-tab-stop:127.55pt;
! 	mso-level-number-position:left;
! 	margin-left:127.55pt;
! 	text-indent:-14.15pt;
! 	mso-ansi-font-size:9.0pt;
! 	mso-bidi-font-size:9.0pt;
! 	mso-ascii-font-family:Symbol;
! 	mso-hansi-font-family:Symbol;
! 	mso-bidi-font-family:StarSymbol;}
! @list l11
! 	{mso-list-id:2;
! 	mso-list-template-ids:2;}
! @list l11:level1
! 	{mso-level-number-format:bullet;
! 	mso-level-text:\F0B7;
! 	mso-level-tab-stop:14.15pt;
! 	mso-level-number-position:left;
! 	margin-left:14.15pt;
! 	text-indent:-14.15pt;
! 	mso-ansi-font-size:9.0pt;
! 	mso-bidi-font-size:9.0pt;
! 	mso-ascii-font-family:Symbol;
! 	mso-hansi-font-family:Symbol;
! 	mso-bidi-font-family:StarSymbol;}
! @list l11:level2
! 	{mso-level-number-format:bullet;
! 	mso-level-text:\F0B7;
! 	mso-level-tab-stop:28.35pt;
! 	mso-level-number-position:left;
! 	margin-left:28.35pt;
! 	text-indent:-14.15pt;
! 	mso-ansi-font-size:9.0pt;
! 	mso-bidi-font-size:9.0pt;
! 	mso-ascii-font-family:Symbol;
! 	mso-hansi-font-family:Symbol;
! 	mso-bidi-font-family:StarSymbol;}
! @list l11:level3
! 	{mso-level-number-format:bullet;
! 	mso-level-text:\F0B7;
! 	mso-level-tab-stop:42.5pt;
! 	mso-level-number-position:left;
! 	margin-left:42.5pt;
! 	text-indent:-14.15pt;
! 	mso-ansi-font-size:9.0pt;
! 	mso-bidi-font-size:9.0pt;
! 	mso-ascii-font-family:Symbol;
! 	mso-hansi-font-family:Symbol;
! 	mso-bidi-font-family:StarSymbol;}
! @list l11:level4
! 	{mso-level-number-format:bullet;
! 	mso-level-text:\F0B7;
! 	mso-level-tab-stop:56.7pt;
! 	mso-level-number-position:left;
! 	margin-left:56.7pt;
! 	text-indent:-14.15pt;
! 	mso-ansi-font-size:9.0pt;
! 	mso-bidi-font-size:9.0pt;
! 	mso-ascii-font-family:Symbol;
! 	mso-hansi-font-family:Symbol;
! 	mso-bidi-font-family:StarSymbol;}
! @list l11:level5
! 	{mso-level-number-format:bullet;
! 	mso-level-text:\F0B7;
! 	mso-level-tab-stop:70.85pt;
! 	mso-level-number-position:left;
! 	margin-left:70.85pt;
! 	text-indent:-14.15pt;
! 	mso-ansi-font-size:9.0pt;
! 	mso-bidi-font-size:9.0pt;
! 	mso-ascii-font-family:Symbol;
! 	mso-hansi-font-family:Symbol;
! 	mso-bidi-font-family:StarSymbol;}
! @list l11:level6
! 	{mso-level-number-format:bullet;
! 	mso-level-text:\F0B7;
! 	mso-level-tab-stop:85.05pt;
! 	mso-level-number-position:left;
! 	margin-left:85.05pt;
! 	text-indent:-14.15pt;
! 	mso-ansi-font-size:9.0pt;
! 	mso-bidi-font-size:9.0pt;
! 	mso-ascii-font-family:Symbol;
! 	mso-hansi-font-family:Symbol;
! 	mso-bidi-font-family:StarSymbol;}
! @list l11:level7
! 	{mso-level-number-format:bullet;
! 	mso-level-text:\F0B7;
! 	mso-level-tab-stop:99.2pt;
! 	mso-level-number-position:left;
! 	margin-left:99.2pt;
! 	text-indent:-14.15pt;
! 	mso-ansi-font-size:9.0pt;
! 	mso-bidi-font-size:9.0pt;
! 	mso-ascii-font-family:Symbol;
! 	mso-hansi-font-family:Symbol;
! 	mso-bidi-font-family:StarSymbol;}
! @list l11:level8
! 	{mso-level-number-format:bullet;
! 	mso-level-text:\F0B7;
! 	mso-level-tab-stop:113.4pt;
! 	mso-level-number-position:left;
! 	margin-left:113.4pt;
! 	text-indent:-14.15pt;
! 	mso-ansi-font-size:9.0pt;
! 	mso-bidi-font-size:9.0pt;
! 	mso-ascii-font-family:Symbol;
! 	mso-hansi-font-family:Symbol;
! 	mso-bidi-font-family:StarSymbol;}
! @list l11:level9
! 	{mso-level-number-format:bullet;
! 	mso-level-text:\F0B7;
! 	mso-level-tab-stop:127.55pt;
! 	mso-level-number-position:left;
! 	margin-left:127.55pt;
! 	text-indent:-14.15pt;
! 	mso-ansi-font-size:9.0pt;
! 	mso-bidi-font-size:9.0pt;
! 	mso-ascii-font-family:Symbol;
! 	mso-hansi-font-family:Symbol;
! 	mso-bidi-font-family:StarSymbol;}
! @list l12
! 	{mso-list-id:3;
! 	mso-list-template-ids:3;}
! @list l12:level1
! 	{mso-level-number-format:bullet;
! 	mso-level-text:\F0B7;
! 	mso-level-tab-stop:14.15pt;
! 	mso-level-number-position:left;
! 	margin-left:14.15pt;
! 	text-indent:-14.15pt;
! 	mso-ansi-font-size:9.0pt;
! 	mso-bidi-font-size:9.0pt;
! 	mso-ascii-font-family:Symbol;
! 	mso-hansi-font-family:Symbol;
! 	mso-bidi-font-family:StarSymbol;}
! @list l12:level2
! 	{mso-level-number-format:bullet;
! 	mso-level-text:\F0B7;
! 	mso-level-tab-stop:28.35pt;
! 	mso-level-number-position:left;
! 	margin-left:28.35pt;
! 	text-indent:-14.15pt;
! 	mso-ansi-font-size:9.0pt;
! 	mso-bidi-font-size:9.0pt;
! 	mso-ascii-font-family:Symbol;
! 	mso-hansi-font-family:Symbol;
! 	mso-bidi-font-family:StarSymbol;}
! @list l12:level3
! 	{mso-level-number-format:bullet;
! 	mso-level-text:\F0B7;
! 	mso-level-tab-stop:42.5pt;
! 	mso-level-number-position:left;
! 	margin-left:42.5pt;
! 	text-indent:-14.15pt;
! 	mso-ansi-font-size:9.0pt;
! 	mso-bidi-font-size:9.0pt;
! 	mso-ascii-font-family:Symbol;
! 	mso-hansi-font-family:Symbol;
! 	mso-bidi-font-family:StarSymbol;}
! @list l12:level4
! 	{mso-level-number-format:bullet;
! 	mso-level-text:\F0B7;
! 	mso-level-tab-stop:56.7pt;
! 	mso-level-number-position:left;
! 	margin-left:56.7pt;
! 	text-indent:-14.15pt;
! 	mso-ansi-font-size:9.0pt;
! 	mso-bidi-font-size:9.0pt;
! 	mso-ascii-font-family:Symbol;
! 	mso-hansi-font-family:Symbol;
! 	mso-bidi-font-family:StarSymbol;}
! @list l12:level5
! 	{mso-level-number-format:bullet;
! 	mso-level-text:\F0B7;
! 	mso-level-tab-stop:70.85pt;
! 	mso-level-number-position:left;
! 	margin-left:70.85pt;
! 	text-indent:-14.15pt;
! 	mso-ansi-font-size:9.0pt;
! 	mso-bidi-font-size:9.0pt;
! 	mso-ascii-font-family:Symbol;
! 	mso-hansi-font-family:Symbol;
! 	mso-bidi-font-family:StarSymbol;}
! @list l12:level6
! 	{mso-level-number-format:bullet;
! 	mso-level-text:\F0B7;
! 	mso-level-tab-stop:85.05pt;
! 	mso-level-number-position:left;
! 	margin-left:85.05pt;
! 	text-indent:-14.15pt;
! 	mso-ansi-font-size:9.0pt;
! 	mso-bidi-font-size:9.0pt;
! 	mso-ascii-font-family:Symbol;
! 	mso-hansi-font-family:Symbol;
! 	mso-bidi-font-family:StarSymbol;}
! @list l12:level7
! 	{mso-level-number-format:bullet;
! 	mso-level-text:\F0B7;
! 	mso-level-tab-stop:99.2pt;
! 	mso-level-number-position:left;
! 	margin-left:99.2pt;
! 	text-indent:-14.15pt;
! 	mso-ansi-font-size:9.0pt;
! 	mso-bidi-font-size:9.0pt;
! 	mso-ascii-font-family:Symbol;
! 	mso-hansi-font-family:Symbol;
! 	mso-bidi-font-family:StarSymbol;}
! @list l12:level8
! 	{mso-level-number-format:bullet;
! 	mso-level-text:\F0B7;
! 	mso-level-tab-stop:113.4pt;
! 	mso-level-number-position:left;
! 	margin-left:113.4pt;
! 	text-indent:-14.15pt;
! 	mso-ansi-font-size:9.0pt;
! 	mso-bidi-font-size:9.0pt;
! 	mso-ascii-font-family:Symbol;
! 	mso-hansi-font-family:Symbol;
! 	mso-bidi-font-family:StarSymbol;}
! @list l12:level9
! 	{mso-level-number-format:bullet;
! 	mso-level-text:\F0B7;
! 	mso-level-tab-stop:127.55pt;
! 	mso-level-number-position:left;
! 	margin-left:127.55pt;
! 	text-indent:-14.15pt;
! 	mso-ansi-font-size:9.0pt;
! 	mso-bidi-font-size:9.0pt;
! 	mso-ascii-font-family:Symbol;
! 	mso-hansi-font-family:Symbol;
! 	mso-bidi-font-family:StarSymbol;}
! @list l13
! 	{mso-list-id:4;
! 	mso-list-template-ids:4;}
! @list l13:level1
! 	{mso-level-number-format:bullet;
! 	mso-level-text:\F0B7;
! 	mso-level-tab-stop:14.15pt;
! 	mso-level-number-position:left;
! 	margin-left:14.15pt;
! 	text-indent:-14.15pt;
! 	mso-ansi-font-size:9.0pt;
! 	mso-bidi-font-size:9.0pt;
! 	mso-ascii-font-family:Symbol;
! 	mso-hansi-font-family:Symbol;
! 	mso-bidi-font-family:StarSymbol;}
! @list l13:level2
! 	{mso-level-number-format:bullet;
! 	mso-level-text:\F0B7;
! 	mso-level-tab-stop:28.35pt;
! 	mso-level-number-position:left;
! 	margin-left:28.35pt;
! 	text-indent:-14.15pt;
! 	mso-ansi-font-size:9.0pt;
! 	mso-bidi-font-size:9.0pt;
! 	mso-ascii-font-family:Symbol;
! 	mso-hansi-font-family:Symbol;
! 	mso-bidi-font-family:StarSymbol;}
! @list l13:level3
! 	{mso-level-number-format:bullet;
! 	mso-level-text:\F0B7;
! 	mso-level-tab-stop:42.5pt;
! 	mso-level-number-position:left;
! 	margin-left:42.5pt;
! 	text-indent:-14.15pt;
! 	mso-ansi-font-size:9.0pt;
! 	mso-bidi-font-size:9.0pt;
! 	mso-ascii-font-family:Symbol;
! 	mso-hansi-font-family:Symbol;
! 	mso-bidi-font-family:StarSymbol;}
! @list l13:level4
! 	{mso-level-number-format:bullet;
! 	mso-level-text:\F0B7;
! 	mso-level-tab-stop:56.7pt;
! 	mso-level-number-position:left;
! 	margin-left:56.7pt;
! 	text-indent:-14.15pt;
! 	mso-ansi-font-size:9.0pt;
! 	mso-bidi-font-size:9.0pt;
! 	mso-ascii-font-family:Symbol;
! 	mso-hansi-font-family:Symbol;
! 	mso-bidi-font-family:StarSymbol;}
! @list l13:level5
! 	{mso-level-number-format:bullet;
! 	mso-level-text:\F0B7;
! 	mso-level-tab-stop:70.85pt;
! 	mso-level-number-position:left;
! 	margin-left:70.85pt;
! 	text-indent:-14.15pt;
! 	mso-ansi-font-size:9.0pt;
! 	mso-bidi-font-size:9.0pt;
! 	mso-ascii-font-family:Symbol;
! 	mso-hansi-font-family:Symbol;
! 	mso-bidi-font-family:StarSymbol;}
! @list l13:level6
! 	{mso-level-number-format:bullet;
! 	mso-level-text:\F0B7;
! 	mso-level-tab-stop:85.05pt;
! 	mso-level-number-position:left;
! 	margin-left:85.05pt;
! 	text-indent:-14.15pt;
! 	mso-ansi-font-size:9.0pt;
! 	mso-bidi-font-size:9.0pt;
! 	mso-ascii-font-family:Symbol;
! 	mso-hansi-font-family:Symbol;
! 	mso-bidi-font-family:StarSymbol;}
! @list l13:level7
! 	{mso-level-number-format:bullet;
! 	mso-level-text:\F0B7;
! 	mso-level-tab-stop:99.2pt;
! 	mso-level-number-position:left;
! 	margin-left:99.2pt;
! 	text-indent:-14.15pt;
! 	mso-ansi-font-size:9.0pt;
! 	mso-bidi-font-size:9.0pt;
! 	mso-ascii-font-family:Symbol;
! 	mso-hansi-font-family:Symbol;
! 	mso-bidi-font-family:StarSymbol;}
! @list l13:level8
! 	{mso-level-number-format:bullet;
! 	mso-level-text:\F0B7;
! 	mso-level-tab-stop:113.4pt;
! 	mso-level-number-position:left;
! 	margin-left:113.4pt;
! 	text-indent:-14.15pt;
! 	mso-ansi-font-size:9.0pt;
! 	mso-bidi-font-size:9.0pt;
! 	mso-ascii-font-family:Symbol;
! 	mso-hansi-font-family:Symbol;
! 	mso-bidi-font-family:StarSymbol;}
! @list l13:level9
! 	{mso-level-number-format:bullet;
! 	mso-level-text:\F0B7;
! 	mso-level-tab-stop:127.55pt;
! 	mso-level-number-position:left;
! 	margin-left:127.55pt;
! 	text-indent:-14.15pt;
! 	mso-ansi-font-size:9.0pt;
! 	mso-bidi-font-size:9.0pt;
! 	mso-ascii-font-family:Symbol;
! 	mso-hansi-font-family:Symbol;
! 	mso-bidi-font-family:StarSymbol;}
! @list l14
! 	{mso-list-id:5;
! 	mso-list-template-ids:5;}
! @list l14:level1
! 	{mso-level-number-format:bullet;
! 	mso-level-text:\F0B7;
! 	mso-level-tab-stop:14.15pt;
! 	mso-level-number-position:left;
! 	margin-left:14.15pt;
! 	text-indent:-14.15pt;
! 	mso-ansi-font-size:9.0pt;
! 	mso-bidi-font-size:9.0pt;
! 	mso-ascii-font-family:Symbol;
! 	mso-hansi-font-family:Symbol;
! 	mso-bidi-font-family:StarSymbol;}
! @list l14:level2
! 	{mso-level-number-format:bullet;
! 	mso-level-text:\F0B7;
! 	mso-level-tab-stop:28.35pt;
! 	mso-level-number-position:left;
! 	margin-left:28.35pt;
! 	text-indent:-14.15pt;
! 	mso-ansi-font-size:9.0pt;
! 	mso-bidi-font-size:9.0pt;
! 	mso-ascii-font-family:Symbol;
! 	mso-hansi-font-family:Symbol;
! 	mso-bidi-font-family:StarSymbol;}
! @list l14:level3
! 	{mso-level-number-format:bullet;
! 	mso-level-text:\F0B7;
! 	mso-level-tab-stop:42.5pt;
! 	mso-level-number-position:left;
! 	margin-left:42.5pt;
! 	text-indent:-14.15pt;
! 	mso-ansi-font-size:9.0pt;
! 	mso-bidi-font-size:9.0pt;
! 	mso-ascii-font-family:Symbol;
! 	mso-hansi-font-family:Symbol;
! 	mso-bidi-font-family:StarSymbol;}
! @list l14:level4
! 	{mso-level-number-format:bullet;
! 	mso-level-text:\F0B7;
! 	mso-level-tab-stop:56.7pt;
! 	mso-level-number-position:left;
! 	margin-left:56.7pt;
! 	text-indent:-14.15pt;
! 	mso-ansi-font-size:9.0pt;
! 	mso-bidi-font-size:9.0pt;
! 	mso-ascii-font-family:Symbol;
! 	mso-hansi-font-family:Symbol;
! 	mso-bidi-font-family:StarSymbol;}
! @list l14:level5
! 	{mso-level-number-format:bullet;
! 	mso-level-text:\F0B7;
! 	mso-level-tab-stop:70.85pt;
! 	mso-level-number-position:left;
! 	margin-left:70.85pt;
! 	text-indent:-14.15pt;
! 	mso-ansi-font-size:9.0pt;
! 	mso-bidi-font-size:9.0pt;
! 	mso-ascii-font-family:Symbol;
! 	mso-hansi-font-family:Symbol;
! 	mso-bidi-font-family:StarSymbol;}
! @list l14:level6
! 	{mso-level-number-format:bullet;
! 	mso-level-text:\F0B7;
! 	mso-level-tab-stop:85.05pt;
! 	mso-level-number-position:left;
! 	margin-left:85.05pt;
! 	text-indent:-14.15pt;
! 	mso-ansi-font-size:9.0pt;
! 	mso-bidi-font-size:9.0pt;
! 	mso-ascii-font-family:Symbol;
! 	mso-hansi-font-family:Symbol;
! 	mso-bidi-font-family:StarSymbol;}
! @list l14:level7
! 	{mso-level-number-format:bullet;
! 	mso-level-text:\F0B7;
! 	mso-level-tab-stop:99.2pt;
! 	mso-level-number-position:left;
! 	margin-left:99.2pt;
! 	text-indent:-14.15pt;
! 	mso-ansi-font-size:9.0pt;
! 	mso-bidi-font-size:9.0pt;
! 	mso-ascii-font-family:Symbol;
! 	mso-hansi-font-family:Symbol;
! 	mso-bidi-font-family:StarSymbol;}
! @list l14:level8
! 	{mso-level-number-format:bullet;
! 	mso-level-text:\F0B7;
! 	mso-level-tab-stop:113.4pt;
! 	mso-level-number-position:left;
! 	margin-left:113.4pt;
! 	text-indent:-14.15pt;
! 	mso-ansi-font-size:9.0pt;
! 	mso-bidi-font-size:9.0pt;
! 	mso-ascii-font-family:Symbol;
! 	mso-hansi-font-family:Symbol;
! 	mso-bidi-font-family:StarSymbol;}
! @list l14:level9
! 	{mso-level-number-format:bullet;
! 	mso-level-text:\F0B7;
! 	mso-level-tab-stop:127.55pt;
! 	mso-level-number-position:left;
! 	margin-left:127.55pt;
! 	text-indent:-14.15pt;
! 	mso-ansi-font-size:9.0pt;
! 	mso-bidi-font-size:9.0pt;
! 	mso-ascii-font-family:Symbol;
! 	mso-hansi-font-family:Symbol;
! 	mso-bidi-font-family:StarSymbol;}
! @list l15
! 	{mso-list-id:6;
! 	mso-list-template-ids:6;}
! @list l15:level1
! 	{mso-level-number-format:bullet;
! 	mso-level-text:\F0B7;
! 	mso-level-tab-stop:14.15pt;
! 	mso-level-number-position:left;
! 	margin-left:14.15pt;
! 	text-indent:-14.15pt;
! 	mso-ansi-font-size:9.0pt;
! 	mso-bidi-font-size:9.0pt;
! 	mso-ascii-font-family:Symbol;
! 	mso-hansi-font-family:Symbol;
! 	mso-bidi-font-family:StarSymbol;}
! @list l15:level2
! 	{mso-level-number-format:bullet;
! 	mso-level-text:\F0B7;
! 	mso-level-tab-stop:28.35pt;
! 	mso-level-number-position:left;
! 	margin-left:28.35pt;
! 	text-indent:-14.15pt;
! 	mso-ansi-font-size:9.0pt;
! 	mso-bidi-font-size:9.0pt;
! 	mso-ascii-font-family:Symbol;
! 	mso-hansi-font-family:Symbol;
! 	mso-bidi-font-family:StarSymbol;}
! @list l15:level3
! 	{mso-level-number-format:bullet;
! 	mso-level-text:\F0B7;
! 	mso-level-tab-stop:42.5pt;
! 	mso-level-number-position:left;
! 	margin-left:42.5pt;
! 	text-indent:-14.15pt;
! 	mso-ansi-font-size:9.0pt;
! 	mso-bidi-font-size:9.0pt;
! 	mso-ascii-font-family:Symbol;
! 	mso-hansi-font-family:Symbol;
! 	mso-bidi-font-family:StarSymbol;}
! @list l15:level4
! 	{mso-level-number-format:bullet;
! 	mso-level-text:\F0B7;
! 	mso-level-tab-stop:56.7pt;
! 	mso-level-number-position:left;
! 	margin-left:56.7pt;
! 	text-indent:-14.15pt;
! 	mso-ansi-font-size:9.0pt;
! 	mso-bidi-font-size:9.0pt;
! 	mso-ascii-font-family:Symbol;
! 	mso-hansi-font-family:Symbol;
! 	mso-bidi-font-family:StarSymbol;}
! @list l15:level5
! 	{mso-level-number-format:bullet;
! 	mso-level-text:\F0B7;
! 	mso-level-tab-stop:70.85pt;
! 	mso-level-number-position:left;
! 	margin-left:70.85pt;
! 	text-indent:-14.15pt;
! 	mso-ansi-font-size:9.0pt;
! 	mso-bidi-font-size:9.0pt;
! 	mso-ascii-font-family:Symbol;
! 	mso-hansi-font-family:Symbol;
! 	mso-bidi-font-family:StarSymbol;}
! @list l15:level6
! 	{mso-level-number-format:bullet;
! 	mso-level-text:\F0B7;
! 	mso-level-tab-stop:85.05pt;
! 	mso-level-number-position:left;
! 	margin-left:85.05pt;
! 	text-indent:-14.15pt;
! 	mso-ansi-font-size:9.0pt;
! 	mso-bidi-font-size:9.0pt;
! 	mso-ascii-font-family:Symbol;
! 	mso-hansi-font-family:Symbol;
! 	mso-bidi-font-family:StarSymbol;}
! @list l15:level7
! 	{mso-level-number-format:bullet;
! 	mso-level-text:\F0B7;
! 	mso-level-tab-stop:99.2pt;
! 	mso-level-number-position:left;
! 	margin-left:99.2pt;
! 	text-indent:-14.15pt;
! 	mso-ansi-font-size:9.0pt;
! 	mso-bidi-font-size:9.0pt;
! 	mso-ascii-font-family:Symbol;
! 	mso-hansi-font-family:Symbol;
! 	mso-bidi-font-family:StarSymbol;}
! @list l15:level8
! 	{mso-level-number-format:bullet;
! 	mso-level-text:\F0B7;
! 	mso-level-tab-stop:113.4pt;
! 	mso-level-number-position:left;
! 	margin-left:113.4pt;
! 	text-indent:-14.15pt;
! 	mso-ansi-font-size:9.0pt;
! 	mso-bidi-font-size:9.0pt;
! 	mso-ascii-font-family:Symbol;
! 	mso-hansi-font-family:Symbol;
! 	mso-bidi-font-family:StarSymbol;}
! @list l15:level9
! 	{mso-level-number-format:bullet;
! 	mso-level-text:\F0B7;
! 	mso-level-tab-stop:127.55pt;
! 	mso-level-number-position:left;
! 	margin-left:127.55pt;
! 	text-indent:-14.15pt;
! 	mso-ansi-font-size:9.0pt;
! 	mso-bidi-font-size:9.0pt;
! 	mso-ascii-font-family:Symbol;
! 	mso-hansi-font-family:Symbol;
! 	mso-bidi-font-family:StarSymbol;}
! @list l16
! 	{mso-list-id:7;
! 	mso-list-template-ids:7;}
! @list l16:level1
! 	{mso-level-number-format:bullet;
! 	mso-level-text:\F0B7;
! 	mso-level-tab-stop:14.15pt;
! 	mso-level-number-position:left;
! 	margin-left:14.15pt;
! 	text-indent:-14.15pt;
! 	mso-ansi-font-size:9.0pt;
! 	mso-bidi-font-size:9.0pt;
! 	mso-ascii-font-family:Symbol;
! 	mso-hansi-font-family:Symbol;
! 	mso-bidi-font-family:StarSymbol;}
! @list l16:level2
! 	{mso-level-number-format:bullet;
! 	mso-level-text:\F0B7;
! 	mso-level-tab-stop:28.35pt;
! 	mso-level-number-position:left;
! 	margin-left:28.35pt;
! 	text-indent:-14.15pt;
! 	mso-ansi-font-size:9.0pt;
! 	mso-bidi-font-size:9.0pt;
! 	mso-ascii-font-family:Symbol;
! 	mso-hansi-font-family:Symbol;
! 	mso-bidi-font-family:StarSymbol;}
! @list l16:level3
! 	{mso-level-number-format:bullet;
! 	mso-level-text:\F0B7;
! 	mso-level-tab-stop:42.5pt;
! 	mso-level-number-position:left;
! 	margin-left:42.5pt;
! 	text-indent:-14.15pt;
! 	mso-ansi-font-size:9.0pt;
! 	mso-bidi-font-size:9.0pt;
! 	mso-ascii-font-family:Symbol;
! 	mso-hansi-font-family:Symbol;
! 	mso-bidi-font-family:StarSymbol;}
! @list l16:level4
! 	{mso-level-number-format:bullet;
! 	mso-level-text:\F0B7;
! 	mso-level-tab-stop:56.7pt;
! 	mso-level-number-position:left;
! 	margin-left:56.7pt;
! 	text-indent:-14.15pt;
! 	mso-ansi-font-size:9.0pt;
! 	mso-bidi-font-size:9.0pt;
! 	mso-ascii-font-family:Symbol;
! 	mso-hansi-font-family:Symbol;
! 	mso-bidi-font-family:StarSymbol;}
! @list l16:level5
! 	{mso-level-number-format:bullet;
! 	mso-level-text:\F0B7;
! 	mso-level-tab-stop:70.85pt;
! 	mso-level-number-position:left;
! 	margin-left:70.85pt;
! 	text-indent:-14.15pt;
! 	mso-ansi-font-size:9.0pt;
! 	mso-bidi-font-size:9.0pt;
! 	mso-ascii-font-family:Symbol;
! 	mso-hansi-font-family:Symbol;
! 	mso-bidi-font-family:StarSymbol;}
! @list l16:level6
! 	{mso-level-number-format:bullet;
! 	mso-level-text:\F0B7;
! 	mso-level-tab-stop:85.05pt;
! 	mso-level-number-position:left;
! 	margin-left:85.05pt;
! 	text-indent:-14.15pt;
! 	mso-ansi-font-size:9.0pt;
! 	mso-bidi-font-size:9.0pt;
! 	mso-ascii-font-family:Symbol;
! 	mso-hansi-font-family:Symbol;
! 	mso-bidi-font-family:StarSymbol;}
! @list l16:level7
! 	{mso-level-number-format:bullet;
! 	mso-level-text:\F0B7;
! 	mso-level-tab-stop:99.2pt;
! 	mso-level-number-position:left;
! 	margin-left:99.2pt;
! 	text-indent:-14.15pt;
! 	mso-ansi-font-size:9.0pt;
! 	mso-bidi-font-size:9.0pt;
! 	mso-ascii-font-family:Symbol;
! 	mso-hansi-font-family:Symbol;
! 	mso-bidi-font-family:StarSymbol;}
! @list l16:level8
! 	{mso-level-number-format:bullet;
! 	mso-level-text:\F0B7;
! 	mso-level-tab-stop:113.4pt;
! 	mso-level-number-position:left;
! 	margin-left:113.4pt;
! 	text-indent:-14.15pt;
! 	mso-ansi-font-size:9.0pt;
! 	mso-bidi-font-size:9.0pt;
! 	mso-ascii-font-family:Symbol;
! 	mso-hansi-font-family:Symbol;
! 	mso-bidi-font-family:StarSymbol;}
! @list l16:level9
! 	{mso-level-number-format:bullet;
! 	mso-level-text:\F0B7;
! 	mso-level-tab-stop:127.55pt;
! 	mso-level-number-position:left;
! 	margin-left:127.55pt;
! 	text-indent:-14.15pt;
! 	mso-ansi-font-size:9.0pt;
! 	mso-bidi-font-size:9.0pt;
! 	mso-ascii-font-family:Symbol;
! 	mso-hansi-font-family:Symbol;
! 	mso-bidi-font-family:StarSymbol;}
! @list l17
! 	{mso-list-id:8;
! 	mso-list-template-ids:8;}
! @list l17:level1
! 	{mso-level-number-format:bullet;
! 	mso-level-text:\F0B7;
! 	mso-level-tab-stop:14.15pt;
! 	mso-level-number-position:left;
! 	margin-left:14.15pt;
! 	text-indent:-14.15pt;
! 	mso-ansi-font-size:9.0pt;
! 	mso-bidi-font-size:9.0pt;
! 	mso-ascii-font-family:Symbol;
! 	mso-hansi-font-family:Symbol;
! 	mso-bidi-font-family:StarSymbol;}
! @list l17:level2
! 	{mso-level-number-format:bullet;
! 	mso-level-text:\F0B7;
! 	mso-level-tab-stop:28.35pt;
! 	mso-level-number-position:left;
! 	margin-left:28.35pt;
! 	text-indent:-14.15pt;
! 	mso-ansi-font-size:9.0pt;
! 	mso-bidi-font-size:9.0pt;
! 	mso-ascii-font-family:Symbol;
! 	mso-hansi-font-family:Symbol;
! 	mso-bidi-font-family:StarSymbol;}
! @list l17:level3
! 	{mso-level-number-format:bullet;
! 	mso-level-text:\F0B7;
! 	mso-level-tab-stop:42.5pt;
! 	mso-level-number-position:left;
! 	margin-left:42.5pt;
! 	text-indent:-14.15pt;
! 	mso-ansi-font-size:9.0pt;
! 	mso-bidi-font-size:9.0pt;
! 	mso-ascii-font-family:Symbol;
! 	mso-hansi-font-family:Symbol;
! 	mso-bidi-font-family:StarSymbol;}
! @list l17:level4
! 	{mso-level-number-format:bullet;
! 	mso-level-text:\F0B7;
! 	mso-level-tab-stop:56.7pt;
! 	mso-level-number-position:left;
! 	margin-left:56.7pt;
! 	text-indent:-14.15pt;
! 	mso-ansi-font-size:9.0pt;
! 	mso-bidi-font-size:9.0pt;
! 	mso-ascii-font-family:Symbol;
! 	mso-hansi-font-family:Symbol;
! 	mso-bidi-font-family:StarSymbol;}
! @list l17:level5
! 	{mso-level-number-format:bullet;
! 	mso-level-text:\F0B7;
! 	mso-level-tab-stop:70.85pt;
! 	mso-level-number-position:left;
! 	margin-left:70.85pt;
! 	text-indent:-14.15pt;
! 	mso-ansi-font-size:9.0pt;
! 	mso-bidi-font-size:9.0pt;
! 	mso-ascii-font-family:Symbol;
! 	mso-hansi-font-family:Symbol;
! 	mso-bidi-font-family:StarSymbol;}
! @list l17:level6
! 	{mso-level-number-format:bullet;
! 	mso-level-text:\F0B7;
! 	mso-level-tab-stop:85.05pt;
! 	mso-level-number-position:left;
! 	margin-left:85.05pt;
! 	text-indent:-14.15pt;
! 	mso-ansi-font-size:9.0pt;
! 	mso-bidi-font-size:9.0pt;
! 	mso-ascii-font-family:Symbol;
! 	mso-hansi-font-family:Symbol;
! 	mso-bidi-font-family:StarSymbol;}
! @list l17:level7
! 	{mso-level-number-format:bullet;
! 	mso-level-text:\F0B7;
! 	mso-level-tab-stop:99.2pt;
! 	mso-level-number-position:left;
! 	margin-left:99.2pt;
! 	text-indent:-14.15pt;
! 	mso-ansi-font-size:9.0pt;
! 	mso-bidi-font-size:9.0pt;
! 	mso-ascii-font-family:Symbol;
! 	mso-hansi-font-family:Symbol;
! 	mso-bidi-font-family:StarSymbol;}
! @list l17:level8
! 	{mso-level-number-format:bullet;
! 	mso-level-text:\F0B7;
! 	mso-level-tab-stop:113.4pt;
! 	mso-level-number-position:left;
! 	margin-left:113.4pt;
! 	text-indent:-14.15pt;
! 	mso-ansi-font-size:9.0pt;
! 	mso-bidi-font-size:9.0pt;
! 	mso-ascii-font-family:Symbol;
! 	mso-hansi-font-family:Symbol;
! 	mso-bidi-font-family:StarSymbol;}
! @list l17:level9
! 	{mso-level-number-format:bullet;
! 	mso-level-text:\F0B7;
! 	mso-level-tab-stop:127.55pt;
! 	mso-level-number-position:left;
! 	margin-left:127.55pt;
! 	text-indent:-14.15pt;
! 	mso-ansi-font-size:9.0pt;
! 	mso-bidi-font-size:9.0pt;
! 	mso-ascii-font-family:Symbol;
! 	mso-hansi-font-family:Symbol;
! 	mso-bidi-font-family:StarSymbol;}
! @list l18
! 	{mso-list-id:9;
! 	mso-list-template-ids:9;}
! @list l18:level1
! 	{mso-level-number-format:bullet;
! 	mso-level-text:\F0B7;
! 	mso-level-tab-stop:14.15pt;
! 	mso-level-number-position:left;
! 	margin-left:14.15pt;
! 	text-indent:-14.15pt;
! 	mso-ansi-font-size:9.0pt;
! 	mso-bidi-font-size:9.0pt;
! 	mso-ascii-font-family:Symbol;
! 	mso-hansi-font-family:Symbol;
! 	mso-bidi-font-family:StarSymbol;}
! @list l18:level2
! 	{mso-level-number-format:bullet;
! 	mso-level-text:\F0B7;
! 	mso-level-tab-stop:28.35pt;
! 	mso-level-number-position:left;
! 	margin-left:28.35pt;
! 	text-indent:-14.15pt;
! 	mso-ansi-font-size:9.0pt;
! 	mso-bidi-font-size:9.0pt;
! 	mso-ascii-font-family:Symbol;
! 	mso-hansi-font-family:Symbol;
! 	mso-bidi-font-family:StarSymbol;}
! @list l18:level3
! 	{mso-level-number-format:bullet;
! 	mso-level-text:\F0B7;
! 	mso-level-tab-stop:42.5pt;
! 	mso-level-number-position:left;
! 	margin-left:42.5pt;
! 	text-indent:-14.15pt;
! 	mso-ansi-font-size:9.0pt;
! 	mso-bidi-font-size:9.0pt;
! 	mso-ascii-font-family:Symbol;
! 	mso-hansi-font-family:Symbol;
! 	mso-bidi-font-family:StarSymbol;}
! @list l18:level4
! 	{mso-level-number-format:bullet;
! 	mso-level-text:\F0B7;
! 	mso-level-tab-stop:56.7pt;
! 	mso-level-number-position:left;
! 	margin-left:56.7pt;
! 	text-indent:-14.15pt;
! 	mso-ansi-font-size:9.0pt;
! 	mso-bidi-font-size:9.0pt;
! 	mso-ascii-font-family:Symbol;
! 	mso-hansi-font-family:Symbol;
! 	mso-bidi-font-family:StarSymbol;}
! @list l18:level5
! 	{mso-level-number-format:bullet;
! 	mso-level-text:\F0B7;
! 	mso-level-tab-stop:70.85pt;
! 	mso-level-number-position:left;
! 	margin-left:70.85pt;
! 	text-indent:-14.15pt;
! 	mso-ansi-font-size:9.0pt;
! 	mso-bidi-font-size:9.0pt;
! 	mso-ascii-font-family:Symbol;
! 	mso-hansi-font-family:Symbol;
! 	mso-bidi-font-family:StarSymbol;}
! @list l18:level6
! 	{mso-level-number-format:bullet;
! 	mso-level-text:\F0B7;
! 	mso-level-tab-stop:85.05pt;
! 	mso-level-number-position:left;
! 	margin-left:85.05pt;
! 	text-indent:-14.15pt;
! 	mso-ansi-font-size:9.0pt;
! 	mso-bidi-font-size:9.0pt;
! 	mso-ascii-font-family:Symbol;
! 	mso-hansi-font-family:Symbol;
! 	mso-bidi-font-family:StarSymbol;}
! @list l18:level7
! 	{mso-level-number-format:bullet;
! 	mso-level-text:\F0B7;
! 	mso-level-tab-stop:99.2pt;
! 	mso-level-number-position:left;
! 	margin-left:99.2pt;
! 	text-indent:-14.15pt;
! 	mso-ansi-font-size:9.0pt;
! 	mso-bidi-font-size:9.0pt;
! 	mso-ascii-font-family:Symbol;
! 	mso-hansi-font-family:Symbol;
! 	mso-bidi-font-family:StarSymbol;}
! @list l18:level8
! 	{mso-level-number-format:bullet;
! 	mso-level-text:\F0B7;
! 	mso-level-tab-stop:113.4pt;
! 	mso-level-number-position:left;
! 	margin-left:113.4pt;
! 	text-indent:-14.15pt;
! 	mso-ansi-font-size:9.0pt;
! 	mso-bidi-font-size:9.0pt;
! 	mso-ascii-font-family:Symbol;
! 	mso-hansi-font-family:Symbol;
! 	mso-bidi-font-family:StarSymbol;}
! @list l18:level9
! 	{mso-level-number-format:bullet;
! 	mso-level-text:\F0B7;
! 	mso-level-tab-stop:127.55pt;
! 	mso-level-number-position:left;
! 	margin-left:127.55pt;
! 	text-indent:-14.15pt;
! 	mso-ansi-font-size:9.0pt;
! 	mso-bidi-font-size:9.0pt;
! 	mso-ascii-font-family:Symbol;
! 	mso-hansi-font-family:Symbol;
! 	mso-bidi-font-family:StarSymbol;}
! @list l19
! 	{mso-list-id:10;
! 	mso-list-template-ids:10;}
! @list l19:level1
! 	{mso-level-number-format:bullet;
! 	mso-level-text:\F0B7;
! 	mso-level-tab-stop:14.15pt;
! 	mso-level-number-position:left;
! 	margin-left:14.15pt;
! 	text-indent:-14.15pt;
! 	mso-ansi-font-size:9.0pt;
! 	mso-bidi-font-size:9.0pt;
! 	mso-ascii-font-family:Symbol;
! 	mso-hansi-font-family:Symbol;
! 	mso-bidi-font-family:StarSymbol;}
! @list l19:level2
! 	{mso-level-number-format:bullet;
! 	mso-level-text:\F0B7;
! 	mso-level-tab-stop:28.35pt;
! 	mso-level-number-position:left;
! 	margin-left:28.35pt;
! 	text-indent:-14.15pt;
! 	mso-ansi-font-size:9.0pt;
! 	mso-bidi-font-size:9.0pt;
! 	mso-ascii-font-family:Symbol;
! 	mso-hansi-font-family:Symbol;
! 	mso-bidi-font-family:StarSymbol;}
! @list l19:level3
! 	{mso-level-number-format:bullet;
! 	mso-level-text:\F0B7;
! 	mso-level-tab-stop:42.5pt;
! 	mso-level-number-position:left;
! 	margin-left:42.5pt;
! 	text-indent:-14.15pt;
! 	mso-ansi-font-size:9.0pt;
! 	mso-bidi-font-size:9.0pt;
! 	mso-ascii-font-family:Symbol;
! 	mso-hansi-font-family:Symbol;
! 	mso-bidi-font-family:StarSymbol;}
! @list l19:level4
! 	{mso-level-number-format:bullet;
! 	mso-level-text:\F0B7;
! 	mso-level-tab-stop:56.7pt;
! 	mso-level-number-position:left;
! 	margin-left:56.7pt;
! 	text-indent:-14.15pt;
! 	mso-ansi-font-size:9.0pt;
! 	mso-bidi-font-size:9.0pt;
! 	mso-ascii-font-family:Symbol;
! 	mso-hansi-font-family:Symbol;
! 	mso-bidi-font-family:StarSymbol;}
! @list l19:level5
! 	{mso-level-number-format:bullet;
! 	mso-level-text:\F0B7;
! 	mso-level-tab-stop:70.85pt;
! 	mso-level-number-position:left;
! 	margin-left:70.85pt;
! 	text-indent:-14.15pt;
! 	mso-ansi-font-size:9.0pt;
! 	mso-bidi-font-size:9.0pt;
! 	mso-ascii-font-family:Symbol;
! 	mso-hansi-font-family:Symbol;
! 	mso-bidi-font-family:StarSymbol;}
! @list l19:level6
! 	{mso-level-number-format:bullet;
! 	mso-level-text:\F0B7;
! 	mso-level-tab-stop:85.05pt;
! 	mso-level-number-position:left;
! 	margin-left:85.05pt;
! 	text-indent:-14.15pt;
! 	mso-ansi-font-size:9.0pt;
! 	mso-bidi-font-size:9.0pt;
! 	mso-ascii-font-family:Symbol;
! 	mso-hansi-font-family:Symbol;
! 	mso-bidi-font-family:StarSymbol;}
! @list l19:level7
! 	{mso-level-number-format:bullet;
! 	mso-level-text:\F0B7;
! 	mso-level-tab-stop:99.2pt;
! 	mso-level-number-position:left;
! 	margin-left:99.2pt;
! 	text-indent:-14.15pt;
! 	mso-ansi-font-size:9.0pt;
! 	mso-bidi-font-size:9.0pt;
! 	mso-ascii-font-family:Symbol;
! 	mso-hansi-font-family:Symbol;
! 	mso-bidi-font-family:StarSymbol;}
! @list l19:level8
! 	{mso-level-number-format:bullet;
! 	mso-level-text:\F0B7;
! 	mso-level-tab-stop:113.4pt;
! 	mso-level-number-position:left;
! 	margin-left:113.4pt;
! 	text-indent:-14.15pt;
! 	mso-ansi-font-size:9.0pt;
! 	mso-bidi-font-size:9.0pt;
! 	mso-ascii-font-family:Symbol;
! 	mso-hansi-font-family:Symbol;
! 	mso-bidi-font-family:StarSymbol;}
! @list l19:level9
! 	{mso-level-number-format:bullet;
! 	mso-level-text:\F0B7;
! 	mso-level-tab-stop:127.55pt;
! 	mso-level-number-position:left;
! 	margin-left:127.55pt;
! 	text-indent:-14.15pt;
! 	mso-ansi-font-size:9.0pt;
! 	mso-bidi-font-size:9.0pt;
! 	mso-ascii-font-family:Symbol;
! 	mso-hansi-font-family:Symbol;
! 	mso-bidi-font-family:StarSymbol;}
! @list l20
! 	{mso-list-id:11;
! 	mso-list-template-ids:11;}
! @list l20:level1
! 	{mso-level-number-format:bullet;
! 	mso-level-text:\F0B7;
! 	mso-level-tab-stop:14.15pt;
! 	mso-level-number-position:left;
! 	margin-left:14.15pt;
! 	text-indent:-14.15pt;
! 	mso-ansi-font-size:9.0pt;
! 	mso-bidi-font-size:9.0pt;
! 	mso-ascii-font-family:Symbol;
! 	mso-hansi-font-family:Symbol;
! 	mso-bidi-font-family:StarSymbol;}
! @list l20:level2
! 	{mso-level-number-format:bullet;
! 	mso-level-text:\F0B7;
! 	mso-level-tab-stop:28.35pt;
! 	mso-level-number-position:left;
! 	margin-left:28.35pt;
! 	text-indent:-14.15pt;
! 	mso-ansi-font-size:9.0pt;
! 	mso-bidi-font-size:9.0pt;
! 	mso-ascii-font-family:Symbol;
! 	mso-hansi-font-family:Symbol;
! 	mso-bidi-font-family:StarSymbol;}
! @list l20:level3
! 	{mso-level-number-format:bullet;
! 	mso-level-text:\F0B7;
! 	mso-level-tab-stop:42.5pt;
! 	mso-level-number-position:left;
! 	margin-left:42.5pt;
! 	text-indent:-14.15pt;
! 	mso-ansi-font-size:9.0pt;
! 	mso-bidi-font-size:9.0pt;
! 	mso-ascii-font-family:Symbol;
! 	mso-hansi-font-family:Symbol;
! 	mso-bidi-font-family:StarSymbol;}
! @list l20:level4
! 	{mso-level-number-format:bullet;
! 	mso-level-text:\F0B7;
! 	mso-level-tab-stop:56.7pt;
! 	mso-level-number-position:left;
! 	margin-left:56.7pt;
! 	text-indent:-14.15pt;
! 	mso-ansi-font-size:9.0pt;
! 	mso-bidi-font-size:9.0pt;
! 	mso-ascii-font-family:Symbol;
! 	mso-hansi-font-family:Symbol;
! 	mso-bidi-font-family:StarSymbol;}
! @list l20:level5
! 	{mso-level-number-format:bullet;
! 	mso-level-text:\F0B7;
! 	mso-level-tab-stop:70.85pt;
! 	mso-level-number-position:left;
! 	margin-left:70.85pt;
! 	text-indent:-14.15pt;
! 	mso-ansi-font-size:9.0pt;
! 	mso-bidi-font-size:9.0pt;
! 	mso-ascii-font-family:Symbol;
! 	mso-hansi-font-family:Symbol;
! 	mso-bidi-font-family:StarSymbol;}
! @list l20:level6
! 	{mso-level-number-format:bullet;
! 	mso-level-text:\F0B7;
! 	mso-level-tab-stop:85.05pt;
! 	mso-level-number-position:left;
! 	margin-left:85.05pt;
! 	text-indent:-14.15pt;
! 	mso-ansi-font-size:9.0pt;
! 	mso-bidi-font-size:9.0pt;
! 	mso-ascii-font-family:Symbol;
! 	mso-hansi-font-family:Symbol;
! 	mso-bidi-font-family:StarSymbol;}
! @list l20:level7
! 	{mso-level-number-format:bullet;
! 	mso-level-text:\F0B7;
! 	mso-level-tab-stop:99.2pt;
! 	mso-level-number-position:left;
! 	margin-left:99.2pt;
! 	text-indent:-14.15pt;
! 	mso-ansi-font-size:9.0pt;
! 	mso-bidi-font-size:9.0pt;
! 	mso-ascii-font-family:Symbol;
! 	mso-hansi-font-family:Symbol;
! 	mso-bidi-font-family:StarSymbol;}
! @list l20:level8
! 	{mso-level-number-format:bullet;
! 	mso-level-text:\F0B7;
! 	mso-level-tab-stop:113.4pt;
! 	mso-level-number-position:left;
! 	margin-left:113.4pt;
! 	text-indent:-14.15pt;
! 	mso-ansi-font-size:9.0pt;
! 	mso-bidi-font-size:9.0pt;
! 	mso-ascii-font-family:Symbol;
! 	mso-hansi-font-family:Symbol;
! 	mso-bidi-font-family:StarSymbol;}
! @list l20:level9
! 	{mso-level-number-format:bullet;
! 	mso-level-text:\F0B7;
! 	mso-level-tab-stop:127.55pt;
! 	mso-level-number-position:left;
! 	margin-left:127.55pt;
! 	text-indent:-14.15pt;
! 	mso-ansi-font-size:9.0pt;
! 	mso-bidi-font-size:9.0pt;
! 	mso-ascii-font-family:Symbol;
! 	mso-hansi-font-family:Symbol;
! 	mso-bidi-font-family:StarSymbol;}
! @list l21
! 	{mso-list-id:12;
! 	mso-list-template-ids:12;}
! @list l21:level1
! 	{mso-level-number-format:none;
! 	mso-level-text:"";
! 	mso-level-tab-stop:0pt;
! 	mso-level-number-position:left;
! 	margin-left:0pt;
! 	text-indent:0pt;}
! @list l21:level2
! 	{mso-level-number-format:none;
! 	mso-level-text:"";
! 	mso-level-tab-stop:0pt;
! 	mso-level-number-position:left;
! 	margin-left:0pt;
! 	text-indent:0pt;}
! @list l21:level3
! 	{mso-level-number-format:none;
! 	mso-level-text:"";
! 	mso-level-tab-stop:0pt;
! 	mso-level-number-position:left;
! 	margin-left:0pt;
! 	text-indent:0pt;}
! @list l21:level4
! 	{mso-level-number-format:none;
! 	mso-level-text:"";
! 	mso-level-tab-stop:0pt;
! 	mso-level-number-position:left;
! 	margin-left:0pt;
! 	text-indent:0pt;}
! @list l21:level5
! 	{mso-level-number-format:none;
! 	mso-level-text:"";
! 	mso-level-tab-stop:0pt;
! 	mso-level-number-position:left;
! 	margin-left:0pt;
! 	text-indent:0pt;}
! @list l21:level6
! 	{mso-level-number-format:none;
! 	mso-level-text:"";
! 	mso-level-tab-stop:0pt;
! 	mso-level-number-position:left;
! 	margin-left:0pt;
! 	text-indent:0pt;}
! @list l21:level7
! 	{mso-level-number-format:none;
! 	mso-level-text:"";
! 	mso-level-tab-stop:0pt;
! 	mso-level-number-position:left;
! 	margin-left:0pt;
! 	text-indent:0pt;}
! @list l21:level8
! 	{mso-level-number-format:none;
! 	mso-level-text:"";
! 	mso-level-tab-stop:0pt;
! 	mso-level-number-position:left;
! 	margin-left:0pt;
! 	text-indent:0pt;}
! @list l21:level9
! 	{mso-level-number-format:none;
! 	mso-level-text:"";
! 	mso-level-tab-stop:0pt;
! 	mso-level-number-position:left;
! 	margin-left:0pt;
! 	text-indent:0pt;}
! @list l22
! 	{mso-list-id:116531205;
! 	mso-list-template-ids:-1288027304;}
! @list l22:level1
! 	{mso-level-text:"%1\)";
! 	mso-level-tab-stop:36.0pt;
! 	mso-level-number-position:left;
! 	text-indent:-18.0pt;}
! @list l23
! 	{mso-list-id:276641855;
! 	mso-list-template-ids:67698719;}
! @list l23:level1
! 	{mso-level-tab-stop:18.0pt;
! 	mso-level-number-position:left;
! 	margin-left:18.0pt;
! 	text-indent:-18.0pt;}
! @list l23:level2
! 	{mso-level-text:"%1\.%2\.";
! 	mso-level-tab-stop:39.6pt;
! 	mso-level-number-position:left;
! 	margin-left:39.6pt;
! 	text-indent:-21.6pt;}
! @list l23:level3
! 	{mso-level-text:"%1\.%2\.%3\.";
! 	mso-level-tab-stop:72.0pt;
! 	mso-level-number-position:left;
! 	margin-left:61.2pt;
! 	text-indent:-25.2pt;}
! @list l23:level4
! 	{mso-level-text:"%1\.%2\.%3\.%4\.";
! 	mso-level-tab-stop:90.0pt;
! 	mso-level-number-position:left;
! 	margin-left:86.4pt;
! 	text-indent:-32.4pt;}
! @list l23:level5
! 	{mso-level-text:"%1\.%2\.%3\.%4\.%5\.";
! 	mso-level-tab-stop:126.0pt;
! 	mso-level-number-position:left;
! 	margin-left:111.6pt;
! 	text-indent:-39.6pt;}
! @list l23:level6
! 	{mso-level-text:"%1\.%2\.%3\.%4\.%5\.%6\.";
! 	mso-level-tab-stop:144.0pt;
! 	mso-level-number-position:left;
! 	margin-left:136.8pt;
! 	text-indent:-46.8pt;}
! @list l23:level7
! 	{mso-level-text:"%1\.%2\.%3\.%4\.%5\.%6\.%7\.";
! 	mso-level-tab-stop:180.0pt;
! 	mso-level-number-position:left;
! 	margin-left:162.0pt;
! 	text-indent:-54.0pt;}
! @list l23:level8
! 	{mso-level-text:"%1\.%2\.%3\.%4\.%5\.%6\.%7\.%8\.";
! 	mso-level-tab-stop:198.0pt;
! 	mso-level-number-position:left;
! 	margin-left:187.2pt;
! 	text-indent:-61.2pt;}
! @list l23:level9
! 	{mso-level-text:"%1\.%2\.%3\.%4\.%5\.%6\.%7\.%8\.%9\.";
! 	mso-level-tab-stop:234.0pt;
! 	mso-level-number-position:left;
! 	margin-left:216.0pt;
! 	text-indent:-72.0pt;}
! @list l24
! 	{mso-list-id:291328403;
! 	mso-list-template-ids:1148726518;}
! @list l24:level1
! 	{mso-level-tab-stop:18.0pt;
! 	mso-level-number-position:left;
! 	margin-left:18.0pt;
! 	text-indent:-18.0pt;
! 	mso-ansi-font-size:9.0pt;
! 	mso-bidi-font-size:9.0pt;}
! @list l24:level2
! 	{mso-level-number-format:bullet;
! 	mso-level-text:\F0B7;
! 	mso-level-tab-stop:28.35pt;
! 	mso-level-number-position:left;
! 	margin-left:28.35pt;
! 	text-indent:-14.15pt;
! 	mso-ansi-font-size:9.0pt;
! 	mso-bidi-font-size:9.0pt;
! 	mso-ascii-font-family:Symbol;
! 	mso-hansi-font-family:Symbol;
! 	mso-bidi-font-family:StarSymbol;}
! @list l24:level3
! 	{mso-level-number-format:bullet;
! 	mso-level-text:\F0B7;
! 	mso-level-tab-stop:42.5pt;
! 	mso-level-number-position:left;
! 	margin-left:42.5pt;
! 	text-indent:-14.15pt;
! 	mso-ansi-font-size:9.0pt;
! 	mso-bidi-font-size:9.0pt;
! 	mso-ascii-font-family:Symbol;
! 	mso-hansi-font-family:Symbol;
! 	mso-bidi-font-family:StarSymbol;}
! @list l24:level4
! 	{mso-level-number-format:bullet;
! 	mso-level-text:\F0B7;
! 	mso-level-tab-stop:56.7pt;
! 	mso-level-number-position:left;
! 	margin-left:56.7pt;
! 	text-indent:-14.15pt;
! 	mso-ansi-font-size:9.0pt;
! 	mso-bidi-font-size:9.0pt;
! 	mso-ascii-font-family:Symbol;
! 	mso-hansi-font-family:Symbol;
! 	mso-bidi-font-family:StarSymbol;}
! @list l24:level5
! 	{mso-level-number-format:bullet;
! 	mso-level-text:\F0B7;
! 	mso-level-tab-stop:70.85pt;
! 	mso-level-number-position:left;
! 	margin-left:70.85pt;
! 	text-indent:-14.15pt;
! 	mso-ansi-font-size:9.0pt;
! 	mso-bidi-font-size:9.0pt;
! 	mso-ascii-font-family:Symbol;
! 	mso-hansi-font-family:Symbol;
! 	mso-bidi-font-family:StarSymbol;}
! @list l24:level6
! 	{mso-level-number-format:bullet;
! 	mso-level-text:\F0B7;
! 	mso-level-tab-stop:85.05pt;
! 	mso-level-number-position:left;
! 	margin-left:85.05pt;
! 	text-indent:-14.15pt;
! 	mso-ansi-font-size:9.0pt;
! 	mso-bidi-font-size:9.0pt;
! 	mso-ascii-font-family:Symbol;
! 	mso-hansi-font-family:Symbol;
! 	mso-bidi-font-family:StarSymbol;}
! @list l24:level7
! 	{mso-level-number-format:bullet;
! 	mso-level-text:\F0B7;
! 	mso-level-tab-stop:99.2pt;
! 	mso-level-number-position:left;
! 	margin-left:99.2pt;
! 	text-indent:-14.15pt;
! 	mso-ansi-font-size:9.0pt;
! 	mso-bidi-font-size:9.0pt;
! 	mso-ascii-font-family:Symbol;
! 	mso-hansi-font-family:Symbol;
! 	mso-bidi-font-family:StarSymbol;}
! @list l24:level8
! 	{mso-level-number-format:bullet;
! 	mso-level-text:\F0B7;
! 	mso-level-tab-stop:113.4pt;
! 	mso-level-number-position:left;
! 	margin-left:113.4pt;
! 	text-indent:-14.15pt;
! 	mso-ansi-font-size:9.0pt;
! 	mso-bidi-font-size:9.0pt;
! 	mso-ascii-font-family:Symbol;
! 	mso-hansi-font-family:Symbol;
! 	mso-bidi-font-family:StarSymbol;}
! @list l24:level9
! 	{mso-level-number-format:bullet;
! 	mso-level-text:\F0B7;
! 	mso-level-tab-stop:127.55pt;
! 	mso-level-number-position:left;
! 	margin-left:127.55pt;
! 	text-indent:-14.15pt;
! 	mso-ansi-font-size:9.0pt;
! 	mso-bidi-font-size:9.0pt;
! 	mso-ascii-font-family:Symbol;
! 	mso-hansi-font-family:Symbol;
! 	mso-bidi-font-family:StarSymbol;}
! @list l25
! 	{mso-list-id:465316796;
! 	mso-list-type:hybrid;
! 	mso-list-template-ids:747157604 -1330584532 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;}
! @list l25:level1
! 	{mso-level-start-at:0;
! 	mso-level-number-format:bullet;
! 	mso-level-text:\F0D8;
! 	mso-level-tab-stop:36.0pt;
! 	mso-level-number-position:left;
! 	text-indent:-18.0pt;
! 	font-family:Wingdings;
! 	mso-fareast-font-family:Cumberland;
! 	mso-bidi-font-family:Cumberland;}
! @list l26
! 	{mso-list-id:604534799;
! 	mso-list-template-ids:1659901228;}
! @list l26: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;
! 	font-family:Symbol;}
! @list l26:level2
! 	{mso-level-number-format:bullet;
! 	mso-level-text:o;
! 	mso-level-tab-stop:72.0pt;
! 	mso-level-number-position:left;
! 	text-indent:-18.0pt;
! 	font-family:"Courier New";}
! @list l26:level3
! 	{mso-level-number-format:bullet;
! 	mso-level-text:\F0A7;
! 	mso-level-tab-stop:108.0pt;
! 	mso-level-number-position:left;
! 	text-indent:-18.0pt;
! 	font-family:Wingdings;}
! @list l26:level4
! 	{mso-level-number-format:bullet;
! 	mso-level-text:\F0B7;
! 	mso-level-tab-stop:144.0pt;
! 	mso-level-number-position:left;
! 	text-indent:-18.0pt;
! 	font-family:Symbol;}
! @list l26:level5
! 	{mso-level-number-format:bullet;
! 	mso-level-text:o;
! 	mso-level-tab-stop:180.0pt;
! 	mso-level-number-position:left;
! 	text-indent:-18.0pt;
! 	font-family:"Courier New";}
! @list l26:level6
! 	{mso-level-number-format:bullet;
! 	mso-level-text:\F0A7;
! 	mso-level-tab-stop:216.0pt;
! 	mso-level-number-position:left;
! 	text-indent:-18.0pt;
! 	font-family:Wingdings;}
! @list l26:level7
! 	{mso-level-number-format:bullet;
! 	mso-level-text:\F0B7;
! 	mso-level-tab-stop:252.0pt;
! 	mso-level-number-position:left;
! 	text-indent:-18.0pt;
! 	font-family:Symbol;}
! @list l26:level8
! 	{mso-level-number-format:bullet;
! 	mso-level-text:o;
! 	mso-level-tab-stop:288.0pt;
! 	mso-level-number-position:left;
! 	text-indent:-18.0pt;
! 	font-family:"Courier New";}
! @list l26:level9
! 	{mso-level-number-format:bullet;
! 	mso-level-text:\F0A7;
! 	mso-level-tab-stop:324.0pt;
! 	mso-level-number-position:left;
! 	text-indent:-18.0pt;
! 	font-family:Wingdings;}
! @list l27
! 	{mso-list-id:671564588;
! 	mso-list-template-ids:67698719;}
! @list l27:level1
! 	{mso-level-tab-stop:18.0pt;
! 	mso-level-number-position:left;
! 	margin-left:18.0pt;
! 	text-indent:-18.0pt;}
! @list l27:level2
! 	{mso-level-text:"%1\.%2\.";
! 	mso-level-tab-stop:39.6pt;
! 	mso-level-number-position:left;
! 	margin-left:39.6pt;
! 	text-indent:-21.6pt;}
! @list l27:level3
! 	{mso-level-text:"%1\.%2\.%3\.";
! 	mso-level-tab-stop:72.0pt;
! 	mso-level-number-position:left;
! 	margin-left:61.2pt;
! 	text-indent:-25.2pt;}
! @list l27:level4
! 	{mso-level-text:"%1\.%2\.%3\.%4\.";
! 	mso-level-tab-stop:90.0pt;
! 	mso-level-number-position:left;
! 	margin-left:86.4pt;
! 	text-indent:-32.4pt;}
! @list l27:level5
! 	{mso-level-text:"%1\.%2\.%3\.%4\.%5\.";
! 	mso-level-tab-stop:126.0pt;
! 	mso-level-number-position:left;
! 	margin-left:111.6pt;
! 	text-indent:-39.6pt;}
! @list l27:level6
! 	{mso-level-text:"%1\.%2\.%3\.%4\.%5\.%6\.";
! 	mso-level-tab-stop:144.0pt;
! 	mso-level-number-position:left;
! 	margin-left:136.8pt;
! 	text-indent:-46.8pt;}
! @list l27:level7
! 	{mso-level-text:"%1\.%2\.%3\.%4\.%5\.%6\.%7\.";
! 	mso-level-tab-stop:180.0pt;
! 	mso-level-number-position:left;
! 	margin-left:162.0pt;
! 	text-indent:-54.0pt;}
! @list l27:level8
! 	{mso-level-text:"%1\.%2\.%3\.%4\.%5\.%6\.%7\.%8\.";
! 	mso-level-tab-stop:198.0pt;
! 	mso-level-number-position:left;
! 	margin-left:187.2pt;
! 	text-indent:-61.2pt;}
! @list l27:level9
! 	{mso-level-text:"%1\.%2\.%3\.%4\.%5\.%6\.%7\.%8\.%9\.";
! 	mso-level-tab-stop:234.0pt;
! 	mso-level-number-position:left;
! 	margin-left:216.0pt;
! 	text-indent:-72.0pt;}
! @list l28
! 	{mso-list-id:696472061;
! 	mso-list-type:hybrid;
! 	mso-list-template-ids:986222236 67698689 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;}
! @list l28: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;
! 	font-family:Symbol;}
! @list l29
! 	{mso-list-id:718094992;
! 	mso-list-type:hybrid;
! 	mso-list-template-ids:-1288027304 67698705 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;}
! @list l29:level1
! 	{mso-level-text:"%1\)";
! 	mso-level-tab-stop:36.0pt;
! 	mso-level-number-position:left;
! 	text-indent:-18.0pt;}
! @list l30
! 	{mso-list-id:753824527;
! 	mso-list-type:hybrid;
! 	mso-list-template-ids:-1854628230 67698689 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;}
! @list l30: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;
! 	font-family:Symbol;}
! @list l31
! 	{mso-list-id:803735998;
! 	mso-list-type:hybrid;
! 	mso-list-template-ids:58764522 67698689 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;}
! @list l31: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;
! 	font-family:Symbol;}
! @list l32
! 	{mso-list-id:858816198;
! 	mso-list-template-ids:1148726518;}
! @list l32:level1
! 	{mso-level-tab-stop:18.0pt;
! 	mso-level-number-position:left;
! 	margin-left:18.0pt;
! 	text-indent:-18.0pt;
! 	mso-ansi-font-size:9.0pt;
! 	mso-bidi-font-size:9.0pt;}
! @list l32:level2
! 	{mso-level-number-format:bullet;
! 	mso-level-text:\F0B7;
! 	mso-level-tab-stop:28.35pt;
! 	mso-level-number-position:left;
! 	margin-left:28.35pt;
! 	text-indent:-14.15pt;
! 	mso-ansi-font-size:9.0pt;
! 	mso-bidi-font-size:9.0pt;
! 	mso-ascii-font-family:Symbol;
! 	mso-hansi-font-family:Symbol;
! 	mso-bidi-font-family:StarSymbol;}
! @list l32:level3
! 	{mso-level-number-format:bullet;
! 	mso-level-text:\F0B7;
! 	mso-level-tab-stop:42.5pt;
! 	mso-level-number-position:left;
! 	margin-left:42.5pt;
! 	text-indent:-14.15pt;
! 	mso-ansi-font-size:9.0pt;
! 	mso-bidi-font-size:9.0pt;
! 	mso-ascii-font-family:Symbol;
! 	mso-hansi-font-family:Symbol;
! 	mso-bidi-font-family:StarSymbol;}
! @list l32:level4
! 	{mso-level-number-format:bullet;
! 	mso-level-text:\F0B7;
! 	mso-level-tab-stop:56.7pt;
! 	mso-level-number-position:left;
! 	margin-left:56.7pt;
! 	text-indent:-14.15pt;
! 	mso-ansi-font-size:9.0pt;
! 	mso-bidi-font-size:9.0pt;
! 	mso-ascii-font-family:Symbol;
! 	mso-hansi-font-family:Symbol;
! 	mso-bidi-font-family:StarSymbol;}
! @list l32:level5
! 	{mso-level-number-format:bullet;
! 	mso-level-text:\F0B7;
! 	mso-level-tab-stop:70.85pt;
! 	mso-level-number-position:left;
! 	margin-left:70.85pt;
! 	text-indent:-14.15pt;
! 	mso-ansi-font-size:9.0pt;
! 	mso-bidi-font-size:9.0pt;
! 	mso-ascii-font-family:Symbol;
! 	mso-hansi-font-family:Symbol;
! 	mso-bidi-font-family:StarSymbol;}
! @list l32:level6
! 	{mso-level-number-format:bullet;
! 	mso-level-text:\F0B7;
! 	mso-level-tab-stop:85.05pt;
! 	mso-level-number-position:left;
! 	margin-left:85.05pt;
! 	text-indent:-14.15pt;
! 	mso-ansi-font-size:9.0pt;
! 	mso-bidi-font-size:9.0pt;
! 	mso-ascii-font-family:Symbol;
! 	mso-hansi-font-family:Symbol;
! 	mso-bidi-font-family:StarSymbol;}
! @list l32:level7
! 	{mso-level-number-format:bullet;
! 	mso-level-text:\F0B7;
! 	mso-level-tab-stop:99.2pt;
! 	mso-level-number-position:left;
! 	margin-left:99.2pt;
! 	text-indent:-14.15pt;
! 	mso-ansi-font-size:9.0pt;
! 	mso-bidi-font-size:9.0pt;
! 	mso-ascii-font-family:Symbol;
! 	mso-hansi-font-family:Symbol;
! 	mso-bidi-font-family:StarSymbol;}
! @list l32:level8
! 	{mso-level-number-format:bullet;
! 	mso-level-text:\F0B7;
! 	mso-level-tab-stop:113.4pt;
! 	mso-level-number-position:left;
! 	margin-left:113.4pt;
! 	text-indent:-14.15pt;
! 	mso-ansi-font-size:9.0pt;
! 	mso-bidi-font-size:9.0pt;
! 	mso-ascii-font-family:Symbol;
! 	mso-hansi-font-family:Symbol;
! 	mso-bidi-font-family:StarSymbol;}
! @list l32:level9
! 	{mso-level-number-format:bullet;
! 	mso-level-text:\F0B7;
! 	mso-level-tab-stop:127.55pt;
! 	mso-level-number-position:left;
! 	margin-left:127.55pt;
! 	text-indent:-14.15pt;
! 	mso-ansi-font-size:9.0pt;
! 	mso-bidi-font-size:9.0pt;
! 	mso-ascii-font-family:Symbol;
! 	mso-hansi-font-family:Symbol;
! 	mso-bidi-font-family:StarSymbol;}
! @list l33
! 	{mso-list-id:865482897;
! 	mso-list-type:hybrid;
! 	mso-list-template-ids:-2013987438 67698703 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;}
! @list l33:level1
! 	{mso-level-tab-stop:36.0pt;
! 	mso-level-number-position:left;
! 	text-indent:-18.0pt;}
! @list l34
! 	{mso-list-id:1082213354;
! 	mso-list-type:hybrid;
! 	mso-list-template-ids:1622673204 67698703 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;}
! @list l34:level1
! 	{mso-level-tab-stop:36.0pt;
! 	mso-level-number-position:left;
! 	text-indent:-18.0pt;}
! @list l35
! 	{mso-list-id:1281301046;
! 	mso-list-type:hybrid;
! 	mso-list-template-ids:1985279396 67698703 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;}
! @list l35:level1
! 	{mso-level-tab-stop:36.0pt;
! 	mso-level-number-position:left;
! 	text-indent:-18.0pt;}
! @list l36
! 	{mso-list-id:1320424235;
! 	mso-list-template-ids:-1854628230;}
! @list l36: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;
! 	font-family:Symbol;}
! @list l36:level2
! 	{mso-level-number-format:bullet;
! 	mso-level-text:o;
! 	mso-level-tab-stop:72.0pt;
! 	mso-level-number-position:left;
! 	text-indent:-18.0pt;
! 	font-family:"Courier New";}
! @list l36:level3
! 	{mso-level-number-format:bullet;
! 	mso-level-text:\F0A7;
! 	mso-level-tab-stop:108.0pt;
! 	mso-level-number-position:left;
! 	text-indent:-18.0pt;
! 	font-family:Wingdings;}
! @list l36:level4
! 	{mso-level-number-format:bullet;
! 	mso-level-text:\F0B7;
! 	mso-level-tab-stop:144.0pt;
! 	mso-level-number-position:left;
! 	text-indent:-18.0pt;
! 	font-family:Symbol;}
! @list l36:level5
! 	{mso-level-number-format:bullet;
! 	mso-level-text:o;
! 	mso-level-tab-stop:180.0pt;
! 	mso-level-number-position:left;
! 	text-indent:-18.0pt;
! 	font-family:"Courier New";}
! @list l36:level6
! 	{mso-level-number-format:bullet;
! 	mso-level-text:\F0A7;
! 	mso-level-tab-stop:216.0pt;
! 	mso-level-number-position:left;
! 	text-indent:-18.0pt;
! 	font-family:Wingdings;}
! @list l36:level7
! 	{mso-level-number-format:bullet;
! 	mso-level-text:\F0B7;
! 	mso-level-tab-stop:252.0pt;
! 	mso-level-number-position:left;
! 	text-indent:-18.0pt;
! 	font-family:Symbol;}
! @list l36:level8
! 	{mso-level-number-format:bullet;
! 	mso-level-text:o;
! 	mso-level-tab-stop:288.0pt;
! 	mso-level-number-position:left;
! 	text-indent:-18.0pt;
! 	font-family:"Courier New";}
! @list l36:level9
! 	{mso-level-number-format:bullet;
! 	mso-level-text:\F0A7;
! 	mso-level-tab-stop:324.0pt;
! 	mso-level-number-position:left;
! 	text-indent:-18.0pt;
! 	font-family:Wingdings;}
! @list l37
! 	{mso-list-id:1438016346;
! 	mso-list-type:hybrid;
! 	mso-list-template-ids:1659901228 67698689 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;}
! @list l37: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;
! 	font-family:Symbol;}
! @list l38
! 	{mso-list-id:1495950886;
! 	mso-list-type:hybrid;
! 	mso-list-template-ids:-898045188 -1269669692 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;}
! @list l38:level1
! 	{mso-level-start-at:0;
! 	mso-level-number-format:bullet;
! 	mso-level-text:\F0D8;
! 	mso-level-tab-stop:36.0pt;
! 	mso-level-number-position:left;
! 	text-indent:-18.0pt;
! 	font-family:Wingdings;
! 	mso-fareast-font-family:Cumberland;
! 	mso-bidi-font-family:Cumberland;}
! @list l39
! 	{mso-list-id:1678120386;
! 	mso-list-template-ids:58764522;}
! @list l39: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;
! 	font-family:Symbol;}
! @list l39:level2
! 	{mso-level-number-format:bullet;
! 	mso-level-text:o;
! 	mso-level-tab-stop:72.0pt;
! 	mso-level-number-position:left;
! 	text-indent:-18.0pt;
! 	font-family:"Courier New";}
! @list l39:level3
! 	{mso-level-number-format:bullet;
! 	mso-level-text:\F0A7;
! 	mso-level-tab-stop:108.0pt;
! 	mso-level-number-position:left;
! 	text-indent:-18.0pt;
! 	font-family:Wingdings;}
! @list l39:level4
! 	{mso-level-number-format:bullet;
! 	mso-level-text:\F0B7;
! 	mso-level-tab-stop:144.0pt;
! 	mso-level-number-position:left;
! 	text-indent:-18.0pt;
! 	font-family:Symbol;}
! @list l39:level5
! 	{mso-level-number-format:bullet;
! 	mso-level-text:o;
! 	mso-level-tab-stop:180.0pt;
! 	mso-level-number-position:left;
! 	text-indent:-18.0pt;
! 	font-family:"Courier New";}
! @list l39:level6
! 	{mso-level-number-format:bullet;
! 	mso-level-text:\F0A7;
! 	mso-level-tab-stop:216.0pt;
! 	mso-level-number-position:left;
! 	text-indent:-18.0pt;
! 	font-family:Wingdings;}
! @list l39:level7
! 	{mso-level-number-format:bullet;
! 	mso-level-text:\F0B7;
! 	mso-level-tab-stop:252.0pt;
! 	mso-level-number-position:left;
! 	text-indent:-18.0pt;
! 	font-family:Symbol;}
! @list l39:level8
! 	{mso-level-number-format:bullet;
! 	mso-level-text:o;
! 	mso-level-tab-stop:288.0pt;
! 	mso-level-number-position:left;
! 	text-indent:-18.0pt;
! 	font-family:"Courier New";}
! @list l39:level9
! 	{mso-level-number-format:bullet;
! 	mso-level-text:\F0A7;
! 	mso-level-tab-stop:324.0pt;
! 	mso-level-number-position:left;
! 	text-indent:-18.0pt;
! 	font-family:Wingdings;}
! @list l40
! 	{mso-list-id:1740133347;
! 	mso-list-template-ids:-5492374;}
! @list l40:level1
! 	{mso-level-text:"%1\)";
! 	mso-level-tab-stop:18.0pt;
! 	mso-level-number-position:left;
! 	margin-left:18.0pt;
! 	text-indent:-18.0pt;}
! @list l40:level2
! 	{mso-level-number-format:alpha-lower;
! 	mso-level-tab-stop:54.0pt;
! 	mso-level-number-position:left;
! 	margin-left:54.0pt;
! 	text-indent:-18.0pt;}
! @list l40:level3
! 	{mso-level-number-format:roman-lower;
! 	mso-level-tab-stop:90.0pt;
! 	mso-level-number-position:right;
! 	margin-left:90.0pt;
! 	text-indent:-9.0pt;}
! @list l40:level4
! 	{mso-level-tab-stop:126.0pt;
! 	mso-level-number-position:left;
! 	margin-left:126.0pt;
! 	text-indent:-18.0pt;}
! @list l40:level5
! 	{mso-level-number-format:alpha-lower;
! 	mso-level-tab-stop:162.0pt;
! 	mso-level-number-position:left;
! 	margin-left:162.0pt;
! 	text-indent:-18.0pt;}
! @list l40:level6
! 	{mso-level-number-format:roman-lower;
! 	mso-level-tab-stop:198.0pt;
! 	mso-level-number-position:right;
! 	margin-left:198.0pt;
! 	text-indent:-9.0pt;}
! @list l40:level7
! 	{mso-level-tab-stop:234.0pt;
! 	mso-level-number-position:left;
! 	margin-left:234.0pt;
! 	text-indent:-18.0pt;}
! @list l40:level8
! 	{mso-level-number-format:alpha-lower;
! 	mso-level-tab-stop:270.0pt;
! 	mso-level-number-position:left;
! 	margin-left:270.0pt;
! 	text-indent:-18.0pt;}
! @list l40:level9
! 	{mso-level-number-format:roman-lower;
! 	mso-level-tab-stop:306.0pt;
! 	mso-level-number-position:right;
! 	margin-left:306.0pt;
! 	text-indent:-9.0pt;}
! @list l41
! 	{mso-list-id:1781024997;
! 	mso-list-template-ids:67698719;}
! @list l41:level1
! 	{mso-level-tab-stop:18.0pt;
! 	mso-level-number-position:left;
! 	margin-left:18.0pt;
! 	text-indent:-18.0pt;}
! @list l41:level2
! 	{mso-level-text:"%1\.%2\.";
! 	mso-level-tab-stop:39.6pt;
! 	mso-level-number-position:left;
! 	margin-left:39.6pt;
! 	text-indent:-21.6pt;}
! @list l41:level3
! 	{mso-level-text:"%1\.%2\.%3\.";
! 	mso-level-tab-stop:72.0pt;
! 	mso-level-number-position:left;
! 	margin-left:61.2pt;
! 	text-indent:-25.2pt;}
! @list l41:level4
! 	{mso-level-text:"%1\.%2\.%3\.%4\.";
! 	mso-level-tab-stop:90.0pt;
! 	mso-level-number-position:left;
! 	margin-left:86.4pt;
! 	text-indent:-32.4pt;}
! @list l41:level5
! 	{mso-level-text:"%1\.%2\.%3\.%4\.%5\.";
! 	mso-level-tab-stop:126.0pt;
! 	mso-level-number-position:left;
! 	margin-left:111.6pt;
! 	text-indent:-39.6pt;}
! @list l41:level6
! 	{mso-level-text:"%1\.%2\.%3\.%4\.%5\.%6\.";
! 	mso-level-tab-stop:144.0pt;
! 	mso-level-number-position:left;
! 	margin-left:136.8pt;
! 	text-indent:-46.8pt;}
! @list l41:level7
! 	{mso-level-text:"%1\.%2\.%3\.%4\.%5\.%6\.%7\.";
! 	mso-level-tab-stop:180.0pt;
! 	mso-level-number-position:left;
! 	margin-left:162.0pt;
! 	text-indent:-54.0pt;}
! @list l41:level8
! 	{mso-level-text:"%1\.%2\.%3\.%4\.%5\.%6\.%7\.%8\.";
! 	mso-level-tab-stop:198.0pt;
! 	mso-level-number-position:left;
! 	margin-left:187.2pt;
! 	text-indent:-61.2pt;}
! @list l41:level9
! 	{mso-level-text:"%1\.%2\.%3\.%4\.%5\.%6\.%7\.%8\.%9\.";
! 	mso-level-tab-stop:234.0pt;
! 	mso-level-number-position:left;
! 	margin-left:216.0pt;
! 	text-indent:-72.0pt;}
! @list l42
! 	{mso-list-id:1834448678;
! 	mso-list-template-ids:-5492374;}
! @list l42:level1
! 	{mso-level-text:"%1\)";
! 	mso-level-tab-stop:18.0pt;
! 	mso-level-number-position:left;
! 	margin-left:18.0pt;
! 	text-indent:-18.0pt;}
! @list l42:level2
! 	{mso-level-number-format:alpha-lower;
! 	mso-level-tab-stop:54.0pt;
! 	mso-level-number-position:left;
! 	margin-left:54.0pt;
! 	text-indent:-18.0pt;}
! @list l42:level3
! 	{mso-level-number-format:roman-lower;
! 	mso-level-tab-stop:90.0pt;
! 	mso-level-number-position:right;
! 	margin-left:90.0pt;
! 	text-indent:-9.0pt;}
! @list l42:level4
! 	{mso-level-tab-stop:126.0pt;
! 	mso-level-number-position:left;
! 	margin-left:126.0pt;
! 	text-indent:-18.0pt;}
! @list l42:level5
! 	{mso-level-number-format:alpha-lower;
! 	mso-level-tab-stop:162.0pt;
! 	mso-level-number-position:left;
! 	margin-left:162.0pt;
! 	text-indent:-18.0pt;}
! @list l42:level6
! 	{mso-level-number-format:roman-lower;
! 	mso-level-tab-stop:198.0pt;
! 	mso-level-number-position:right;
! 	margin-left:198.0pt;
! 	text-indent:-9.0pt;}
! @list l42:level7
! 	{mso-level-tab-stop:234.0pt;
! 	mso-level-number-position:left;
! 	margin-left:234.0pt;
! 	text-indent:-18.0pt;}
! @list l42:level8
! 	{mso-level-number-format:alpha-lower;
! 	mso-level-tab-stop:270.0pt;
! 	mso-level-number-position:left;
! 	margin-left:270.0pt;
! 	text-indent:-18.0pt;}
! @list l42:level9
! 	{mso-level-number-format:roman-lower;
! 	mso-level-tab-stop:306.0pt;
! 	mso-level-number-position:right;
! 	margin-left:306.0pt;
! 	text-indent:-9.0pt;}
! @list l43
! 	{mso-list-id:1954169307;
! 	mso-list-template-ids:986222236;}
! @list l43: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;
! 	font-family:Symbol;}
! @list l43:level2
! 	{mso-level-number-format:bullet;
! 	mso-level-text:o;
! 	mso-level-tab-stop:72.0pt;
! 	mso-level-number-position:left;
! 	text-indent:-18.0pt;
! 	font-family:"Courier New";}
! @list l43:level3
! 	{mso-level-number-format:bullet;
! 	mso-level-text:\F0A7;
! 	mso-level-tab-stop:108.0pt;
! 	mso-level-number-position:left;
! 	text-indent:-18.0pt;
! 	font-family:Wingdings;}
! @list l43:level4
! 	{mso-level-number-format:bullet;
! 	mso-level-text:\F0B7;
! 	mso-level-tab-stop:144.0pt;
! 	mso-level-number-position:left;
! 	text-indent:-18.0pt;
! 	font-family:Symbol;}
! @list l43:level5
! 	{mso-level-number-format:bullet;
! 	mso-level-text:o;
! 	mso-level-tab-stop:180.0pt;
! 	mso-level-number-position:left;
! 	text-indent:-18.0pt;
! 	font-family:"Courier New";}
! @list l43:level6
! 	{mso-level-number-format:bullet;
! 	mso-level-text:\F0A7;
! 	mso-level-tab-stop:216.0pt;
! 	mso-level-number-position:left;
! 	text-indent:-18.0pt;
! 	font-family:Wingdings;}
! @list l43:level7
! 	{mso-level-number-format:bullet;
! 	mso-level-text:\F0B7;
! 	mso-level-tab-stop:252.0pt;
! 	mso-level-number-position:left;
! 	text-indent:-18.0pt;
! 	font-family:Symbol;}
! @list l43:level8
! 	{mso-level-number-format:bullet;
! 	mso-level-text:o;
! 	mso-level-tab-stop:288.0pt;
! 	mso-level-number-position:left;
! 	text-indent:-18.0pt;
! 	font-family:"Courier New";}
! @list l43:level9
! 	{mso-level-number-format:bullet;
! 	mso-level-text:\F0A7;
! 	mso-level-tab-stop:324.0pt;
! 	mso-level-number-position:left;
! 	text-indent:-18.0pt;
! 	font-family:Wingdings;}
! @list l44
! 	{mso-list-id:2000840094;
! 	mso-list-template-ids:519993794;}
! @list l44: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;
! 	font-family:Symbol;}
! @list l44:level2
! 	{mso-level-number-format:bullet;
! 	mso-level-text:o;
! 	mso-level-tab-stop:72.0pt;
! 	mso-level-number-position:left;
! 	text-indent:-18.0pt;
! 	font-family:"Courier New";}
! @list l44:level3
! 	{mso-level-number-format:bullet;
! 	mso-level-text:\F0A7;
! 	mso-level-tab-stop:108.0pt;
! 	mso-level-number-position:left;
! 	text-indent:-18.0pt;
! 	font-family:Wingdings;}
! @list l44:level4
! 	{mso-level-number-format:bullet;
! 	mso-level-text:\F0B7;
! 	mso-level-tab-stop:144.0pt;
! 	mso-level-number-position:left;
! 	text-indent:-18.0pt;
! 	font-family:Symbol;}
! @list l44:level5
! 	{mso-level-number-format:bullet;
! 	mso-level-text:o;
! 	mso-level-tab-stop:180.0pt;
! 	mso-level-number-position:left;
! 	text-indent:-18.0pt;
! 	font-family:"Courier New";}
! @list l44:level6
! 	{mso-level-number-format:bullet;
! 	mso-level-text:\F0A7;
! 	mso-level-tab-stop:216.0pt;
! 	mso-level-number-position:left;
! 	text-indent:-18.0pt;
! 	font-family:Wingdings;}
! @list l44:level7
! 	{mso-level-number-format:bullet;
! 	mso-level-text:\F0B7;
! 	mso-level-tab-stop:252.0pt;
! 	mso-level-number-position:left;
! 	text-indent:-18.0pt;
! 	font-family:Symbol;}
! @list l44:level8
! 	{mso-level-number-format:bullet;
! 	mso-level-text:o;
! 	mso-level-tab-stop:288.0pt;
! 	mso-level-number-position:left;
! 	text-indent:-18.0pt;
! 	font-family:"Courier New";}
! @list l44:level9
! 	{mso-level-number-format:bullet;
! 	mso-level-text:\F0A7;
! 	mso-level-tab-stop:324.0pt;
! 	mso-level-number-position:left;
! 	text-indent:-18.0pt;
! 	font-family:Wingdings;}
! @list l45
! 	{mso-list-id:2140024448;
! 	mso-list-type:hybrid;
! 	mso-list-template-ids:519993794 67698689 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;}
! @list l45: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;
! 	font-family:Symbol;}
! ol
  	{margin-bottom:0pt;}
  ul
  	{margin-bottom:0pt;}
  -->
  </style>
! <!--[if gte mso 10]>
! <style>
!  /* Style Definitions */
!  table.MsoNormalTable
! 	{mso-style-name:"Table Normal";
! 	mso-tstyle-rowband-size:0;
! 	mso-tstyle-colband-size:0;
! 	mso-style-noshow:yes;
! 	mso-style-parent:"";
! 	mso-padding-alt:0pt 5.4pt 0pt 5.4pt;
! 	mso-para-margin:0pt;
! 	mso-para-margin-bottom:.0001pt;
! 	mso-pagination:widow-orphan;
! 	font-size:10.0pt;
! 	font-family:"Times New Roman";
! 	mso-ansi-language:#0400;
! 	mso-fareast-language:#0400;
! 	mso-bidi-language:#0400;}
! table.MsoTable3DFx1
! 	{mso-style-name:"Table 3D effects 1";
! 	mso-tstyle-rowband-size:0;
! 	mso-tstyle-colband-size:0;
! 	mso-padding-alt:0pt 5.4pt 0pt 5.4pt;
! 	mso-tstyle-shading:white;
! 	mso-tstyle-pattern:solid silver;
! 	mso-para-margin-top:7.2pt;
! 	mso-para-margin-right:0pt;
! 	mso-para-margin-bottom:7.2pt;
! 	mso-para-margin-left:0pt;
! 	mso-pagination:none;
! 	mso-hyphenate:none;
! 	font-size:10.0pt;
! 	font-family:"Times New Roman";
! 	mso-ansi-language:#0400;
! 	mso-fareast-language:#0400;
! 	mso-bidi-language:#0400;}
! table.MsoTable3DFx1FirstRow
! 	{mso-style-name:"Table 3D effects 1";
! 	mso-table-condition:first-row;
! 	mso-tstyle-border-bottom:.75pt solid gray;
! 	mso-tstyle-diagonal-down:0pt none windowtext;
! 	mso-tstyle-diagonal-up:0pt none windowtext;
! 	color:purple;
! 	mso-ansi-font-weight:bold;
! 	mso-bidi-font-weight:bold;}
! table.MsoTable3DFx1LastRow
! 	{mso-style-name:"Table 3D effects 1";
! 	mso-table-condition:last-row;
! 	mso-tstyle-border-top:.75pt solid white;
! 	mso-tstyle-diagonal-down:0pt none windowtext;
! 	mso-tstyle-diagonal-up:0pt none windowtext;}
! table.MsoTable3DFx1FirstCol
! 	{mso-style-name:"Table 3D effects 1";
! 	mso-table-condition:first-column;
! 	mso-tstyle-border-right:.75pt solid gray;
! 	mso-tstyle-diagonal-down:0pt none windowtext;
! 	mso-tstyle-diagonal-up:0pt none windowtext;
! 	mso-ansi-font-weight:bold;
! 	mso-bidi-font-weight:bold;}
! table.MsoTable3DFx1LastCol
! 	{mso-style-name:"Table 3D effects 1";
! 	mso-table-condition:last-column;
! 	mso-tstyle-border-left:.75pt solid white;
! 	mso-tstyle-diagonal-down:0pt none windowtext;
! 	mso-tstyle-diagonal-up:0pt none windowtext;}
! table.MsoTable3DFx1NECell
! 	{mso-style-name:"Table 3D effects 1";
! 	mso-table-condition:ne-cell;
! 	mso-tstyle-border-left:0pt none windowtext;
! 	mso-tstyle-border-bottom:0pt none windowtext;
! 	mso-tstyle-diagonal-down:0pt none windowtext;
! 	mso-tstyle-diagonal-up:0pt none windowtext;}
! table.MsoTable3DFx1NWCell
! 	{mso-style-name:"Table 3D effects 1";
! 	mso-table-condition:nw-cell;
! 	mso-tstyle-border-bottom:0pt none windowtext;
! 	mso-tstyle-border-right:0pt none windowtext;
! 	mso-tstyle-diagonal-down:0pt none windowtext;
! 	mso-tstyle-diagonal-up:0pt none windowtext;}
! table.MsoTable3DFx1SECell
! 	{mso-style-name:"Table 3D effects 1";
! 	mso-table-condition:se-cell;
! 	mso-tstyle-border-top:0pt none windowtext;
! 	mso-tstyle-border-left:0pt none windowtext;
! 	mso-tstyle-diagonal-down:0pt none windowtext;
! 	mso-tstyle-diagonal-up:0pt none windowtext;}
! table.MsoTable3DFx1SWCell
! 	{mso-style-name:"Table 3D effects 1";
! 	mso-table-condition:sw-cell;
! 	mso-tstyle-border-top:0pt none windowtext;
! 	mso-tstyle-border-right:0pt none windowtext;
! 	mso-tstyle-diagonal-down:0pt none windowtext;
! 	mso-tstyle-diagonal-up:0pt none windowtext;
! 	color:navy;}
! table.MsoTableWeb1
! 	{mso-style-name:"Table Web 1";
! 	mso-tstyle-rowband-size:0;
! 	mso-tstyle-colband-size:0;
! 	mso-cellspacing:2.0pt;
! 	border:outset 1.0pt;
! 	mso-border-alt:outset windowtext .75pt;
! 	mso-padding-alt:0pt 5.4pt 0pt 5.4pt;
! 	mso-border-insideh:.75pt outset windowtext;
! 	mso-border-insidev:.75pt outset windowtext;
! 	mso-para-margin-top:7.2pt;
! 	mso-para-margin-right:0pt;
! 	mso-para-margin-bottom:7.2pt;
! 	mso-para-margin-left:0pt;
! 	mso-pagination:none;
! 	mso-hyphenate:none;
! 	font-size:10.0pt;
! 	font-family:"Times New Roman";
! 	mso-ansi-language:#0400;
! 	mso-fareast-language:#0400;
! 	mso-bidi-language:#0400;}
! table.MsoTableWeb1FirstRow
! 	{mso-style-name:"Table Web 1";
! 	mso-table-condition:first-row;
! 	mso-tstyle-diagonal-down:0pt none windowtext;
! 	mso-tstyle-diagonal-up:0pt none windowtext;
! 	color:windowtext;}
! table.MsoTableWeb3
! 	{mso-style-name:"Table Web 3";
! 	mso-tstyle-rowband-size:0;
! 	mso-tstyle-colband-size:0;
! 	mso-cellspacing:2.0pt;
! 	border:outset 3.0pt;
! 	mso-padding-alt:0pt 5.4pt 0pt 5.4pt;
! 	mso-border-insideh:.75pt outset windowtext;
! 	mso-border-insidev:.75pt outset windowtext;
! 	mso-para-margin-top:7.2pt;
! 	mso-para-margin-right:0pt;
! 	mso-para-margin-bottom:7.2pt;
! 	mso-para-margin-left:0pt;
! 	mso-pagination:none;
! 	mso-hyphenate:none;
! 	font-size:10.0pt;
! 	font-family:"Times New Roman";
! 	mso-ansi-language:#0400;
! 	mso-fareast-language:#0400;
! 	mso-bidi-language:#0400;}
! table.MsoTableWeb3FirstRow
! 	{mso-style-name:"Table Web 3";
! 	mso-table-condition:first-row;
! 	mso-tstyle-diagonal-down:0pt none windowtext;
! 	mso-tstyle-diagonal-up:0pt none windowtext;
! 	color:windowtext;}
! table.MsoTableGrid
! 	{mso-style-name:"Table Grid";
! 	mso-tstyle-rowband-size:0;
! 	mso-tstyle-colband-size:0;
! 	border:solid windowtext 1.0pt;
! 	mso-border-alt:solid windowtext .5pt;
! 	mso-padding-alt:0pt 5.4pt 0pt 5.4pt;
! 	mso-border-insideh:.5pt solid windowtext;
! 	mso-border-insidev:.5pt solid windowtext;
! 	mso-para-margin-top:7.2pt;
! 	mso-para-margin-right:0pt;
! 	mso-para-margin-bottom:7.2pt;
! 	mso-para-margin-left:0pt;
! 	mso-pagination:none;
! 	mso-hyphenate:none;
! 	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="2050"/>
! </xml><![endif]--><!--[if gte mso 9]><xml>
!  <o:shapelayout v:ext="edit">
!   <o:idmap v:ext="edit" data="1"/>
!  </o:shapelayout></xml><![endif]-->
  </head>
  
! <body lang=EN-US link=navy vlink=maroon style='tab-interval:35.45pt;line-break:
! strict'>
  
  <div class=Section1>
  
! <p class=MsoTitle>OpenAFS for Windows 1.4.1<br>
  Release Notes</p>
  
  <p class=MsoBodyText>The Andrew File System (AFS) is a location-independent
! file system that uses a local cache to increase its performance.<span
! style='mso-spacerun:yes'>  </span>An AFS client accesses files anonymously or
! via a Kerberos authentication.<span style='mso-spacerun:yes'>  </span>The
! global AFS is partitioned into cells.<span style='mso-spacerun:yes'> 
! </span>The AFS cell is a collection of AFS volumes that are administered by a
! common entity.<span style='mso-spacerun:yes'>   </span>AFS cells can be
! administered by a department even when the Kerberos realm used for local
! authentication is managed by a much larger organization.<span
! style='mso-spacerun:yes'>  </span>AFS clients and servers take advantage of
! Kerberos cross realm authentication to enable authenticated access by entities
! located outside the local realm.<span style='mso-spacerun:yes'> 
! </span>Authorization is enforced by the use of directory level access control
! lists which can consist of individual or group identities.<span
! style='mso-spacerun:yes'>  </span></p>
! 
! <p class=MsoBodyText>The AFS volume is a tree of files and
! sub-directories.<span style='mso-spacerun:yes'>  </span>AFS volumes are created
! by administrators and are joined to an AFS cell via the use of a mount
! point.<span style='mso-spacerun:yes'>   </span>Once a volume is created, users
! can create files and directories as well as mount points and symlinks within
! the volume without regard for the physical location of the volume.<span
! style='mso-spacerun:yes'>  </span>Administrators can move the volume to another
! server as necessary without the need to notify users.<span
! style='mso-spacerun:yes'>   </span>In fact, the volume move can occur while
! files in the volume are in use.<span style='mso-spacerun:yes'>  </span></p>
! 
! <p class=MsoBodyText>AFS volumes can be replicated to read-only copies.<span
! style='mso-spacerun:yes'>   </span>When accessing files from a read-only replica,
! clients will read all of the data from a single replica.<span
! style='mso-spacerun:yes'>   </span>If that replica becomes unavailable, the
! clients will failover to any replica that is reachable.<span
! style='mso-spacerun:yes'>  </span>Users of the data are unaware of where the
! replicas are stored or which one is being accessed.<span
! style='mso-spacerun:yes'>   </span>The contents of the replicas can be updated
! at any time by <i style='mso-bidi-font-style:normal'>releasing</i> the current
  contents of the source volume.</p>
  
  <p class=MsoBodyText>OpenAFS for Windows (OAFW) provides AFS client access
! Microsoft Windows operating systems.<span style='mso-spacerun:yes'>  </span>It
! strives to maintain transparency such that the user is unaware of the
! distinction between the use of AFS and Microsoft Windows file shares.<span
! style='mso-spacerun:yes'>   </span>OAFW can be part of a single sign-on
! solution by allowing credentials for a Kerberos principal to be obtained at
! logon and for that principal to be used to obtain AFS tokens for one or more
! cells.<span style='mso-spacerun:yes'>   </span>Although OAFW is implemented as
! a locally installed SMB to AFS gateway, OAFW maintains the portability of file
! paths by its use of the <a href="file:///\\AFS">\\AFS</a> UNC server name.</p>
  
  <p class=MsoBodyText>OpenAFS is the product of an open source development
! effort begun in July 2001.<span style='mso-spacerun:yes'>  </span>OpenAFS is
! maintained and developed by a group of volunteers with the support of the user
! community.<span style='mso-spacerun:yes'>   </span>If you use OpenAFS as part
! of your computing infrastructure please contribute to its continued growth.</p>
! 
! <p class=MsoToc1><!--[if supportFields]><span style='mso-element:field-begin'></span><span
! style='mso-spacerun:yes'> </span>TOC \o &quot;1-1&quot; \h \z \u <span
! style='mso-element:field-separator'></span><![endif]--><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="oafw-1-4-release-notes.doc#_Toc115417109">1. Installer Options<span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-tab-count:1 dotted'>. </span></span><!--[if supportFields]><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-element:field-begin'></span></span><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'> PAGEREF _Toc115417109 \h </span><span style='color:windowtext;
! display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span
! style='mso-element:field-separator'></span></span><![endif]--><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'>1</span><span style='color:windowtext;display:none;
! mso-hide:screen;text-decoration:none;text-underline:none'><!--[if gte mso 9]><xml>
!  <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003100310035003400310037003100300039000000</w:data>
! </xml><![endif]--></span><!--[if supportFields]><span style='color:windowtext;
! display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span
! style='mso-element:field-end'></span></span><![endif]--></a></span></span><span
! style='font-family:"Times New Roman";mso-fareast-font-family:"MS Mincho";
! mso-fareast-language:JA;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc1><span class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="oafw-1-4-release-notes.doc#_Toc115417110">2. System Requirements<span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-tab-count:1 dotted'>. </span></span><!--[if supportFields]><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-element:field-begin'></span></span><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'> PAGEREF _Toc115417110 \h </span><span style='color:windowtext;
! display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span
! style='mso-element:field-separator'></span></span><![endif]--><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'>2</span><span style='color:windowtext;display:none;
! mso-hide:screen;text-decoration:none;text-underline:none'><!--[if gte mso 9]><xml>
!  <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003100310035003400310037003100310030000000</w:data>
! </xml><![endif]--></span><!--[if supportFields]><span style='color:windowtext;
! display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span
! style='mso-element:field-end'></span></span><![endif]--></a></span></span><span
! style='font-family:"Times New Roman";mso-fareast-font-family:"MS Mincho";
! mso-fareast-language:JA;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc1><span class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="oafw-1-4-release-notes.doc#_Toc115417111">3. Operational Notes<span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-tab-count:1 dotted'>. </span></span><!--[if supportFields]><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-element:field-begin'></span></span><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'> PAGEREF _Toc115417111 \h </span><span style='color:windowtext;
! display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span
! style='mso-element:field-separator'></span></span><![endif]--><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'>2</span><span style='color:windowtext;display:none;
! mso-hide:screen;text-decoration:none;text-underline:none'><!--[if gte mso 9]><xml>
!  <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003100310035003400310037003100310031000000</w:data>
! </xml><![endif]--></span><!--[if supportFields]><span style='color:windowtext;
! display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span
! style='mso-element:field-end'></span></span><![endif]--></a></span></span><span
! style='font-family:"Times New Roman";mso-fareast-font-family:"MS Mincho";
! mso-fareast-language:JA;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc1><span class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="oafw-1-4-release-notes.doc#_Toc115417112">4. How to Debug Problems with
! OpenAFS for Windows:<span style='color:windowtext;display:none;mso-hide:screen;
! text-decoration:none;text-underline:none'><span style='mso-tab-count:1 dotted'> </span></span><!--[if supportFields]><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-element:field-begin'></span></span><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'> PAGEREF _Toc115417112 \h </span><span style='color:windowtext;
! display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span
! style='mso-element:field-separator'></span></span><![endif]--><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'>11</span><span style='color:windowtext;display:none;
! mso-hide:screen;text-decoration:none;text-underline:none'><!--[if gte mso 9]><xml>
!  <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003100310035003400310037003100310032000000</w:data>
! </xml><![endif]--></span><!--[if supportFields]><span style='color:windowtext;
! display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span
! style='mso-element:field-end'></span></span><![endif]--></a></span></span><span
! style='font-family:"Times New Roman";mso-fareast-font-family:"MS Mincho";
! mso-fareast-language:JA;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc1><span class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="oafw-1-4-release-notes.doc#_Toc115417113">5. Reporting Bugs:<span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-tab-count:1 dotted'> </span></span><!--[if supportFields]><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-element:field-begin'></span></span><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'> PAGEREF _Toc115417113 \h </span><span style='color:windowtext;
! display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span
! style='mso-element:field-separator'></span></span><![endif]--><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'>13</span><span style='color:windowtext;display:none;
! mso-hide:screen;text-decoration:none;text-underline:none'><!--[if gte mso 9]><xml>
!  <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003100310035003400310037003100310033000000</w:data>
! </xml><![endif]--></span><!--[if supportFields]><span style='color:windowtext;
! display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span
! style='mso-element:field-end'></span></span><![endif]--></a></span></span><span
! style='font-family:"Times New Roman";mso-fareast-font-family:"MS Mincho";
! mso-fareast-language:JA;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc1><span class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="oafw-1-4-release-notes.doc#_Toc115417114">6. How to Contribute to the
! Development of OpenAFS for Windows<span style='color:windowtext;display:none;
! mso-hide:screen;text-decoration:none;text-underline:none'><span
! style='mso-tab-count:1 dotted'>. </span></span><!--[if supportFields]><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-element:field-begin'></span></span><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'> PAGEREF _Toc115417114 \h </span><span style='color:windowtext;
! display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span
! style='mso-element:field-separator'></span></span><![endif]--><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'>14</span><span style='color:windowtext;display:none;
! mso-hide:screen;text-decoration:none;text-underline:none'><!--[if gte mso 9]><xml>
!  <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003100310035003400310037003100310034000000</w:data>
! </xml><![endif]--></span><!--[if supportFields]><span style='color:windowtext;
! display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span
! style='mso-element:field-end'></span></span><![endif]--></a></span></span><span
! style='font-family:"Times New Roman";mso-fareast-font-family:"MS Mincho";
! mso-fareast-language:JA;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc1><span class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="oafw-1-4-release-notes.doc#_Toc115417115">7. MSI Deployment Guide<span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-tab-count:1 dotted'>. </span></span><!--[if supportFields]><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-element:field-begin'></span></span><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'> PAGEREF _Toc115417115 \h </span><span style='color:windowtext;
! display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span
! style='mso-element:field-separator'></span></span><![endif]--><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'>15</span><span style='color:windowtext;display:none;
! mso-hide:screen;text-decoration:none;text-underline:none'><!--[if gte mso 9]><xml>
!  <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003100310035003400310037003100310035000000</w:data>
! </xml><![endif]--></span><!--[if supportFields]><span style='color:windowtext;
! display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span
! style='mso-element:field-end'></span></span><![endif]--></a></span></span><span
! style='font-family:"Times New Roman";mso-fareast-font-family:"MS Mincho";
! mso-fareast-language:JA;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc1><span class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="oafw-1-4-release-notes.doc#_Toc115417116">Appendix A: Registry Values<span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-tab-count:1 dotted'>. </span></span><!--[if supportFields]><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'><span style='mso-element:field-begin'></span></span><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'> PAGEREF _Toc115417116 \h </span><span style='color:windowtext;
! display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span
! style='mso-element:field-separator'></span></span><![endif]--><span
! style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
! text-underline:none'>26</span><span style='color:windowtext;display:none;
! mso-hide:screen;text-decoration:none;text-underline:none'><!--[if gte mso 9]><xml>
!  <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003100310035003400310037003100310036000000</w:data>
! </xml><![endif]--></span><!--[if supportFields]><span style='color:windowtext;
! display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span
! style='mso-element:field-end'></span></span><![endif]--></a></span></span><span
! style='font-family:"Times New Roman";mso-fareast-font-family:"MS Mincho";
! mso-fareast-language:JA;mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <h1 style='margin-left:0pt;text-indent:0pt'><!--[if supportFields]><span
! style='mso-element:field-end'></span><![endif]--><a name="_Toc126872163"></a><a
! name="_Toc115417109"></a><a name="_Toc115417037"></a><a name="_Toc115416098"><span
! style='mso-bookmark:_Toc115417037'><span style='mso-bookmark:_Toc115417109'><span
! style='mso-bookmark:_Toc126872163'>1. Installer Options</span></span></span></a></h1>
! 
! <p class=MsoNormal>It can be installed either as a new installation or an
! upgrade from previous versions of OpenAFS for Windows or IBM AFS for
! Windows.<span style='mso-spacerun:yes'>  </span>Installers are provided in two
! forms:</p>
! 
! <p class=MsoNormal style='margin-left:18.0pt;text-indent:-18.0pt;mso-list:l10 level1 lfo1;
! tab-stops:list 18.0pt'><![if !supportLists]><span style='font-size:9.0pt;
! mso-fareast-font-family:Thorndale;mso-bidi-font-family:Thorndale'><span
! style='mso-list:Ignore'>1.<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
! </span></span></span><![endif]>an executable (.exe) that is built using the
! Nullsoft Scriptable Installation System, or</p>
! 
! <p class=MsoNormal style='margin-left:18.0pt;text-indent:-18.0pt;mso-list:l10 level1 lfo1;
! tab-stops:list 18.0pt'><![if !supportLists]><span style='font-size:9.0pt;
! mso-fareast-font-family:Thorndale;mso-bidi-font-family:Thorndale'><span
! style='mso-list:Ignore'>2.<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
! </span></span></span><![endif]>a Windows Installer package (.msi) that is built
! using WiX and can be customized for organizations via the use of MSI Transforms
! (see <a href="oafw-1-4-release-notes.doc#_MSI_Deployment_Guide">MSI Deployment
  Guide</a>)</p>
  
! <h1 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872164"></a><a
! name="_Toc115417110"></a><a name="_Toc115417038"></a><a name="_Toc115416099"><span
! style='mso-bookmark:_Toc115417038'><span style='mso-bookmark:_Toc115417110'><span
! style='mso-bookmark:_Toc126872164'>2. System Requirements</span></span></span></a></h1>
! 
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872165"></a><a
! name="_Toc115417039"></a><a name="_Toc115416100"><span style='mso-bookmark:
! _Toc115417039'><span style='mso-bookmark:_Toc126872165'>2.1 Supported Operating
! Systems</span></span></a></h2>
! 
! <p class=MsoNormal style='margin-left:14.15pt;text-indent:-14.15pt;mso-list:
! l11 level1 lfo2;tab-stops:list 14.15pt'><![if !supportLists]><span
! style='font-size:9.0pt;font-family:Symbol;mso-fareast-font-family:Symbol;
! mso-bidi-font-family:Symbol'><span style='mso-list:Ignore'>·<span
! style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><![endif]>Microsoft
! Windows 2000 Workstation</p>
! 
! <p class=MsoNormal style='margin-left:14.15pt;text-indent:-14.15pt;mso-list:
! l11 level1 lfo2;tab-stops:list 14.15pt'><![if !supportLists]><span
! style='font-size:9.0pt;font-family:Symbol;mso-fareast-font-family:Symbol;
! mso-bidi-font-family:Symbol'><span style='mso-list:Ignore'>·<span
! style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><![endif]>Microsoft
! Windows 2000 Server</p>
! 
! <p class=MsoNormal style='margin-left:14.15pt;text-indent:-14.15pt;mso-list:
! l11 level1 lfo2;tab-stops:list 14.15pt'><![if !supportLists]><span
! style='font-size:9.0pt;font-family:Symbol;mso-fareast-font-family:Symbol;
! mso-bidi-font-family:Symbol'><span style='mso-list:Ignore'>·<span
! style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><![endif]>Microsoft
! Windows XP Home</p>
! 
! <p class=MsoNormal style='margin-left:14.15pt;text-indent:-14.15pt;mso-list:
! l11 level1 lfo2;tab-stops:list 14.15pt'><![if !supportLists]><span
! style='font-size:9.0pt;font-family:Symbol;mso-fareast-font-family:Symbol;
! mso-bidi-font-family:Symbol'><span style='mso-list:Ignore'>·<span
! style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><![endif]>Microsoft
! Windows XP Professional</p>
! 
! <p class=MsoNormal style='margin-left:14.15pt;text-indent:-14.15pt;mso-list:
! l11 level1 lfo2;tab-stops:list 14.15pt'><![if !supportLists]><span
! style='font-size:9.0pt;font-family:Symbol;mso-fareast-font-family:Symbol;
! mso-bidi-font-family:Symbol'><span style='mso-list:Ignore'>·<span
! style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><![endif]>Microsoft
! Windows 2003 Server</p>
! 
! <p class=MsoNormal style='margin-left:14.15pt;text-indent:-14.15pt;mso-list:
! l11 level1 lfo2;tab-stops:list 14.15pt'><![if !supportLists]><span
! style='font-size:9.0pt;font-family:Symbol;mso-fareast-font-family:Symbol;
! mso-bidi-font-family:Symbol'><span style='mso-list:Ignore'>·<span
! style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><![endif]>Microsoft
! Windows 2003 R2 Server</p>
! 
! <h3 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872166"></a><a
! name="_Toc115416101"><span style='mso-bookmark:_Toc126872166'>2.1.1 Unsupported
! Operating Systems</span></a></h3>
! 
! <p class=MsoNormal style='margin-left:14.15pt;text-indent:-14.15pt;mso-list:
! l12 level1 lfo3;tab-stops:list 14.15pt'><![if !supportLists]><span
! style='font-size:9.0pt;font-family:Symbol;mso-fareast-font-family:Symbol;
! mso-bidi-font-family:Symbol'><span style='mso-list:Ignore'>·<span
! style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><![endif]>Microsoft
! Windows 95</p>
! 
! <p class=MsoNormal style='margin-left:14.15pt;text-indent:-14.15pt;mso-list:
! l12 level1 lfo3;tab-stops:list 14.15pt'><![if !supportLists]><span
! style='font-size:9.0pt;font-family:Symbol;mso-fareast-font-family:Symbol;
! mso-bidi-font-family:Symbol'><span style='mso-list:Ignore'>·<span
! style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><![endif]>Microsoft
! Windows 98</p>
! 
! <p class=MsoNormal style='margin-left:14.15pt;text-indent:-14.15pt;mso-list:
! l12 level1 lfo3;tab-stops:list 14.15pt'><![if !supportLists]><span
! style='font-size:9.0pt;font-family:Symbol;mso-fareast-font-family:Symbol;
! mso-bidi-font-family:Symbol'><span style='mso-list:Ignore'>·<span
! style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><![endif]>Microsoft
! Windows 98 OSR2</p>
! 
! <p class=MsoNormal style='margin-left:14.15pt;text-indent:-14.15pt;mso-list:
! l12 level1 lfo3;tab-stops:list 14.15pt'><![if !supportLists]><span
! style='font-size:9.0pt;font-family:Symbol;mso-fareast-font-family:Symbol;
! mso-bidi-font-family:Symbol'><span style='mso-list:Ignore'>·<span
! style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><![endif]>Microsoft
! Windows ME</p>
! 
! <p class=MsoNormal style='margin-left:14.15pt;text-indent:-14.15pt;mso-list:
! l12 level1 lfo3;tab-stops:list 14.15pt'><![if !supportLists]><span
! style='font-size:9.0pt;font-family:Symbol;mso-fareast-font-family:Symbol;
! mso-bidi-font-family:Symbol'><span style='mso-list:Ignore'>·<span
! style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><![endif]>Microsoft
! NT</p>
! 
! <p class=MsoNormal style='margin-left:14.15pt;text-indent:-14.15pt;mso-list:
! l12 level1 lfo3;tab-stops:list 14.15pt'><![if !supportLists]><span
! style='font-size:9.0pt;font-family:Symbol;mso-fareast-font-family:Symbol;
! mso-bidi-font-family:Symbol'><span style='mso-list:Ignore'>·<span
! style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><![endif]>Microsoft
! Windows Vista (as of Beta 1 bugs in Windows prevent its use)</p>
! 
! <p class=MsoNormal style='margin-left:14.15pt;text-indent:-14.15pt;mso-list:
! l12 level1 lfo3;tab-stops:list 14.15pt'><![if !supportLists]><span
! style='font-size:9.0pt;font-family:Symbol;mso-fareast-font-family:Symbol;
! mso-bidi-font-family:Symbol'><span style='mso-list:Ignore'>·<span
! style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><![endif]>All
! 64-bit versions of Microsoft Windows on Itanium and x86-64 chipsets.</p>
  
  <p class=MsoNormal>Older releases of OpenAFS are available for download if
! those operating systems must be supported.<span style='mso-spacerun:yes'> 
! </span>The last version of OpenAFS with support for Win9x is 1.2.2b.<span
! style='mso-spacerun:yes'>  </span>The last version with support for Windows NT
  4.0 is 1.2.10.</p>
  
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872167"></a><a
! name="_Toc115417040"></a><a name="_Toc115416102"><span style='mso-bookmark:
! _Toc115417040'><span style='mso-bookmark:_Toc126872167'>2.2 Disk Space</span></span></a></h2>
  
  <p class=MsoNormal>Up to 60mb required for the OpenAFS binaries plus 100MB for
! the default AFSCache file.<span style='mso-spacerun:yes'>   </span>(The size of
! the AFSCache file may be adjusted via the Registry after installation.)</p>
  
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872168"></a><a
! name="_Toc115417041"></a><a name="_Toc115416103"><span style='mso-bookmark:
! _Toc115417041'><span style='mso-bookmark:_Toc126872168'>2.3 Additional Software</span></span></a></h2>
  
  <p class=MsoNormal><a href="http://web.mit.edu/kerberos/dist/index.html">MIT
  Kerberos for Windows</a> 2.6.x or 3.x.x if Kerberos 5 authentication support is
  desired.</p>
  
! <h1 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872169"></a><a
! name="_Toc115417111"></a><a name="_Toc115417042"></a><a name="_Toc115416104"><span
! style='mso-bookmark:_Toc115417042'><span style='mso-bookmark:_Toc115417111'><span
! style='mso-bookmark:_Toc126872169'>3. Operational Notes</span></span></span></a></h1>
! 
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872170"></a><a
! name="_Toc115417043"></a><a name="_Toc115416105"><span style='mso-bookmark:
! _Toc115417043'><span style='mso-bookmark:_Toc126872170'>3.1. Requirements for
! Kerberos 5 Authentication</span></span></a></h2>
  
  <p class=MsoNormal>The Kerberos 4 infrastructure on which the OpenAFS 1.2
! series is reliant is no longer secure.<span style='mso-spacerun:yes'> 
! </span>Cross-realm Kerberos is very important in the AFS context and most sites
! have or are migrating to Kerberos 5 environments.<span
! style='mso-spacerun:yes'>  </span>The OpenAFS 1.4 series integrates with MIT
! Kerberos for Windows 2.6.5 to support Kerberos 5 authentication including
! automatic renewal of AFS tokens and single sign-on via the Microsoft Windows
! Kerberos Logon Service.</p>
  
  <p class=MsoNormal>When KFW is installed, the OpenAFS 1.4 client will obtain
! Kerberos 5 tickets and use them as tokens without modification.<span
! style='mso-spacerun:yes'>  </span>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.<span style='mso-spacerun:yes'>  </span>IBM
! Transarc servers do not support Kerberos 5.<!--[if supportFields]><span
! style='mso-element:field-begin'></span> XE &quot;Kerberos 5&quot; <![endif]--><!--[if supportFields]><span
! style='mso-element:field-end'></span><![endif]--></p>
! 
! <h3 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872171"></a><a
! name="_Toc115416106"><span style='mso-bookmark:_Toc126872171'>3.1.1. Active
! Directory</span></a></h3>
  
  <p class=MsoNormal>There are two things to consider when using a Microsoft
  Windows Active Directory as the Kerberos realm that issues the AFS service
! ticket.<span style='mso-spacerun:yes'>  </span>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 in the <st2:place
! w:st="on">PAC.</st2:place><span style='mso-spacerun:yes'>  </span>If the issued
! tickets become larger than 344 bytes OpenAFS 1.2 servers will be unable to
! process them.<span style='mso-spacerun:yes'>  </span>OpenAFS 1.4 servers can
! support the largest tickets that Active Directory can issue.<span
! style='mso-spacerun:yes'>  </span>Second, the Kerberos 5 tickets issued by
! Windows 2003 Active Directory are encrypted with the DES-CBC-MD5 enctype.<span
! style='mso-spacerun:yes'>  </span>OpenAFS 1.2 servers only support the
! DES-CBC-CRC enctype.<!--[if supportFields]><span style='mso-element:field-begin'></span>
! XE &quot;Active Directory&quot; <![endif]--><!--[if supportFields]><span
! style='mso-element:field-end'></span><![endif]--><!--[if supportFields]><span
! style='mso-element:field-begin'></span><span
! style='mso-spacerun:yes'> </span>XE &quot;DES enctypes&quot; <![endif]--><!--[if supportFields]><span
! style='mso-element:field-end'></span><![endif]--></p>
! 
! <h3 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872172"></a><a
! name="_Toc115416107"><span style='mso-bookmark:_Toc126872172'>3.1.2. Using the
! krb524 service</span></a></h3>
  
  <p class=MsoNormal>Some organizations which have AFS cell names and Kerberos
  realm names which differ by more then just lower and upper case rely on a
  modification to krb524d which maps a Kerberos 5 ticket from realm FOO to a
! Kerberos 4 ticket in realm BAR.<span style='mso-spacerun:yes'>  </span>This
! allows user@FOO to appear to be user@bar for the purposes of accessing the AFS
! cell.<span style='mso-spacerun:yes'>  </span>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.<span style='mso-spacerun:yes'>  </span>By using Kerberos 5
! directly we avoid the security holes inherent in Kerberos 4 cross-realm.<span
! style='mso-spacerun:yes'>  </span>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.<span style='mso-spacerun:yes'>  </span>The port was used to spread a worm
! which attacked Microsoft Windows in the summer of 2003.<span
! style='mso-spacerun:yes'>  </span>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.<span style='mso-spacerun:yes'>  </span>To support this
! transition, OpenAFS for Windows 1.4 adds a new registry value, <i><a
! href="oafw-1-4-release-notes.doc#_Value___: Use524">Use524</a></i>, to force
! the use of krb524d.<span style='mso-spacerun:yes'>  </span>However, the
! availability of this option should only be used by individuals until such time
! as their organizations can provide a more permanent solution.<!--[if supportFields]><span
! style='mso-element:field-begin'></span> XE &quot;Kerberos 5&quot; <![endif]--><!--[if supportFields]><span
! style='mso-element:field-end'></span><![endif]--><!--[if supportFields]><span
! style='mso-element:field-begin'></span><span
! style='mso-spacerun:yes'> </span>XE &quot;krb524&quot; <![endif]--><!--[if supportFields]><span
! style='mso-element:field-end'></span><![endif]--></p>
! 
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872173"></a><a
! name="_Toc115417044"></a><a name="_Toc115416108"><span style='mso-bookmark:
! _Toc115417044'><span style='mso-bookmark:_Toc126872173'>3.2. Use of the
! Microsoft Loopback Adapter</span></span></a></h2>
  
  <p class=MsoNormal>By itself the OpenAFS Client Service does not provide robust
! behavior in a plug-n-play network environment.<span style='mso-spacerun:yes'> 
! </span>Changes to the number of network adapters or their assigned IP addresses
! will cause the service to terminate unexpectedly.<span
! style='mso-spacerun:yes'>  </span>To avoid this behavior OpenAFS for Windows
! installs a single instance of the Microsoft Loopback Adapter (MLA) on the
! machine.<span style='mso-spacerun:yes'>  </span>With the MLA installed, the
! OpenAFS Client Service will not be affected by the configuration changes of
! other network adapters installed on the system.<span style='mso-spacerun:yes'> 
! </span></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.<span style='mso-spacerun:yes'> 
! </span>The MLA is bound to the “Client for Microsoft Networks” service and not
! bound to the “File and Printer Sharing for Microsoft Networks”.<span
! style='mso-spacerun:yes'>  </span>If the MLA is unbound to &quot;Client
! Microsoft Networks&quot;, the OpenAFS Client Service will become inaccessible
! when the machine is disconnected from the network.<span
! style='mso-spacerun:yes'>  </span>If the MLA is bound to &quot;File and Printer
! Sharing ...&quot; there will be a service type collision between the name
! &quot;AFS&quot; and the name of the machine on the MLA's IP Address that will
! result in the OpenAFS client service becoming inaccessible and the &quot;NET
! VIEW \\AFS&quot; command will return a &quot;System Error 52&quot;
! message.<span style='mso-spacerun:yes'>  </span>To correct the problem:</p>
! 
! <p class=MsoNormal style='margin-left:49.6pt;text-indent:-14.15pt;mso-list:
! l13 level1 lfo4;tab-stops:list 14.15pt'><![if !supportLists]><span
! style='font-size:9.0pt;font-family:Symbol;mso-fareast-font-family:Symbol;
! mso-bidi-font-family:Symbol'><span style='mso-list:Ignore'>·<span
! style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><![endif]><span
! style='mso-spacerun:yes'> </span>stop the AFS Client Service</p>
! 
! <p class=MsoNormal style='margin-left:49.6pt;text-indent:-14.15pt;mso-list:
! l13 level1 lfo4;tab-stops:list 14.15pt'><![if !supportLists]><span
! style='font-size:9.0pt;font-family:Symbol;mso-fareast-font-family:Symbol;
! mso-bidi-font-family:Symbol'><span style='mso-list:Ignore'>·<span
! style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><![endif]><span
! style='mso-spacerun:yes'> </span>bind the &quot;Client for Microsoft
! Networks&quot; to the MLA</p>
! 
! <p class=MsoNormal style='margin-left:49.6pt;text-indent:-14.15pt;mso-list:
! l13 level1 lfo4;tab-stops:list 14.15pt'><![if !supportLists]><span
! style='font-size:9.0pt;font-family:Symbol;mso-fareast-font-family:Symbol;
! mso-bidi-font-family:Symbol'><span style='mso-list:Ignore'>·<span
! style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><![endif]><span
! style='mso-spacerun:yes'> </span>unbind &quot;File and Printer Sharing for
! Microsoft Networks&quot; from the MLA</p>
! 
! <p class=MsoNormal style='margin-left:49.6pt;text-indent:-14.15pt;mso-list:
! l13 level1 lfo4;tab-stops:list 14.15pt'><![if !supportLists]><span
! style='font-size:9.0pt;font-family:Symbol;mso-fareast-font-family:Symbol;
! mso-bidi-font-family:Symbol'><span style='mso-list:Ignore'>·<span
! style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><![endif]><span
! style='mso-spacerun:yes'> </span>Disable and then re-enable the MLA</p>
! 
! <p class=MsoNormal style='margin-left:49.6pt;text-indent:-14.15pt;mso-list:
! l13 level1 lfo4;tab-stops:list 14.15pt'><![if !supportLists]><span
! style='font-size:9.0pt;font-family:Symbol;mso-fareast-font-family:Symbol;
! mso-bidi-font-family:Symbol'><span style='mso-list:Ignore'>·<span
! style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><![endif]><span
! style='mso-spacerun:yes'> </span>start the AFS Client Service</p>
  
  <p class=MsoNormal>When the MLA is not installed the unique NETBIOS name
! published by OpenAFS SMB server is &quot;<i>MACHINE</i>-AFS&quot;.<span
! style='mso-spacerun:yes'>  </span>One of the benefits of using the MLA is that
! the NETBIOS name does not have to be published on any adapter other than the
! MLA.<span style='mso-spacerun:yes'>  </span>Therefore the chosen name is no
! longer required to be unique.<span style='mso-spacerun:yes'>  </span>Instead
! the NETBIOS name associated with the AFS Client Service is simply
! &quot;AFS&quot; and portable UNC paths of the form \\AFS\cellname\path can now
! be used on all machines.<!--[if supportFields]><span style='mso-element:field-begin'></span>
! XE &quot;loopback&quot; <![endif]--><!--[if supportFields]><span
! style='mso-element:field-end'></span><![endif]--><!--[if supportFields]><span
! style='mso-element:field-begin'></span><span
! style='mso-spacerun:yes'> </span>XE &quot;UNC paths&quot; <![endif]--><!--[if supportFields]><span
! style='mso-element:field-end'></span><![endif]--><!--[if supportFields]><span
! style='mso-element:field-begin'></span><span
! style='mso-spacerun:yes'> </span>XE &quot;NETBIOS&quot; <![endif]--><!--[if supportFields]><span
! style='mso-element:field-end'></span><![endif]--></p>
! 
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872174"></a><a
! name="_Toc115417045"></a><a name="_Toc115416109"><span style='mso-bookmark:
! _Toc115417045'><span style='mso-bookmark:_Toc126872174'>3.3. Using Freelance
! (Dynamic Root) Mode to Improve Mobility</span></span></a></h2>
  
  <p class=MsoNormal>Traditionally, when the OpenAFS Client Service starts it
! must be able to access the &quot;root.afs&quot; volume of the default
! cell.<span style='mso-spacerun:yes'>  </span>The &quot;root.afs&quot; volume
! contains the set of mount points to the &quot;root.cell&quot; volumes of
! various cells the administrator of the default cell believes should be
! accessible.<span style='mso-spacerun:yes'>  </span>If the &quot;root.afs&quot;
! volume is inaccessible when the client service is started, the service will
! terminate unexpectedly.<span style='mso-spacerun:yes'>  </span>Since many users
! now use laptops or otherwise operate in disconnected environments in which a
! VPN may be required to access the cell's servers, it is often the case that the
! &quot;root.afs&quot; volume for the default cell is not reachable and the
! OpenAFS Client Service will not successfully start. </p>
  
  <p class=MsoNormal>To allow the OpenAFS Client Service to operate in these
  environments, a fake &quot;root.afs&quot; volume is dynamically constructed
! from mount points and symlinks stored in the local registry.<span
! style='mso-spacerun:yes'>  </span>This method of operation is referred to as
! Freelance mode.</p>
  
  <p class=MsoNormal>The content of the fake “root.afs” volume is dynamically
! modified as cells are accessed.<span style='mso-spacerun:yes'>  </span>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.<span
! style='mso-spacerun:yes'>  </span>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.<span
! style='mso-spacerun:yes'>  </span>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>.<span style='mso-spacerun:yes'>  </span>These
! mount points are preserved in the registry at key:</p>
  
  <p class=PreformattedText style='margin-left:35.45pt'><a
! href="oafw-1-4-release-notes.doc#_Regkey:_[HKLMSOFTWAREOpenAFSClie">HKLM\SOFTWARE\OpenAFS\Client\Freelance</a></p>
  
  <p class=MsoNormal>Additional mount points may be manually created using the
! &quot;fs mkmount&quot; command.<span style='mso-spacerun:yes'>  </span>Mount
! points may be removed using the &quot;fs rmmount&quot; command.</p>
  
  <p class=PreformattedText style='margin-left:35.45pt'>&gt;fs mkmount
  \\AFS\athena.mit.edu root.cell athena.mit.edu</p>
  
! <p class=PreformattedText style='margin-left:35.45pt'>&gt;fs mkmount
! \\AFS\.athena.mit.edu root.cell athena.mit.edu -rw</p>
  
  <p class=PreformattedText style='margin-left:35.45pt'>&gt;fs rmmount
  \\AFS\athena.mit.edu</p>
--- 1,676 ----
! <html>
  
  <head>
  <meta http-equiv=Content-Type content="text/html; charset=windows-1252">
! <meta name=Generator content="Microsoft Word 11 (filtered)">
  <title>OpenAFS for Windows 1.4.1 Release Notes</title>
! 
  <style>
  <!--
   /* Font Definitions */
   @font-face
  	{font-family:Wingdings;
! 	panose-1:5 0 0 0 0 0 0 0 0 0;}
  @font-face
  	{font-family:"MS Mincho";
! 	panose-1:2 2 6 9 4 2 5 8 3 4;}
  @font-face
  	{font-family:Tahoma;
! 	panose-1:2 11 6 4 3 5 4 4 2 4;}
  @font-face
! 	{font-family:Albany;
! 	panose-1:2 11 6 4 2 2 2 2 2 4;}
  @font-face
  	{font-family:StarSymbol;
! 	panose-1:5 0 0 0 0 0 0 0 0 0;}
  @font-face
! 	{font-family:Thorndale;
! 	panose-1:2 2 6 3 5 4 5 2 3 4;}
  @font-face
  	{font-family:Cumberland;
! 	panose-1:2 7 3 9 2 2 5 2 4 4;}
! @font-face
! 	{font-family:"Andale Sans UI";
! 	panose-1:2 11 5 2 0 0 0 0 0 1;}
  @font-face
  	{font-family:"\@MS Mincho";
! 	panose-1:2 2 6 9 4 2 5 8 3 4;}
   /* Style Definitions */
   p.MsoNormal, li.MsoNormal, div.MsoNormal
! 	{margin-top:7.2pt;
  	margin-right:0pt;
  	margin-bottom:7.2pt;
  	margin-left:0pt;
  	font-size:12.0pt;
! 	font-family:Thorndale;}
  h1
! 	{margin-top:12.0pt;
  	margin-right:0pt;
  	margin-bottom:6.0pt;
  	margin-left:0pt;
  	text-indent:0pt;
  	page-break-after:avoid;
  	font-size:16.0pt;
! 	font-family:Albany;}
  h2
! 	{margin-top:12.0pt;
  	margin-right:0pt;
  	margin-bottom:6.0pt;
  	margin-left:0pt;
  	text-indent:0pt;
  	page-break-after:avoid;
  	font-size:14.0pt;
  	font-family:Albany;
  	font-style:italic;}
  h3
! 	{margin-top:12.0pt;
  	margin-right:0pt;
  	margin-bottom:6.0pt;
  	margin-left:0pt;
  	text-indent:0pt;
  	page-break-after:avoid;
  	font-size:14.0pt;
! 	font-family:Albany;}
  h4
! 	{margin-top:12.0pt;
  	margin-right:0pt;
  	margin-bottom:3.0pt;
  	margin-left:0pt;
  	page-break-after:avoid;
  	font-size:14.0pt;
! 	font-family:"Times New Roman";}
  h5
! 	{margin-top:12.0pt;
  	margin-right:0pt;
  	margin-bottom:3.0pt;
  	margin-left:0pt;
  	font-size:13.0pt;
  	font-family:Thorndale;
  	font-style:italic;}
  h6
! 	{margin-top:12.0pt;
  	margin-right:0pt;
  	margin-bottom:3.0pt;
  	margin-left:0pt;
  	font-size:11.0pt;
! 	font-family:"Times New Roman";}
  p.MsoToc1, li.MsoToc1, div.MsoToc1
! 	{margin-top:7.2pt;
  	margin-right:0pt;
  	margin-bottom:7.2pt;
  	margin-left:0pt;
  	font-size:12.0pt;
! 	font-family:Thorndale;}
  p.MsoToc2, li.MsoToc2, div.MsoToc2
! 	{margin-top:7.2pt;
  	margin-right:0pt;
  	margin-bottom:7.2pt;
  	margin-left:14.15pt;
  	font-size:12.0pt;
! 	font-family:Thorndale;}
  p.MsoToc3, li.MsoToc3, div.MsoToc3
! 	{margin-top:7.2pt;
  	margin-right:0pt;
  	margin-bottom:7.2pt;
  	margin-left:28.3pt;
  	font-size:12.0pt;
! 	font-family:Thorndale;}
  p.MsoFootnoteText, li.MsoFootnoteText, div.MsoFootnoteText
! 	{margin-top:7.2pt;
  	margin-right:0pt;
  	margin-bottom:7.2pt;
  	margin-left:0pt;
  	font-size:10.0pt;
! 	font-family:Thorndale;}
  p.MsoHeader, li.MsoHeader, div.MsoHeader
  	{margin-top:7.2pt;
  	margin-right:0pt;
  	margin-bottom:7.2pt;
  	margin-left:0pt;
  	font-size:12.0pt;
! 	font-family:Thorndale;}
  p.MsoFooter, li.MsoFooter, div.MsoFooter
  	{margin-top:7.2pt;
  	margin-right:0pt;
  	margin-bottom:7.2pt;
  	margin-left:0pt;
  	font-size:12.0pt;
! 	font-family:Thorndale;}
  p.MsoEnvelopeAddress, li.MsoEnvelopeAddress, div.MsoEnvelopeAddress
  	{margin-top:7.2pt;
  	margin-right:0pt;
  	margin-bottom:7.2pt;
  	margin-left:144.0pt;
  	font-size:12.0pt;
! 	font-family:Arial;}
  span.MsoFootnoteReference
! 	{vertical-align:super;}
  p.MsoList, li.MsoList, div.MsoList
! 	{margin-top:0pt;
  	margin-right:0pt;
  	margin-bottom:6.0pt;
  	margin-left:0pt;
  	font-size:12.0pt;
! 	font-family:Thorndale;}
  p.MsoTitle, li.MsoTitle, div.MsoTitle
! 	{margin-top:12.0pt;
  	margin-right:0pt;
  	margin-bottom:6.0pt;
  	margin-left:0pt;
  	text-align:center;
  	page-break-after:avoid;
  	font-size:18.0pt;
  	font-family:Albany;
  	font-weight:bold;}
  p.MsoBodyText, li.MsoBodyText, div.MsoBodyText
! 	{margin-top:0pt;
  	margin-right:0pt;
  	margin-bottom:6.0pt;
  	margin-left:0pt;
  	font-size:12.0pt;
! 	font-family:Thorndale;}
  p.MsoBodyTextIndent, li.MsoBodyTextIndent, div.MsoBodyTextIndent
! 	{margin-top:0pt;
  	margin-right:0pt;
  	margin-bottom:6.0pt;
  	margin-left:14.15pt;
  	font-size:12.0pt;
! 	font-family:Thorndale;}
  p.MsoSubtitle, li.MsoSubtitle, div.MsoSubtitle
! 	{margin-top:12.0pt;
  	margin-right:0pt;
  	margin-bottom:6.0pt;
  	margin-left:0pt;
  	text-align:center;
  	page-break-after:avoid;
  	font-size:14.0pt;
  	font-family:Albany;
  	font-style:italic;}
  a:link, span.MsoHyperlink
! 	{color:navy;
! 	text-decoration:underline;}
  a:visited, span.MsoHyperlinkFollowed
! 	{color:maroon;
! 	text-decoration:underline;}
! pre
! 	{margin:0pt;
! 	margin-bottom:.0001pt;
! 	font-size:10.0pt;
! 	font-family:"Courier New";}
  span.Bullets
! 	{font-family:StarSymbol;}
  p.Heading, li.Heading, div.Heading
! 	{margin-top:12.0pt;
  	margin-right:0pt;
  	margin-bottom:6.0pt;
  	margin-left:0pt;
  	page-break-after:avoid;
  	font-size:14.0pt;
! 	font-family:Albany;}
  p.Caption1, li.Caption1, div.Caption1
! 	{margin-top:6.0pt;
  	margin-right:0pt;
  	margin-bottom:6.0pt;
  	margin-left:0pt;
  	font-size:10.0pt;
  	font-family:Thorndale;
  	font-style:italic;}
  p.Index, li.Index, div.Index
! 	{margin-top:7.2pt;
  	margin-right:0pt;
  	margin-bottom:7.2pt;
  	margin-left:0pt;
  	font-size:12.0pt;
! 	font-family:Thorndale;}
  p.ContentsHeading, li.ContentsHeading, div.ContentsHeading
! 	{margin-top:12.0pt;
  	margin-right:0pt;
  	margin-bottom:6.0pt;
  	margin-left:0pt;
  	page-break-after:avoid;
  	font-size:16.0pt;
  	font-family:Albany;
  	font-weight:bold;}
  p.PreformattedText, li.PreformattedText, div.PreformattedText
! 	{margin:0pt;
  	margin-bottom:.0001pt;
  	font-size:10.0pt;
! 	font-family:Cumberland;}
  p.ListContents, li.ListContents, div.ListContents
! 	{margin-top:7.2pt;
  	margin-right:0pt;
  	margin-bottom:7.2pt;
  	margin-left:28.35pt;
  	font-size:12.0pt;
! 	font-family:Thorndale;}
  p.ListHeading, li.ListHeading, div.ListHeading
! 	{margin-top:4.3pt;
  	margin-right:0pt;
  	margin-bottom:4.3pt;
  	margin-left:0pt;
  	font-size:12.0pt;
! 	font-family:Thorndale;}
  span.HeadingChar
! 	{font-family:Albany;}
  span.Heading3Char
! 	{font-family:Albany;
  	font-weight:bold;}
  p.Header5, li.Header5, div.Header5
! 	{margin-top:7.2pt;
  	margin-right:0pt;
  	margin-bottom:7.2pt;
  	margin-left:0pt;
  	font-size:12.0pt;
! 	font-family:Thorndale;}
  p.Heading3, li.Heading3, div.Heading3
! 	{margin-top:7.2pt;
  	margin-right:0pt;
  	margin-bottom:7.2pt;
  	margin-left:0pt;
  	font-size:12.0pt;
! 	font-family:Thorndale;}
  span.Heading4Char
! 	{font-family:"Andale Sans UI";
  	font-weight:bold;}
  p.Default, li.Default, div.Default
! 	{margin:0pt;
  	margin-bottom:.0001pt;
  	text-autospace:none;
  	font-size:12.0pt;
  	font-family:Arial;
  	color:black;}
  span.BodyTextChar
! 	{font-family:Thorndale;}
   /* Page Definitions */
!  @page Section1
  	{size:612.0pt 792.0pt;
! 	margin:72.0pt 90.0pt 72.0pt 90.0pt;}
  div.Section1
! 	{page:Section1;}
  @page Section2
  	{size:612.0pt 792.0pt;
! 	margin:72.0pt 90.0pt 72.0pt 90.0pt;}
  div.Section2
  	{page:Section2;}
   /* List Definitions */
!  ol
  	{margin-bottom:0pt;}
  ul
  	{margin-bottom:0pt;}
  -->
  </style>
! 
  </head>
  
! <body lang=EN-US link=navy vlink=maroon style='line-break:strict'>
  
  <div class=Section1>
  
! <p class=MsoTitle>OpenAFS for Windows 1.4.2<br>
  Release Notes</p>
  
  <p class=MsoBodyText>The Andrew File System (AFS) is a location-independent
! file system that uses a local cache to increase its performance.  An AFS client
! accesses files anonymously or via a Kerberos authentication.  The global AFS is
! partitioned into cells.  The AFS cell is a collection of AFS volumes that are
! administered by a common entity.   AFS cells can be administered by a
! department even when the Kerberos realm used for local authentication is
! managed by a much larger organization.  AFS clients and servers take advantage
! of Kerberos cross realm authentication to enable authenticated access by
! entities located outside the local realm.  Authorization is enforced by the use
! of directory level access control lists which can consist of individual or
! group identities.  </p>
! 
! <p class=MsoBodyText>The AFS volume is a tree of files and sub-directories. 
! AFS volumes are created by administrators and are joined to an AFS cell via the
! use of a mount point.   Once a volume is created, users can create files and
! directories as well as mount points and symlinks within the volume without
! regard for the physical location of the volume.  Administrators can move the
! volume to another server as necessary without the need to notify users.   In
! fact, the volume move can occur while files in the volume are in use.  </p>
! 
! <p class=MsoBodyText>AFS volumes can be replicated to read-only copies.   When
! accessing files from a read-only replica, clients will read all of the data
! from a single replica.   If that replica becomes unavailable, the clients will
! failover to any replica that is reachable.  Users of the data are unaware of
! where the replicas are stored or which one is being accessed.   The contents of
! the replicas can be updated at any time by <i>releasing</i> the current
  contents of the source volume.</p>
  
  <p class=MsoBodyText>OpenAFS for Windows (OAFW) provides AFS client access
! Microsoft Windows operating systems.  It strives to maintain transparency such
! that the user is unaware of the distinction between the use of AFS and
! Microsoft Windows file shares.   OAFW can be part of a single sign-on solution
! by allowing credentials for a Kerberos principal to be obtained at logon and
! for that principal to be used to obtain AFS tokens for one or more cells.  
! Although OAFW is implemented as a locally installed SMB to AFS gateway, OAFW
! maintains the portability of file paths by its use of the <a href="file:///\\AFS">\\AFS</a>
! UNC server name.</p>
  
  <p class=MsoBodyText>OpenAFS is the product of an open source development
! effort begun on October 31 2000.  OpenAFS is maintained and developed by a
! group of volunteers with the support of the user community.   If you use
! OpenAFS as part of your computing infrastructure please contribute to its
! continued growth.</p>
! 
! <p class=MsoToc1><span class=MsoHyperlink><a
! href="../../oafw-1-4-release-notes.doc#_Toc115417109">1. Installer Options<span
! style='color:windowtext;display:none;text-decoration:none'>. </span><span
! style='color:windowtext;display:none;text-decoration:none'>1</span></a></span></p>
! 
! <p class=MsoToc1><span class=MsoHyperlink><a
! href="../../oafw-1-4-release-notes.doc#_Toc115417110">2. System Requirements<span
! style='color:windowtext;display:none;text-decoration:none'>. </span><span
! style='color:windowtext;display:none;text-decoration:none'>2</span></a></span></p>
! 
! <p class=MsoToc1><span class=MsoHyperlink><a
! href="../../oafw-1-4-release-notes.doc#_Toc115417111">3. Operational Notes<span
! style='color:windowtext;display:none;text-decoration:none'>. </span><span
! style='color:windowtext;display:none;text-decoration:none'>2</span></a></span></p>
! 
! <p class=MsoToc1><span class=MsoHyperlink><a
! href="../../oafw-1-4-release-notes.doc#_Toc115417112">4. How to Debug Problems
! with OpenAFS for Windows:<span style='color:windowtext;display:none;text-decoration:
! none'> </span><span
! style='color:windowtext;display:none;text-decoration:none'>11</span></a></span></p>
! 
! <p class=MsoToc1><span class=MsoHyperlink><a
! href="../../oafw-1-4-release-notes.doc#_Toc115417113">5. Reporting Bugs:<span
! style='color:windowtext;display:none;text-decoration:none'> </span><span
! style='color:windowtext;display:none;text-decoration:none'>13</span></a></span></p>
! 
! <p class=MsoToc1><span class=MsoHyperlink><a
! href="../../oafw-1-4-release-notes.doc#_Toc115417114">6. How to Contribute to
! the Development of OpenAFS for Windows<span style='color:windowtext;display:
! none;text-decoration:none'>. </span><span
! style='color:windowtext;display:none;text-decoration:none'>14</span></a></span></p>
! 
! <p class=MsoToc1><span class=MsoHyperlink><a
! href="../../oafw-1-4-release-notes.doc#_Toc115417115">7. MSI Deployment Guide<span
! style='color:windowtext;display:none;text-decoration:none'>. </span><span
! style='color:windowtext;display:none;text-decoration:none'>15</span></a></span></p>
! 
! <p class=MsoToc1><span class=MsoHyperlink><a
! href="../../oafw-1-4-release-notes.doc#_Toc115417116">Appendix A: Registry
! Values<span style='color:windowtext;display:none;text-decoration:none'>. </span><span
! style='color:windowtext;display:none;text-decoration:none'>26</span></a></span></p>
! 
! <h1 style='margin-left:0pt;text-indent:0pt'><a name="_Toc139980939"></a><a
! name="_Toc126872163"></a><a name="_Toc115417109"></a><a name="_Toc115417037"></a><a
! name="_Toc115416098">1. Installer Options</a></h1>
! 
! <p class=MsoNormal>It can be installed either as a new installation or an upgrade
! from previous versions of OpenAFS for Windows or IBM AFS for Windows. 
! Installers are provided in two forms:</p>
! 
! <p class=MsoNormal style='margin-left:18.0pt;text-indent:-18.0pt'><span
! style='font-size:9.0pt'>1.<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
! </span></span>an executable (.exe) that is built using the Nullsoft Scriptable
! Installation System, or</p>
! 
! <p class=MsoNormal style='margin-left:18.0pt;text-indent:-18.0pt'><span
! style='font-size:9.0pt'>2.<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
! </span></span>a Windows Installer package (.msi) that is built using WiX and
! can be customized for organizations via the use of MSI Transforms (see <a
! href="../../oafw-1-4-release-notes.doc#_MSI_Deployment_Guide">MSI Deployment
  Guide</a>)</p>
  
! <h1 style='margin-left:0pt;text-indent:0pt'><a name="_Toc139980940"></a><a
! name="_Toc126872164"></a><a name="_Toc115417110"></a><a name="_Toc115417038"></a><a
! name="_Toc115416099">2. System Requirements</a></h1>
! 
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc139980941"></a><a
! name="_Toc126872165"></a><a name="_Toc115417039"></a><a name="_Toc115416100">2.1
! Supported Operating Systems</a></h2>
! 
! <p class=MsoNormal style='margin-left:14.15pt;text-indent:-14.15pt'><span
! style='font-size:9.0pt;font-family:Symbol'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
! </span></span>Microsoft Windows 2000 Workstation</p>
! 
! <p class=MsoNormal style='margin-left:14.15pt;text-indent:-14.15pt'><span
! style='font-size:9.0pt;font-family:Symbol'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
! </span></span>Microsoft Windows 2000 Server</p>
! 
! <p class=MsoNormal style='margin-left:14.15pt;text-indent:-14.15pt'><span
! style='font-size:9.0pt;font-family:Symbol'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
! </span></span>Microsoft Windows XP Home</p>
! 
! <p class=MsoNormal style='margin-left:14.15pt;text-indent:-14.15pt'><span
! style='font-size:9.0pt;font-family:Symbol'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
! </span></span>Microsoft Windows XP Professional</p>
! 
! <p class=MsoNormal style='margin-left:14.15pt;text-indent:-14.15pt'><span
! style='font-size:9.0pt;font-family:Symbol'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
! </span></span>Microsoft Windows 2003 Server</p>
! 
! <p class=MsoNormal style='margin-left:14.15pt;text-indent:-14.15pt'><span
! style='font-size:9.0pt;font-family:Symbol'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
! </span></span>Microsoft Windows 2003 R2 Server</p>
! 
! <p class=MsoNormal style='margin-left:14.15pt;text-indent:-14.15pt'><span
! style='font-size:9.0pt;font-family:Symbol'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
! </span></span>Microsoft Windows Vista Beta 2 (not for production use)</p>
! 
! <h3 style='margin-left:0pt;text-indent:0pt'><a name="_Toc139980942"></a><a
! name="_Toc126872166"></a><a name="_Toc115416101">2.1.1 Unsupported Operating
! Systems</a></h3>
! 
! <p class=MsoNormal style='margin-left:14.15pt;text-indent:-14.15pt'><span
! style='font-size:9.0pt;font-family:Symbol'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
! </span></span>Microsoft Windows 95</p>
! 
! <p class=MsoNormal style='margin-left:14.15pt;text-indent:-14.15pt'><span
! style='font-size:9.0pt;font-family:Symbol'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
! </span></span>Microsoft Windows 98</p>
! 
! <p class=MsoNormal style='margin-left:14.15pt;text-indent:-14.15pt'><span
! style='font-size:9.0pt;font-family:Symbol'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
! </span></span>Microsoft Windows 98 OSR2</p>
! 
! <p class=MsoNormal style='margin-left:14.15pt;text-indent:-14.15pt'><span
! style='font-size:9.0pt;font-family:Symbol'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
! </span></span>Microsoft Windows ME</p>
! 
! <p class=MsoNormal style='margin-left:14.15pt;text-indent:-14.15pt'><span
! style='font-size:9.0pt;font-family:Symbol'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
! </span></span>Microsoft NT</p>
! 
! <p class=MsoNormal style='margin-left:14.15pt;text-indent:-14.15pt'><span
! style='font-size:9.0pt;font-family:Symbol'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
! </span></span>All 64-bit versions of Microsoft Windows on Itanium and x86-64
! chipsets.</p>
  
  <p class=MsoNormal>Older releases of OpenAFS are available for download if
! unsupported 32-bit operating systems must be used.  The last version of OpenAFS
! with support for Win9x is 1.2.2b.  The last version with support for Windows NT
  4.0 is 1.2.10.</p>
  
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc139980943"></a><a
! name="_Toc126872167"></a><a name="_Toc115417040"></a><a name="_Toc115416102">2.2
! Disk Space</a></h2>
  
  <p class=MsoNormal>Up to 60mb required for the OpenAFS binaries plus 100MB for
! the default AFSCache file.   (The size of the AFSCache file may be adjusted via
! the Registry after installation.)</p>
  
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc139980944"></a><a
! name="_Toc126872168"></a><a name="_Toc115417041"></a><a name="_Toc115416103">2.3
! Additional Software</a> Packages</h2>
  
  <p class=MsoNormal><a href="http://web.mit.edu/kerberos/dist/index.html">MIT
  Kerberos for Windows</a> 2.6.x or 3.x.x if Kerberos 5 authentication support is
  desired.</p>
  
! <h1 style='margin-left:0pt;text-indent:0pt'><a name="_Toc139980945"></a><a
! name="_Toc126872169"></a><a name="_Toc115417111"></a><a name="_Toc115417042"></a><a
! name="_Toc115416104">3. Operational Notes</a></h1>
! 
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc139980946"></a><a
! name="_Toc126872170"></a><a name="_Toc115417043"></a><a name="_Toc115416105">3.1.
! Requirements for Kerberos 5 Authentication</a></h2>
  
  <p class=MsoNormal>The Kerberos 4 infrastructure on which the OpenAFS 1.2
! series is reliant is no longer secure.  Cross-realm Kerberos is very important
! in the AFS context and most sites have or are migrating to Kerberos 5 environments. 
! The OpenAFS 1.4 series integrates with MIT Kerberos for Windows 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.</p>
  
  <p class=MsoNormal>When KFW is installed, the OpenAFS 1.4 client will obtain
! Kerberos 5 tickets and use them as tokens without modification.  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.  IBM Transarc servers
! do not support Kerberos 5.</p>
! 
! <h3 style='margin-left:0pt;text-indent:0pt'><a name="_Toc139980947"></a><a
! name="_Toc126872171"></a><a name="_Toc115416106">3.1.1. Active Directory</a></h3>
  
  <p class=MsoNormal>There are two things to consider when using a Microsoft
  Windows Active Directory as the Kerberos realm that issues the AFS service
! ticket.  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 in the PAC.  If the issued tickets become
! larger than 344 bytes OpenAFS 1.2 servers will be unable to process them. 
! OpenAFS 1.4 servers can support the largest tickets that Active Directory can
! issue.  Second, the Kerberos 5 tickets issued by Windows 2003 Active Directory
! are encrypted with the DES-CBC-MD5 enctype.  OpenAFS 1.2 servers only support
! the DES-CBC-CRC enctype.</p>
! 
! <p class=MsoNormal>Microsoft has documented in <a
! href="http://support.microsoft.com/kb/832572/">Knowledge Base article 832572</a>
! a new NO_AUTH_REQUIRED flag that can be set on the account mapped to the AFS
! service principal which will prevent the generation of a PAC.</p>
! 
! <h3 style='margin-left:0pt;text-indent:0pt'><a name="_Toc139980948"></a><a
! name="_Toc126872172"></a><a name="_Toc115416107">3.1.2. Using the krb524
! service</a></h3>
  
  <p class=MsoNormal>Some organizations which have AFS cell names and Kerberos
  realm names which differ by more then just lower and upper case rely on a
  modification to krb524d which maps a Kerberos 5 ticket from realm FOO to a
! Kerberos 4 ticket in realm BAR.  This allows user@FOO to appear to be user@bar
! for the purposes of accessing the AFS cell.  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.  By using Kerberos 5 directly we avoid the security holes
! inherent in Kerberos 4 cross-realm.  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.  The port was used to spread a worm which attacked Microsoft Windows in
! the summer of 2003.  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.  To support this transition, OpenAFS for Windows 1.4
! adds a new registry value, <i><a
! href="../../oafw-1-4-release-notes.doc#_Value___: Use524">Use524</a></i>, to
! force the use of krb524d.  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>
! 
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc139980949"></a><a
! name="_Toc126872173"></a><a name="_Toc115417044"></a><a name="_Toc115416108">3.2.
! Use of the Microsoft Loopback Adapter</a></h2>
  
  <p class=MsoNormal>By itself the OpenAFS Client Service does not provide robust
! behavior in a plug-n-play network environment.  Changes to the number of
! network adapters or their assigned IP addresses will cause the service to
! terminate unexpectedly.  To avoid this behavior OpenAFS for Windows installs a
! single instance of the Microsoft Loopback Adapter (MLA) on the machine.  With
! the MLA installed, the OpenAFS Client Service will not be affected by the
! configuration changes of other network adapters installed on the system.  </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.  The MLA is bound to the “Client for
! Microsoft Networks” service and not bound to the “File and Printer Sharing for
! Microsoft Networks”.  If the MLA is unbound to &quot;Client Microsoft
! Networks&quot;, the OpenAFS Client Service will become inaccessible when the
! machine is disconnected from the network.  If the MLA is bound to &quot;File
! and Printer Sharing ...&quot; there will be a service type collision between
! the name &quot;AFS&quot; and the name of the machine on the MLA's IP Address
! that will result in the OpenAFS client service becoming inaccessible and the
! &quot;NET VIEW \\AFS&quot; command will return a &quot;System Error 52&quot;
! message.  To correct the problem:</p>
! 
! <p class=MsoNormal style='margin-left:49.6pt;text-indent:-14.15pt'><span
! style='font-size:9.0pt;font-family:Symbol'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
! </span></span> stop the AFS Client Service</p>
! 
! <p class=MsoNormal style='margin-left:49.6pt;text-indent:-14.15pt'><span
! style='font-size:9.0pt;font-family:Symbol'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
! </span></span> bind the &quot;Client for Microsoft Networks&quot; to the MLA</p>
! 
! <p class=MsoNormal style='margin-left:49.6pt;text-indent:-14.15pt'><span
! style='font-size:9.0pt;font-family:Symbol'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
! </span></span> unbind &quot;File and Printer Sharing for Microsoft
! Networks&quot; from the MLA</p>
! 
! <p class=MsoNormal style='margin-left:49.6pt;text-indent:-14.15pt'><span
! style='font-size:9.0pt;font-family:Symbol'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
! </span></span> Disable and then re-enable the MLA</p>
! 
! <p class=MsoNormal style='margin-left:49.6pt;text-indent:-14.15pt'><span
! style='font-size:9.0pt;font-family:Symbol'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
! </span></span> start the AFS Client Service</p>
  
  <p class=MsoNormal>When the MLA is not installed the unique NETBIOS name
! published by OpenAFS SMB server is &quot;<i>MACHINE</i>-AFS&quot;.  One of the
! benefits of using the MLA is that the NETBIOS name does not have to be
! published on any adapter other than the MLA.  Therefore the chosen name is no
! longer required to be unique.  Instead the NETBIOS name associated with the AFS
! Client Service is simply &quot;AFS&quot; and portable UNC paths of the form \\AFS\cellname\path
! can now be used on all machines.</p>
! 
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc139980950"></a><a
! name="_Toc126872174"></a><a name="_Toc115417045"></a><a name="_Toc115416109">3.3.
! Using Freelance (Dynamic Root) Mode to Improve Mobility</a></h2>
  
  <p class=MsoNormal>Traditionally, when the OpenAFS Client Service starts it
! must be able to access the &quot;root.afs&quot; volume of the default cell. 
! The &quot;root.afs&quot; volume contains the set of mount points to the
! &quot;root.cell&quot; volumes of various cells the administrator of the default
! cell believes should be accessible.  If the &quot;root.afs&quot; volume is
! inaccessible when the client service is started, the service will terminate
! unexpectedly.  Since many users now use laptops or otherwise operate in
! disconnected environments in which a VPN may be required to access the cell's
! servers, it is often the case that the &quot;root.afs&quot; volume for the
! default cell is not reachable and the OpenAFS Client Service will not
! successfully start. </p>
  
  <p class=MsoNormal>To allow the OpenAFS Client Service to operate in these
  environments, a fake &quot;root.afs&quot; volume is dynamically constructed
! from mount points and symlinks stored in the local registry.  This method of
! operation is referred to as Freelance mode.</p>
  
  <p class=MsoNormal>The content of the fake “root.afs” volume is dynamically
! modified as cells are accessed.  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.  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.  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>.  These mount
! points are preserved in the registry at key:</p>
  
  <p class=PreformattedText style='margin-left:35.45pt'><a
! href="../../oafw-1-4-release-notes.doc#_Regkey:_[HKLMSOFTWAREOpenAFSClie">HKLM\SOFTWARE\OpenAFS\Client\Freelance</a></p>
  
  <p class=MsoNormal>Additional mount points may be manually created using the
! &quot;fs mkmount&quot; command.  Mount points may be removed using the &quot;fs
! rmmount&quot; command.</p>
  
  <p class=PreformattedText style='margin-left:35.45pt'>&gt;fs mkmount
  \\AFS\athena.mit.edu root.cell athena.mit.edu</p>
  
! <p class=PreformattedText style='margin-left:35.45pt'>&gt;fs mkmount \\AFS\.athena.mit.edu
! root.cell athena.mit.edu -rw</p>
  
  <p class=PreformattedText style='margin-left:35.45pt'>&gt;fs rmmount
  \\AFS\athena.mit.edu</p>
***************
*** 3824,4058 ****
  <p class=PreformattedText style='margin-left:35.45pt'>&gt;symlink make \\afs\link
  \\afs\athena.mit.edu\user\j\a\jaltman</p>
  
! <p class=PreformattedText><span style='mso-tab-count:1'>      </span>&gt;symlink
! list \\afs\link</p>
  
! <p class=PreformattedText><span style='mso-tab-count:1'>      </span>'\\afs\link'
! is a symlink to 'athena.mit.edu\user\j\a\jaltman'</p>
  
  <p class=PreformattedText style='margin-left:35.45pt'>&gt;symlink rm \\afs\link</p>
  
  <p class=MsoNormal>The symlinks are stored in the registry at:</p>
  
  <p class=PreformattedText style='margin-left:35.45pt'><a
! href="oafw-1-4-release-notes.doc#_Regkey:_[HKLMSOFTWAREOpenAFSClie_1">HKLM\SOFTWARE\OpenAFS\Client\Freelance\Symlinks</a><!--[if supportFields]><span
! style='mso-element:field-begin'></span> XE &quot;Freelance Mode&quot; <![endif]--><!--[if supportFields]><span
! style='mso-element:field-end'></span><![endif]--><!--[if supportFields]><span
! style='mso-element:field-begin'></span><span
! style='mso-spacerun:yes'> </span>XE &quot;Dynamic Root&quot; <![endif]--><!--[if supportFields]><span
! style='mso-element:field-end'></span><![endif]--><!--[if supportFields]><span
! style='mso-element:field-begin'></span><span
! style='mso-spacerun:yes'> </span>XE &quot;fs.exe&quot; <![endif]--><!--[if supportFields]><span
! style='mso-element:field-end'></span><![endif]--><!--[if supportFields]><span
! style='mso-element:field-begin'></span><span
! style='mso-spacerun:yes'> </span>XE &quot;symlink.exe&quot; <![endif]--><!--[if supportFields]><span
! style='mso-element:field-end'></span><![endif]--><!--[if supportFields]><span
! style='mso-element:field-begin'></span><span
! style='mso-spacerun:yes'> </span>XE &quot;root.afs&quot; <![endif]--><!--[if supportFields]><span
! style='mso-element:field-end'></span><![endif]--><span
! style='mso-spacerun:yes'> </span></p>
! 
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872175"></a><a
! name="_Toc115417046"></a><a name="_Toc115416110"><span style='mso-bookmark:
! _Toc115417046'><span style='mso-bookmark:_Toc126872175'>3.4. Locating AFS
! Volume Database Servers</span></span></a> </h2>
  
  <p class=MsoNormal>The OpenAFS for Windows client will use DNS AFSDB records to
  discover the location of AFS Volume Database servers when entries are not
  present in the client's CellServDB file
! (\%PROGRAMFILES%\OpenAFS\Client\CellServDB).<!--[if supportFields]><span
! style='mso-element:field-begin'></span> XE &quot;dns&quot; <![endif]--><!--[if supportFields]><span
! style='mso-element:field-end'></span><![endif]--><!--[if supportFields]><span
! style='mso-element:field-begin'></span><span
! style='mso-spacerun:yes'> </span>XE &quot;afsdb&quot; <![endif]--><!--[if supportFields]><span
! style='mso-element:field-end'></span><![endif]--></p>
! 
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872176"></a><a
! name="_Toc115417047"></a><a name="_Toc115416111"><span style='mso-bookmark:
! _Toc115417047'><span style='mso-bookmark:_Toc126872176'>3.5. Obtaining AFS
! Tokens as a Part of Windows Logon</span></span></a></h2>
  
  <p class=MsoNormal>OpenAFS for Windows installs a WinLogon Network Provider to
! provide Single Sign-on functionality (aka Integrated Logon.)<span
! style='mso-spacerun:yes'>  </span>Integrated Logon can be used when the Windows
! username and password match the username and password associated with the
! default cell's Kerberos realm.<span style='mso-spacerun:yes'>  </span>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;.<span
! style='mso-spacerun:yes'>  </span>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>
  
  <p class=MsoNormal>Integrated Logon is required if you desire the ability to
! store roaming user profiles within the AFS file system.<span
! style='mso-spacerun:yes'>  </span>OpenAFS does not provide tools for
! synchronizing the Windows and Kerberos user accounts and passwords.</p>
  
  <p class=MsoNormal>When KFW is configured, Integrated Logon will use it to
! obtain tokens.<span style='mso-spacerun:yes'>  </span>The Kerberos 5 tickets
! obtained during the process of generating AFS tokens are preserved and stored
! into the default ccache within the user logon session.</p>
  
  <p class=MsoNormal>Integrated Logon does not have the ability to cache the
  user's username and password for the purpose of obtaining tokens if the
  Kerberos KDC is inaccessible at logon time.</p>
  
  <p class=MsoNormal>Integrated Login supports the ability to obtain tokens for
! multiple cells.<span style='mso-spacerun:yes'>  </span>For further information
! on how to configure this feature read the <a
! href="relnotes.htm#_Value:_TheseCells">TheseCells</a> value in <a
! href="oafw-1-4-release-notes.doc#_Appendix_A:_Registry_Values">Appendix A</a>.<!--[if supportFields]><span
! style='mso-element:field-begin'></span> XE &quot;integrated login&quot; <![endif]--><!--[if supportFields]><span
! style='mso-element:field-end'></span><![endif]--></p>
! 
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872177"></a><a
! name="_Toc115417048"></a><a name="_Toc115416112"><span style='mso-bookmark:
! _Toc115417048'><span style='mso-bookmark:_Toc126872177'>3.6. AFS System Tray
! Command Line Options</span></span></a></h2>
  
  <p class=MsoNormal>The AFS System Tray tool (afscreds.exe) supports several
  command line options: </p>
  
! <p class=PreformattedText><span style='mso-spacerun:yes'>    </span>-A =
! autoinit </p>
  
! <p class=PreformattedText><span style='mso-spacerun:yes'>    </span>-E = force
! existing afscreds to exit</p>
  
! <p class=PreformattedText><span style='mso-spacerun:yes'>    </span>-I =
! install startup shortcut</p>
  
! <p class=PreformattedText><span style='mso-spacerun:yes'>    </span>-M = renew
! drive maps </p>
  
! <p class=PreformattedText><span style='mso-spacerun:yes'>    </span>-N = IP address
! change detection </p>
  
! <p class=PreformattedText><span style='mso-spacerun:yes'>    </span>-Q = quiet
! mode.<span style='mso-spacerun:yes'>  </span>do not display start service
  dialog</p>
  
! <p class=PreformattedText><span style='mso-spacerun:yes'>         </span>if
! afsd_service is not already running</p>
  
! <p class=PreformattedText><span style='mso-spacerun:yes'>    </span>-S = show
! tokens dialog on startup</p>
  
! <p class=PreformattedText><span style='mso-spacerun:yes'>    </span>-U =
! uninstall startup shortcut</p>
  
! <p class=PreformattedText><span style='mso-spacerun:yes'>    </span>-X = test
! and do map share</p>
  
! <p class=PreformattedText><span style='mso-spacerun:yes'>    </span>-Z = unmap
! drives</p>
  
  <p class=MsoNormal>autoinit will result in automated attempts to acquire AFS
! tokens when afscreds.exe is started.<span style='mso-spacerun:yes'> 
! </span>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.<span style='mso-spacerun:yes'>  </span>When
! used in combination with IP address change detection, afscreds.exe will attempt
! to acquire AFS tokens whenever the IP address list changes and the Kerberos KDC
! is accessible.</p>
  
  <p class=MsoNormal>The renew drive maps option is used to ensure that the user
  drive maps constructed via the OpenAFS tools (not NET USE) are re-constructed
  each time afscreds.exe is started.</p>
  
  <p class=MsoNormal>By default afscreds.exe is configured by the OpenAFS.org
! installers to use “-A -N -M -Q” as startup options.<span
! style='mso-spacerun:yes'>  </span>Currently, there is no user interface to
! change this selection after install time although these options may be altered
! via the registry on either per machine or per user basis.<span
! style='mso-spacerun:yes'>  </span>See <span style='mso-bidi-font-style:italic'><a
! href="oafw-1-4-release-notes.doc#_Value___: AfscredsShortcutParams">AfscredsShortcutParams</a></span>
! in <a href="oafw-1-4-release-notes.doc#_Appendix_A:_Registry_Values">Appendix A</a>.<!--[if supportFields]><span
! style='mso-element:field-begin'></span> XE &quot;afscreds.exe&quot; <![endif]--><!--[if supportFields]><span
! style='mso-element:field-end'></span><![endif]--></p>
! 
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872178"></a><a
! name="_Toc115417049"></a><a name="_Toc115416113"><span style='mso-bookmark:
! _Toc115417049'><span style='mso-bookmark:_Toc126872178'>3.7. The “AFS Client
! Admins” Authorization Group</span></span></a></h2>
  
  <p class=MsoNormal>The OpenAFS for Windows 1.4 client supports a local Windows
! authorization group named &quot;AFS Client Admins&quot;.<span
! style='mso-spacerun:yes'>  </span>This group is used in place of the &quot;Administrators&quot;
! group to determine which users are allowed to modify the AFS Client Service
! configuration via the AFS Control Panel (afs_config.exe) or fs.exe command line
! tool.<span style='mso-spacerun:yes'>  </span>The following fs.exe commands are
! now restricted to members of the &quot;AFS Client Admins&quot; group:</p>
! 
! <p class=PreformattedText style='margin-left:49.6pt;text-indent:-14.15pt;
! mso-list:l14 level1 lfo5;tab-stops:list 14.15pt'><![if !supportLists]><span
! style='font-size:9.0pt;font-family:Symbol;mso-fareast-font-family:Symbol;
! mso-bidi-font-family:Symbol'><span style='mso-list:Ignore'>·<span
! style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><![endif]>checkservers
! with a non-zero timer value</p>
! 
! <p class=PreformattedText style='margin-left:49.6pt;text-indent:-14.15pt;
! mso-list:l14 level1 lfo5;tab-stops:list 14.15pt'><![if !supportLists]><span
! style='font-size:9.0pt;font-family:Symbol;mso-fareast-font-family:Symbol;
! mso-bidi-font-family:Symbol'><span style='mso-list:Ignore'>·<span
! style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><![endif]>setcachesize</p>
! 
! <p class=PreformattedText style='margin-left:49.6pt;text-indent:-14.15pt;
! mso-list:l14 level1 lfo5;tab-stops:list 14.15pt'><![if !supportLists]><span
! style='font-size:9.0pt;font-family:Symbol;mso-fareast-font-family:Symbol;
! mso-bidi-font-family:Symbol'><span style='mso-list:Ignore'>·<span
! style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><![endif]>newcell</p>
! 
! <p class=PreformattedText style='margin-left:49.6pt;text-indent:-14.15pt;
! mso-list:l14 level1 lfo5;tab-stops:list 14.15pt'><![if !supportLists]><span
! style='font-size:9.0pt;font-family:Symbol;mso-fareast-font-family:Symbol;
! mso-bidi-font-family:Symbol'><span style='mso-list:Ignore'>·<span
! style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><![endif]>sysname
! with a new sysname list</p>
! 
! <p class=PreformattedText style='margin-left:49.6pt;text-indent:-14.15pt;
! mso-list:l14 level1 lfo5;tab-stops:list 14.15pt'><![if !supportLists]><span
! style='font-size:9.0pt;font-family:Symbol;mso-fareast-font-family:Symbol;
! mso-bidi-font-family:Symbol'><span style='mso-list:Ignore'>·<span
! style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><![endif]>exportafs</p>
! 
! <p class=PreformattedText style='margin-left:49.6pt;text-indent:-14.15pt;
! mso-list:l14 level1 lfo5;tab-stops:list 14.15pt'><![if !supportLists]><span
! style='font-size:9.0pt;font-family:Symbol;mso-fareast-font-family:Symbol;
! mso-bidi-font-family:Symbol'><span style='mso-list:Ignore'>·<span
! style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><![endif]>setcell</p>
! 
! <p class=PreformattedText style='margin-left:49.6pt;text-indent:-14.15pt;
! mso-list:l14 level1 lfo5;tab-stops:list 14.15pt'><![if !supportLists]><span
! style='font-size:9.0pt;font-family:Symbol;mso-fareast-font-family:Symbol;
! mso-bidi-font-family:Symbol'><span style='mso-list:Ignore'>·<span
! style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><![endif]>setserverprefs</p>
! 
! <p class=PreformattedText style='margin-left:49.6pt;text-indent:-14.15pt;
! mso-list:l14 level1 lfo5;tab-stops:list 14.15pt'><![if !supportLists]><span
! style='font-size:9.0pt;font-family:Symbol;mso-fareast-font-family:Symbol;
! mso-bidi-font-family:Symbol'><span style='mso-list:Ignore'>·<span
! style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><![endif]>storebehind</p>
! 
! <p class=PreformattedText style='margin-left:49.6pt;text-indent:-14.15pt;
! mso-list:l14 level1 lfo5;tab-stops:list 14.15pt'><![if !supportLists]><span
! style='font-size:9.0pt;font-family:Symbol;mso-fareast-font-family:Symbol;
! mso-bidi-font-family:Symbol'><span style='mso-list:Ignore'>·<span
! style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><![endif]>setcrypt</p>
! 
! <p class=PreformattedText style='margin-left:49.6pt;text-indent:-14.15pt;
! mso-list:l14 level1 lfo5;tab-stops:list 14.15pt'><![if !supportLists]><span
! style='font-size:9.0pt;font-family:Symbol;mso-fareast-font-family:Symbol;
! mso-bidi-font-family:Symbol'><span style='mso-list:Ignore'>·<span
! style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><![endif]>cscpolicy</p>
! 
! <p class=PreformattedText style='margin-left:49.6pt;text-indent:-14.15pt;
! mso-list:l14 level1 lfo5;tab-stops:list 14.15pt'><![if !supportLists]><span
! style='font-size:9.0pt;font-family:Symbol;mso-fareast-font-family:Symbol;
! mso-bidi-font-family:Symbol'><span style='mso-list:Ignore'>·<span
! style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><![endif]>trace</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
--- 684,854 ----
  <p class=PreformattedText style='margin-left:35.45pt'>&gt;symlink make \\afs\link
  \\afs\athena.mit.edu\user\j\a\jaltman</p>
  
! <p class=PreformattedText>      &gt;symlink list \\afs\link</p>
  
! <p class=PreformattedText>      '\\afs\link' is a symlink to
! 'athena.mit.edu\user\j\a\jaltman'</p>
  
  <p class=PreformattedText style='margin-left:35.45pt'>&gt;symlink rm \\afs\link</p>
  
  <p class=MsoNormal>The symlinks are stored in the registry at:</p>
  
  <p class=PreformattedText style='margin-left:35.45pt'><a
! href="../../oafw-1-4-release-notes.doc#_Regkey:_[HKLMSOFTWAREOpenAFSClie_1">HKLM\SOFTWARE\OpenAFS\Client\Freelance\Symlinks</a> </p>
! 
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc139980951"></a><a
! name="_Toc126872175"></a><a name="_Toc115417046"></a><a name="_Toc115416110">3.4.
! Locating AFS Volume Database Servers</a> </h2>
  
  <p class=MsoNormal>The OpenAFS for Windows client will use DNS AFSDB records to
  discover the location of AFS Volume Database servers when entries are not
  present in the client's CellServDB file
! (\%PROGRAMFILES%\OpenAFS\Client\CellServDB).</p>
! 
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc139980952"></a><a
! name="_Toc126872176"></a><a name="_Toc115417047"></a><a name="_Toc115416111">3.5.
! Obtaining AFS Tokens as a Part of Windows Logon</a></h2>
  
  <p class=MsoNormal>OpenAFS for Windows installs a WinLogon Network Provider to
! provide Single Sign-On functionality (aka Integrated Logon.)  Integrated Logon
! can be used when the Windows username and password match the username and
! password associated with the default cell's Kerberos realm.  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;. 
! 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>
  
  <p class=MsoNormal>Integrated Logon is required if you desire the ability to
! store roaming user profiles within the AFS file system.  OpenAFS does not
! provide tools for synchronizing the Windows and Kerberos user accounts and
! passwords.</p>
  
  <p class=MsoNormal>When KFW is configured, Integrated Logon will use it to
! obtain tokens.  The Kerberos 5 tickets obtained during the process of
! generating AFS tokens are preserved and stored into the default ccache within
! the user logon session.</p>
  
  <p class=MsoNormal>Integrated Logon does not have the ability to cache the
  user's username and password for the purpose of obtaining tokens if the
  Kerberos KDC is inaccessible at logon time.</p>
  
  <p class=MsoNormal>Integrated Login supports the ability to obtain tokens for
! multiple cells.  For further information on how to configure this feature read
! the <a href="../relnotes.htm#_Value:_TheseCells">TheseCells</a> value in <a
! href="../../oafw-1-4-release-notes.doc#_Appendix_A:_Registry_Values">Appendix A</a>.</p>
! 
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc139980953"></a><a
! name="_Toc126872177"></a><a name="_Toc115417048"></a><a name="_Toc115416112">3.6.
! AFS System Tray Command Line Options</a></h2>
  
  <p class=MsoNormal>The AFS System Tray tool (afscreds.exe) supports several
  command line options: </p>
  
! <p class=PreformattedText>    -A = autoinit </p>
  
! <p class=PreformattedText>    -E = force existing afscreds to exit</p>
  
! <p class=PreformattedText>    -I = install startup shortcut</p>
  
! <p class=PreformattedText>    -M = renew drive maps </p>
  
! <p class=PreformattedText>    -N = IP address change detection </p>
  
! <p class=PreformattedText>    -Q = quiet mode.  do not display start service
  dialog</p>
  
! <p class=PreformattedText>         if afsd_service is not already running</p>
  
! <p class=PreformattedText>    -S = show tokens dialog on startup</p>
  
! <p class=PreformattedText>    -U = uninstall startup shortcut</p>
  
! <p class=PreformattedText>    -X = test and do map share</p>
  
! <p class=PreformattedText>    -Z = unmap drives</p>
  
  <p class=MsoNormal>autoinit will result in automated attempts to acquire AFS
! tokens when afscreds.exe is started.  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.  When used in
! combination with IP address change detection, afscreds.exe will attempt to
! acquire AFS tokens whenever the IP address list changes and the Kerberos KDC is
! accessible.</p>
  
  <p class=MsoNormal>The renew drive maps option is used to ensure that the user
  drive maps constructed via the OpenAFS tools (not NET USE) are re-constructed
  each time afscreds.exe is started.</p>
  
  <p class=MsoNormal>By default afscreds.exe is configured by the OpenAFS.org
! installers to use “-A -N -M -Q” as startup options.  Currently, there is no
! user interface to change this selection after install time although these
! options may be altered via the registry on either per machine or per user
! basis.  See <a
! href="../../oafw-1-4-release-notes.doc#_Value___: AfscredsShortcutParams">AfscredsShortcutParams</a>
! in <a href="../../oafw-1-4-release-notes.doc#_Appendix_A:_Registry_Values">Appendix
! A</a>.</p>
! 
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc139980954"></a><a
! name="_Toc126872178"></a><a name="_Toc115417049"></a><a name="_Toc115416113">3.7.
! The “AFS Client Admins” Authorization Group</a></h2>
  
  <p class=MsoNormal>The OpenAFS for Windows 1.4 client supports a local Windows
! authorization group named &quot;AFS Client Admins&quot;.  This group is used in
! place of the &quot;Administrators&quot; group to determine which users are
! allowed to modify the AFS Client Service configuration via the AFS Control
! Panel (afs_config.exe) or fs.exe command line tool.  The following fs.exe
! commands are now restricted to members of the &quot;AFS Client Admins&quot;
! group:</p>
! 
! <p class=PreformattedText style='margin-left:49.6pt;text-indent:-14.15pt'><span
! style='font-size:9.0pt;font-family:Symbol'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
! </span></span>checkservers with a non-zero timer value</p>
! 
! <p class=PreformattedText style='margin-left:49.6pt;text-indent:-14.15pt'><span
! style='font-size:9.0pt;font-family:Symbol'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
! </span></span>setcachesize</p>
! 
! <p class=PreformattedText style='margin-left:49.6pt;text-indent:-14.15pt'><span
! style='font-size:9.0pt;font-family:Symbol'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
! </span></span>newcell</p>
! 
! <p class=PreformattedText style='margin-left:49.6pt;text-indent:-14.15pt'><span
! style='font-size:9.0pt;font-family:Symbol'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
! </span></span>sysname with a new sysname list</p>
! 
! <p class=PreformattedText style='margin-left:49.6pt;text-indent:-14.15pt'><span
! style='font-size:9.0pt;font-family:Symbol'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
! </span></span>exportafs</p>
! 
! <p class=PreformattedText style='margin-left:49.6pt;text-indent:-14.15pt'><span
! style='font-size:9.0pt;font-family:Symbol'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
! </span></span>setcell</p>
! 
! <p class=PreformattedText style='margin-left:49.6pt;text-indent:-14.15pt'><span
! style='font-size:9.0pt;font-family:Symbol'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
! </span></span>setserverprefs</p>
! 
! <p class=PreformattedText style='margin-left:49.6pt;text-indent:-14.15pt'><span
! style='font-size:9.0pt;font-family:Symbol'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
! </span></span>storebehind</p>
! 
! <p class=PreformattedText style='margin-left:49.6pt;text-indent:-14.15pt'><span
! style='font-size:9.0pt;font-family:Symbol'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
! </span></span>setcrypt</p>
! 
! <p class=PreformattedText style='margin-left:49.6pt;text-indent:-14.15pt'><span
! style='font-size:9.0pt;font-family:Symbol'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
! </span></span>cscpolicy</p>
! 
! <p class=PreformattedText style='margin-left:49.6pt;text-indent:-14.15pt'><span
! style='font-size:9.0pt;font-family:Symbol'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
! </span></span>trace</p>
! 
! <p class=PreformattedText style='margin-left:49.6pt;text-indent:-14.15pt'><span
! style='font-size:9.0pt;font-family:Symbol'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
! </span></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
***************
*** 4060,5177 ****
  
  <p class=MsoNormal>The initial membership of the &quot;AFS Client Admins&quot;
  group when created by the installer is equivalent to the local
! &quot;Administrators&quot; group.<span style='mso-spacerun:yes'>  </span>If a
! user is added to the &quot;Administrators&quot; group after the creation of the
! &quot;AFS Client Admin&quot; group, that user will not be an AFS Client
! Administrator.<span style='mso-spacerun:yes'>  </span>Only users that are
! members of the &quot;AFS Client Admins&quot; group are AFS Client Administrators.<span
! style='mso-spacerun:yes'>  </span>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="oafw-1-4-release-notes.doc#_Value_:_SysName">registry</a> and not
! via &quot;fs sysname&quot;.<!--[if supportFields]><span style='mso-element:
! field-begin'></span> XE &quot;AFS Client Admins&quot; <![endif]--><!--[if supportFields]><span
! style='mso-element:field-end'></span><![endif]--><!--[if supportFields]><span
! style='mso-element:field-begin'></span><span
! style='mso-spacerun:yes'> </span>XE &quot;fs.exe&quot; <![endif]--><!--[if supportFields]><span
! style='mso-element:field-end'></span><![endif]--></p>
! 
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872179"></a><a
! name="_Toc115417050"></a><a name="_Toc115416114"><span style='mso-bookmark:
! _Toc115417050'><span style='mso-bookmark:_Toc126872179'>3.8. OpenAFS support
! for UNC paths</span></span></a> </h2>
! 
! <p class=MsoNormal>The OpenAFS 1.4 client supports UNC paths everywhere.<span
! style='mso-spacerun:yes'>  </span>UNC paths provide a canonical name for
! resources stored within AFS.<span style='mso-spacerun:yes'>  </span>UNC paths
! should be used instead of drive letter mappings whenever possible.<span
! style='mso-spacerun:yes'>   </span>This is especially true when specifying the
! location of roaming profiles and redirected folders.<!--[if supportFields]><span
! style='mso-element:field-begin'></span> XE &quot;UNC paths&quot; <![endif]--><!--[if supportFields]><span
! style='mso-element:field-end'></span><![endif]--><span
! style='mso-spacerun:yes'>  </span></p>
  
  <p class=MsoNormal>Power users that make extensive use of the command line
  shell, cmd.exe, should consider using JP Software's 4NT or Take Command command
! processors.<span style='mso-spacerun:yes'>  </span>Unlike cmd.exe, the
! JPSoftware shells fully support UNC paths as the current directory.<span
! style='mso-spacerun:yes'>  </span>With the release of version 4NT 7.0 and Take
! Command 7.0, JPSoftware is adding special recognition of OpenAFS.<span
! style='mso-spacerun:yes'>  </span>AFS paths can be entered in UNIX notation
! (e.g., <a href="file:///\\afs\openafs.org\software">/afs/openafs.org/software</a>),
  space utilization reports the output of the volume status for the specified
  path, and many AFS specific functions and variables have been added to the
  command language.</p>
  
! <p class=MsoNormal>JPSoftware's web site is <span class=MsoHyperlink>http://www.jpsoft.com</span>.<!--[if supportFields]><span
! style='mso-element:field-begin'></span> XE &quot;JP Software&quot; <![endif]--><!--[if supportFields]><span
! style='mso-element:field-end'></span><![endif]--><!--[if supportFields]><span
! style='mso-element:field-begin'></span><span
! style='mso-spacerun:yes'> </span>XE &quot;4nt.exe&quot; <![endif]--><!--[if supportFields]><span
! style='mso-element:field-end'></span><![endif]--></p>
! 
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872180"></a><a
! name="_Toc115417051"></a><a name="_Toc115416115"><span style='mso-bookmark:
! _Toc115417051'><span style='mso-bookmark:_Toc126872180'>3.9. OpenAFS includes
! aklog.exe</span></span></a></h2>
  
  <p class=MsoNormal>The OpenAFS 1.4 Client ships with its own version of
  aklog.exe which should be used in preference to those obtained by third party
! sources.<span style='mso-spacerun:yes'>  </span>The OpenAFS aklog.exe supports
! Kerberos 5 as well as the ability to auto-generate pts IDs for user's obtaining
! tokens<span style='mso-spacerun:yes'>  </span>for access to foreign cells.</p>
  
  <p class=PreformattedText>Usage: aklog [-d] [[-cell | -c] cell [-k krb_realm]]</p>
  
! <p class=PreformattedText><span style='mso-spacerun:yes'>            
! </span>[[-p | -path] pathname]</p>
  
! <p class=PreformattedText><span style='mso-spacerun:yes'>            
! </span>[-noprdb] [-force]</p>
  
! <p class=PreformattedText><span style='mso-spacerun:yes'>            
! </span>[-5 [-m]| -4]</p>
  
! <p class=PreformattedText><o:p>&nbsp;</o:p></p>
  
! <p class=PreformattedText><span style='mso-spacerun:yes'>   </span>-d = output
! debugging information.</p>
  
! <p class=PreformattedText><span style='mso-spacerun:yes'>   </span>cell = zero
! or more cells for which tokens will be obtained</p>
  
! <p class=PreformattedText><span style='mso-spacerun:yes'>   </span>krb_realm =
! the kerberos realm of the cell.</p>
  
! <p class=PreformattedText><span style='mso-spacerun:yes'>   </span>pathname =
! the directory for which authentication is required</p>
  
! <p class=PreformattedText><span style='mso-spacerun:yes'>   </span>-noprdb =
! don't try to determine AFS ID.</p>
  
! <p class=PreformattedText><span style='mso-spacerun:yes'>   </span>-5 or -4 =
! use Kerberos V (default) or Kerberos IV tickets</p>
  
! <p class=PreformattedText><span style='mso-spacerun:yes'>   </span>-m = use
! krb524d to convert Kerberos V tickets to Kerberos IV<!--[if supportFields]><span
! style='mso-element:field-begin'></span> XE &quot;aklog.exe&quot; <![endif]--><!--[if supportFields]><span
! style='mso-element:field-end'></span><![endif]--></p>
  
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872181"></a><a
! name="_Toc115417052"></a><a name="_Toc115416116"><span style='mso-bookmark:
! _Toc115417052'><span style='mso-bookmark:_Toc126872181'>3.10. OpenAFS Servers
! on Windows are Unsupported</span></span></a></h2>
  
  <p class=MsoNormal>The AFS Server functionality provided with OpenAFS 1.4 might
! work but should be considered highly experimental.<span
! style='mso-spacerun:yes'>  </span>It has not been thoroughly tested.<span
! style='mso-spacerun:yes'>  </span>Any data which would cause pain if lost
! should not be stored in an OpenAFS Server on Windows.</p>
  
  <p class=MsoNormal>A few notes on the usage of the AFS Client Service if it is
  going to be used with the OpenAFS AFS Server:</p>
  
! <p class=MsoNormal style='margin-left:14.15pt;text-indent:-14.15pt;mso-list:
! l15 level1 lfo6;tab-stops:list 14.15pt'><![if !supportLists]><span
! style='font-size:9.0pt;font-family:Symbol;mso-fareast-font-family:Symbol;
! mso-bidi-font-family:Symbol'><span style='mso-list:Ignore'>·<span
! style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><![endif]>When
! installed on the same machine as the AFS Server, Freelance mode must be turned
! off.<span style='mso-spacerun:yes'>  </span>Otherwise, you will be unable to
! manipulate the contents of the root.afs volume for the hosted cell.</p>
! 
! <p class=MsoNormal style='margin-left:14.15pt;text-indent:-14.15pt;mso-list:
! l15 level1 lfo6;tab-stops:list 14.15pt'><![if !supportLists]><span
! style='font-size:9.0pt;font-family:Symbol;mso-fareast-font-family:Symbol;
! mso-bidi-font-family:Symbol'><span style='mso-list:Ignore'>·<span
! style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><![endif]>The
! AFS Server and related tools only support the built in kaserver (Kerberos
! IV).<span style='mso-spacerun:yes'>  </span>If the AFS Server is being used,
! MIT Kerberos for Windows should not be installed or must be disabled.<!--[if supportFields]><span
! style='mso-element:field-begin'></span> XE &quot;AFS Servers&quot; <![endif]--><!--[if supportFields]><span
! style='mso-element:field-end'></span><![endif]--></p>
! 
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872182"></a><a
! name="_Toc115417053"></a><a name="_Toc115416117"><span style='mso-bookmark:
! _Toc115417053'><span style='mso-bookmark:_Toc126872182'>3.11. OpenAFS Debugging
! Symbol files</span></span></a></h2>
  
  <p class=MsoNormal>The OpenAFS for Windows installers now include Debugging
  Symbol files which should be installed if you are experiencing problems and
! need to send crash reports.<span style='mso-spacerun:yes'>  </span>This is true
! for both the release and the debug versions of the installers.<span
! style='mso-spacerun:yes'>  </span>The difference between the release and debug
  versions are:</p>
  
! <p class=MsoNormal style='margin-left:14.15pt;text-indent:-14.15pt;mso-list:
! l16 level1 lfo7;tab-stops:list 14.15pt'><![if !supportLists]><span
! style='font-size:9.0pt;font-family:Symbol;mso-fareast-font-family:Symbol;
! mso-bidi-font-family:Symbol'><span style='mso-list:Ignore'>·<span
! style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><![endif]>whether
! or not the binaries were compiled with optimization</p>
! 
! <p class=MsoNormal style='margin-left:14.15pt;text-indent:-14.15pt;mso-list:
! l16 level1 lfo7;tab-stops:list 14.15pt'><![if !supportLists]><span
! style='font-size:9.0pt;font-family:Symbol;mso-fareast-font-family:Symbol;
! mso-bidi-font-family:Symbol'><span style='mso-list:Ignore'>·<span
! style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><![endif]>whether
! the debug symbols are installed by default</p>
! 
! <p class=MsoNormal style='margin-left:14.15pt;text-indent:-14.15pt;mso-list:
! l16 level1 lfo7;tab-stops:list 14.15pt'><![if !supportLists]><span
! style='font-size:9.0pt;font-family:Symbol;mso-fareast-font-family:Symbol;
! mso-bidi-font-family:Symbol'><span style='mso-list:Ignore'>·<span
! style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><![endif]>whether
! additional debug statements were compiled into the binaries<!--[if supportFields]><span
! style='mso-element:field-begin'></span> XE &quot;Symbol files&quot; <![endif]--><!--[if supportFields]><span
! style='mso-element:field-end'></span><![endif]--></p>
! 
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872183"></a><a
! name="_Toc115417054"></a><a name="_Toc115416118"><span style='mso-bookmark:
! _Toc115417054'><span style='mso-bookmark:_Toc126872183'>3.12. Maximum File Size
! is 2GB</span></span></a></h2>
! 
! <p class=MsoNormal>OpenAFS for Windows does not support files larger than
! 2GB.<span style='mso-spacerun:yes'>  </span>The version of the SMB/CIFS
! protocol implemented imposes this limitation.<span style='mso-spacerun:yes'> 
! </span>Upgrading the SMB/CIFS implementation or replacing it with an
! Installable File System will allow larger files to be supported.<!--[if supportFields]><span
! style='mso-element:field-begin'></span> XE &quot;large file support&quot; <![endif]--><!--[if supportFields]><span
! style='mso-element:field-end'></span><![endif]--></p>
! 
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872184"></a><a
! name="_Toc115417055"></a><a name="_Toc115416119"><span style='mso-bookmark:
! _Toc115417055'><span style='mso-bookmark:_Toc126872184'>3.13. Encrypted AFS
! File Access</span></span></a></h2>
  
  <p class=MsoNormal>The OpenAFS for Windows installer by default activates a
  weak form of encrypted data transfer between the AFS client and the AFS
! servers.<span style='mso-spacerun:yes'>  </span>This is often referred to as
! &quot;fcrypt&quot; mode.</p>
! 
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872185"></a><a
! name="_Toc115417056"></a><a name="_Toc115416120"><span style='mso-bookmark:
! _Toc115417056'><span style='mso-bookmark:_Toc126872185'>3.14. Authenticated
! Access to the OpenAFS Client Service</span></span></a></h2>
  
  <p class=MsoNormal>OpenAFS 1.4 supports authenticated SMB connections using
! either NTLM or GSS SPNEGO (NTLM).<span style='mso-spacerun:yes'>  </span>In
! 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.<span style='mso-spacerun:yes'>   
! </span></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
! used).<span style='mso-spacerun:yes'>  </span>It is extremely important that
! this service principal not exist in the KDC database as the Kerberos
! authentication must fail allowing automatic fallback to NTLM.<span
! style='mso-spacerun:yes'>  </span>When NTLM is used a special local
! authentication mode will be used that does not require access to the user's
! password.<span style='mso-spacerun:yes'>  </span>Instead, Windows will
! internally recognize the request as coming from a local logon session.</p>
! 
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872186"></a><a
! name="_Toc115417057"></a><a name="_Toc115416121"><span style='mso-bookmark:
! _Toc115417057'><span style='mso-bookmark:_Toc126872186'>3.15. No More INI Files</span></span></a></h2>
  
  <p class=MsoNormal>Previous AFS clients for Windows stored configuration data
! in Windows .INI files. <span style='mso-spacerun:yes'>  </span>OpenAFS 1.4 does
! not use Windows .INI files for the storage of configuration data.<span
! style='mso-spacerun:yes'>   </span>All settings are now stored in the registry
! (see <a href="oafw-1-4-release-notes.doc#_Appendix_A:_Registry_Values">Appendix
! A</a>).<span style='mso-spacerun:yes'>  </span>The CellServDB file is now
! stored in the %PROGRAMFILES%\OpenAFS\Client directory.<span
! style='mso-spacerun:yes'>   </span>The <i style='mso-bidi-font-style:normal'><a
! href="oafw-1-4-release-notes.doc#_Value___: CellServDBDir">CellServDBDir</a></i>
  registry value can be used to specify an alternative location.</p>
  
  <p class=MsoNormal>OpenAFS 1.4 will relocate the contents of the “afsdcell.ini”
! file to the new CellServDB file.<span style='mso-spacerun:yes'>  </span>OpenAFS
! 1.4 will also import the contents of the “afs_freelance.ini” file to the
! Windows registry.<span style='mso-spacerun:yes'>   </span>OpenAFS 1.4 will not
  process the contents of the “afsddbmt.ini”.</p>
  
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872187"></a><a
! name="_Toc115417058"></a><a name="_Toc115416122"><span style='mso-bookmark:
! _Toc115417058'><span style='mso-bookmark:_Toc126872187'>3.16. Microsoft Windows
! Internet Connection Firewall</span></span></a></h2>
! 
! <p class=MsoNormal>The OpenAFS 1.4 Client is compatible with the Internet
! Connection Firewall that debuted with Windows XP SP2 and Windows 2003 SP1.<span
! style='mso-spacerun:yes'>  </span>The Internet Connection Firewall will be
! automatically adjusted to allow the receipt of incoming callback messages from
! the AFS file server.<span style='mso-spacerun:yes'>  </span>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 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872188"></a><a
! name="_Toc115417059"></a><a name="_Toc115416123"><span style='mso-bookmark:
! _Toc115417059'><span style='mso-bookmark:_Toc126872188'>3.17. Browsing AFS from
! the Explorer Shell and Office</span></span></a></h2>
  
  <p class=MsoNormal>The OpenAFS 1.4 Client Service implements the CIFS Remote
  Admin Protocol which allows Explorer to browse server and share information.
  This significantly enhances the interoperability of AFS volumes within the
  Explorer Shell and Microsoft Office applications.</p>
  
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872189"></a><a
! name="_Toc115417060"></a><a name="_Toc115416124"><span style='mso-bookmark:
! _Toc115417060'><span style='mso-bookmark:_Toc126872189'>3.18. </span></span></a><st2:place
! w:st="on"><st2:PlaceName w:st="on"><span style='mso-bookmark:_Toc126872189'><span
!   style='mso-bookmark:_Toc115417060'><span style='mso-bookmark:_Toc115416124'>Byte</span></span></span></st2:PlaceName><span
!  style='mso-bookmark:_Toc126872189'><span style='mso-bookmark:_Toc115417060'><span
!  style='mso-bookmark:_Toc115416124'> <st2:PlaceType w:st="on">Range</st2:PlaceType></span></span></span></st2:place><span
! style='mso-bookmark:_Toc126872189'><span style='mso-bookmark:_Toc115417060'><span
! style='mso-bookmark:_Toc115416124'> Locking</span></span></span></h2>
  
  <p class=MsoBodyText>Many applications on Windows (e.g. Microsoft Office)
  require the use of byte range locks applied to a file either to protect against
! simultaneous file access or as a signaling mechanism.<span
! style='mso-spacerun:yes'>   </span>OpenAFS implements byte range locking local
! to the machine.<span style='mso-spacerun:yes'>   </span>OpenAFS does not obtain
! file locks on the server.<span style='mso-spacerun:yes'>   </span>It is
! strongly recommended that files not be edited within AFS if they might be
! accessed by multiple users or multiple processes on more than one machine at
! the same time.</p>
! 
! <p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>Note:
! <span style='font-family:"Times New Roman";mso-fareast-font-family:"MS Mincho";
! mso-fareast-language:JA'>In a future release, OpenAFS for Windows will utilize
! AFS' advisory locks to simulate Microsoft Windows mandatory locks.&nbsp;&nbsp;
! When an application opens a file, a lock will be placed in AFS indicating that
! the file is in use.&nbsp; If the lock is a write lock, the use of the file will
! be restricted to other applications running on the same machine as the first
! application to apply the lock.&nbsp;&nbsp; Applications running on other
! machines will see the full lock and will be unable to access the file.<o:p></o:p></span></p>
! 
! <p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
! mso-pagination:widow-orphan;mso-hyphenate:auto'><span style='font-family:"Times New Roman";
! mso-fareast-font-family:"MS Mincho";mso-fareast-language:JA'>Most Windows
  applications and Windows itself opens files in shared read mode. When this is
  done, a read lock is applied to the file.&nbsp;&nbsp; This does not prevent
  shared read access across multiple machines but is used to ensure that no one
! writes to the file while it is in use.<o:p></o:p></span></p>
  
! <p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
! mso-pagination:widow-orphan;mso-hyphenate:auto'><span style='mso-fareast-language:
! JA'>As locks are checked and applied during the file open operation, it is
! crucial that users have the locking 'k' privilege in all directories in which
! the user might read a file or execute an application unless the directory
! exists on a read only volume.&nbsp; A failure to assign the 'k' privilege will
! result in &quot;Access Denied&quot; errors during file open.</span> <span
! style='font-family:"Times New Roman";mso-fareast-font-family:"MS Mincho";
! mso-fareast-language:JA'><o:p></o:p></span></p>
! 
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872190"></a><a
! name="_Toc115417061"></a><a name="_Toc115416125"><span style='mso-bookmark:
! _Toc115417061'><span style='mso-bookmark:_Toc126872190'>3.19. Automatic
! Discarding of AFS Tokens at Logoff</span></span></a></h2>
  
  <p class=MsoNormal>OpenAFS 1.4 will automatically forget a user's tokens upon
! Logoff unless the user's profile was loaded from an AFS volume.<span
! style='mso-spacerun:yes'>  </span>In this situation there is no mechanism to
! determine when the profile has been successfully written back to the
! network.<span style='mso-spacerun:yes'>  </span>It is therefore unsafe to
! release the user's tokens.<span style='mso-spacerun:yes'>  </span>Whether or
! not the profile has been loaded from the registry can be determined for Local
! Accounts, Active Directory accounts and NT4 accounts.</p>
! 
! <p class=MsoNormal>If there is a need to disable this functionality, the <span
! style='mso-bidi-font-style:italic'><a
! href="oafw-1-4-release-notes.doc#_Value_:_LogoffPreserveTokens">LogoffPreserveTokens</a></span>
  registry value can be used. (see <a
! href="oafw-1-4-release-notes.doc#_Appendix_A:_Registry_Values">Appendix A</a>.)</p>
  
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872191"></a><a
! name="_Toc115417062"></a><a name="_Toc115416126"><span style='mso-bookmark:
! _Toc115417062'><span style='mso-bookmark:_Toc126872191'>3.20. Terminal Server
! installations</span></span></a></h2>
  
  <p class=MsoNormal>When installing the NSIS (.exe) installer under Terminal
! Server, you must execute it from within the Add/Remove Programs Control
! Panel.<span style='mso-spacerun:yes'>  </span>Failure to do so will result in
! AFS not running properly.<span style='mso-spacerun:yes'>  </span>The AFS Server
  should not be installed on a machine with Terminal Server installed.</p>
  
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872192"></a><a
! name="_Toc115417063"></a><a name="_Toc115416127"><span style='mso-bookmark:
! _Toc115417063'><span style='mso-bookmark:_Toc126872192'>3.21. Hidden Dot Files</span></span></a></h2>
! 
! <p class=MsoNormal>AFS is a UNIX native file system.<span
! style='mso-spacerun:yes'>  </span>The OpenAFS client attempts to treat the
! files stored in AFS as they would be on UNIX.<span style='mso-spacerun:yes'> 
! </span>File and directory names beginning with a &quot;.&quot; are
! automatically given the Hidden attribute so they will not normally be
! displayed.</p>
! 
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872193"></a><a
! name="_Toc115417064"></a><a name="_Toc115416128"><span style='mso-bookmark:
! _Toc115417064'><span style='mso-bookmark:_Toc126872193'>3.22. Status Cache
! Limits</span></span></a></h2>
  
  <p class=MsoNormal>The Status Cache (AFS Configuration Control Panel: Advanced
! Page) is defined to have a maximum number of entries.<span
! style='mso-spacerun:yes'>  </span>Each entry represents a single file or
! directory entry accessed within the AFS file system.<span
! style='mso-spacerun:yes'>  </span>When the maximum number of entries are
! allocated, entries will begin to be reused according to a least recently used
! (LRU) algorithm.<span style='mso-spacerun:yes'>  </span>If the number of files
! or directories being accessed repeatedly by your applications is greater then the
  maximum number of entries, your host will begin to experience thrashing of the
  Status Cache and all requests will result in network operations.</p>
  
  <p class=MsoNormal>If you are experiencing poor performance try increasing the
! maximum number of Status Cache entries.<span style='mso-spacerun:yes'> 
! </span>Each entry requires approximately 1.2K.<span style='mso-spacerun:yes'> 
! </span>In OpenAFS 1.4, the default number of Status Cache entries is 10,000.</p>
! 
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872194"></a><a
! name="_Toc115417065"></a><a name="_Toc115416129"><span style='mso-bookmark:
! _Toc115417065'><span style='mso-bookmark:_Toc126872194'>3.23. NETBIOS over
! TCP/IP must be enabled</span></span></a></h2>
  
  <p class=MsoNormal>&quot;Netbios over TCP/IP&quot; must be active on the
! machine in order for communication with the AFS Client Service to succeed.<span
! style='mso-spacerun:yes'>  </span>If &quot;Netbios over TCP/IP&quot; is
! disabled on the machine, then communication with the AFS Client Service will be
! impossible.</p>
! 
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872195"></a><a
! name="_Toc115417066"></a><a name="_Toc115416130"><span style='mso-bookmark:
! _Toc115417066'><span style='mso-bookmark:_Toc126872195'>3.24. OpenAFS binaries
! are digitally signed</span></span></a></h2>
  
  <p class=MsoNormal>The OpenAFS Client Service and related binaries distributed
! by OpenAFS.org are digitally signed by &quot;Secure Endpoints Inc.&quot;.<span
! style='mso-spacerun:yes'>  </span>The OpenAFS Client Service will perform a
! run-time verification check to ensure that all OpenAFS related DLLs loaded by
! the service match the same file version number and were signed by the same
! entity.<span style='mso-spacerun:yes'>  </span>This check has been added to
  prevent the stability problems caused by more than one AFS installation present
! on a machine at the same time.<span style='mso-spacerun:yes'>  </span>Many
! hours of support time have been wasted tracking down problems caused by the
! mixture of files from different releases.<span style='mso-spacerun:yes'> 
! </span></p>
  
  <p class=MsoNormal><a
! href="oafw-1-4-release-notes.doc#_Appendix_A:_Registry_Values">Appendix A</a>
  documents the &quot;<a
! href="oafw-1-4-release-notes.doc#_Value___: VerifyServiceSignature">VerifyServiceSignature</a>&quot;
! registry value which can be used to disable the signature check.<span
! style='mso-spacerun:yes'>  </span>The file version check cannot be disabled.</p>
! 
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872196"></a><a
! name="_Toc115417067"></a><a name="_Toc115416131"><span style='mso-bookmark:
! _Toc115417067'><span style='mso-bookmark:_Toc126872196'>3.25. Maximum Size of
! the AFSCache File</span></span></a></h2>
! 
! <p class=MsoNormal>The maximum cache size is approximately 1.3GB.<span
! style='mso-spacerun:yes'>  </span>This is the largest contiguous block of
! memory in the 2GB process address space which can be used for constructing a
! memory mapped file.<span style='mso-spacerun:yes'>  </span>Due to fragmentation
! of the process space caused by the loading of libraries required by the digital
  signature verification code, any attempt to specify a cache size greater then
  700MB will result in the automatic disabling of the signature check.</p>
  
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872197"></a><a
! name="_Toc115417068"></a><a name="_Toc115416132"><span style='mso-bookmark:
! _Toc115417068'><span style='mso-bookmark:_Toc126872197'>3.26. Filename
! Character Sets</span></span></a></h2>
  
  <p class=MsoNormal>OpenAFS for Windows implements an SMB server which is used
! as a gateway to the AFS filesystem.<span style='mso-spacerun:yes'> 
! </span>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).<span style='mso-spacerun:yes'>  </span>These code pages are
  incompatible with the ISO Latin-1 character set typically used as the default
! on UNIX systems in both the <st2:country-region w:st="on">United States</st2:country-region>
! and <st2:place w:st="on">Western Europe</st2:place>.<span
! style='mso-spacerun:yes'>  </span>Filenames stored by OpenAFS for Windows are
! therefore unreadable on UNIX systems if they include any of the following
! characters:</p>
  
  <table class=MsoTableGrid border=1 cellspacing=0 cellpadding=0
!  style='border-collapse:collapse;border:none;mso-border-alt:solid windowtext .5pt;
!  mso-yfti-tbllook:480;mso-padding-alt:0pt 5.4pt 0pt 5.4pt;mso-border-insideh:
!  .5pt solid windowtext;mso-border-insidev:.5pt solid windowtext'>
!  <tr style='mso-yfti-irow:0;mso-yfti-firstrow:yes;mso-yfti-lastrow:yes;
!   height:399.5pt'>
    <td width=590 valign=top style='width:442.8pt;border:solid windowtext 1.0pt;
!   mso-border-alt:solid windowtext .5pt;padding:0pt 5.4pt 0pt 5.4pt;height:399.5pt'>
!   <p class=PreformattedText><span style='mso-spacerun:yes'>     </span>[Ç]<span
!   style='mso-spacerun:yes'>  </span>128<span style='mso-spacerun:yes'> 
!   </span>08/00<span style='mso-spacerun:yes'>  </span>200<span
!   style='mso-spacerun:yes'>  </span>80<span style='mso-spacerun:yes'>  </span>C
!   cedilla</p>
!   <p class=PreformattedText><span style='mso-spacerun:yes'>     </span>[ü]<span
!   style='mso-spacerun:yes'>  </span>129<span style='mso-spacerun:yes'> 
!   </span>08/01<span style='mso-spacerun:yes'>  </span>201<span
!   style='mso-spacerun:yes'>  </span>81<span style='mso-spacerun:yes'>  </span>u
!   diaeresis</p>
!   <p class=PreformattedText><span style='mso-spacerun:yes'>     </span>[é]<span
!   style='mso-spacerun:yes'>  </span>130<span style='mso-spacerun:yes'> 
!   </span>08/02<span style='mso-spacerun:yes'>  </span>202<span
!   style='mso-spacerun:yes'>  </span>82<span style='mso-spacerun:yes'>  </span>e
!   acute</p>
!   <p class=PreformattedText><span style='mso-spacerun:yes'>     </span>[â]<span
!   style='mso-spacerun:yes'>  </span>131<span style='mso-spacerun:yes'> 
!   </span>08/03<span style='mso-spacerun:yes'>  </span>203<span
!   style='mso-spacerun:yes'>  </span>83<span style='mso-spacerun:yes'>  </span>a
!   circumflex</p>
!   <p class=PreformattedText><span style='mso-spacerun:yes'>     </span>[ä]<span
!   style='mso-spacerun:yes'>  </span>132<span style='mso-spacerun:yes'> 
!   </span>08/04<span style='mso-spacerun:yes'>  </span>204<span
!   style='mso-spacerun:yes'>  </span>84<span style='mso-spacerun:yes'>  </span>a
!   diaeresis</p>
!   <p class=PreformattedText><span style='mso-spacerun:yes'>     </span>[à]<span
!   style='mso-spacerun:yes'>  </span>133<span style='mso-spacerun:yes'> 
!   </span>08/05<span style='mso-spacerun:yes'>  </span>205<span
!   style='mso-spacerun:yes'>  </span>85<span style='mso-spacerun:yes'>  </span>a
!   grave</p>
!   <p class=PreformattedText><span style='mso-spacerun:yes'>     </span>[å]<span
!   style='mso-spacerun:yes'>  </span>134<span style='mso-spacerun:yes'> 
!   </span>08/06<span style='mso-spacerun:yes'>  </span>206<span
!   style='mso-spacerun:yes'>  </span>86<span style='mso-spacerun:yes'>  </span>a
!   ring</p>
!   <p class=PreformattedText><span style='mso-spacerun:yes'>     </span>[ç]<span
!   style='mso-spacerun:yes'>  </span>135<span style='mso-spacerun:yes'> 
!   </span>08/07<span style='mso-spacerun:yes'>  </span>207<span
!   style='mso-spacerun:yes'>  </span>87<span style='mso-spacerun:yes'>  </span>c
!   cedilla</p>
!   <p class=PreformattedText><span style='mso-spacerun:yes'>     </span>[ê]<span
!   style='mso-spacerun:yes'>  </span>136<span style='mso-spacerun:yes'> 
!   </span>08/08<span style='mso-spacerun:yes'>  </span>210<span
!   style='mso-spacerun:yes'>  </span>88<span style='mso-spacerun:yes'>  </span>e
!   circumflex</p>
!   <p class=PreformattedText><span style='mso-spacerun:yes'>     </span>[ë]<span
!   style='mso-spacerun:yes'>  </span>137<span style='mso-spacerun:yes'> 
!   </span>08/09<span style='mso-spacerun:yes'>  </span>211<span
!   style='mso-spacerun:yes'>  </span>89<span style='mso-spacerun:yes'>  </span>e
!   diaeresis</p>
!   <p class=PreformattedText><span style='mso-spacerun:yes'>     </span>[è]<span
!   style='mso-spacerun:yes'>  </span>138<span style='mso-spacerun:yes'> 
!   </span>08/10<span style='mso-spacerun:yes'>  </span>212<span
!   style='mso-spacerun:yes'>  </span>8A<span style='mso-spacerun:yes'>  </span>e
!   grave</p>
!   <p class=PreformattedText><span style='mso-spacerun:yes'>     </span>[ï]<span
!   style='mso-spacerun:yes'>  </span>139<span style='mso-spacerun:yes'> 
!   </span>08/11<span style='mso-spacerun:yes'>  </span>213<span
!   style='mso-spacerun:yes'>  </span>8B<span style='mso-spacerun:yes'>  </span>i
!   diaeresis</p>
!   <p class=PreformattedText><span style='mso-spacerun:yes'>     </span>[î]<span
!   style='mso-spacerun:yes'>  </span>140<span style='mso-spacerun:yes'> 
!   </span>08/12<span style='mso-spacerun:yes'>  </span>214<span
!   style='mso-spacerun:yes'>  </span>8C<span style='mso-spacerun:yes'>  </span>i
!   circumflex</p>
!   <p class=PreformattedText><span style='mso-spacerun:yes'>     </span>[ì]<span
!   style='mso-spacerun:yes'>  </span>141<span style='mso-spacerun:yes'> 
!   </span>08/13<span style='mso-spacerun:yes'>  </span>215<span
!   style='mso-spacerun:yes'>  </span>8D<span style='mso-spacerun:yes'>  </span>i
!   grave</p>
!   <p class=PreformattedText><span style='mso-spacerun:yes'>     </span>[Ä]<span
!   style='mso-spacerun:yes'>  </span>142<span style='mso-spacerun:yes'> 
!   </span>08/14<span style='mso-spacerun:yes'>  </span>216<span
!   style='mso-spacerun:yes'>  </span>8E<span style='mso-spacerun:yes'>  </span>A
!   diaeresis</p>
!   <p class=PreformattedText><span style='mso-spacerun:yes'>     </span>[Å]<span
!   style='mso-spacerun:yes'>  </span>143<span style='mso-spacerun:yes'> 
!   </span>08/15<span style='mso-spacerun:yes'>  </span>217<span
!   style='mso-spacerun:yes'>  </span>8F<span style='mso-spacerun:yes'>  </span>A
!   ring</p>
!   <p class=PreformattedText><span style='mso-spacerun:yes'>     </span>[É]<span
!   style='mso-spacerun:yes'>  </span>144<span style='mso-spacerun:yes'> 
!   </span>09/00<span style='mso-spacerun:yes'>  </span>220<span
!   style='mso-spacerun:yes'>  </span>90<span style='mso-spacerun:yes'>  </span>E
!   acute</p>
!   <p class=PreformattedText><span style='mso-spacerun:yes'>     </span>[æ]<span
!   style='mso-spacerun:yes'>  </span>145<span style='mso-spacerun:yes'> 
!   </span>09/01<span style='mso-spacerun:yes'>  </span>221<span
!   style='mso-spacerun:yes'>  </span>91<span style='mso-spacerun:yes'> 
!   </span>ae diphthong</p>
!   <p class=PreformattedText><span style='mso-spacerun:yes'>     </span>[Æ]<span
!   style='mso-spacerun:yes'>  </span>146<span style='mso-spacerun:yes'> 
!   </span>09/02<span style='mso-spacerun:yes'>  </span>222<span
!   style='mso-spacerun:yes'>  </span>92<span style='mso-spacerun:yes'> 
!   </span>AE diphthong</p>
!   <p class=PreformattedText><span style='mso-spacerun:yes'>     </span>[ô]<span
!   style='mso-spacerun:yes'>  </span>147<span style='mso-spacerun:yes'> 
!   </span>09/03<span style='mso-spacerun:yes'>  </span>223<span
!   style='mso-spacerun:yes'>  </span>93<span style='mso-spacerun:yes'>  </span>o
!   circumflex</p>
!   <p class=PreformattedText><span style='mso-spacerun:yes'>     </span>[ö]<span
!   style='mso-spacerun:yes'>  </span>148<span style='mso-spacerun:yes'> 
!   </span>09/04<span style='mso-spacerun:yes'>  </span>224<span
!   style='mso-spacerun:yes'>  </span>94<span style='mso-spacerun:yes'>  </span>o
!   diaeresis</p>
!   <p class=PreformattedText><span style='mso-spacerun:yes'>     </span>[ò]<span
!   style='mso-spacerun:yes'>  </span>149<span style='mso-spacerun:yes'> 
!   </span>09/05<span style='mso-spacerun:yes'>  </span>225<span
!   style='mso-spacerun:yes'>  </span>95<span style='mso-spacerun:yes'>  </span>o
!   grave</p>
!   <p class=PreformattedText><span style='mso-spacerun:yes'>     </span>[û]<span
!   style='mso-spacerun:yes'>  </span>150<span style='mso-spacerun:yes'> 
!   </span>09/06<span style='mso-spacerun:yes'>  </span>226<span
!   style='mso-spacerun:yes'>  </span>96<span style='mso-spacerun:yes'>  </span>u
!   circumflex</p>
!   <p class=PreformattedText><span style='mso-spacerun:yes'>     </span>[ù]<span
!   style='mso-spacerun:yes'>  </span>151<span style='mso-spacerun:yes'> 
!   </span>09/07<span style='mso-spacerun:yes'>  </span>227<span
!   style='mso-spacerun:yes'>  </span>97<span style='mso-spacerun:yes'>  </span>u
!   grave</p>
!   <p class=PreformattedText><span style='mso-spacerun:yes'>     </span>[ÿ]<span
!   style='mso-spacerun:yes'>  </span>152<span style='mso-spacerun:yes'> 
!   </span>09/08<span style='mso-spacerun:yes'>  </span>230<span
!   style='mso-spacerun:yes'>  </span>98<span style='mso-spacerun:yes'>  </span>y
!   diaeresis</p>
!   <p class=PreformattedText><span style='mso-spacerun:yes'>     </span>[Ö]<span
!   style='mso-spacerun:yes'>  </span>153<span style='mso-spacerun:yes'> 
!   </span>09/09<span style='mso-spacerun:yes'>  </span>231<span
!   style='mso-spacerun:yes'>  </span>99<span style='mso-spacerun:yes'>  </span>O
!   diaeresis</p>
!   <p class=PreformattedText><span style='mso-spacerun:yes'>     </span>[Ü]<span
!   style='mso-spacerun:yes'>  </span>154<span style='mso-spacerun:yes'> 
!   </span>09/10<span style='mso-spacerun:yes'>  </span>232<span
!   style='mso-spacerun:yes'>  </span>9A<span style='mso-spacerun:yes'>  </span>U
!   diaeresis</p>
!   <p class=PreformattedText><span style='mso-spacerun:yes'>     </span>[ø]<span
!   style='mso-spacerun:yes'>  </span>155<span style='mso-spacerun:yes'> 
!   </span>09/11<span style='mso-spacerun:yes'>  </span>233<span
!   style='mso-spacerun:yes'>  </span>9B<span style='mso-spacerun:yes'>  </span>o
!   slash</p>
!   <p class=PreformattedText><span style='mso-spacerun:yes'>     </span>[£]<span
!   style='mso-spacerun:yes'>  </span>156<span style='mso-spacerun:yes'> 
!   </span>09/12<span style='mso-spacerun:yes'>  </span>234<span
!   style='mso-spacerun:yes'>  </span>9C<span style='mso-spacerun:yes'> 
!   </span>Pound sterling sign</p>
!   <p class=PreformattedText><span style='mso-spacerun:yes'>     </span>[Ø]<span
!   style='mso-spacerun:yes'>  </span>157<span style='mso-spacerun:yes'> 
!   </span>09/13<span style='mso-spacerun:yes'>  </span>235<span
!   style='mso-spacerun:yes'>  </span>9D<span style='mso-spacerun:yes'>  </span>O
!   slash</p>
!   <p class=PreformattedText><span style='mso-spacerun:yes'>     </span>[×]<span
!   style='mso-spacerun:yes'>  </span>158<span style='mso-spacerun:yes'> 
!   </span>09/14<span style='mso-spacerun:yes'>  </span>236<span
!   style='mso-spacerun:yes'>  </span>9E<span style='mso-spacerun:yes'> 
!   </span>Multiplication sign</p>
!   <p class=PreformattedText><span style='mso-spacerun:yes'>     </span>[ƒ]<span
!   style='mso-spacerun:yes'>  </span>159<span style='mso-spacerun:yes'> 
!   </span>09/15<span style='mso-spacerun:yes'>  </span>237<span
!   style='mso-spacerun:yes'>  </span>9F<span style='mso-spacerun:yes'>  </span><st2:place
!   w:st="on">Florin</st2:place> sign</p>
    </td>
   </tr>
  </table>
  
! <p class=PreformattedText><o:p>&nbsp;</o:p></p>
  
  <p class=MsoNormal>OpenAFS 1.4 provides an optional registry value, <i><a
! href="oafw-1-4-release-notes.doc#_Value___: StoreAnsiFilenames">StoreAnsiFilenames</a></i>,
  that can be set to instruct OpenAFS to store filenames using the ANSI Code Page
! instead of the OEM Code Page.<span style='mso-spacerun:yes'>  </span>The ANSI
! Code Page is a compatible superset of Latin-1.<span style='mso-spacerun:yes'> 
! </span>This setting is not the default setting because making this change would
! prevent OpenAFS for Windows from being able to access filenames containing the
! above characters which were created without this setting.</p>
! 
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872198"></a><a
! name="_Toc115417069"></a><a name="_Toc115416133"><span style='mso-bookmark:
! _Toc115417069'><span style='mso-bookmark:_Toc126872198'>3.27. Known Character
! Set Issues with Roaming Profiles</span></span></a></h2>
  
  <p class=MsoNormal>There is a known issue with storing Windows Roaming Profiles
  when the profile contains either directories or files with names which cannot
! be represented in the local OEM character set.<span style='mso-spacerun:yes'> 
! </span>In this case, attempts to write the profile back to AFS will fail.<span
! style='mso-spacerun:yes'>  </span>OpenAFS for Windows does not currently
! support UNICODE.<span style='mso-spacerun:yes'>  </span>To avoid this problem
! some sites run logoff scripts (assigned by group policy) which rename all files
! to use only the supported characters for the locale.</p>
! 
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872199"></a><a
! name="_Toc115417070"></a><a name="_Toc115416134"><span style='mso-bookmark:
! _Toc115417070'><span style='mso-bookmark:_Toc126872199'>3.28. The AFSCache File</span></span></a></h2>
  
  <p class=MsoNormal>The AFS Cache file is stored by default at %TEMP%\AFSCache
! in a persistent file marked with the Hidden and System attributes. <span
! style='mso-spacerun:yes'> </span>The persistent nature of the data stored in
! the cache file improves the performance of OpenAFS by reducing the number of
! times data must be read from the AFS file servers.<span
! style='mso-spacerun:yes'>  </span></p>
  
  <p class=MsoNormal>The performance of the AFS Client Service is significantly
! affected by the access times associated with the AFSCache paging file.<span
! style='mso-spacerun:yes'>   </span>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.<span
! style='mso-spacerun:yes'>   </span>Significant performance gains can be
! achieved by defragmenting the AFSCache file with Sysinternal's Contig utility.</p>
! 
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872200"></a><a
! name="_Toc115417071"></a><a name="_Toc115416135"><span style='mso-bookmark:
! _Toc115417071'><span style='mso-bookmark:_Toc126872200'>3.29. Restricting
! OpenAFS Client Service Start and Stop</span></span></a></h2>
  
  <p class=MsoNormal>A new command line tool, afsdacl.exe, can be used to
  restrict the ability to start and stop the OpenAFS Client Service.</p>
  
! <p class=PreformattedText><span style='mso-spacerun:yes'>    </span>afsdacl :
! Set or reset the DACL to allow starting or stopping</p>
  
! <p class=PreformattedText><span style='mso-spacerun:yes'>         </span>the
! afsd service by any ordinary user.</p>
  
! <p class=PreformattedText><o:p>&nbsp;</o:p></p>
  
! <p class=PreformattedText><span style='mso-spacerun:yes'>    </span>Usage :
! afsdacl [-set | -reset] [-show]</p>
  
! <p class=PreformattedText><span style='mso-spacerun:yes'>         
! </span>-set<span style='mso-spacerun:yes'>   </span>: Sets the DACL</p>
  
! <p class=PreformattedText><span style='mso-spacerun:yes'>         
! </span>-reset : Reset the DACL</p>
  
! <p class=PreformattedText><span style='mso-spacerun:yes'>         
! </span>-show<span style='mso-spacerun:yes'>  </span>: Show current DACL (SDSF)</p>
  
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872201"></a><a
! name="_Toc115417072"></a><a name="_Toc115416136"><span style='mso-bookmark:
! _Toc115417072'><span style='mso-bookmark:_Toc126872201'>3.30. The @sys Name
! List</span></span></a></h2>
  
  <p class=MsoNormal>The default @sys name list in OpenAFS 1.4 is set to
! &quot;x86_win32 i386_w2k i386_nt40&quot; for 32-bit x86 systems.<span
! style='mso-spacerun:yes'>  </span>The default for itanium will be
! &quot;ia64_win64&quot; and &quot;amd64_win64&quot; for amd 64-bit processors
! when those platforms are supported.</p>
! 
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872202"></a><a
! name="_Toc115417073"></a><a name="_Toc115416137"><span style='mso-bookmark:
! _Toc115417073'><span style='mso-bookmark:_Toc126872202'>3.31. Symlinks to AFS
! UNC paths</span></span></a></h2>
  
  <p class=MsoNormal>In OpenAFS 1.4, symlinks to AFS UNC paths, \\AFS[\all]\...,
! are treated the same as symlinks to /afs/...<span style='mso-spacerun:yes'> 
! </span>However, please use /afs/... as the Windows UNC form will not work on UNIX.</p>
  
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872203"></a><a
! name="_Toc115417074"></a><a name="_Toc115416138"><span style='mso-bookmark:
! _Toc115417074'><span style='mso-bookmark:_Toc126872203'>3.32. Cache Manager
! Debugging Now Supported</span></span></a></h2>
  
  <p class=MsoNormal>OpenAFS for Windows 1.4 implements the Cache Manager
! Debugging RPC Interface.<span style='mso-spacerun:yes'>  </span>The CM debugger
! can be queried with cmdebug.exe.</p>
  
  <p class=PreformattedText>Usage: cmdebug -servers &lt;server machine&gt; [-port
  &lt;IP port&gt;] [-long]</p>
  
! <p class=PreformattedText><span style='mso-spacerun:yes'>              
! </span>[-addrs] [-cache] [-help]</p>
  
! <p class=PreformattedText>Where: -long<span style='mso-spacerun:yes'>  
! </span>print all info</p>
  
! <p class=PreformattedText><span style='mso-spacerun:yes'>      
! </span>-addrs<span style='mso-spacerun:yes'>  </span>print only host interfaces</p>
  
! <p class=PreformattedText><span style='mso-spacerun:yes'>      
! </span>-cache<span style='mso-spacerun:yes'>  </span>print only cache
! configuration</p>
! 
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872204"></a><a
! name="_Toc115417075"></a><a name="_Toc115416139"><span style='mso-bookmark:
! _Toc115417075'><span style='mso-bookmark:_Toc126872204'>3.33. Windows Logon
! Caching vs. Kerberos Logons</span></span></a></h2>
  
  <p class=MsoNormal>If you are a site which utilizes MIT/Heimdal Kerberos
  principals to logon to Windows via a cross-realm relationship with a
  multi-domain Windows forest, you must enable Windows logon caching unless the
! workstation is Windows Vista Beta 1 or later.</p>
  
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872205"></a><a
! name="_Toc115417076"></a><a name="_Toc115416140"><span style='mso-bookmark:
! _Toc115417076'><span style='mso-bookmark:_Toc126872205'>3.34. Initial Server
! Preferences</span></span></a></h2>
  
  <p class=MsoNormal>VLDB and File Server Preferences can now be provided initial
! values using registry keys.<span style='mso-spacerun:yes'>  </span>This is
! useful for managed machines in a Windows domain which are centrally located
! (e.g., in a computing lab.)<span style='mso-spacerun:yes'>  </span>See <a
! href="oafw-1-4-release-notes.doc#_Appendix_A:_Registry_Values">Appendix A</a>
  for details on the &quot;<a
! href="oafw-1-4-release-notes.doc#_Regkey:_[HKLMSOFTWAREOpenAFSClie_2">Server
  Preferences</a>&quot; keys.</p>
  
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872206"></a><a
! name="_Toc115417077"></a><a name="_Toc115416141"><span style='mso-bookmark:
! _Toc115417077'><span style='mso-bookmark:_Toc126872206'>3.35. File Timestamps</span></span></a></h2>
  
  <p class=MsoNormal>OpenAFS 1.4 reports timestamps on files stored in AFS in UTC
! all year round.<span style='mso-spacerun:yes'>  </span>In locales with daylight
! savings time, previous versions of AFS for Windows reported the time when DST
! is active as UTC+1.<span style='mso-spacerun:yes'>  </span>This was done to
! preserve the relative local time for the user.<span style='mso-spacerun:yes'> 
! </span>A file stored at 11:00am EST in January would be reported as having been
! stored at 11:00am EDT in June.<span style='mso-spacerun:yes'> 
! </span>Unfortunately, this has the negative side effect of changing the
! reported timestamp from 16:00UTC to 15:00UTC.<span style='mso-spacerun:yes'> 
! </span>Since Windows treats all file times in UTC, data synchronization
! applications which rely on the timestamp would believe that all files stored in
! AFS had changed.</p>
  
  <p class=MsoNormal>It should be noted that UNIX based operating systems (such
! as Solaris) do not appear to report file times to applications in UTC.<span
! style='mso-spacerun:yes'>  </span>They do preserve the relative local
! time.<span style='mso-spacerun:yes'>  </span>This may confuse some users who
! are used to being able to compare the timestamp in an UNIX shell with the
! timestamp from the Windows explorer.<span style='mso-spacerun:yes'> 
! </span>During DST, these two times will no longer agree even though they are in
! fact representing the same moment in time.</p>
! 
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872207"></a><a
! name="_Toc115417078"></a><a name="_Toc115416142"><span style='mso-bookmark:
! _Toc115417078'><span style='mso-bookmark:_Toc126872207'>3.36. Windows RPC
! client support must be installed</span></span></a> </h2>
  
  <p class=MsoNormal>If the installer refuses to install and complains about an
  RPC configuration error, check to ensure that the following registry entries
  are present and that they refer to the dll &quot;rpcrt4.dll&quot;:</p>
  
! <p class=PreformattedText><span style='mso-spacerun:yes'>   </span>HKLM
  &quot;SOFTWARE\Microsoft\RPC\ClientProtocols&quot; &quot;ncacn_np&quot;</p>
  
! <p class=PreformattedText><span style='mso-spacerun:yes'>   </span>HKLM
  &quot;SOFTWARE\Microsoft\RPC\ClientProtocols&quot; &quot;ncacn_ip_tcp&quot;</p>
  
! <p class=PreformattedText><span style='mso-spacerun:yes'>   </span>HKLM
! &quot;SOFTWARE\Microsoft\RPC\ClientProtocols&quot; &quot;ncadg_ip_udp&quot;</p>
  
! <p class=PreformattedText><span style='mso-spacerun:yes'>   </span>HKLM
  &quot;SOFTWARE\Microsoft\RPC\ClientProtocols&quot; &quot;ncacn_http&quot;</p>
  
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872208"></a><a
! name="_Toc115417079"></a><a name="_Toc115416143"><span style='mso-bookmark:
! _Toc115417079'><span style='mso-bookmark:_Toc126872208'>3.37. Generating
! Minidumps of the OpenAFS Client Service</span></span></a></h2>
! 
! <p class=MsoNormal>OpenAFS 1.4 adds a new command, &quot;fs
! minidump&quot;.<span style='mso-spacerun:yes'>  </span>This command can be used
! at any time to generate a mini dump file containing the current stack of the
! afsd_service.exe process.<span style='mso-spacerun:yes'>   </span>This output
! can be very helpful when debugging the AFS Client Service when it is
! unresponsive to SMB/CIFS requests.</p>
! 
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872209"></a><a
! name="_Toc115417080"></a><a name="_Toc115416144"><span style='mso-bookmark:
! _Toc115417080'><span style='mso-bookmark:_Toc126872209'>3.38. AFS Client
! Universally Unique Identifiers</span></span></a></h2>
  
  <p class=MsoNormal>The OpenAFS for Windows 1.4 client implements Universally
! Unique Identifiers (UUIDs).<span style='mso-spacerun:yes'>  </span>They are
! used to provide the server with a method of identifying the client that is
! independent of IP address.<span style='mso-spacerun:yes'>  </span>The UUID is
  generated when the AFSCache file is created and is maintained as long as the
! contents of the AFSCache file are kept intact.<span style='mso-spacerun:yes'> 
! </span>The UUID is stored in the AFSCache file.<span
! style='mso-spacerun:yes'>   </span>When cloning machines that have Windows AFS
! client installed, the AFSCache files must be deleted as part of the cloning
! process.</p>
! 
! <h1 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872210"></a><a
! name="_Toc115417112"></a><a name="_Toc115417081"></a><a name="_Toc115416145"><span
! style='mso-bookmark:_Toc115417081'><span style='mso-bookmark:_Toc115417112'><span
! style='mso-bookmark:_Toc126872210'>4. How to Debug Problems with OpenAFS for
! Windows:</span></span></span></a></h1>
  
  <p class=MsoNormal>OpenAFS for Windows provides a wide range of tools to assist
! you in debugging problems.<span style='mso-spacerun:yes'>  </span>The
! techniques available to you are varied because of the wide range of issues that
! have been discovered over the years.</p>
! 
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872211"></a><a
! name="_Toc115417082"></a><a name="_Toc115416146"><span style='mso-bookmark:
! _Toc115417082'><span style='mso-bookmark:_Toc126872211'>4.1. pioctl debugging (</span></span></a><a
! href="oafw-1-4-release-notes.doc#_Value___: IoctlDebug"><span style='mso-bookmark:
! _Toc115416146'><span style='mso-bookmark:_Toc115417082'><span style='mso-bookmark:
! _Toc126872211'>IoctlDebug</span></span></span><span style='mso-bookmark:_Toc115416146'><span
! style='mso-bookmark:_Toc115417082'><span style='mso-bookmark:_Toc126872211'></span></span></span></a><span
! style='mso-bookmark:_Toc115416146'><span style='mso-bookmark:_Toc115417082'><span
! style='mso-bookmark:_Toc126872211'> registry key)</span></span></span></h2>
  
  <p class=MsoNormal>pioctl (path-based ioctl) calls are used by various tools to
! communicate with the AFS Client Service.<span style='mso-spacerun:yes'> 
! </span>Some of the operations performed include:</p>
  
! <p class=MsoNormal style='margin-left:49.6pt;text-indent:-14.15pt;mso-list:
! l17 level1 lfo8;tab-stops:list 14.15pt'><![if !supportLists]><span
! style='font-size:9.0pt;font-family:Symbol;mso-fareast-font-family:Symbol;
! mso-bidi-font-family:Symbol'><span style='mso-list:Ignore'>·<span
! style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><![endif]>setting/querying
! tokens<span style='mso-spacerun:yes'>  </span>(tokens.exe, aklog.exe,
! afscreds.exe)</p>
! 
! <p class=MsoNormal style='margin-left:49.6pt;text-indent:-14.15pt;mso-list:
! l17 level1 lfo8;tab-stops:list 14.15pt'><![if !supportLists]><span
! style='font-size:9.0pt;font-family:Symbol;mso-fareast-font-family:Symbol;
! mso-bidi-font-family:Symbol'><span style='mso-list:Ignore'>·<span
! style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><![endif]>setting/querying
! ACLs </p>
! 
! <p class=MsoNormal style='margin-left:49.6pt;text-indent:-14.15pt;mso-list:
! l17 level1 lfo8;tab-stops:list 14.15pt'><![if !supportLists]><span
! style='font-size:9.0pt;font-family:Symbol;mso-fareast-font-family:Symbol;
! mso-bidi-font-family:Symbol'><span style='mso-list:Ignore'>·<span
! style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><![endif]>setting/querying
! cache parameters</p>
! 
! <p class=MsoNormal style='margin-left:49.6pt;text-indent:-14.15pt;mso-list:
! l17 level1 lfo8;tab-stops:list 14.15pt'><![if !supportLists]><span
! style='font-size:9.0pt;font-family:Symbol;mso-fareast-font-family:Symbol;
! mso-bidi-font-family:Symbol'><span style='mso-list:Ignore'>·<span
! style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><![endif]>flushing
! files or volumes</p>
! 
! <p class=MsoNormal style='margin-left:49.6pt;text-indent:-14.15pt;mso-list:
! l17 level1 lfo8;tab-stops:list 14.15pt'><![if !supportLists]><span
! style='font-size:9.0pt;font-family:Symbol;mso-fareast-font-family:Symbol;
! mso-bidi-font-family:Symbol'><span style='mso-list:Ignore'>·<span
! style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><![endif]>setting/querying
! server preferences</p>
! 
! <p class=MsoNormal style='margin-left:49.6pt;text-indent:-14.15pt;mso-list:
! l17 level1 lfo8;tab-stops:list 14.15pt'><![if !supportLists]><span
! style='font-size:9.0pt;font-family:Symbol;mso-fareast-font-family:Symbol;
! mso-bidi-font-family:Symbol'><span style='mso-list:Ignore'>·<span
! style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><![endif]>querying
! path location</p>
! 
! <p class=MsoNormal style='margin-left:49.6pt;text-indent:-14.15pt;mso-list:
! l17 level1 lfo8;tab-stops:list 14.15pt'><![if !supportLists]><span
! style='font-size:9.0pt;font-family:Symbol;mso-fareast-font-family:Symbol;
! mso-bidi-font-family:Symbol'><span style='mso-list:Ignore'>·<span
! style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><![endif]>checking
! the status of servers and volumes</p>
! 
! <p class=MsoNormal style='margin-left:49.6pt;text-indent:-14.15pt;mso-list:
! l17 level1 lfo8;tab-stops:list 14.15pt'><![if !supportLists]><span
! style='font-size:9.0pt;font-family:Symbol;mso-fareast-font-family:Symbol;
! mso-bidi-font-family:Symbol'><span style='mso-list:Ignore'>·<span
! style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><![endif]>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.<span
! style='mso-spacerun:yes'>   </span>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.<span style='mso-spacerun:yes'>   </span></p>
  
  <p class=MsoNormal>To assist in debugging these problems, the registry value:</p>
  
! <p class=PreformattedText><span style='mso-spacerun:yes'> 
! </span>[HKLM\SOFTWARE\OpenAFS\Client]</p>
  
! <p class=PreformattedText><span style='mso-spacerun:yes'> 
! </span>REG_DWORD:<span style='mso-spacerun:yes'>  </span>IoctlDebug<span
! style='mso-spacerun:yes'>   </span>= 0x01</p>
! 
! <p class=MsoNormal>should be set.<span style='mso-spacerun:yes'>  </span>Then
! any of the commands that perform pioctl calls should be executed from the
! command prompt.<span style='mso-spacerun:yes'>  </span>With this key set the
! pioctl library will generate debugging output to stderr.<span
! style='mso-spacerun:yes'>  </span>The output will contain the Win32 API calls
! executed along with their most important parameters and their return code.<span
! style='mso-spacerun:yes'>   </span>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 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872212"></a><a
! name="_Toc115417083"></a><a name="_Toc115416147"><span style='mso-bookmark:
! _Toc115417083'><span style='mso-bookmark:_Toc126872212'>4.2. afsd_service
! initialization log (%WinDir%\TEMP\afsd_init.log)</span></span></a></h2>
  
  <p class=MsoNormal>Every time the AFS Client Service starts it appends data
! about its progress and configuration to a file.<span style='mso-spacerun:yes'> 
! </span>This file provides information crucial to determining why the service
! cannot start when there are problems.<span style='mso-spacerun:yes'> 
! </span>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.<span
! style='mso-spacerun:yes'>  </span>In many cases the panic condition is due to a
! misconfiguration of the machine.<span style='mso-spacerun:yes'>  </span>In
! other cases it might be due to a programming error in the software.<span
! style='mso-spacerun:yes'>  </span>A quick review of the location in the source
! code will quickly reveal the reason for the termination.</p>
  
! <p class=MsoNormal>The <i style='mso-bidi-font-style:normal'><a
! href="oafw-1-4-release-notes.doc#_Value___: MaxLogSize">MaxLogSize</a></i>
  registry value determines the maximum size of the %WINDIR%\TEMP\afsd_init.log
! file.<span style='mso-spacerun:yes'>  </span>If the file is larger than this
! value when OpenAFS Client Service starts, the file will be reset to 0 bytes.<span
! style='mso-spacerun:yes'>  </span>If value is set to 0, the file will be
! allowed to grow indefinitely.</p>
! 
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872213"></a><a
! name="_Toc115417084"></a><a name="_Toc115416148"><span style='mso-bookmark:
! _Toc115417084'><span style='mso-bookmark:_Toc126872213'>4.3. afsd_service debug
! logs (fs trace {-on, -off, -dump} -&gt;%WinDir%\TEMP\afsd.log)</span></span></a></h2>
  
  <p class=MsoNormal>When attempting to debug the behavior of the SMB/CIFS Server
  and the Cache Manager it is often useful to examine a log of the operations
! being performed.<span style='mso-spacerun:yes'>  </span>While running the AFS
! Client Service keeps an in memory log of many of its actions.<span
! style='mso-spacerun:yes'>   </span>The default number of actions preserved at
! any one time is 5000.<span style='mso-spacerun:yes'>  </span>This can be
! adjusted with the <a href="oafw-1-4-release-notes.doc#_Value_:_TraceBufferSize">registry
! value</a>:</p>
  
! <p class=PreformattedText><span style='mso-spacerun:yes'> 
! </span>[HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters]</p>
  
! <p class=PreformattedText><span style='mso-spacerun:yes'> 
! </span>REG_DWORD<span style='mso-spacerun:yes'>  </span>TraceBufferSize </p>
  
  <p class=MsoNormal>A restart of the service is necessary when adjusting this
! value.<span style='mso-spacerun:yes'>   </span>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 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872214"></a><a
! name="_Toc115417085"></a><a name="_Toc115416149"><span style='mso-bookmark:
! _Toc115417085'><span style='mso-bookmark:_Toc126872214'>4.4. Using
! SysInternal’s DbgView and FileMon Tools</span></span></a></h2>
  
  <p class=MsoNormal>An alternatve option to the use of &quot;fs trace -dump&quot;
  to capture internal OpenAFS Client Service events is to use a tool such as
! Sysinternal's DbgView to capture real-time debugging output.<span
! style='mso-spacerun:yes'>  </span>When the OpenAFS Client Service starts and Bit
! 2 of the <a href="oafw-1-4-release-notes.doc#_Value__:_TraceOption">TraceOption</a>
  value in the registry is set, all trace log events are output using the Windows
! Debug Monitor interface (OutputDebugString).<span style='mso-spacerun:yes'> 
! </span></p>
  
! <p class=PreformattedText><span style='mso-spacerun:yes'> 
! </span>[HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters]</p>
  
! <p class=PreformattedText style='text-indent:12.0pt'>REG_DWORD<span
! style='mso-spacerun:yes'>   </span>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>Sysinternal’s FileMon utility can be use to monitor the file
! operations requested by applications and their success or failure.<span
! style='mso-spacerun:yes'>   </span>Restrict FileMon to monitor Network Volumes
! only in order to reduce the output to just the CIFS requests.<span
! style='mso-spacerun:yes'>   </span></p>
! 
! <p class=MsoNormal>Turn on the <i style='mso-bidi-font-style:normal'>Clock Time</i>
! option in both tools to make it easier to synchronize the application requests
! and the resulting OpenAFS Client Service operations.<span
! style='mso-spacerun:yes'>   </span>The captured data can be stored to files for
! inclusion in bug reports.</p>
! 
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872215"></a><a
! name="_Toc115417086"></a><a name="_Toc115416150"><span style='mso-bookmark:
! _Toc115417086'><span style='mso-bookmark:_Toc126872215'>4.5. Microsoft
! MiniDumps <br>
! (fs minidump -&gt; %WinDir%\TEMP\afsd.dmp)</span></span></a></h2>
  
  <p class=MsoNormal>If the AFS Client Service become unresponsive to any form of
  communication there may be a serious error that can only be debugged by someone
! with access to the source code and a debugger.<span style='mso-spacerun:yes'>  
! </span>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 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872216"></a><a
! name="_Toc115417087"></a><a name="_Toc115416151"><span style='mso-bookmark:
! _Toc115417087'><span style='mso-bookmark:_Toc126872216'>4.6. Single Sign-on (Integrated
! Logon) debugging</span></span></a></h2>
  
  <p class=MsoNormal>If you are having trouble with the Integrated Logon
  operations it is often useful to be able to obtain a log of what it is
! attempting to do.<span style='mso-spacerun:yes'>   </span>Setting Bit 0 of the <a
! href="oafw-1-4-release-notes.doc#_Value__:_TraceOption">TraceOption</a> registry
  value:</p>
  
! <p class=PreformattedText><span style='mso-spacerun:yes'> 
! </span>[HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters]</p>
  
! <p class=PreformattedText><span style='mso-spacerun:yes'> 
! </span>REG_DWORD<span style='mso-spacerun:yes'>   </span>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 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872217"></a><a
! name="_Toc115417088"></a><a name="_Toc115416152"><span style='mso-bookmark:
! _Toc115417088'><span style='mso-bookmark:_Toc126872217'>4.7. RX (AFS RPC)
! debugging (rxdebug)</span></span></a></h2>
  
  <p class=MsoNormal>The rxdebug.exe tool can be used to query a variety of
! information about the AFS services installed on a given machine.<span
! style='mso-spacerun:yes'>  </span>The port for the AFS Cache Manager is
! 7001.<span style='mso-spacerun:yes'>  </span></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'><span
! style='mso-spacerun:yes'>   </span>[-allconnections] [-rxstats] [-onlyserver]
! [-onlyclient] </p>
  
! <p class=PreformattedText style='margin-left:70.9pt'><span
! style='mso-spacerun:yes'>   </span>[-onlyport &lt;show only &lt;port&gt;&gt;] </p>
  
! <p class=PreformattedText style='margin-left:70.9pt'><span
! style='mso-spacerun:yes'>   </span>[-onlyhost &lt;show only &lt;host&gt;&gt;] </p>
  
! <p class=PreformattedText style='margin-left:70.9pt'><span
! style='mso-spacerun:yes'>   </span>[-onlyauth &lt;show only &lt;auth
! level&gt;&gt;] [-version] </p>
  
! <p class=PreformattedText style='margin-left:70.9pt'><span
! style='mso-spacerun:yes'>   </span>[-noconns] [-peers] [-help]</p>
  
! <p class=PreformattedText>Where: -nodally<span
! style='mso-spacerun:yes'>         </span>don't show dallying conns</p>
  
! <p class=PreformattedText><span style='mso-spacerun:yes'>      
! </span>-allconnections<span style='mso-spacerun:yes'>  </span>don't filter out
  uninteresting connections</p>
  
! <p class=PreformattedText><span style='mso-spacerun:yes'>      
! </span>-rxstats<span style='mso-spacerun:yes'>         </span>show Rx
! statistics</p>
! 
! <p class=PreformattedText><span style='mso-spacerun:yes'>      
! </span>-onlyserver<span style='mso-spacerun:yes'>      </span>only show server
! conns</p>
! 
! <p class=PreformattedText><span style='mso-spacerun:yes'>      
! </span>-onlyclient<span style='mso-spacerun:yes'>      </span>only show client
! conns</p>
! 
! <p class=PreformattedText><span style='mso-spacerun:yes'>      
! </span>-version<span style='mso-spacerun:yes'>         </span>show AFS version
! id</p>
! 
! <p class=PreformattedText><span style='mso-spacerun:yes'>      
! </span>-noconns<span style='mso-spacerun:yes'>         </span>show no
! connections</p>
! 
! <p class=PreformattedText><span style='mso-spacerun:yes'>      
! </span>-peers<span style='mso-spacerun:yes'>           </span>show peers</p>
! 
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872218"></a><a
! name="_Toc115417089"></a><a name="_Toc115416153"><span style='mso-bookmark:
! _Toc115417089'><span style='mso-bookmark:_Toc126872218'>4.8. Cache Manager
! debugging (cmdebug)</span></span></a></h2>
  
  <p class=MsoNormal>The cmdebug.exe tool can be used to query the state of the
  AFS Cache Manager on a given machine.</p>
--- 856,1674 ----
  
  <p class=MsoNormal>The initial membership of the &quot;AFS Client Admins&quot;
  group when created by the installer is equivalent to the local
! &quot;Administrators&quot; group.  If a user is added to the
! &quot;Administrators&quot; group after the creation of the &quot;AFS Client
! Admin&quot; group, that user will not be an AFS Client Administrator.  Only
! users that are members of the &quot;AFS Client Admins&quot; group are AFS
! Client Administrators.  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="../../oafw-1-4-release-notes.doc#_Value_:_SysName">registry</a>
! and not via &quot;fs sysname&quot;.</p>
! 
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc139980955"></a><a
! name="_Toc126872179"></a><a name="_Toc115417050"></a><a name="_Toc115416114">3.8.
! OpenAFS support for UNC paths</a> </h2>
! 
! <p class=MsoNormal>The OpenAFS 1.4 client supports UNC paths everywhere.  UNC
! paths provide a canonical name for resources stored within AFS.  UNC paths
! should be used instead of drive letter mappings whenever possible.   This is
! especially true when specifying the location of roaming profiles and redirected
! folders.  </p>
  
  <p class=MsoNormal>Power users that make extensive use of the command line
  shell, cmd.exe, should consider using JP Software's 4NT or Take Command command
! processors.  Unlike cmd.exe, the JPSoftware shells fully support UNC paths as
! the current directory.  With the release of version 4NT 7.0 and Take Command 7.0,
! JPSoftware is adding special recognition of OpenAFS.  AFS paths can be entered
! in UNIX notation (e.g., <a href="file:///\\afs\openafs.org\software">/afs/openafs.org/software</a>),
  space utilization reports the output of the volume status for the specified
  path, and many AFS specific functions and variables have been added to the
  command language.</p>
  
! <p class=MsoNormal>JPSoftware's web site is <span class=MsoHyperlink>http://www.jpsoft.com</span>.</p>
! 
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc139980956"></a><a
! name="_Toc126872180"></a><a name="_Toc115417051"></a><a name="_Toc115416115">3.9.
! OpenAFS includes aklog.exe</a></h2>
  
  <p class=MsoNormal>The OpenAFS 1.4 Client ships with its own version of
  aklog.exe which should be used in preference to those obtained by third party
! sources.  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>
  
! <p class=PreformattedText>             [[-p | -path] pathname]</p>
  
! <p class=PreformattedText>             [-noprdb] [-force]</p>
  
! <p class=PreformattedText>             [-5 [-m]| -4]</p>
  
! <p class=PreformattedText>&nbsp;</p>
  
! <p class=PreformattedText>   -d = output debugging information.</p>
  
! <p class=PreformattedText>   cell = zero or more cells for which tokens will be
! obtained</p>
  
! <p class=PreformattedText>   krb_realm = the kerberos realm of the cell.</p>
  
! <p class=PreformattedText>   pathname = the directory for which authentication
! is required</p>
  
! <p class=PreformattedText>   -noprdb = don't try to determine AFS ID.</p>
  
! <p class=PreformattedText>   -5 or -4 = use Kerberos V (default) or Kerberos IV
! tickets</p>
  
! <p class=PreformattedText>   -m = use krb524d to convert Kerberos V tickets to
! Kerberos IV</p>
  
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc139980957"></a><a
! name="_Toc126872181"></a><a name="_Toc115417052"></a><a name="_Toc115416116">3.10.
! OpenAFS Servers on Windows are Unsupported</a></h2>
  
  <p class=MsoNormal>The AFS Server functionality provided with OpenAFS 1.4 might
! work but should be considered highly experimental.  It has not been thoroughly
! tested.  Any data which would cause pain if lost should not be stored in an
! OpenAFS Server on Windows.</p>
  
  <p class=MsoNormal>A few notes on the usage of the AFS Client Service if it is
  going to be used with the OpenAFS AFS Server:</p>
  
! <p class=MsoNormal style='margin-left:14.15pt;text-indent:-14.15pt'><span
! style='font-size:9.0pt;font-family:Symbol'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
! </span></span>When installed on the same machine as the AFS Server, Freelance
! mode must be turned off.  Otherwise, you will be unable to manipulate the
! contents of the root.afs volume for the hosted cell.</p>
! 
! <p class=MsoNormal style='margin-left:14.15pt;text-indent:-14.15pt'><span
! style='font-size:9.0pt;font-family:Symbol'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
! </span></span>The AFS Server and related tools only support the built in kaserver
! (Kerberos IV).  If the AFS Server is being used, MIT Kerberos for Windows
! should not be installed or must be disabled.</p>
! 
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc139980958"></a><a
! name="_Toc126872182"></a><a name="_Toc115417053"></a><a name="_Toc115416117">3.11.
! OpenAFS Debugging Symbol files</a></h2>
  
  <p class=MsoNormal>The OpenAFS for Windows installers now include Debugging
  Symbol files which should be installed if you are experiencing problems and
! need to send crash reports.  This is true for both the release and the debug
! versions of the installers.  The difference between the release and debug
  versions are:</p>
  
! <p class=MsoNormal style='margin-left:14.15pt;text-indent:-14.15pt'><span
! style='font-size:9.0pt;font-family:Symbol'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
! </span></span>whether or not the binaries were compiled with optimization</p>
! 
! <p class=MsoNormal style='margin-left:14.15pt;text-indent:-14.15pt'><span
! style='font-size:9.0pt;font-family:Symbol'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
! </span></span>whether the debug symbols are installed by default</p>
! 
! <p class=MsoNormal style='margin-left:14.15pt;text-indent:-14.15pt'><span
! style='font-size:9.0pt;font-family:Symbol'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
! </span></span>whether additional debug statements were compiled into the
! binaries</p>
! 
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc139980959"></a><a
! name="_Toc126872183"></a><a name="_Toc115417054"></a><a name="_Toc115416118">3.12.
! Maximum File Size is 2GB</a></h2>
! 
! <p class=MsoNormal>OpenAFS for Windows does not support files larger than 2GB. 
! The version of the SMB/CIFS protocol implemented imposes this limitation. 
! Upgrading the SMB/CIFS implementation or replacing it with an Installable File
! System will allow larger files to be supported. </p>
! 
! <p class=MsoNormal>OpenAFS for Windows 1.5.3 or greater will provide support
! for files up to 16777216 terabytes.</p>
! 
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc139980960"></a><a
! name="_Toc126872184"></a><a name="_Toc115417055"></a><a name="_Toc115416119">3.13.
! Encrypted AFS File Access</a></h2>
  
  <p class=MsoNormal>The OpenAFS for Windows installer by default activates a
  weak form of encrypted data transfer between the AFS client and the AFS
! servers.  This is often referred to as &quot;fcrypt&quot; mode.  Encrypted data
! transfer can be turned on or off with the “fs crypt” command.  Transitions
! between “crypt” and “non-crypt” modes are logged to the Windows Application
! Event Log. </p>
! 
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc139980961"></a><a
! name="_Toc126872185"></a><a name="_Toc115417056"></a><a name="_Toc115416120">3.14.
! Authenticated Access to the OpenAFS Client Service</a></h2>
  
  <p class=MsoNormal>OpenAFS 1.4 supports authenticated SMB connections using
! either NTLM or GSS SPNEGO (NTLM).  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.    </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
! used).  It is extremely important that this service principal not exist in the
! KDC database as the Kerberos authentication must fail allowing automatic
! fallback to NTLM.  When NTLM is used a special local authentication mode will
! be used that does not require access to the user's password.  Instead, Windows
! will internally recognize the request as coming from a local logon session.</p>
! 
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc139980962"></a><a
! name="_Toc126872186"></a><a name="_Toc115417057"></a><a name="_Toc115416121">3.15.
! No More INI Files</a></h2>
  
  <p class=MsoNormal>Previous AFS clients for Windows stored configuration data
! in Windows .INI files.   OpenAFS 1.4 does not use Windows .INI files for the storage
! of configuration data.   All settings are now stored in the registry (see <a
! href="../../oafw-1-4-release-notes.doc#_Appendix_A:_Registry_Values">Appendix A</a>). 
! The CellServDB file is now stored in the %PROGRAMFILES%\OpenAFS\Client directory.  
! The <i><a href="../../oafw-1-4-release-notes.doc#_Value___: CellServDBDir">CellServDBDir</a></i>
  registry value can be used to specify an alternative location.</p>
  
  <p class=MsoNormal>OpenAFS 1.4 will relocate the contents of the “afsdcell.ini”
! file to the new CellServDB file.  OpenAFS 1.4 will also import the contents of
! the “afs_freelance.ini” file to the Windows registry.   OpenAFS 1.4 will not
  process the contents of the “afsddbmt.ini”.</p>
  
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc139980963"></a><a
! name="_Toc126872187"></a><a name="_Toc115417058"></a><a name="_Toc115416122">3.16.
! Microsoft Windows Internet Connection Firewall</a></h2>
! 
! <p class=MsoNormal>The OpenAFS 1.4 Client is compatible with the Internet Connection
! Firewall that debuted with Windows XP SP2 and Windows 2003 SP1.  The Internet
! Connection Firewall will be automatically adjusted to allow the receipt of
! incoming callback messages from the AFS file server.  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 style='margin-left:0pt;text-indent:0pt'><a name="_Toc139980964"></a><a
! name="_Toc126872188"></a><a name="_Toc115417059"></a><a name="_Toc115416123">3.17.
! Browsing AFS from the Explorer Shell and Office</a></h2>
  
  <p class=MsoNormal>The OpenAFS 1.4 Client Service implements the CIFS Remote
  Admin Protocol which allows Explorer to browse server and share information.
  This significantly enhances the interoperability of AFS volumes within the
  Explorer Shell and Microsoft Office applications.</p>
  
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc139980965"></a><a
! name="_Toc126872189"></a><a name="_Toc115417060"></a><a name="_Toc115416124">3.18.
! </a>Byte Range Locking</h2>
  
  <p class=MsoBodyText>Many applications on Windows (e.g. Microsoft Office)
  require the use of byte range locks applied to a file either to protect against
! simultaneous file access or as a signaling mechanism.   OpenAFS implements byte
! range locking local to the machine.   OpenAFS does not obtain file locks on the
! server.   It is strongly recommended that files not be edited within AFS if
! they might be accessed by multiple users or multiple processes on more than one
! machine at the same time.</p>
! 
! <p class=MsoNormal>Note: <span style='font-family:"Times New Roman"'>In a
! future release, OpenAFS for Windows will utilize AFS' advisory locks to
! simulate Microsoft Windows mandatory locks.&nbsp;&nbsp; When an application
! opens a file, a lock will be placed in AFS indicating that the file is in
! use.&nbsp; If the lock is a write lock, the use of the file will be restricted
! to other applications running on the same machine as the first application to
! apply the lock.&nbsp;&nbsp; Applications running on other machines will see the
! full lock and will be unable to access the file.</span></p>
! 
! <p class=MsoNormal><span style='font-family:"Times New Roman"'>Most Windows
  applications and Windows itself opens files in shared read mode. When this is
  done, a read lock is applied to the file.&nbsp;&nbsp; This does not prevent
  shared read access across multiple machines but is used to ensure that no one
! writes to the file while it is in use.</span></p>
  
! <p class=MsoNormal>As locks are checked and applied during the file open
! operation, it is crucial that users have the locking 'k' privilege in all
! directories in which the user might read a file or execute an application
! unless the directory exists on a read only volume.&nbsp; A failure to assign
! the 'k' privilege will result in &quot;Access Denied&quot; errors during file
! open. </p>
! 
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc139980966"></a><a
! name="_Toc126872190"></a><a name="_Toc115417061"></a><a name="_Toc115416125">3.19.
! Automatic Discarding of AFS Tokens at Logoff</a></h2>
  
  <p class=MsoNormal>OpenAFS 1.4 will automatically forget a user's tokens upon
! Logoff unless the user's profile was loaded from an AFS volume.  In this
! situation there is no mechanism to determine when the profile has been successfully
! written back to the network.  It is therefore unsafe to release the user's
! tokens.  Whether or not the profile has been loaded from the registry can be
! determined for Local Accounts, Active Directory accounts and NT4 accounts.</p>
! 
! <p class=MsoNormal>If there is a need to disable this functionality, the <a
! href="../../oafw-1-4-release-notes.doc#_Value_:_LogoffPreserveTokens">LogoffPreserveTokens</a>
  registry value can be used. (see <a
! href="../../oafw-1-4-release-notes.doc#_Appendix_A:_Registry_Values">Appendix A</a>.)</p>
  
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc139980967"></a><a
! name="_Toc126872191"></a><a name="_Toc115417062"></a><a name="_Toc115416126">3.20.
! Terminal Server installations</a></h2>
  
  <p class=MsoNormal>When installing the NSIS (.exe) installer under Terminal
! Server, you must execute it from within the Add/Remove Programs Control Panel. 
! Failure to do so will result in AFS not running properly.  The AFS Server
  should not be installed on a machine with Terminal Server installed.</p>
  
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc139980968"></a><a
! name="_Toc126872192"></a><a name="_Toc115417063"></a><a name="_Toc115416127">3.21.
! Hidden Dot Files</a></h2>
! 
! <p class=MsoNormal>AFS is a UNIX native file system.  The OpenAFS client
! attempts to treat the files stored in AFS as they would be on UNIX.  File and
! directory names beginning with a &quot;.&quot; are automatically given the
! Hidden attribute so they will not normally be displayed.</p>
! 
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc139980969"></a><a
! name="_Toc126872193"></a><a name="_Toc115417064"></a><a name="_Toc115416128">3.22.
! Status Cache Limits</a></h2>
  
  <p class=MsoNormal>The Status Cache (AFS Configuration Control Panel: Advanced
! Page) is defined to have a maximum number of entries.  Each entry represents a
! single file or directory entry accessed within the AFS file system.  When the
! maximum number of entries are allocated, entries will begin to be reused
! according to a least recently used (LRU) algorithm.  If the number of files or
! directories being accessed repeatedly by your applications is greater then the
  maximum number of entries, your host will begin to experience thrashing of the
  Status Cache and all requests will result in network operations.</p>
  
  <p class=MsoNormal>If you are experiencing poor performance try increasing the
! maximum number of Status Cache entries.  Each entry requires approximately
! 1.2K.  In OpenAFS 1.4, the default number of Status Cache entries is 10,000.</p>
! 
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc139980970"></a><a
! name="_Toc126872194"></a><a name="_Toc115417065"></a><a name="_Toc115416129">3.23.
! NETBIOS over TCP/IP must be enabled</a></h2>
  
  <p class=MsoNormal>&quot;Netbios over TCP/IP&quot; must be active on the
! machine in order for communication with the AFS Client Service to succeed.  If
! &quot;Netbios over TCP/IP&quot; is disabled on the machine, then communication
! with the AFS Client Service will be impossible.</p>
! 
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc139980971"></a><a
! name="_Toc126872195"></a><a name="_Toc115417066"></a><a name="_Toc115416130">3.24.
! OpenAFS binaries are digitally signed</a></h2>
  
  <p class=MsoNormal>The OpenAFS Client Service and related binaries distributed
! by OpenAFS.org are digitally signed by &quot;Secure Endpoints Inc.&quot;.  The
! OpenAFS Client Service will perform a run-time verification check to ensure
! that all OpenAFS related DLLs loaded by the service match the same file version
! number and were signed by the same entity.  This check has been added to
  prevent the stability problems caused by more than one AFS installation present
! on a machine at the same time.  Many hours of support time have been wasted
! tracking down problems caused by the mixture of files from different releases. 
! </p>
  
  <p class=MsoNormal><a
! href="../../oafw-1-4-release-notes.doc#_Appendix_A:_Registry_Values">Appendix A</a>
  documents the &quot;<a
! href="../../oafw-1-4-release-notes.doc#_Value___: VerifyServiceSignature">VerifyServiceSignature</a>&quot;
! registry value which can be used to disable the signature check.  The file
! version check cannot be disabled.</p>
! 
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc139980972"></a><a
! name="_Toc126872196"></a><a name="_Toc115417067"></a><a name="_Toc115416131">3.25.
! Maximum Size of the AFSCache File</a></h2>
! 
! <p class=MsoNormal>The maximum cache size is approximately 1.3GB.  This is the
! largest contiguous block of memory in the 2GB process address space which can
! be used for constructing a memory mapped file.  Due to fragmentation of the
! process space caused by the loading of libraries required by the digital
  signature verification code, any attempt to specify a cache size greater then
  700MB will result in the automatic disabling of the signature check.</p>
  
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc139980973"></a><a
! name="_Toc126872197"></a><a name="_Toc115417068"></a><a name="_Toc115416132">3.26.
! Filename Character Sets</a></h2>
  
  <p class=MsoNormal>OpenAFS for Windows implements an SMB server which is used
! as a gateway to the AFS filesystem.  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).  These code pages are
  incompatible with the ISO Latin-1 character set typically used as the default
! on UNIX systems in both the United States and Western Europe.  Filenames stored
! by OpenAFS for Windows are therefore unreadable on UNIX systems if they include
! any of the following characters:</p>
  
  <table class=MsoTableGrid border=1 cellspacing=0 cellpadding=0
!  style='border-collapse:collapse;border:none'>
!  <tr style='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>     [Ç]  128  08/00  200  80  C cedilla</p>
!   <p class=PreformattedText>     [ü]  129  08/01  201  81  u diaeresis</p>
!   <p class=PreformattedText>     [é]  130  08/02  202  82  e acute</p>
!   <p class=PreformattedText>     [â]  131  08/03  203  83  a circumflex</p>
!   <p class=PreformattedText>     [ä]  132  08/04  204  84  a diaeresis</p>
!   <p class=PreformattedText>     [à]  133  08/05  205  85  a grave</p>
!   <p class=PreformattedText>     [å]  134  08/06  206  86  a ring</p>
!   <p class=PreformattedText>     [ç]  135  08/07  207  87  c cedilla</p>
!   <p class=PreformattedText>     [ê]  136  08/08  210  88  e circumflex</p>
!   <p class=PreformattedText>     [ë]  137  08/09  211  89  e diaeresis</p>
!   <p class=PreformattedText>     [è]  138  08/10  212  8A  e grave</p>
!   <p class=PreformattedText>     [ï]  139  08/11  213  8B  i diaeresis</p>
!   <p class=PreformattedText>     [î]  140  08/12  214  8C  i circumflex</p>
!   <p class=PreformattedText>     [ì]  141  08/13  215  8D  i grave</p>
!   <p class=PreformattedText>     [Ä]  142  08/14  216  8E  A diaeresis</p>
!   <p class=PreformattedText>     [Å]  143  08/15  217  8F  A ring</p>
!   <p class=PreformattedText>     [É]  144  09/00  220  90  E acute</p>
!   <p class=PreformattedText>     [æ]  145  09/01  221  91  ae diphthong</p>
!   <p class=PreformattedText>     [Æ]  146  09/02  222  92  AE diphthong</p>
!   <p class=PreformattedText>     [ô]  147  09/03  223  93  o circumflex</p>
!   <p class=PreformattedText>     [ö]  148  09/04  224  94  o diaeresis</p>
!   <p class=PreformattedText>     [ò]  149  09/05  225  95  o grave</p>
!   <p class=PreformattedText>     [û]  150  09/06  226  96  u circumflex</p>
!   <p class=PreformattedText>     [ù]  151  09/07  227  97  u grave</p>
!   <p class=PreformattedText>     [ÿ]  152  09/08  230  98  y diaeresis</p>
!   <p class=PreformattedText>     [Ö]  153  09/09  231  99  O diaeresis</p>
!   <p class=PreformattedText>     [Ü]  154  09/10  232  9A  U diaeresis</p>
!   <p class=PreformattedText>     [ø]  155  09/11  233  9B  o slash</p>
!   <p class=PreformattedText>     [£]  156  09/12  234  9C  Pound sterling sign</p>
!   <p class=PreformattedText>     [Ø]  157  09/13  235  9D  O slash</p>
!   <p class=PreformattedText>     [×]  158  09/14  236  9E  Multiplication sign</p>
!   <p class=PreformattedText>     [ƒ]  159  09/15  237  9F  Florin sign</p>
    </td>
   </tr>
  </table>
  
! <p class=PreformattedText>&nbsp;</p>
  
  <p class=MsoNormal>OpenAFS 1.4 provides an optional registry value, <i><a
! href="../../oafw-1-4-release-notes.doc#_Value___: StoreAnsiFilenames">StoreAnsiFilenames</a></i>,
  that can be set to instruct OpenAFS to store filenames using the ANSI Code Page
! instead of the OEM Code Page.  The ANSI Code Page is a compatible superset of
! Latin-1.  This setting is not the default setting because making this change
! would prevent OpenAFS for Windows from being able to access filenames
! containing the above characters which were created without this setting.</p>
! 
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc139980974"></a><a
! name="_Toc126872198"></a><a name="_Toc115417069"></a><a name="_Toc115416133">3.27.
! Known Character Set Issues with Roaming Profiles</a></h2>
  
  <p class=MsoNormal>There is a known issue with storing Windows Roaming Profiles
  when the profile contains either directories or files with names which cannot
! be represented in the local OEM character set.  In this case, attempts to write
! the profile back to AFS will fail.  OpenAFS for Windows does not currently
! support UNICODE.  To avoid this problem some sites run logoff scripts (assigned
! by group policy) which rename all files to use only the supported characters
! for the locale.</p>
! 
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc139980975"></a><a
! name="_Toc126872199"></a><a name="_Toc115417070"></a><a name="_Toc115416134">3.28.
! The AFSCache File</a></h2>
  
  <p class=MsoNormal>The AFS Cache file is stored by default at %TEMP%\AFSCache
! in a persistent file marked with the Hidden and System attributes.  The
! persistent nature of the data stored in the cache file improves the performance
! of OpenAFS by reducing the number of times data must be read from the AFS file
! servers.  </p>
  
  <p class=MsoNormal>The performance of the AFS Client Service is significantly
! affected by the access times associated with the AFSCache paging file.   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.   Significant performance gains can be achieved by defragmenting
! the AFSCache file with Sysinternal's Contig utility.</p>
! 
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc139980976"></a><a
! name="_Toc126872200"></a><a name="_Toc115417071"></a><a name="_Toc115416135">3.29.
! Restricting OpenAFS Client Service Start and Stop</a></h2>
  
  <p class=MsoNormal>A new command line tool, afsdacl.exe, can be used to
  restrict the ability to start and stop the OpenAFS Client Service.</p>
  
! <p class=PreformattedText>    afsdacl : Set or reset the DACL to allow starting
! or stopping</p>
  
! <p class=PreformattedText>         the afsd service by any ordinary user.</p>
  
! <p class=PreformattedText>&nbsp;</p>
  
! <p class=PreformattedText>    Usage : afsdacl [-set | -reset] [-show]</p>
  
! <p class=PreformattedText>          -set   : Sets the DACL</p>
  
! <p class=PreformattedText>          -reset : Reset the DACL</p>
  
! <p class=PreformattedText>          -show  : Show current DACL (SDSF)</p>
  
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc139980977"></a><a
! name="_Toc126872201"></a><a name="_Toc115417072"></a><a name="_Toc115416136">3.30.
! The @sys Name List</a></h2>
  
  <p class=MsoNormal>The default @sys name list in OpenAFS 1.4 is set to
! &quot;x86_win32 i386_w2k i386_nt40&quot; for 32-bit x86 systems.  The default
! for itanium will be &quot;ia64_win64&quot; and &quot;amd64_win64&quot; for amd
! 64-bit processors when those platforms are supported.</p>
! 
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc139980978"></a><a
! name="_Toc126872202"></a><a name="_Toc115417073"></a><a name="_Toc115416137">3.31.
! Symlinks to AFS UNC paths</a></h2>
  
  <p class=MsoNormal>In OpenAFS 1.4, symlinks to AFS UNC paths, \\AFS[\all]\...,
! are treated the same as symlinks to /afs/...  However, please use /afs/... as
! the Windows UNC form will not work on UNIX.</p>
  
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc139980979"></a><a
! name="_Toc126872203"></a><a name="_Toc115417074"></a><a name="_Toc115416138">3.32.
! Cache Manager Debugging Now Supported</a></h2>
  
  <p class=MsoNormal>OpenAFS for Windows 1.4 implements the Cache Manager
! Debugging RPC Interface.  The CM debugger can be queried with cmdebug.exe.</p>
  
  <p class=PreformattedText>Usage: cmdebug -servers &lt;server machine&gt; [-port
  &lt;IP port&gt;] [-long]</p>
  
! <p class=PreformattedText>               [-addrs] [-cache] [-help]</p>
  
! <p class=PreformattedText>Where: -long   print all info</p>
  
! <p class=PreformattedText>       -addrs  print only host interfaces</p>
  
! <p class=PreformattedText>       -cache  print only cache configuration</p>
! 
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc139980980"></a><a
! name="_Toc126872204"></a><a name="_Toc115417075"></a><a name="_Toc115416139">3.33.
! Windows Logon Caching vs. Kerberos Logons</a></h2>
  
  <p class=MsoNormal>If you are a site which utilizes MIT/Heimdal Kerberos
  principals to logon to Windows via a cross-realm relationship with a
  multi-domain Windows forest, you must enable Windows logon caching unless the
! workstation is Windows Vista Beta 2 or later.</p>
  
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc139980981"></a><a
! name="_Toc126872205"></a><a name="_Toc115417076"></a><a name="_Toc115416140">3.34.
! Initial Server Preferences</a></h2>
  
  <p class=MsoNormal>VLDB and File Server Preferences can now be provided initial
! values using registry keys.  This is useful for managed machines in a Windows
! domain which are centrally located (e.g., in a computing lab.)  See <a
! href="../../oafw-1-4-release-notes.doc#_Appendix_A:_Registry_Values">Appendix A</a>
  for details on the &quot;<a
! href="../../oafw-1-4-release-notes.doc#_Regkey:_[HKLMSOFTWAREOpenAFSClie_2">Server
  Preferences</a>&quot; keys.</p>
  
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc139980982"></a><a
! name="_Toc126872206"></a><a name="_Toc115417077"></a><a name="_Toc115416141">3.35.
! File Timestamps</a></h2>
  
  <p class=MsoNormal>OpenAFS 1.4 reports timestamps on files stored in AFS in UTC
! all year round.  In locales with daylight savings time, previous versions of
! AFS for Windows reported the time when DST is active as UTC+1.  This was done
! to preserve the relative local time for the user.  A file stored at 11:00am EST
! in January would be reported as having been stored at 11:00am EDT in June. 
! Unfortunately, this has the negative side effect of changing the reported timestamp
! from 16:00UTC to 15:00UTC.  Since Windows treats all file times in UTC, data
! synchronization applications which rely on the timestamp would believe that all
! files stored in AFS had changed.</p>
  
  <p class=MsoNormal>It should be noted that UNIX based operating systems (such
! as Solaris) do not appear to report file times to applications in UTC.  They do
! preserve the relative local time.  This may confuse some users who are used to
! being able to compare the timestamp in an UNIX shell with the timestamp from
! the Windows explorer.  During DST, these two times will no longer agree even
! though they are in fact representing the same moment in time.</p>
! 
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc139980983"></a><a
! name="_Toc126872207"></a><a name="_Toc115417078"></a><a name="_Toc115416142">3.36.
! Windows RPC client support must be installed</a> </h2>
  
  <p class=MsoNormal>If the installer refuses to install and complains about an
  RPC configuration error, check to ensure that the following registry entries
  are present and that they refer to the dll &quot;rpcrt4.dll&quot;:</p>
  
! <p class=PreformattedText>   HKLM
  &quot;SOFTWARE\Microsoft\RPC\ClientProtocols&quot; &quot;ncacn_np&quot;</p>
  
! <p class=PreformattedText>   HKLM
  &quot;SOFTWARE\Microsoft\RPC\ClientProtocols&quot; &quot;ncacn_ip_tcp&quot;</p>
  
! <p class=PreformattedText>   HKLM &quot;SOFTWARE\Microsoft\RPC\ClientProtocols&quot;
! &quot;ncadg_ip_udp&quot;</p>
  
! <p class=PreformattedText>   HKLM
  &quot;SOFTWARE\Microsoft\RPC\ClientProtocols&quot; &quot;ncacn_http&quot;</p>
  
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc139980984"></a><a
! name="_Toc126872208"></a><a name="_Toc115417079"></a><a name="_Toc115416143">3.37.
! Generating Minidumps of the OpenAFS Client Service</a></h2>
! 
! <p class=MsoNormal>OpenAFS 1.4 adds a new command, &quot;fs minidump&quot;. 
! This command can be used at any time to generate a mini dump file containing
! the current stack of the afsd_service.exe process.   This output can be very
! helpful when debugging the AFS Client Service when it is unresponsive to
! SMB/CIFS requests.</p>
! 
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc139980985"></a><a
! name="_Toc126872209"></a><a name="_Toc115417080"></a><a name="_Toc115416144">3.38.
! AFS Client Universally Unique Identifiers</a></h2>
  
  <p class=MsoNormal>The OpenAFS for Windows 1.4 client implements Universally
! Unique Identifiers (UUIDs).  They are used to provide the server with a method
! of identifying the client that is independent of IP address.  The UUID is
  generated when the AFSCache file is created and is maintained as long as the
! contents of the AFSCache file are kept intact.  The UUID is stored in the
! AFSCache file.   When cloning machines that have Windows AFS client installed,
! the AFSCache files should be deleted as part of the cloning process.</p>
! 
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc139980986">3.39. Delayed
! Write Errors with Microsoft Office Applications</a></h2>
! 
! <p class=MsoBodyText>Microsoft Office makes heavy use of asynchronous
! input/output methods for reading and writing to file streams.  This can result
! in hundreds of requests being simultaneously queued for service by the CIFS client
! with a fixed timeout period.  As the AFS CIFS server is local to the machine
! the Windows CIFS client believes that it can respond almost instantaneously to
! write requests as the actual writing to the AFS file server is performed by a
! background daemon thread.  When the actual network bandwidth to the AFS file
! server is slow and the file size is large it is possible for the CIFS client to
! time out the connection.  When this happens a “delayed write error” will be
! reported to the user and the application may crash.  The only workaround at the
! current time is to save first to a local disk and subsequently copy the file to
! AFS as copying a file with the explorer shell does not use asynchronous i/o.</p>
! 
! <p class=MsoBodyText>The CIFS session timeout defaults to 45 seconds and can be
! increased by modifying the <a href="../relnotes.htm#_Value:_ConnDeadTimeout">registry</a>.</p>
! 
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc139980987">3.40.
! Global Drives (aka </a>Service Drive Letters) are no longer supported by
! Microsoft</h2>
! 
! <p class=MsoBodyText>The Global DriveAuto-mount feature has been deprecated due
! to the following Microsoft KB article.</p>
! 
! <p class=MsoBodyText style='text-indent:35.45pt'><a
! href="http://msdn.microsoft.com/library/en-us/dllproc/base/services_and_redirected_drives.asp">http://msdn.microsoft.com/library/en-us/dllproc/base/services_and_redirected_drives.asp</a></p>
! 
! <p class=MsoBodyText>It says that services mounting drive letters are no longer
! supported by Microsoft and may act unpredictably.  The experience other users
! have had is that if the connection to the OpenAFS CIFS/SMB server is terminated
! by the Windows CIFS client, the drive mapping may not be re-established until
! the machine is rebooted.</p>
! 
! <p class=MsoBodyText>OpenAFS supports UNC paths and whenever possible
! applications should be modified to use of \\AFS\&lt;cellname&gt;\&lt;path&gt;
! instead of drive letters.</p>
! 
! <h1 style='margin-left:0pt;text-indent:0pt'><a name="_Toc139980988"></a><a
! name="_Toc126872210"></a><a name="_Toc115417112"></a><a name="_Toc115417081"></a><a
! name="_Toc115416145">4. How to Debug Problems with OpenAFS for Windows:</a></h1>
  
  <p class=MsoNormal>OpenAFS for Windows provides a wide range of tools to assist
! you in debugging problems.  The techniques available to you are varied because
! of the wide range of issues that have been discovered over the years.</p>
! 
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc139980989"></a><a
! name="_Toc126872211"></a><a name="_Toc115417082"></a><a name="_Toc115416146">4.1.
! pioctl debugging (</a><a
! href="../../oafw-1-4-release-notes.doc#_Value___: IoctlDebug">IoctlDebug</a>
! registry key)</h2>
  
  <p class=MsoNormal>pioctl (path-based ioctl) calls are used by various tools to
! communicate with the AFS Client Service.  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 style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
! </span></span>setting/querying tokens  (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 style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
! </span></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 style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
! </span></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 style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
! </span></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 style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
! </span></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 style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
! </span></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 style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
! </span></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 style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
! </span></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.   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.   </p>
  
  <p class=MsoNormal>To assist in debugging these problems, the registry value:</p>
  
! <p class=PreformattedText>  [HKLM\SOFTWARE\OpenAFS\Client]</p>
! 
! <p class=PreformattedText>  REG_DWORD:  IoctlDebug   = 0x01</p>
  
! <p class=MsoNormal>should be set.  Then any of the commands that perform pioctl
! calls should be executed from the command prompt.  With this key set the pioctl
! library will generate debugging output to stderr.  The output will contain the
! Win32 API calls executed along with their most important parameters and their
! return code.   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 style='margin-left:0pt;text-indent:0pt'><a name="_Toc139980990"></a><a
! name="_Toc126872212"></a><a name="_Toc115417083"></a><a name="_Toc115416147">4.2.
! afsd_service initialization log (%WinDir%\TEMP\afsd_init.log)</a></h2>
  
  <p class=MsoNormal>Every time the AFS Client Service starts it appends data
! about its progress and configuration to a file.  This file provides information
! crucial to determining why the service cannot start when there are problems. 
! 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.  In many cases the panic
! condition is due to a misconfiguration of the machine.  In other cases it might
! be due to a programming error in the software.  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="../../oafw-1-4-release-notes.doc#_Value___: MaxLogSize">MaxLogSize</a></i>
  registry value determines the maximum size of the %WINDIR%\TEMP\afsd_init.log
! file.  If the file is larger than this value when OpenAFS Client Service
! starts, the file will be reset to 0 bytes.  If value is set to 0, the file will
! be allowed to grow indefinitely.</p>
! 
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc139980991"></a><a
! name="_Toc126872213"></a><a name="_Toc115417084"></a><a name="_Toc115416148">4.3.
! afsd_service debug logs (fs trace {-on, -off, -dump} -&gt;%WinDir%\TEMP\afsd.log)</a></h2>
  
  <p class=MsoNormal>When attempting to debug the behavior of the SMB/CIFS Server
  and the Cache Manager it is often useful to examine a log of the operations
! being performed.  While running the AFS Client Service keeps an in memory log
! of many of its actions.   The default number of actions preserved at any one
! time is 5000.  This can be adjusted with the <a
! href="../../oafw-1-4-release-notes.doc#_Value_:_TraceBufferSize">registry value</a>:</p>
  
! <p class=PreformattedText> 
! [HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters]</p>
  
! <p class=PreformattedText>  REG_DWORD  TraceBufferSize </p>
  
  <p class=MsoNormal>A restart of the service is necessary when adjusting this
! value.   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 style='margin-left:0pt;text-indent:0pt'><a name="_Toc139980992"></a><a
! name="_Toc126872214"></a><a name="_Toc115417085"></a><a name="_Toc115416149">4.4.
! Using SysInternal’s DbgView and FileMon Tools</a></h2>
  
  <p class=MsoNormal>An alternatve option to the use of &quot;fs trace -dump&quot;
  to capture internal OpenAFS Client Service events is to use a tool such as
! Sysinternal's DbgView to capture real-time debugging output.  When the OpenAFS
! Client Service starts and Bit 2 of the <a
! href="../../oafw-1-4-release-notes.doc#_Value__:_TraceOption">TraceOption</a>
  value in the registry is set, all trace log events are output using the Windows
! Debug Monitor interface (OutputDebugString).  </p>
  
! <p class=PreformattedText> 
! [HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters]</p>
  
! <p class=PreformattedText style='text-indent:12.0pt'>REG_DWORD   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>Sysinternal’s FileMon utility can be use to monitor the file
! operations requested by applications and their success or failure.   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.  Turn on the <i>Advanced
! Output</i> option in order to log with finer granularity.</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.   The captured data can be stored
! to files for inclusion in <a href="../relnotes.htm#_5._Reporting_Bugs:">bug
! reports</a>.</p>
! 
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc139980993"></a><a
! name="_Toc126872215"></a><a name="_Toc115417086"></a><a name="_Toc115416150">4.5.
! Microsoft MiniDumps <br>
! (fs minidump -&gt; %WinDir%\TEMP\afsd.dmp)</a></h2>
  
  <p class=MsoNormal>If the AFS Client Service become unresponsive to any form of
  communication there may be a serious error that can only be debugged by someone
! with access to the source code and a debugger.   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 style='margin-left:0pt;text-indent:0pt'><a name="_Toc139980994"></a><a
! name="_Toc126872216"></a><a name="_Toc115417087"></a><a name="_Toc115416151">4.6.
! Single Sign-on (Integrated Logon) debugging</a></h2>
  
  <p class=MsoNormal>If you are having trouble with the Integrated Logon
  operations it is often useful to be able to obtain a log of what it is
! attempting to do.   Setting Bit 0 of the <a
! href="../../oafw-1-4-release-notes.doc#_Value__:_TraceOption">TraceOption</a> registry
  value:</p>
  
! <p class=PreformattedText> 
! [HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters]</p>
  
! <p class=PreformattedText>  REG_DWORD   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 style='margin-left:0pt;text-indent:0pt'><a name="_Toc139980995"></a><a
! name="_Toc126872217"></a><a name="_Toc115417088"></a><a name="_Toc115416152">4.7.
! RX (AFS RPC) debugging (rxdebug)</a></h2>
  
  <p class=MsoNormal>The rxdebug.exe tool can be used to query a variety of
! information about the AFS services installed on a given machine.  The port for
! the AFS Cache Manager is 7001.  </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'>  
! [-allconnections] [-rxstats] [-onlyserver] [-onlyclient] </p>
  
! <p class=PreformattedText style='margin-left:70.9pt'>   [-onlyport &lt;show
! only &lt;port&gt;&gt;] </p>
  
! <p class=PreformattedText style='margin-left:70.9pt'>   [-onlyhost &lt;show
! only &lt;host&gt;&gt;] </p>
  
! <p class=PreformattedText style='margin-left:70.9pt'>   [-onlyauth &lt;show
! only &lt;auth level&gt;&gt;] [-version] </p>
  
! <p class=PreformattedText style='margin-left:70.9pt'>   [-noconns] [-peers]
! [-help]</p>
  
! <p class=PreformattedText>Where: -nodally         don't show dallying conns</p>
  
! <p class=PreformattedText>       -allconnections  don't filter out
  uninteresting connections</p>
  
! <p class=PreformattedText>       -rxstats         show Rx statistics</p>
! 
! <p class=PreformattedText>       -onlyserver      only show server conns</p>
! 
! <p class=PreformattedText>       -onlyclient      only show client conns</p>
! 
! <p class=PreformattedText>       -version         show AFS version id</p>
! 
! <p class=PreformattedText>       -noconns         show no connections</p>
! 
! <p class=PreformattedText>       -peers           show peers</p>
! 
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc139980996"></a><a
! name="_Toc126872218"></a><a name="_Toc115417089"></a><a name="_Toc115416153">4.8.
! Cache Manager debugging (cmdebug)</a></h2>
  
  <p class=MsoNormal>The cmdebug.exe tool can be used to query the state of the
  AFS Cache Manager on a given machine.</p>
***************
*** 5179,5325 ****
  <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'><span
! style='mso-spacerun:yes'>   </span>[-refcounts] [-callbacks] [-addrs] [-cache]
! [-help]</p>
  
! <p class=PreformattedText>Where: -long<span style='mso-spacerun:yes'>      
! </span>print all info</p>
  
! <p class=PreformattedText><span style='mso-spacerun:yes'>      
! </span>-refcounts<span style='mso-spacerun:yes'>  </span>print only cache entries
! with positive reference counts</p>
! 
! <p class=PreformattedText><span style='mso-spacerun:yes'>      
! </span>-callbacks<span style='mso-spacerun:yes'>  </span>print only cache
! entries with callbacks</p>
! 
! <p class=PreformattedText><span style='mso-spacerun:yes'>      
! </span>-addrs<span style='mso-spacerun:yes'>      </span>print only host
! interfaces</p>
! 
! <p class=PreformattedText><span style='mso-spacerun:yes'>      
! </span>-cache<span style='mso-spacerun:yes'>      </span>print only cache
! configuration</p>
! 
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872219"></a><a
! name="_Toc115417090"></a><a name="_Toc115416154"><span style='mso-bookmark:
! _Toc115417090'><span style='mso-bookmark:_Toc126872219'>4.9. Persistent Cache
! consistency check</span></span></a></h2>
  
  <p class=MsoNormal>The persistent cache is stored in a Hidden System file at
! %WinDir%\TEMP\AFSCache.<span style='mso-spacerun:yes'>  </span>If there is a
! 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><span style='mso-spacerun:yes'> 
! </span>afsd_service.exe --validate-cache &lt;cache-path&gt;</p>
! 
! <h1 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872220"></a><a
! name="_Toc115417113"></a><a name="_Toc115417091"></a><a name="_Toc115416155"><span
! style='mso-bookmark:_Toc115417091'><span style='mso-bookmark:_Toc115417113'><span
! style='mso-bookmark:_Toc126872220'>5. Reporting Bugs:</span></span></span></a></h1>
  
  <p class=MsoNormal>Bug reports should be sent to <a
! href="mailto:openafs-bugs@openafs.org?subject=Bug%20Report">openafs-bugs@openafs.org</a>.<span
! style='mso-spacerun:yes'>  </span>Please include as much information as
! possible about the issue.<span style='mso-spacerun:yes'>  </span>If you are
  reporting a crash, please install the debugging symbols by re-running the
! installer.<span style='mso-spacerun:yes'>  </span>If a dump file is available
! for the problem, %WINDIR%\TEMP\afsd.dmp, include it along with the AFS Client
! Trace file<span style='mso-spacerun:yes'>  </span>%WINDIR%\TEMP\afsd.log.<span
! style='mso-spacerun:yes'>  </span>The AFS Client startup log is
! %WINDIR%\TEMP\afsd_init.log.<span style='mso-spacerun:yes'>  </span>Send the
! last continuous block of<span style='mso-spacerun:yes'>  </span>log information
! from this file.</p>
  
  <p class=MsoNormal>Configuring DrWatson to generate dump files for crashes:</p>
  
! <p class=MsoNormal style='margin-left:14.15pt;text-indent:-14.15pt;mso-list:
! l18 level1 lfo9;tab-stops:list 14.15pt'><![if !supportLists]><span
! style='font-size:9.0pt;font-family:Symbol;mso-fareast-font-family:Symbol;
! mso-bidi-font-family:Symbol'><span style='mso-list:Ignore'>·<span
! style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><![endif]>Run
! drwtsn32.exe to configure or to identify where the log and the crash dump files
! are created: </p>
! 
! <p class=MsoNormal style='margin-left:49.6pt;text-indent:-14.15pt;mso-list:
! l19 level1 lfo10;tab-stops:list 14.15pt'><![if !supportLists]><span
! style='font-size:9.0pt;font-family:Symbol;mso-fareast-font-family:Symbol;
! mso-bidi-font-family:Symbol'><span style='mso-list:Ignore'>·<span
! style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><![endif]>click
! Start &gt; Run...<span style='mso-spacerun:yes'>  </span></p>
! 
! <p class=MsoNormal style='margin-left:49.6pt;text-indent:-14.15pt;mso-list:
! l19 level1 lfo10;tab-stops:list 14.15pt'><![if !supportLists]><span
! style='font-size:9.0pt;font-family:Symbol;mso-fareast-font-family:Symbol;
! mso-bidi-font-family:Symbol'><span style='mso-list:Ignore'>·<span
! style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><![endif]>type
! drwtsn32 &lt;enter&gt;. </p>
! 
! <p class=MsoNormal style='margin-left:49.6pt;text-indent:-14.15pt;mso-list:
! l19 level1 lfo10;tab-stops:list 14.15pt'><![if !supportLists]><span
! style='font-size:9.0pt;font-family:Symbol;mso-fareast-font-family:Symbol;
! mso-bidi-font-family:Symbol'><span style='mso-list:Ignore'>·<span
! style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><![endif]>Select
! either a Crash Dump Type: Mini or Full. </p>
! 
! <p class=MsoNormal style='margin-left:49.6pt;text-indent:-14.15pt;mso-list:
! l19 level1 lfo10;tab-stops:list 14.15pt'><![if !supportLists]><span
! style='font-size:9.0pt;font-family:Symbol;mso-fareast-font-family:Symbol;
! mso-bidi-font-family:Symbol'><span style='mso-list:Ignore'>·<span
! style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><![endif]>Clear
! Dump Symbol Table</p>
! 
! <p class=MsoNormal style='margin-left:49.6pt;text-indent:-14.15pt;mso-list:
! l19 level1 lfo10;tab-stops:list 14.15pt'><![if !supportLists]><span
! style='font-size:9.0pt;font-family:Symbol;mso-fareast-font-family:Symbol;
! mso-bidi-font-family:Symbol'><span style='mso-list:Ignore'>·<span
! style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><![endif]>Clear
! Append to Existing Log file. </p>
! 
! <p class=MsoNormal style='margin-left:49.6pt;text-indent:-14.15pt;mso-list:
! l19 level1 lfo10;tab-stops:list 14.15pt'><![if !supportLists]><span
! style='font-size:9.0pt;font-family:Symbol;mso-fareast-font-family:Symbol;
! mso-bidi-font-family:Symbol'><span style='mso-list:Ignore'>·<span
! style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><![endif]>Check
! Dump All Thread Contexts.</p>
! 
! <p class=MsoNormal style='margin-left:49.6pt;text-indent:-14.15pt;mso-list:
! l19 level1 lfo10;tab-stops:list 14.15pt'><![if !supportLists]><span
! style='font-size:9.0pt;font-family:Symbol;mso-fareast-font-family:Symbol;
! mso-bidi-font-family:Symbol'><span style='mso-list:Ignore'>·<span
! style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><![endif]>Check
! Create Crash Dump File</p>
! 
! <p class=MsoNormal style='margin-left:14.15pt;text-indent:-14.15pt;mso-list:
! l19 level1 lfo10;tab-stops:list 14.15pt'><![if !supportLists]><span
! style='font-size:9.0pt;font-family:Symbol;mso-fareast-font-family:Symbol;
! mso-bidi-font-family:Symbol'><span style='mso-list:Ignore'>·<span
! style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><![endif]>Next
! run the monitoring module of Dr. Watson: </p>
! 
! <p class=MsoNormal style='margin-left:49.6pt;text-indent:-14.15pt;mso-list:
! l20 level1 lfo11;tab-stops:list 14.15pt'><![if !supportLists]><span
! style='font-size:9.0pt;font-family:Symbol;mso-fareast-font-family:Symbol;
! mso-bidi-font-family:Symbol'><span style='mso-list:Ignore'>·<span
! style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><![endif]>click
! Start &gt; Run...</p>
! 
! <p class=MsoNormal style='margin-left:49.6pt;text-indent:-14.15pt;mso-list:
! l20 level1 lfo11;tab-stops:list 14.15pt'><![if !supportLists]><span
! style='font-size:9.0pt;font-family:Symbol;mso-fareast-font-family:Symbol;
! mso-bidi-font-family:Symbol'><span style='mso-list:Ignore'>·<span
! style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><![endif]>type
! drwatson &lt;enter&gt;. </p>
! 
! <p class=MsoNormal style='margin-left:49.6pt;text-indent:-14.15pt;mso-list:
! l20 level1 lfo11;tab-stops:list 14.15pt'><![if !supportLists]><span
! style='font-size:9.0pt;font-family:Symbol;mso-fareast-font-family:Symbol;
! mso-bidi-font-family:Symbol'><span style='mso-list:Ignore'>·<span
! style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><![endif]>Once
! a crash happens, Dr. Watson generates a dump file and a report in the log file,
! including the address of the crash and the stack dump.</p>
  
  <p class=MsoNormal>Once you have the Dr. Watson's logfile and minidump, zip
  them and attach them to your e-mail.</p>
--- 1676,1773 ----
  <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'>   [-refcounts]
! [-callbacks] [-addrs] [-cache] [-help]</p>
! 
! <p class=PreformattedText>Where: -long       print all info</p>
! 
! <p class=PreformattedText>       -refcounts  print only cache entries with
! positive reference counts</p>
! 
! <p class=PreformattedText>       -callbacks  print only cache entries with
! callbacks</p>
! 
! <p class=PreformattedText>       -addrs      print only host interfaces</p>
  
! <p class=PreformattedText>       -cache      print only cache configuration</p>
  
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc139980997"></a><a
! name="_Toc126872219"></a><a name="_Toc115417090"></a><a name="_Toc115416154">4.9.
! Persistent Cache consistency check</a></h2>
  
  <p class=MsoNormal>The persistent cache is stored in a Hidden System file at
! %WinDir%\TEMP\AFSCache.  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>  afsd_service.exe --validate-cache
! &lt;cache-path&gt;</p>
! 
! <h1 style='margin-left:0pt;text-indent:0pt'><a name="_Toc139980998"></a><a
! name="_Toc126872220"></a><a name="_Toc115417113"></a><a name="_Toc115417091"></a><a
! name="_Toc115416155"></a><a name="_5._Reporting_Bugs:"></a>5. Reporting Bugs:</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>. 
! Please include as much information as possible about the issue.  If you are
  reporting a crash, please install the debugging symbols by re-running the
! installer.  If a dump file is available for the problem,
! %WINDIR%\TEMP\afsd.dmp, include it along with the AFS Client Trace file 
! %WINDIR%\TEMP\afsd.log.  The AFS Client startup log is
! %WINDIR%\TEMP\afsd_init.log.  Send the last continuous block of  log
! information from this file.</p>
  
  <p class=MsoNormal>Configuring DrWatson to generate dump files for crashes:</p>
  
! <p class=MsoNormal style='margin-left:14.15pt;text-indent:-14.15pt'><span
! style='font-size:9.0pt;font-family:Symbol'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
! </span></span>Run drwtsn32.exe to configure or to identify where the log and
! the crash dump files are created: </p>
! 
! <p class=MsoNormal style='margin-left:49.6pt;text-indent:-14.15pt'><span
! style='font-size:9.0pt;font-family:Symbol'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
! </span></span>click Start &gt; Run...  </p>
! 
! <p class=MsoNormal style='margin-left:49.6pt;text-indent:-14.15pt'><span
! style='font-size:9.0pt;font-family:Symbol'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
! </span></span>type drwtsn32 &lt;enter&gt;. </p>
! 
! <p class=MsoNormal style='margin-left:49.6pt;text-indent:-14.15pt'><span
! style='font-size:9.0pt;font-family:Symbol'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
! </span></span>Select either a Crash Dump Type: Mini or Full. </p>
! 
! <p class=MsoNormal style='margin-left:49.6pt;text-indent:-14.15pt'><span
! style='font-size:9.0pt;font-family:Symbol'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
! </span></span>Clear Dump Symbol Table</p>
! 
! <p class=MsoNormal style='margin-left:49.6pt;text-indent:-14.15pt'><span
! style='font-size:9.0pt;font-family:Symbol'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
! </span></span>Clear Append to Existing Log file. </p>
! 
! <p class=MsoNormal style='margin-left:49.6pt;text-indent:-14.15pt'><span
! style='font-size:9.0pt;font-family:Symbol'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
! </span></span>Check Dump All Thread Contexts.</p>
! 
! <p class=MsoNormal style='margin-left:49.6pt;text-indent:-14.15pt'><span
! style='font-size:9.0pt;font-family:Symbol'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
! </span></span>Check Create Crash Dump File</p>
! 
! <p class=MsoNormal style='margin-left:14.15pt;text-indent:-14.15pt'><span
! style='font-size:9.0pt;font-family:Symbol'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
! </span></span>Next run the monitoring module of Dr. Watson: </p>
! 
! <p class=MsoNormal style='margin-left:49.6pt;text-indent:-14.15pt'><span
! style='font-size:9.0pt;font-family:Symbol'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
! </span></span>click Start &gt; Run...</p>
! 
! <p class=MsoNormal style='margin-left:49.6pt;text-indent:-14.15pt'><span
! style='font-size:9.0pt;font-family:Symbol'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
! </span></span>type drwatson &lt;enter&gt;. </p>
! 
! <p class=MsoNormal style='margin-left:49.6pt;text-indent:-14.15pt'><span
! style='font-size:9.0pt;font-family:Symbol'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
! </span></span>Once a crash happens, Dr. Watson generates a dump file and a
! report in the log file, including the address of the crash and the stack dump.</p>
  
  <p class=MsoNormal>Once you have the Dr. Watson's logfile and minidump, zip
  them and attach them to your e-mail.</p>
***************
*** 5327,5347 ****
  <p class=MsoNormal>When reporting a error, please be sure to include the
  version of OpenAFS.</p>
  
! <h1 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872221"></a><a
! name="_Toc115417114"></a><a name="_Toc115417092"></a><a name="_Toc115416156"><span
! style='mso-bookmark:_Toc115417092'><span style='mso-bookmark:_Toc115417114'><span
! style='mso-bookmark:_Toc126872221'>6. How to Contribute to the Development of
! OpenAFS for Windows</span></span></span></a></h1>
! 
! <p class=MsoNormal>Contributions to the development of OpenAFS for Windows are
! continuously needed.<span style='mso-spacerun:yes'>  </span>Contributions may
! take many forms including cash donations, support contracts, donated developer
! time, and even donated tech writer time.</p>
! 
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872222"></a><a
! name="_Toc115417093"></a><a name="_Toc115416157"><span style='mso-bookmark:
! _Toc115417093'><span style='mso-bookmark:_Toc126872222'>6.1. The USENIX OpenAFS
! Fund</span></span></a> </h2>
  
  <p class=MsoBodyText><a href="http://www.usenix.org/">USENIX</a>, a 501c3
  non-profit corporation, has formed the USENIX OpenAFS Fund in order to accept
--- 1775,1792 ----
  <p class=MsoNormal>When reporting a error, please be sure to include the
  version of OpenAFS.</p>
  
! <h1 style='margin-left:0pt;text-indent:0pt'><a name="_Toc139980999"></a><a
! name="_Toc126872221"></a><a name="_Toc115417114"></a><a name="_Toc115417092"></a><a
! name="_Toc115416156">6. How to Contribute to the Development of OpenAFS for
! Windows</a></h1>
! 
! <p class=MsoNormal>Contributions to the development of OpenAFS for Windows are continuously
! needed.  Contributions may take many forms including cash donations, support
! contracts, donated developer time, and even donated tech writer time.</p>
! 
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc139981000"></a><a
! name="_Toc126872222"></a><a name="_Toc115417093"></a><a name="_Toc115416157">6.1.
! The USENIX OpenAFS Fund</a> </h2>
  
  <p class=MsoBodyText><a href="http://www.usenix.org/">USENIX</a>, a 501c3
  non-profit corporation, has formed the USENIX OpenAFS Fund in order to accept
***************
*** 5349,5507 ****
  will be allocated by the OpenAFS Elders to fund OpenAFS development,
  documentation, project management, and maintaining openafs.org. </p>
  
! <div style='mso-element:frame;mso-element-frame-height:66.05pt;mso-element-wrap:
! no-wrap-beside;mso-element-anchor-vertical:page;mso-element-left:.05pt;
! mso-element-top:372.8pt'>
  
  <table cellspacing=0 cellpadding=0 hspace=0 vspace=0 width=540 height=88>
   <tr>
    <td valign=top align=left height=88 style='padding-top:0pt;padding-right:
    9.0pt;padding-bottom:0pt;padding-left:9.0pt'>
!   <p class=MsoEnvelopeAddress style='mso-element:frame;mso-element-frame-height:
!   66.05pt;mso-element-wrap:no-wrap-beside;mso-element-anchor-vertical:page;
!   mso-element-left:.05pt;mso-element-top:372.8pt'>USENIX OpenAFS Fund<br>
    USENIX Association <br>
! <st2:address w:st="on"><st2:Street w:st="on">2560 Ninth St., Suite 215</st2:Street>
!    <br>
! <st2:City w:st="on">Berkeley</st2:City>, <st2:State w:st="on">CA</st2:State> <st2:PostalCode
!    w:st="on">94710</st2:PostalCode></st2:address> </p>
    </td>
   </tr>
  </table>
  
  </div>
  
! <![if !supportTextWrap]><br clear=ALL>
! <![endif]>
  
  <p class=MsoBodyText>Donations can be made by sending a check, drawn on a U.S.
  bank, made out to the USENIX OpenAFS Fund or by making a <a
  href="https://db.usenix.org/cgi-bin/openafs/openafs.cgi">donation online</a>.</p>
  
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872223"></a><a
! name="_Toc115417094"><span style='mso-bookmark:_Toc126872223'><span
! style='mso-fareast-language:JA'>6.2. Secure Endpoints Inc.</span></span></a><span
! style='mso-fareast-language:JA'> <o:p></o:p></span></h2>
! 
! <p class=MsoBodyText><span style='mso-fareast-language:JA'><a
! href="http://www.secure-endpoints.com/">Secure Endpoints Inc.</a> provides
! development and support services for OpenAFS for Windows and MIT Kerberos for
! Windows. <span style='mso-spacerun:yes'> </span>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.<o:p></o:p></span></p>
! 
! <p class=MsoBodyText><span style='mso-fareast-language:JA'>Secure Endpoints
! Inc. accepts software development agreements from organizations who wish to
! fund a well-defined set of bug fixes or new features. <o:p></o:p></span></p>
! 
! <p class=MsoBodyText><span style='mso-fareast-language:JA'>Secure Endpoints
! Inc. provides contract based support for the OpenAFS for Windows and the MIT
! Kerberos for Windows products. <o:p></o:p></span></p>
! 
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872224"></a><a
! name="_Toc115417095"><span style='mso-bookmark:_Toc126872224'><span
! style='mso-fareast-language:JA'>6.3. The MIT Kerberos Account</span></span></a><span
! style='mso-fareast-language:JA'> <o:p></o:p></span></h2>
! 
! <p class=MsoNormal style='margin:0pt;margin-bottom:.0001pt;mso-pagination:widow-orphan;
! mso-hyphenate:auto;mso-layout-grid-align:none;text-autospace:none'><span
! style='font-family:"Times New Roman";mso-fareast-font-family:"MS Mincho";
! color:black;mso-fareast-language:JA'>Th</span><span class=BodyTextChar><span
! style='mso-fareast-language:JA'>e <a href="http://web.mit.edu/kerberos/">MIT
! Kerberos</a> development team accepts unrestricted grants. <span
! style='mso-spacerun:yes'> </span>Grants are tax deductible and the full amount
  of the grant will be used to fund the development of Kerberos 5 and/or Kerberos
! for Windows. <span style='mso-spacerun:yes'> </span>OpenAFS for Windows is
! dependent on MIT Kerberos for Windows for authentication and shares many of the
! same re</span></span><span style='font-family:"Times New Roman";mso-fareast-font-family:
! "MS Mincho";color:black;mso-fareast-language:JA'>quirements for credential
! management. <span style='mso-spacerun:yes'> </span>Future releases of both
! products will share a common identity management user interface. <o:p></o:p></span></p>
! 
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872225"></a><a
! name="_Toc115417096"><span style='mso-bookmark:_Toc126872225'><span
! style='mso-fareast-language:JA'>6.4. Direct contributions of code and/or
! documentation</span></span></a><span style='mso-fareast-language:JA'> <o:p></o:p></span></h2>
! 
! <p class=MsoBodyText><span style='mso-fareast-language:JA'>Organizations that
! use OpenAFS in house and have development staffs are encouraged to contribute
! any code modifications they make to OpenAFS.org via <u><span style='color:blue'>openafs-bugs@openafs.org</span></u>.
! <span style='mso-spacerun:yes'> </span>Contributions of documentation are
! highly desired. <o:p></o:p></span></p>
! 
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872226"></a><a
! name="_Toc115417097"><span style='mso-bookmark:_Toc126872226'>6.5. OpenAFS for
! Windows Mailing Lists</span></a></h2>
  
  <p class=MsoNormal>If you wish to participate in OpenAFS for Windows
  development please join the <i><a
  href="mailto:openafs-win32-devel@openafs.org?subject=OpenAFS%20for%20Windows%20Development%20Contribution">openafs-win32-devel@openafs.org</a></i>
  mailing list.</p>
  
! <p class=MsoNormal style='margin-left:35.45pt'><span class=MsoHyperlink>https://lists.openafs.org/mailman/listinfo/openafs-win32-devel<o:p></o:p></span></p>
  
  <p class=MsoNormal>User questions should be sent to the <a
  href="mailto:openafs-info@openafs.org?subject=OpenAFS%20for%20Windows%20User%20Question">openafs-info@openafs.org</a>
! mailing list.<span style='mso-spacerun:yes'>  </span></p>
  
! <p class=MsoNormal style='margin-left:35.45pt'><span class=MsoHyperlink>https://lists.openafs.org/mailman/listinfo/openafs-info<o:p></o:p></span></p>
  
  <p class=MsoNormal>You must join the mailing lists if you wish to post to the
  list without incurring a moderation delay.</p>
  
! <h1 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872227"></a><a
! name="_Toc115417115"></a><a name="_Toc115417098"></a><a name="_Toc115416158"></a><a
! name="_MSI_Deployment_Guide"></a><![if !supportLists]><span style='mso-bookmark:
! _Toc126872227'><span style='mso-bookmark:_Toc115417115'><span style='mso-bookmark:
! _Toc115417098'><span style='mso-bookmark:_Toc115416158'></span></span></span></span><![endif]><span
! style='mso-bookmark:_Toc126872227'><span style='mso-bookmark:_Toc115417115'><span
! style='mso-bookmark:_Toc115417098'><span style='mso-bookmark:_Toc115416158'>7. MSI
! Deployment Guide</span></span></span></span></h1>
  
  </div>
  
! <b><span style='font-size:16.0pt;font-family:Albany;mso-fareast-font-family:
! "MS Mincho";mso-bidi-font-family:Tahoma;mso-ansi-language:EN-US;mso-fareast-language:
! #00FF;mso-bidi-language:AR-SA'><br clear=all style='page-break-before:always;
! mso-break-type:section-break'>
  </span></b>
  
  <div class=Section2>
  
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872228"></a><a
! name="_Toc115417099"></a><a name="_Toc115416159"><span style='mso-bookmark:
! _Toc115417099'><span style='mso-bookmark:_Toc126872228'>7.1. Introduction</span></span></a></h2>
  
  <p class=MsoNormal>A MSI installer option is available for those who wish to
  use Windows Installer for installing OpenAFS and for organizations that wish to
! deploy OpenAFS through Group Policy.<span style='mso-spacerun:yes'>  </span>The
! first version of OpenAFS for Windows available as an MSI was 1.3.65.</p>
  
  <p class=MsoNormal>This document provides a guide for authoring transforms used
! to customize the MSI package for a particular organization.<span
! style='mso-spacerun:yes'>  </span>Although many settings can be deployed via
! transforms, in an Active Directory environment it is advisable to deploy
! registry settings<span style='mso-spacerun:yes'>    </span>and configuration
! files through group policy and/or startup scripts so that machines where
! OpenAFS for Windows is already installed will pick up these customizations.</p>
! 
! <h3 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872229"></a><a
! name="_Toc115416160"><span style='mso-bookmark:_Toc126872229'>7.1.1
! Requirements</span></a></h3>
  
  <p class=MsoNormal>The information in this document applies to MSI packages
  distributed with OpenAFS for Windows releases from 1.3.65 and onwards or MSI
! packages built from corresponding source releases. <span
! style='mso-spacerun:yes'> </span>Not all releases support all the configuration
! options documented here.</p>
  
  <p class=MsoNormal>Authoring a &quot;Windows Installer&quot; transform requires
  additional software for editing the MSI database tables and generating the
! transform from the modified MSI package.<span style='mso-spacerun:yes'> 
! </span>ORCA.EXE and MSITRAN.EXE which are included in the Windows Platform SDK (&quot;Windows
! Installer&quot; SDK) can be used for this purpose.</p>
  
  <p class=MsoNormal>For reference, the schema for the MSI package is based on
  SCHEMA.MSI distributed with the Platform SDK.</p>
--- 1794,1926 ----
  will be allocated by the OpenAFS Elders to fund OpenAFS development,
  documentation, project management, and maintaining openafs.org. </p>
  
! <div>
  
  <table cellspacing=0 cellpadding=0 hspace=0 vspace=0 width=540 height=88>
   <tr>
    <td valign=top align=left height=88 style='padding-top:0pt;padding-right:
    9.0pt;padding-bottom:0pt;padding-left:9.0pt'>
!   <p class=MsoEnvelopeAddress>USENIX OpenAFS Fund<br>
    USENIX Association <br>
!     2560 Ninth St., Suite 215 <br>
!     Berkeley, CA 94710 </p>
    </td>
   </tr>
  </table>
  
  </div>
  
! <br clear=ALL>
  
  <p class=MsoBodyText>Donations can be made by sending a check, drawn on a U.S.
  bank, made out to the USENIX OpenAFS Fund or by making a <a
  href="https://db.usenix.org/cgi-bin/openafs/openafs.cgi">donation online</a>.</p>
  
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc139981001"></a><a
! name="_Toc126872223"></a><a name="_Toc115417094">6.2. Secure Endpoints Inc.</a>
! </h2>
! 
! <p class=MsoBodyText><a href="http://www.secure-endpoints.com/">Secure
! Endpoints Inc.</a> provides development and support services for OpenAFS for
! Windows and MIT Kerberos for Windows.  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
! or new features. </p>
! 
! <p class=MsoBodyText>Secure Endpoints Inc. provides contract based support for
! the OpenAFS for Windows and the MIT Kerberos for Windows products. </p>
! 
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc139981002"></a><a
! name="_Toc126872224"></a><a name="_Toc115417095">6.3. The MIT Kerberos Account</a>
! </h2>
! 
! <p class=MsoNormal style='margin:0pt;margin-bottom:.0001pt;text-autospace:none'><span
! style='font-family:"Times New Roman";color:black'>Th</span><span
! class=BodyTextChar>e <a href="http://web.mit.edu/kerberos/">MIT Kerberos</a> development
! team accepts unrestricted grants.  Grants are tax deductible and the full amount
  of the grant will be used to fund the development of Kerberos 5 and/or Kerberos
! for Windows.  OpenAFS for Windows is dependent on MIT Kerberos for Windows for
! authentication and shares many of the same re</span><span style='font-family:
! "Times New Roman";color:black'>quirements for credential management.  Future
! releases of both products will share a common identity management user
! interface. </span></p>
! 
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc139981003"></a><a
! name="_Toc126872225"></a><a name="_Toc115417096">6.4. Direct contributions of
! code and/or documentation</a> </h2>
! 
! <p class=MsoBodyText>Organizations that use OpenAFS in house and have
! development staffs are encouraged to contribute any code modifications they
! make to OpenAFS.org via <u><span style='color:blue'>openafs-bugs@openafs.org</span></u>.
!  Contributions of documentation are highly desired. </p>
! 
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc139981004"></a><a
! name="_Toc126872226"></a><a name="_Toc115417097">6.5. OpenAFS for Windows
! Mailing Lists</a></h2>
  
  <p class=MsoNormal>If you wish to participate in OpenAFS for Windows
  development please join the <i><a
  href="mailto:openafs-win32-devel@openafs.org?subject=OpenAFS%20for%20Windows%20Development%20Contribution">openafs-win32-devel@openafs.org</a></i>
  mailing list.</p>
  
! <p class=MsoNormal style='margin-left:35.45pt'><span class=MsoHyperlink>https://lists.openafs.org/mailman/listinfo/openafs-win32-devel</span></p>
  
  <p class=MsoNormal>User questions should be sent to the <a
  href="mailto:openafs-info@openafs.org?subject=OpenAFS%20for%20Windows%20User%20Question">openafs-info@openafs.org</a>
! mailing list.  </p>
  
! <p class=MsoNormal style='margin-left:35.45pt'><span class=MsoHyperlink>https://lists.openafs.org/mailman/listinfo/openafs-info</span></p>
  
  <p class=MsoNormal>You must join the mailing lists if you wish to post to the
  list without incurring a moderation delay.</p>
  
! <h1 style='margin-left:0pt;text-indent:0pt'><a name="_Toc139981005"></a><a
! name="_Toc126872227"></a><a name="_Toc115417115"></a><a name="_Toc115417098"></a><a
! name="_Toc115416158"></a><a name="_MSI_Deployment_Guide"></a>7. MSI Deployment
! Guide</h1>
  
  </div>
  
! <b><span style='font-size:16.0pt;font-family:Albany'><br clear=all
! style='page-break-before:always'>
  </span></b>
  
  <div class=Section2>
  
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc139981006"></a><a
! name="_Toc126872228"></a><a name="_Toc115417099"></a><a name="_Toc115416159">7.1.
! Introduction</a></h2>
  
  <p class=MsoNormal>A MSI installer option is available for those who wish to
  use Windows Installer for installing OpenAFS and for organizations that wish to
! deploy OpenAFS through Group Policy.  The first version of OpenAFS for Windows
! available as an MSI was 1.3.65.</p>
  
  <p class=MsoNormal>This document provides a guide for authoring transforms used
! to customize the MSI package for a particular organization.  Although many
! settings can be deployed via transforms, in an Active Directory environment it
! is advisable to deploy registry settings    and configuration files through
! group policy and/or startup scripts so that machines where OpenAFS for Windows
! is already installed will pick up these customizations.</p>
! 
! <h3 style='margin-left:0pt;text-indent:0pt'><a name="_Toc139981007"></a><a
! name="_Toc126872229"></a><a name="_Toc115416160">7.1.1 Requirements</a></h3>
  
  <p class=MsoNormal>The information in this document applies to MSI packages
  distributed with OpenAFS for Windows releases from 1.3.65 and onwards or MSI
! packages built from corresponding source releases.  Not all releases support
! all the configuration options documented here.</p>
  
  <p class=MsoNormal>Authoring a &quot;Windows Installer&quot; transform requires
  additional software for editing the MSI database tables and generating the
! transform from the modified MSI package.  ORCA.EXE and MSITRAN.EXE which are
! included in the Windows Platform SDK (&quot;Windows Installer&quot; SDK) can be
! used for this purpose.</p>
  
  <p class=MsoNormal>For reference, the schema for the MSI package is based on
  SCHEMA.MSI distributed with the Platform SDK.</p>
***************
*** 5509,6290 ****
  <p class=MsoNormal>For general information about &quot;Windows Installer&quot;,
  refer to:</p>
  
! <p class=MsoNormal><span style='mso-spacerun:yes'>    </span><a
  href="http://msdn.microsoft.com/library/en-us/msi/setup/windows_installer_start_page.asp">http://msdn.microsoft.com/library/en-us/msi/setup/windows_installer_start_page.asp</a></p>
  
  <p class=MsoNormal>For general information about authoring MSI transforms,
  refer to:</p>
  
! <p class=MsoNormal><span style='mso-spacerun:yes'>    </span><a
  href="http://msdn.microsoft.com/library/en-us/msi/setup/transforms.asp">http://msdn.microsoft.com/library/en-us/msi/setup/transforms.asp</a></p>
  
  <p class=MsoNormal>The remainder of this document assumes some familiarity with
! authoring transforms.<span style='mso-spacerun:yes'>  </span>While the MSDN
! documentation for Windows Installer is a bit dense, the guide on MSI transforms
! found at the second link above is recommended reading.<span
! style='mso-spacerun:yes'>  </span>MSDN also includes a step-by-step example for
! creating a transform at:</p>
  
! <p class=MsoNormal><span style='mso-spacerun:yes'>    </span><a
  href="http://msdn.microsoft.com/library/en-us/msi/setup/a_customization_transform_example.asp">http://msdn.microsoft.com/library/en-us/msi/setup/a_customization_transform_example.asp</a></p>
  
! <h3 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872230"></a><a
! name="_Toc115416161"><span style='mso-bookmark:_Toc126872230'>7.1.2 Authoring a
! Transform</span></a></h3>
  
  <p class=MsoNormal>Transforms describe a set of modifications to be performed
! on an existing MSI for the purpose of customizing it.<span
! style='mso-spacerun:yes'>  </span>This is ordinarily done by making a copy of
! the MSI to be customized, modifying the copy and then using the old and the new
! MSI to generate a transform.<span style='mso-spacerun:yes'>  </span>For
! example:</p>
! 
! <p class=PreformattedText style='margin-left:36.0pt;text-indent:-18.0pt;
! mso-list:l35 level1 lfo14;tab-stops:list 36.0pt'><![if !supportLists]><span
! style='mso-list:Ignore'>1.<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;
! </span></span><![endif]>copy openafs.msi openafs-modified.msi</p>
! 
! <p class=PreformattedText style='margin-left:36.0pt;text-indent:-18.0pt;
! mso-list:l35 level1 lfo14;tab-stops:list 36.0pt'><![if !supportLists]><span
! style='mso-list:Ignore'>2.<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;
! </span></span><![endif]>(edit the openafs-modified.msi to include the necessary
! changes)</p>
! 
! <p class=PreformattedText style='margin-left:36.0pt;text-indent:-18.0pt;
! mso-list:l35 level1 lfo14;tab-stops:list 36.0pt'><![if !supportLists]><span
! style='mso-list:Ignore'>3.<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;
! </span></span><![endif]>msitran -g openafs.msi openafs-modified.msi
! openafs-transform.mst</p>
! 
! <p class=PreformattedText style='margin-left:36.0pt;text-indent:-18.0pt;
! mso-list:l35 level1 lfo14;tab-stops:list 36.0pt'><![if !supportLists]><span
! style='mso-list:Ignore'>4.<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;
! </span></span><![endif]>(generates openafs-transform.mst, which is the
! transform)</p>
! 
! <p class=MsoNormal>Transforms have an extension of .mst.<span
! style='mso-spacerun:yes'>  </span>'msitran' is a tool distributed as part of the
! &quot;Windows Installer&quot; SDK (part of the Windows Platform SDK).</p>
  
  <p class=MsoNormal>You can test a transform by:</p>
  
! <p class=PreformattedText style='margin-left:36.0pt;text-indent:-18.0pt;
! mso-list:l34 level1 lfo16;tab-stops:list 36.0pt'><![if !supportLists]><span
! style='mso-list:Ignore'>1.<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;
! </span></span><![endif]>copy openafs.msi openafs-test.msi</p>
! 
! <p class=PreformattedText style='margin-left:36.0pt;text-indent:-18.0pt;
! mso-list:l34 level1 lfo16;tab-stops:list 36.0pt'><![if !supportLists]><span
! style='mso-list:Ignore'>2.<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;
! </span></span><![endif]>msitran -a openafs-transform.mst openafs-test.msi</p>
  
  <p class=MsoNormal>and then checking the resulting openafs-test.msi to see if
  all changes you have made above to openafs-modified.msi is present in
! openafs-test.msi.<span style='mso-spacerun:yes'>  </span>'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.<span
! style='mso-spacerun:yes'>  </span>More details are given below.</p>
  
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872231"></a><a
! name="_Toc115417100"></a><a name="_Toc115416162"><span style='mso-bookmark:
! _Toc115417100'><span style='mso-bookmark:_Toc126872231'>7.2. Configuration
! Options</span></span></a></h2>
  
  <p class=MsoNormal>The logic necessary to implement many of the settings
! described in <a href="oafw-1-4-release-notes.doc#_Appendix_A:_Registry_Values">Appendix
! A</a> are present in the MSI.<span style='mso-spacerun:yes'>  </span>Most of
! these can be controlled by setting the corresponding properties to the desired
! value.<span style='mso-spacerun:yes'>  </span>Some settings may require
  modifying existing registry entries (though not recommended) or adding new
! resources (like files or registry keys).<span style='mso-spacerun:yes'> 
! </span>Instructions for performing these tasks are below.</p>
  
! <h3 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872232"></a><a
! name="_Toc115416163"><span style='mso-bookmark:_Toc126872232'>7.2.1
! Configurable Properties</span></a></h3>
  
  <p class=MsoNormal>Most configurable properties correspond to registry keys or
! values.<span style='mso-spacerun:yes'>  </span>Due to the logic invoked based
! on the existence of these registry keys or values, they are only set if the
! associated property is defined to have a non null value.<span
! style='mso-spacerun:yes'>  </span>If the associated property is not defined in
! the MSI, the registry key or value will not be touched.<span
! style='mso-spacerun:yes'>  </span>By default, the MSI does not contain these
! properties and hence will not set the registry keys.<span
! style='mso-spacerun:yes'>  </span>You will need to add properties as needed to
! the MSI.</p>
  
  <p class=MsoNormal>When one of the configurable properties is set, the
  installer will use the property value to set the corresponding setting in the
! HKEY_LOCAL_MACHINE registry hive.<span style='mso-spacerun:yes'>  </span>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="oafw-1-4-release-notes.doc#_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 ''.<span style='mso-spacerun:yes'>  </span>Note that
! you can't author null values into the 'Property' table.</p>
  
  <p class=MsoNormal>Numeric values should be authored as decimal strings.</p>
  
! <h4><a name="_Toc126872233"></a><a name="_Toc115416164"><span style='mso-bookmark:
! _Toc126872233'>7.2.1.1 Setting Properties</span></a></h4>
  
  <p class=MsoNormal>In order to set a property,</p>
  
  <p class=MsoNormal style='margin-top:4.3pt;margin-right:0pt;margin-bottom:4.3pt;
! margin-left:18.0pt;text-indent:-18.0pt;mso-list:l32 level1 lfo18;tab-stops:
! list 18.0pt'><![if !supportLists]><span style='font-size:9.0pt;mso-fareast-font-family:
! Thorndale;mso-bidi-font-family:Thorndale'><span style='mso-list:Ignore'>1.<span
  style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
! </span></span></span><![endif]>Open the MSI in ORCA.EXE</p>
  
  <p class=MsoNormal style='margin-top:4.3pt;margin-right:0pt;margin-bottom:4.3pt;
! margin-left:18.0pt;text-indent:-18.0pt;mso-list:l32 level1 lfo18;tab-stops:
! list 18.0pt'><![if !supportLists]><span style='font-size:9.0pt;mso-fareast-font-family:
! Thorndale;mso-bidi-font-family:Thorndale'><span style='mso-list:Ignore'>2.<span
  style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
! </span></span></span><![endif]>Select the 'Property' table from the list of
! tables on the left.</p>
  
  <p class=MsoNormal style='margin-top:4.3pt;margin-right:0pt;margin-bottom:4.3pt;
! margin-left:18.0pt;text-indent:-18.0pt;mso-list:l32 level1 lfo18;tab-stops:
! list 18.0pt'><![if !supportLists]><span style='font-size:9.0pt;mso-fareast-font-family:
! Thorndale;mso-bidi-font-family:Thorndale'><span style='mso-list:Ignore'>3.<span
  style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
! </span></span></span><![endif]>Find the property in the list of properties on
! the right, double click the value and type the new value.</p>
  
  <p class=MsoNormal style='margin-top:4.3pt;margin-right:0pt;margin-bottom:4.3pt;
! margin-left:18.0pt;text-indent:-18.0pt;mso-list:l32 level1 lfo18;tab-stops:
! list 18.0pt'><![if !supportLists]><span style='font-size:9.0pt;mso-fareast-font-family:
! Thorndale;mso-bidi-font-family:Thorndale'><span style='mso-list:Ignore'>4.<span
  style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
! </span></span></span><![endif]>If the property does not exist in the property
! list, right click the list and select 'Add Row', type the property name and the
! desired value.</p>
! 
! <h4><a name="_Toc126872234"></a><a name="_Toc115416165"><span style='mso-bookmark:
! _Toc126872234'>7.2.1.2 OpenAFS for Windows Properties</span></a></h4>
! 
! <table class=MsoTableWeb1 border=1 cellspacing=3 cellpadding=0
!  style='mso-cellspacing:2.0pt;mso-yfti-tbllook:480;mso-padding-alt:0pt 5.4pt 0pt 5.4pt;
!  mso-border-insideh:.75pt outset windowtext;mso-border-insidev:.75pt outset windowtext'>
!  <tr style='mso-yfti-irow:-1;mso-yfti-firstrow:yes'>
!   <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <h5 style='mso-outline-level:5;mso-yfti-cnfc:1'><a name="_Toc126872235"></a><a
!   name="_Toc115416166"></a><a name="_(Service_parameters):"></a><span
!   style='mso-bookmark:_Toc126872235'><span style='mso-bookmark:_Toc115416166'>(Service
!   parameters):</span></span></h5>
!   <p class=ListContents style='margin-left:0pt;mso-yfti-cnfc:1'>[HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters]<span
!   style='mso-bidi-language:#00FF'><o:p></o:p></span></p>
!   </td>
!  </tr>
!  <tr style='mso-yfti-irow:0'>
!   <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <h5 style='mso-outline-level:5'><a name="_Toc126872236"></a><a
!   name="_Toc115416167"></a><a name="_(Network_provider):"></a><span
!   style='mso-bookmark:_Toc126872236'><span style='mso-bookmark:_Toc115416167'>(Network
!   provider):</span></span></h5>
    <p class=ListContents style='margin-left:0pt'>[HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider]</p>
    </td>
   </tr>
!  <tr style='mso-yfti-irow:1;mso-yfti-lastrow:yes'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <h5 style='mso-outline-level:5'><a name="_Toc126872237"></a><a
!   name="_Toc115416168"></a><a name="_(OpenAFS_Client):"></a><span
!   style='mso-bookmark:_Toc126872237'><span style='mso-bookmark:_Toc115416168'>(OpenAFS
!   Client):</span></span></h5>
!   <p class=ListContents style='margin-left:0pt'>[HKLM\SOFTWARE\OpenAFS\Client]<span
!   style='mso-bidi-language:#00FF'><o:p></o:p></span></p>
    </td>
   </tr>
  </table>
  
! <h5><a name="_Toc126872238"></a><a name="_Toc115416169"><span style='mso-bookmark:
! _Toc126872238'>7.2.1.2.1 Registry Properties</span></a></h5>
  
  <p class=MsoNormal>These properties are used to set the values of registry
  entries associated with OpenAFS for Windows.</p>
  
! <table class=MsoTableWeb1 border=1 cellspacing=3 cellpadding=0
!  style='mso-cellspacing:2.0pt;mso-yfti-tbllook:480;mso-padding-alt:0pt 5.4pt 0pt 5.4pt;
!  mso-border-insideh:.75pt outset windowtext;mso-border-insidev:.75pt outset windowtext'>
!  <tr style='mso-yfti-irow:-1;mso-yfti-firstrow:yes'>
!   <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <h6 style='mso-outline-level:6;mso-yfti-cnfc:1'><a name="_Toc126872239"></a><a
!   name="_Toc115416170"><span style='mso-bookmark:_Toc126872239'>AFSCACHEPATH</span></a></h6>
!   <p class=MsoList style='mso-yfti-cnfc:1'>Registry key<span
!   style='mso-spacerun:yes'>    </span>: <a
!   href="oafw-1-4-release-notes.doc#_(Service_parameters):">(Service parameters)</a></p>
!   <p class=MsoList style='mso-yfti-cnfc:1'>Registry value : <a
!   href="oafw-1-4-release-notes.doc#_Value_:_CachePath">CachePath</a></p>
!   <p class=MsoList style='mso-yfti-cnfc:1'>Valid values<span
!   style='mso-spacerun:yes'>    </span>: string .</p>
!   </td>
!  </tr>
!  <tr style='mso-yfti-irow:0'>
!   <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <h6 style='mso-outline-level:6'><a name="_Toc126872240"></a><a
!   name="_Toc115416171"><span style='mso-bookmark:_Toc126872240'>AFSCACHESIZE</span></a></h6>
!   <p class=MsoList>Registry key<span style='mso-spacerun:yes'>    </span>: <a
!   href="oafw-1-4-release-notes.doc#_(Service_parameters):">(Service parameters)</a></p>
    <p class=MsoList>Registry value : <a
!   href="oafw-1-4-release-notes.doc#_Value___: CacheSize">CacheSize</a></p>
!   <p class=MsoList>Valid values<span style='mso-spacerun:yes'>    </span>:
!   numeric</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 style='mso-outline-level:6'><a name="_Toc126872241"></a><a
!   name="_Toc115416172"><span style='mso-bookmark:_Toc126872241'>AFSCELLNAME</span></a></h6>
!   <p class=MsoList>Registry key<span style='mso-tab-count:1'>    </span>: <a
!   href="oafw-1-4-release-notes.doc#_(Service_parameters):">(Service parameters)</a></p>
!   <p class=MsoList>Registry value<span style='mso-tab-count:1'> </span>: <a
!   href="oafw-1-4-release-notes.doc#_Value_:_Cell">Cell</a></p>
!   <p class=MsoList>Valid values<span style='mso-tab-count:1'>    </span>:
!   string</p>
!   </td>
!  </tr>
!  <tr style='mso-yfti-irow:2'>
!   <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <h6 style='mso-outline-level:6'><a name="_Toc126872242"></a><a
!   name="_Toc115416173"><span style='mso-bookmark:_Toc126872242'>FREELANCEMODE</span></a></h6>
!   <p class=MsoList>Registry key<span style='mso-tab-count:1'>    </span>: <a
!   href="oafw-1-4-release-notes.doc#_(Service_parameters):">(Service parameters)</a></p>
!   <p class=MsoList>Registry value<span style='mso-tab-count:1'> </span>: <a
!   href="oafw-1-4-release-notes.doc#_Value_:_FreelanceClient">FreelanceClient</a></p>
!   <p class=MsoList>Valid values<span style='mso-tab-count:1'>    </span>: '1'
!   or '0'</p>
!   </td>
!  </tr>
!  <tr style='mso-yfti-irow:3'>
!   <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <h6 style='mso-outline-level:6'><a name="_Toc126872243"></a><a
!   name="_Toc115416174"><span style='mso-bookmark:_Toc126872243'>HIDEDOTFILES</span></a></h6>
!   <p class=MsoList>Registry key<span style='mso-tab-count:1'>    </span>: <a
!   href="oafw-1-4-release-notes.doc#_(Service_parameters):">(Service parameters)</a></p>
!   <p class=MsoList>Registry value<span style='mso-tab-count:1'> </span>: <a
!   href="oafw-1-4-release-notes.doc#_Value_:_HideDotFiles">HideDotFiles</a></p>
!   <p class=MsoList>Valid values<span style='mso-tab-count:1'>    </span>: '1'
!   or '0'</p>
!   </td>
!  </tr>
!  <tr style='mso-yfti-irow:4'>
!   <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <h6 style='mso-outline-level:6'><a name="_Toc126872244"></a><a
!   name="_Toc115416175"><span style='mso-bookmark:_Toc126872244'>LOGONOPTIONS</span></a></h6>
!   <p class=MsoList>Registry key<span style='mso-tab-count:1'>    </span>: <a
!   href="oafw-1-4-release-notes.doc#_(Network_provider):">(Network provider)</a></p>
!   <p class=MsoList>Registry value<span style='mso-tab-count:1'> </span>: <a
!   href="oafw-1-4-release-notes.doc#_Value___: LogonOptions">LogonOptions</a></p>
!   <p class=MsoList>Valid values<span style='mso-tab-count:1'>    </span>: '0', '1'
!   or '3'</p>
    <p class=MsoNormal>See <a
!   href="oafw-1-4-release-notes.doc#_Appendix_A:_Registry_Values">Appendix A</a>
!   <a href="oafw-1-4-release-notes.doc#_A.2.1_Domain_specific_configuration">section
    2.1 (Domain specific configuration keys for Network Provider)</a> for more
    details.</p>
    </td>
   </tr>
!  <tr style='mso-yfti-irow:5'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <h6 style='mso-outline-level:6'><a name="_Toc126872245"></a><a
!   name="_Toc115416176"><span style='mso-bookmark:_Toc126872245'>MOUNTROOT</span></a></h6>
!   <p class=MsoList>Registry key<span style='mso-tab-count:1'>    </span>: <a
!   href="oafw-1-4-release-notes.doc#_(Service_parameters):">(Service parameters)</a></p>
!   <p class=MsoList>Registry value<span style='mso-tab-count:1'> </span>: <a
!   href="oafw-1-4-release-notes.doc#_Value_:_Mountroot">Mountroot</a></p>
!   <p class=MsoList>Valid values<span style='mso-tab-count:1'>    </span>:
!   string</p>
!   </td>
!  </tr>
!  <tr style='mso-yfti-irow:6'>
!   <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <h6 style='mso-outline-level:6'><a name="_Toc126872246"></a><a
!   name="_Toc115416177"><span style='mso-bookmark:_Toc126872246'>NETBIOSNAME</span></a></h6>
!   <p class=MsoList>Registry key<span style='mso-tab-count:1'>    </span>: <a
!   href="oafw-1-4-release-notes.doc#_(Service_parameters):">(Service parameters)</a></p>
!   <p class=MsoList>Registry value<span style='mso-tab-count:1'> </span>: <a
!   href="oafw-1-4-release-notes.doc#_Value___: NetbiosName">NetbiosName</a></p>
!   <p class=MsoList>Valid values<span style='mso-tab-count:1'>    </span>:
!   string (at most 15 characters)</p>
!   </td>
!  </tr>
!  <tr style='mso-yfti-irow:7'>
!   <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <h6 style='mso-outline-level:6'><a name="_Toc126872247"></a><a
!   name="_Toc115416178"><span style='mso-bookmark:_Toc126872247'>NOFINDLANABYNAME</span></a></h6>
!   <p class=MsoList>Registry key<span style='mso-tab-count:1'>    </span>: <a
!   href="oafw-1-4-release-notes.doc#_(Service_parameters):">(Service parameters)</a></p>
!   <p class=MsoList>Registry value<span style='mso-tab-count:1'> </span>: <a
!   href="oafw-1-4-release-notes.doc#_Value___: NoFindLanaByName">NoFindLanaByName</a></p>
!   <p class=MsoList>Valid values<span style='mso-tab-count:1'>    </span>: '1'
!   or '0'</p>
!   </td>
!  </tr>
!  <tr style='mso-yfti-irow:8'>
!   <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <h6 style='mso-outline-level:6'><a name="_Toc126872248"></a><a
!   name="_Toc115416179"><span style='mso-bookmark:_Toc126872248'>RXMAXMTU</span></a></h6>
!   <p class=MsoList>Registry key<span style='mso-tab-count:1'>    </span>: <a
!   href="oafw-1-4-release-notes.doc#_(Service_parameters):">(Service parameters)</a></p>
!   <p class=MsoList>Registry value<span style='mso-tab-count:1'> </span>: <a
!   href="oafw-1-4-release-notes.doc#_Value_:_RxMaxMTU">RxMaxMTU</a></p>
!   <p class=MsoList>Valid values<span style='mso-tab-count:1'>    </span>:
!   numeric</p>
!   </td>
!  </tr>
!  <tr style='mso-yfti-irow:9'>
!   <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <h6 style='mso-outline-level:6'><a name="_Toc126872249"></a><a
!   name="_Toc115416180"><span style='mso-bookmark:_Toc126872249'>SECURITYLEVEL</span></a></h6>
!   <p class=MsoList>Registry key<span style='mso-tab-count:1'>    </span>: <a
!   href="oafw-1-4-release-notes.doc#_(Service_parameters):">(Service parameters)</a></p>
!   <p class=MsoList>Registry value<span style='mso-tab-count:1'> </span>: <a
!   href="oafw-1-4-release-notes.doc#_Value_:_SecurityLevel">SecurityLevel</a></p>
!   <p class=MsoList>Valid values<span style='mso-tab-count:1'>    </span>: '1'
!   or '0'</p>
!   </td>
!  </tr>
!  <tr style='mso-yfti-irow:10'>
!   <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <h6 style='mso-outline-level:6'><a name="_Toc126872250"></a><a
!   name="_Toc115416181"><span style='mso-bookmark:_Toc126872250'>SMBAUTHTYPE</span></a></h6>
!   <p class=MsoList>Registry key<span style='mso-tab-count:1'>    </span>: <a
!   href="oafw-1-4-release-notes.doc#_(Service_parameters):">(Service parameters)</a></p>
!   <p class=MsoList>Registry value<span style='mso-tab-count:1'> </span>: <a
!   href="oafw-1-4-release-notes.doc#_Value___: smbAuthType">SMBAuthType</a></p>
!   <p class=MsoList>Valid values<span style='mso-tab-count:1'>    </span>:
!   '0','1' or '2'</p>
!   </td>
!  </tr>
!  <tr style='mso-yfti-irow:11'>
!   <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <h6 style='mso-outline-level:6'><a name="_Toc126872251"></a><a
!   name="_Toc115416182"><span style='mso-bookmark:_Toc126872251'>STOREANSIFILENAMES</span></a></h6>
!   <p class=MsoList>Registry key<span style='mso-tab-count:1'>    </span>: <a
!   href="oafw-1-4-release-notes.doc#_(OpenAFS_Client):">(OpenAFS Client)</a></p>
!   <p class=MsoList>Registry value<span style='mso-tab-count:1'> </span>: <a
!   href="oafw-1-4-release-notes.doc#_Value___: StoreAnsiFilenames">StoreAnsiFilenames</a></p>
!   <p class=MsoList>Valid values<span style='mso-tab-count:1'>    </span>: '0'
!   or '1'</p>
!   </td>
!  </tr>
!  <tr style='mso-yfti-irow:12;mso-yfti-lastrow:yes'>
!   <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <h6 style='mso-outline-level:6'><a name="_Toc126872252"></a><a
!   name="_Toc115416183"><span style='mso-bookmark:_Toc126872252'>USEDNS</span></a></h6>
!   <p class=MsoList>Registry key<span style='mso-tab-count:1'>    </span>: <a
!   href="oafw-1-4-release-notes.doc#_(Service_parameters):">(Service parameters)</a></p>
!   <p class=MsoList>Registry value<span style='mso-tab-count:1'> </span>: <a
!   href="oafw-1-4-release-notes.doc#_Value_:_UseDNS">UseDNS</a></p>
!   <p class=MsoList>Valid values<span style='mso-tab-count:1'>    </span>: '1'
!   or '0'</p>
    </td>
   </tr>
  </table>
  
! <h5><a name="_Toc126872253"></a><a name="_Toc115416184"></a><a
! name="_7.2.1.2.2_AFSCreds.exe_Properties"></a><span style='mso-bookmark:_Toc126872253'><span
! style='mso-bookmark:_Toc115416184'>7.2.1.2.2 AFSCreds.exe Properties</span></span></h5>
  
  <p class=MsoNormal>These properties are combined to add a command line option
  to the shortcut that will be created in the Start:Programs:OpenAFS and
! Start:Programs:Startup folders (see CREDSSTARTUP).<span
! style='mso-spacerun:yes'>  </span>The method of specifying the option was
! chosen for easy integration with the Windows Installer user interface.<span
! style='mso-spacerun:yes'>  </span>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=MsoTableWeb1 border=1 cellspacing=3 cellpadding=0
!  style='mso-cellspacing:2.0pt;mso-yfti-tbllook:480;mso-padding-alt:0pt 5.4pt 0pt 5.4pt;
!  mso-border-insideh:.75pt outset windowtext;mso-border-insidev:.75pt outset windowtext'>
!  <tr style='mso-yfti-irow:-1;mso-yfti-firstrow:yes'>
!   <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <h6 style='mso-outline-level:6;mso-yfti-cnfc:1'><a name="_Toc126872254"></a><a
!   name="_Toc115416185"><span style='mso-bookmark:_Toc126872254'>CREDSSTARTUP</span></a></h6>
!   <p class=MsoList style='mso-yfti-cnfc:1'>Valid values<span
!   style='mso-spacerun:yes'>    </span>: '1' or '0'</p>
!   <p class=MsoList style='mso-yfti-cnfc:1'>Controls whether AFSCreds.exe starts
!   up automatically when the user logs on.<span style='mso-spacerun:yes'> 
!   </span>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:0'>
!   <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <h6 style='mso-outline-level:6'><a name="_Toc126872255"></a><a
!   name="_Toc115416186"><span style='mso-bookmark:_Toc126872255'>CREDSAUTOINIT</span></a></h6>
!   <p class=MsoList>Valid values<span style='mso-tab-count:1'>    </span>: '-a'
!   or ''</p>
    <p class=MsoList>Enables automatic initialization.</p>
    </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 style='mso-outline-level:6'><a name="_Toc126872256"></a><a
!   name="_Toc115416187"><span style='mso-bookmark:_Toc126872256'>CREDSIPCHDET</span></a></h6>
!   <p class=MsoList>Valid values<span style='mso-tab-count:1'>    </span>: '-n'
!   or ''</p>
    <p class=MsoList>Enables IP address change detection.</p>
    </td>
   </tr>
!  <tr style='mso-yfti-irow:2'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <h6 style='mso-outline-level:6'><a name="_Toc126872257"></a><a
!   name="_Toc115416188"><span style='mso-bookmark:_Toc126872257'>CREDSQUIET</span></a></h6>
!   <p class=MsoList>Valid values<span style='mso-tab-count:1'>    </span>: '-q'
!   or ''</p>
    <p class=MsoList>Enables quiet mode.</p>
    </td>
   </tr>
!  <tr style='mso-yfti-irow:3'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <h6 style='mso-outline-level:6'><a name="_Toc126872258"></a><a
!   name="_Toc115416189"><span style='mso-bookmark:_Toc126872258'>CREDSRENEWDRMAP</span></a></h6>
!   <p class=MsoList>Valid values<span style='mso-tab-count:1'>    </span>: '-m'
!   or '’</p>
    <p class=MsoList>Enables renewing drive map at startup.</p>
    </td>
   </tr>
!  <tr style='mso-yfti-irow:4;mso-yfti-lastrow:yes'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <h6 style='mso-outline-level:6'><a name="_Toc126872259"></a><a
!   name="_Toc115416190"><span style='mso-bookmark:_Toc126872259'>CREDSSHOW</span></a></h6>
!   <p class=MsoList>Valid values<span style='mso-spacerun:yes'>    </span>: '-s'
!   or ''</p>
    <p class=MsoList>Enables displaying the credential manager window when
    AFSCREDS starts up.</p>
    </td>
   </tr>
  </table>
  
! <h3 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872260"></a><a
! name="_Toc115416191"><span style='mso-bookmark:_Toc126872260'>7.2.2 Existing
! Registry Entries</span></a></h3>
  
  <p class=MsoNormal>You can change existing registry values subject to the
! restrictions mentioned in the Windows Platform SDK.<span
! style='mso-spacerun:yes'>  </span>Pay special attention to component key paths
! and try to only change the 'Value' column in the 'Registry' table.<span
! style='mso-spacerun:yes'>  </span>If you want to add additional registry keys
! please refer to section 3 (Additional resources).</p>
! 
! <h3 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872261"></a><a
! name="_Toc115416192"><span style='mso-bookmark:_Toc126872261'>7.2.3 Replacing
! Configuration Files</span></a></h3>
  
  <p class=MsoNormal>The OpenAFS configuration files (CellServDB) can be replaced
! by your own configuration files.<span style='mso-spacerun:yes'>  </span>These
! files are contained in separate MSI components so that you can disable them
! individually.</p>
  
  <p class=MsoNormal>The recommended method for replacing these files is to first
  disable the components containing the configuration files that you want to
! replace, and then add new components for the replacement files.<span
! style='mso-spacerun:yes'>  </span>This is outlined below (assuming you are
! using ORCA.EXE to author the transform).</p>
  
  <p class=MsoNormal>Note that transforms are not a good way to add a new file as
! an embedded stream.<span style='mso-spacerun:yes'>  </span>The method outlined
! here places the file in the same directory as the MSI for deployment.</p>
  
  <p class=MsoNormal>The walkthrough below is to add a custom 'CellServDB' file.</p>
  
  <p class=MsoNormal style='margin-top:4.3pt;margin-right:0pt;margin-bottom:4.3pt;
! margin-left:18.0pt;text-indent:-18.0pt;mso-list:l23 level1 lfo32;tab-stops:
! list 18.0pt'><![if !supportLists]><span style='mso-fareast-font-family:Thorndale;
! mso-bidi-font-family:Thorndale'><span style='mso-list:Ignore'>1.<span
! style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><![endif]>Disable
! the component that contains the configuration file that you want to replace.</p>
  
  <p class=MsoNormal style='margin-top:4.3pt;margin-right:0pt;margin-bottom:4.3pt;
! margin-left:39.6pt;text-indent:-21.6pt;mso-list:l23 level2 lfo32;tab-stops:
! list 39.6pt'><![if !supportLists]><span style='mso-fareast-font-family:Thorndale;
! mso-bidi-font-family:Thorndale'><span style='mso-list:Ignore'>1.1.<span
! style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp; </span></span></span><![endif]>Locate
! and select the 'Component' table in the 'Tables' list.</p>
  
  <p class=MsoNormal style='margin-top:4.3pt;margin-right:0pt;margin-bottom:4.3pt;
! margin-left:39.6pt;text-indent:-21.6pt;mso-list:l23 level2 lfo32;tab-stops:
! list 39.6pt'><![if !supportLists]><span style='mso-fareast-font-family:Thorndale;
! mso-bidi-font-family:Thorndale'><span style='mso-list:Ignore'>1.2.<span
! style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp; </span></span></span><![endif]>In
! the Component table, locate the component you need to change ( Ctrl-F invokes
! the 'Find' dialog).<span style='mso-spacerun:yes'>  </span>The component names
! are listed below in section <a
! href="oafw-1-4-release-notes.doc#_2.3.1_Components_for_Configuration ">7.2.3.1</a>.<span
! style='mso-spacerun:yes'>  </span>For this example, the component name is
! 'elf_CellServDB'.</p>
  
  <p class=MsoNormal style='margin-top:4.3pt;margin-right:0pt;margin-bottom:4.3pt;
! margin-left:39.6pt;text-indent:-21.6pt;mso-list:l23 level2 lfo32;tab-stops:
! list 39.6pt'><![if !supportLists]><span style='mso-fareast-font-family:Thorndale;
! mso-bidi-font-family:Thorndale'><span style='mso-list:Ignore'>1.3.<span
! style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp; </span></span></span><![endif]>Go
! to the 'Condition' column of the component.</p>
  
  <p class=MsoNormal style='margin-top:4.3pt;margin-right:0pt;margin-bottom:4.3pt;
! margin-left:39.6pt;text-indent:-21.6pt;mso-list:l23 level2 lfo32;tab-stops:
! list 39.6pt'><![if !supportLists]><span style='mso-fareast-font-family:Thorndale;
! mso-bidi-font-family:Thorndale'><span style='mso-list:Ignore'>1.4.<span
! style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp; </span></span></span><![endif]>Enter
! a condition that evaluates to false. I.e. 'DONOTINSTALL'. (Note that an
! undefined property always evaluates to false).</p>
  
  <p class=MsoNormal>Note that you can also use this step to disable other
  configuration files without providing replacements.</p>
  
! <p class=MsoNormal style='margin-left:18.0pt;text-indent:-18.0pt;mso-list:l23 level1 lfo32;
! tab-stops:list 18.0pt'><![if !supportLists]><span style='mso-fareast-font-family:
! Thorndale;mso-bidi-font-family:Thorndale'><span style='mso-list:Ignore'>2.<span
! style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><![endif]>Add
  a new component containing the new configuration file.</p>
  
! <p class=MsoNormal style='margin-left:39.6pt;text-indent:-21.6pt;mso-list:l23 level2 lfo32;
! tab-stops:list 39.6pt'><![if !supportLists]><span style='mso-fareast-font-family:
! Thorndale;mso-bidi-font-family:Thorndale'><span style='mso-list:Ignore'>2.1.<span
! style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp; </span></span></span><![endif]>Select
! the 'Component' table in the 'Tables' list.</p>
! 
! <p class=MsoNormal style='margin-left:39.6pt;text-indent:-21.6pt;mso-list:l23 level2 lfo32;
! tab-stops:list 39.6pt'><![if !supportLists]><span style='mso-fareast-font-family:
! Thorndale;mso-bidi-font-family:Thorndale'><span style='mso-list:Ignore'>2.2.<span
! style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp; </span></span></span><![endif]>Select
  'Tables'-&gt;'Add Row' (Ctrl-R).</p>
  
! <p class=MsoNormal style='margin-left:39.6pt;text-indent:-21.6pt;mso-list:l23 level2 lfo32;
! tab-stops:list 39.6pt'><![if !supportLists]><span style='mso-fareast-font-family:
! Thorndale;mso-bidi-font-family:Thorndale'><span style='mso-list:Ignore'>2.3.<span
! style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp; </span></span></span><![endif]>Enter
! the following :</p>
  
  <table class=MsoTableGrid border=1 cellspacing=0 cellpadding=0
!  style='margin-left:39.35pt;border-collapse:collapse;border:none;mso-border-alt:
!  solid windowtext .5pt;mso-yfti-tbllook:480;mso-padding-alt:0pt 5.4pt 0pt 5.4pt;
!  mso-border-insideh:.5pt solid windowtext;mso-border-insidev:.5pt solid windowtext'>
!  <tr style='mso-yfti-irow:0;mso-yfti-firstrow:yes;height:23.35pt'>
    <td width=115 valign=top style='width:86.25pt;border:solid windowtext 1.0pt;
!   mso-border-alt:solid windowtext .5pt;padding:0pt 5.4pt 0pt 5.4pt;height:23.35pt'>
    <p class=PreformattedText>Component</p>
    </td>
    <td width=475 valign=top style='width:356.55pt;border:solid windowtext 1.0pt;
!   border-left:none;mso-border-left-alt:solid windowtext .5pt;mso-border-alt:
!   solid windowtext .5pt;padding:0pt 5.4pt 0pt 5.4pt;height:23.35pt'>
    <p class=PreformattedText>cmf_my_CellServDB</p>
    </td>
   </tr>
!  <tr style='mso-yfti-irow:1'>
    <td width=115 valign=top style='width:86.25pt;border:solid windowtext 1.0pt;
!   border-top:none;mso-border-top-alt:solid windowtext .5pt;mso-border-alt:solid windowtext .5pt;
!   padding:0pt 5.4pt 0pt 5.4pt'>
    <p class=PreformattedText>ComponentID</p>
    </td>
    <td width=475 valign=top style='width:356.55pt;border-top:none;border-left:
    none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
!   mso-border-top-alt:solid windowtext .5pt;mso-border-left-alt:solid windowtext .5pt;
!   mso-border-alt:solid windowtext .5pt;padding:0pt 5.4pt 0pt 5.4pt'>
    <p class=PreformattedText>{7019836F-BB2C-4AF6-9463-0D6EC9035CF1}</p>
    </td>
   </tr>
!  <tr style='mso-yfti-irow:2'>
    <td width=115 valign=top style='width:86.25pt;border:solid windowtext 1.0pt;
!   border-top:none;mso-border-top-alt:solid windowtext .5pt;mso-border-alt:solid windowtext .5pt;
!   padding:0pt 5.4pt 0pt 5.4pt'>
    <p class=PreformattedText>Directory_</p>
    </td>
    <td width=475 valign=top style='width:356.55pt;border-top:none;border-left:
    none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
!   mso-border-top-alt:solid windowtext .5pt;mso-border-left-alt:solid windowtext .5pt;
!   mso-border-alt:solid windowtext .5pt;padding:0pt 5.4pt 0pt 5.4pt'>
    <p class=PreformattedText>dirClient</p>
    </td>
   </tr>
!  <tr style='mso-yfti-irow:3'>
    <td width=115 valign=top style='width:86.25pt;border:solid windowtext 1.0pt;
!   border-top:none;mso-border-top-alt:solid windowtext .5pt;mso-border-alt:solid windowtext .5pt;
!   padding:0pt 5.4pt 0pt 5.4pt'>
    <p class=PreformattedText>Attributes</p>
    </td>
    <td width=475 valign=top style='width:356.55pt;border-top:none;border-left:
    none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
!   mso-border-top-alt:solid windowtext .5pt;mso-border-left-alt:solid windowtext .5pt;
!   mso-border-alt:solid windowtext .5pt;padding:0pt 5.4pt 0pt 5.4pt'>
    <p class=PreformattedText>144</p>
    </td>
   </tr>
!  <tr style='mso-yfti-irow:4'>
    <td width=115 valign=top style='width:86.25pt;border:solid windowtext 1.0pt;
!   border-top:none;mso-border-top-alt:solid windowtext .5pt;mso-border-alt:solid windowtext .5pt;
!   padding:0pt 5.4pt 0pt 5.4pt'>
    <p class=PreformattedText>Condition</p>
    </td>
    <td width=475 valign=top style='width:356.55pt;border-top:none;border-left:
    none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
!   mso-border-top-alt:solid windowtext .5pt;mso-border-left-alt:solid windowtext .5pt;
!   mso-border-alt:solid windowtext .5pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <p class=PreformattedText><o:p>&nbsp;</o:p></p>
    </td>
   </tr>
!  <tr style='mso-yfti-irow:5;mso-yfti-lastrow:yes'>
    <td width=115 valign=top style='width:86.25pt;border:solid windowtext 1.0pt;
!   border-top:none;mso-border-top-alt:solid windowtext .5pt;mso-border-alt:solid windowtext .5pt;
!   padding:0pt 5.4pt 0pt 5.4pt'>
    <p class=PreformattedText>KeyPath</p>
    </td>
    <td width=475 valign=top style='width:356.55pt;border-top:none;border-left:
    none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
!   mso-border-top-alt:solid windowtext .5pt;mso-border-left-alt:solid windowtext .5pt;
!   mso-border-alt:solid windowtext .5pt;padding:0pt 5.4pt 0pt 5.4pt'>
    <p class=PreformattedText>fil_my_CellServDB</p>
    </td>
   </tr>
  </table>
  
  <p class=MsoNormal style='margin-left:35.45pt'>Note that the ComponentId is an
! uppercase GUID.<span style='mso-spacerun:yes'>  </span>You can generate one
! using GUIDGEN.EXE or UUIDGEN.EXE, both of which are included in the Platform
! SDK.</p>
  
  <p class=MsoNormal style='margin-left:35.45pt'>The Attributes value of 144 is a
  sum of msidbComponentAttributesPermanent (16) and
! msidbComponentAttributesNeverOverwrite (128).<span style='mso-spacerun:yes'> 
! </span>This ensures that local modifications are not overwritten or lost during
! an installation or uninstallation.<span style='mso-spacerun:yes'>  </span>These
! are the same settings used on the default configuration files.</p>
! 
! <p class=MsoNormal><span style='mso-tab-count:1'>            </span>'fil_my_CellServDB'
! is a key into the 'File' table which we will fill later.</p>
! 
! <p class=MsoNormal style='margin-left:18.0pt;text-indent:-18.0pt;mso-list:l23 level1 lfo32;
! tab-stops:list 18.0pt'><![if !supportLists]><span style='mso-fareast-font-family:
! Thorndale;mso-bidi-font-family:Thorndale'><span style='mso-list:Ignore'>3.<span
! style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><![endif]>Add
  a new feature to hold the new component.</p>
  
! <p class=MsoNormal style='margin-left:39.6pt;text-indent:-21.6pt;mso-list:l23 level2 lfo32;
! tab-stops:list 39.6pt'><![if !supportLists]><span style='mso-fareast-font-family:
! Thorndale;mso-bidi-font-family:Thorndale'><span style='mso-list:Ignore'>3.1.<span
! style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp; </span></span></span><![endif]>Select
! the 'Feature' table.</p>
! 
! <p class=MsoNormal style='margin-left:39.6pt;text-indent:-21.6pt;mso-list:l23 level2 lfo32;
! tab-stops:list 39.6pt'><![if !supportLists]><span style='mso-fareast-font-family:
! Thorndale;mso-bidi-font-family:Thorndale'><span style='mso-list:Ignore'>3.2.<span
! style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp; </span></span></span><![endif]>Add
! a new row (Ctrl-R or 'Tables'-&gt;'Add Row') with the following values:</p>
  
  <table class=MsoTableGrid border=1 cellspacing=0 cellpadding=0
!  style='margin-left:40.1pt;border-collapse:collapse;border:none;mso-border-alt:
!  solid windowtext .5pt;mso-yfti-tbllook:480;mso-padding-alt:0pt 5.4pt 0pt 5.4pt;
!  mso-border-insideh:.5pt solid windowtext;mso-border-insidev:.5pt solid windowtext'>
!  <tr style='mso-yfti-irow:0;mso-yfti-firstrow:yes'>
    <td width=126 valign=top style='width:94.8pt;border:solid windowtext 1.0pt;
!   mso-border-alt:solid windowtext .5pt;padding:0pt 5.4pt 0pt 5.4pt'>
    <p class=PreformattedText>Feature</p>
    </td>
    <td width=462 valign=top style='width:346.2pt;border:solid windowtext 1.0pt;
!   border-left:none;mso-border-left-alt:solid windowtext .5pt;mso-border-alt:
!   solid windowtext .5pt;padding:0pt 5.4pt 0pt 5.4pt'>
    <p class=PreformattedText>fea_my_CellServDB</p>
    </td>
   </tr>
!  <tr style='mso-yfti-irow:1'>
    <td width=126 valign=top style='width:94.8pt;border:solid windowtext 1.0pt;
!   border-top:none;mso-border-top-alt:solid windowtext .5pt;mso-border-alt:solid windowtext .5pt;
!   padding:0pt 5.4pt 0pt 5.4pt'>
    <p class=PreformattedText>Feature_Parent</p>
    </td>
    <td width=462 valign=top style='width:346.2pt;border-top:none;border-left:
    none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
!   mso-border-top-alt:solid windowtext .5pt;mso-border-left-alt:solid windowtext .5pt;
!   mso-border-alt:solid windowtext .5pt;padding:0pt 5.4pt 0pt 5.4pt'>
    <p class=PreformattedText>feaClient</p>
    </td>
   </tr>
!  <tr style='mso-yfti-irow:2'>
    <td width=126 valign=top style='width:94.8pt;border:solid windowtext 1.0pt;
!   border-top:none;mso-border-top-alt:solid windowtext .5pt;mso-border-alt:solid windowtext .5pt;
!   padding:0pt 5.4pt 0pt 5.4pt'>
    <p class=PreformattedText>Title</p>
    </td>
    <td width=462 valign=top style='width:346.2pt;border-top:none;border-left:
    none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
!   mso-border-top-alt:solid windowtext .5pt;mso-border-left-alt:solid windowtext .5pt;
!   mso-border-alt:solid windowtext .5pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <p class=PreformattedText><o:p>&nbsp;</o:p></p>
    </td>
   </tr>
!  <tr style='mso-yfti-irow:3'>
    <td width=126 valign=top style='width:94.8pt;border:solid windowtext 1.0pt;
!   border-top:none;mso-border-top-alt:solid windowtext .5pt;mso-border-alt:solid windowtext .5pt;
!   padding:0pt 5.4pt 0pt 5.4pt'>
    <p class=PreformattedText>Description</p>
    </td>
    <td width=462 valign=top style='width:346.2pt;border-top:none;border-left:
    none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
!   mso-border-top-alt:solid windowtext .5pt;mso-border-left-alt:solid windowtext .5pt;
!   mso-border-alt:solid windowtext .5pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <p class=PreformattedText><o:p>&nbsp;</o:p></p>
    </td>
   </tr>
!  <tr style='mso-yfti-irow:4'>
    <td width=126 valign=top style='width:94.8pt;border:solid windowtext 1.0pt;
!   border-top:none;mso-border-top-alt:solid windowtext .5pt;mso-border-alt:solid windowtext .5pt;
!   padding:0pt 5.4pt 0pt 5.4pt'>
    <p class=PreformattedText>Display</p>
    </td>
    <td width=462 valign=top style='width:346.2pt;border-top:none;border-left:
    none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
!   mso-border-top-alt:solid windowtext .5pt;mso-border-left-alt:solid windowtext .5pt;
!   mso-border-alt:solid windowtext .5pt;padding:0pt 5.4pt 0pt 5.4pt'>
    <p class=PreformattedText>0</p>
    </td>
   </tr>
!  <tr style='mso-yfti-irow:5'>
    <td width=126 valign=top style='width:94.8pt;border:solid windowtext 1.0pt;
!   border-top:none;mso-border-top-alt:solid windowtext .5pt;mso-border-alt:solid windowtext .5pt;
!   padding:0pt 5.4pt 0pt 5.4pt'>
    <p class=PreformattedText>Level</p>
    </td>
    <td width=462 valign=top style='width:346.2pt;border-top:none;border-left:
    none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
!   mso-border-top-alt:solid windowtext .5pt;mso-border-left-alt:solid windowtext .5pt;
!   mso-border-alt:solid windowtext .5pt;padding:0pt 5.4pt 0pt 5.4pt'>
    <p class=PreformattedText>30</p>
    </td>
   </tr>
!  <tr style='mso-yfti-irow:6'>
    <td width=126 valign=top style='width:94.8pt;border:solid windowtext 1.0pt;
!   border-top:none;mso-border-top-alt:solid windowtext .5pt;mso-border-alt:solid windowtext .5pt;
!   padding:0pt 5.4pt 0pt 5.4pt'>
    <p class=PreformattedText>Directory_</p>
    </td>
    <td width=462 valign=top style='width:346.2pt;border-top:none;border-left:
    none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
!   mso-border-top-alt:solid windowtext .5pt;mso-border-left-alt:solid windowtext .5pt;
!   mso-border-alt:solid windowtext .5pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <p class=PreformattedText><o:p>&nbsp;</o:p></p>
    </td>
   </tr>
!  <tr style='mso-yfti-irow:7;mso-yfti-lastrow:yes'>
    <td width=126 valign=top style='width:94.8pt;border:solid windowtext 1.0pt;
!   border-top:none;mso-border-top-alt:solid windowtext .5pt;mso-border-alt:solid windowtext .5pt;
!   padding:0pt 5.4pt 0pt 5.4pt'>
    <p class=PreformattedText>Attributes</p>
    </td>
    <td width=462 valign=top style='width:346.2pt;border-top:none;border-left:
    none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
!   mso-border-top-alt:solid windowtext .5pt;mso-border-left-alt:solid windowtext .5pt;
!   mso-border-alt:solid windowtext .5pt;padding:0pt 5.4pt 0pt 5.4pt'>
    <p class=PreformattedText>8</p>
    </td>
   </tr>
--- 1928,2595 ----
  <p class=MsoNormal>For general information about &quot;Windows Installer&quot;,
  refer to:</p>
  
! <p class=MsoNormal>    <a
  href="http://msdn.microsoft.com/library/en-us/msi/setup/windows_installer_start_page.asp">http://msdn.microsoft.com/library/en-us/msi/setup/windows_installer_start_page.asp</a></p>
  
  <p class=MsoNormal>For general information about authoring MSI transforms,
  refer to:</p>
  
! <p class=MsoNormal>    <a
  href="http://msdn.microsoft.com/library/en-us/msi/setup/transforms.asp">http://msdn.microsoft.com/library/en-us/msi/setup/transforms.asp</a></p>
  
  <p class=MsoNormal>The remainder of this document assumes some familiarity with
! authoring transforms.  While the MSDN documentation for Windows Installer is a
! bit dense, the guide on MSI transforms found at the second link above is
! recommended reading.  MSDN also includes a step-by-step example for creating a
! transform at:</p>
  
! <p class=MsoNormal>    <a
  href="http://msdn.microsoft.com/library/en-us/msi/setup/a_customization_transform_example.asp">http://msdn.microsoft.com/library/en-us/msi/setup/a_customization_transform_example.asp</a></p>
  
! <h3 style='margin-left:0pt;text-indent:0pt'><a name="_Toc139981008"></a><a
! name="_Toc126872230"></a><a name="_Toc115416161">7.1.2 Authoring a Transform</a></h3>
  
  <p class=MsoNormal>Transforms describe a set of modifications to be performed
! on an existing MSI for the purpose of customizing it.  This is ordinarily done
! by making a copy of the MSI to be customized, modifying the copy and then using
! the old and the new MSI to generate a transform.  For example:</p>
! 
! <p class=PreformattedText style='margin-left:36.0pt;text-indent:-18.0pt'>1.<span
! style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp; </span>copy openafs.msi
! openafs-modified.msi</p>
! 
! <p class=PreformattedText style='margin-left:36.0pt;text-indent:-18.0pt'>2.<span
! style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp; </span>(edit the
! openafs-modified.msi to include the necessary changes)</p>
! 
! <p class=PreformattedText style='margin-left:36.0pt;text-indent:-18.0pt'>3.<span
! style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp; </span>msitran -g
! openafs.msi openafs-modified.msi openafs-transform.mst</p>
! 
! <p class=PreformattedText style='margin-left:36.0pt;text-indent:-18.0pt'>4.<span
! style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp; </span>(generates
! openafs-transform.mst, which is the transform)</p>
! 
! <p class=MsoNormal>Transforms have an extension of .mst.  'msitran' is a tool
! distributed as part of the &quot;Windows Installer&quot; SDK (part of the
! Windows Platform SDK).</p>
  
  <p class=MsoNormal>You can test a transform by:</p>
  
! <p class=PreformattedText style='margin-left:36.0pt;text-indent:-18.0pt'>1.<span
! style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp; </span>copy openafs.msi
! openafs-test.msi</p>
! 
! <p class=PreformattedText style='margin-left:36.0pt;text-indent:-18.0pt'>2.<span
! style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp; </span>msitran -a
! openafs-transform.mst openafs-test.msi</p>
  
  <p class=MsoNormal>and then checking the resulting openafs-test.msi to see if
  all changes you have made above to openafs-modified.msi is present in
! openafs-test.msi.  '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.  More details are
! given below.</p>
  
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc139981009"></a><a
! name="_Toc126872231"></a><a name="_Toc115417100"></a><a name="_Toc115416162">7.2.
! Configuration Options</a></h2>
  
  <p class=MsoNormal>The logic necessary to implement many of the settings
! described in <a
! href="../../oafw-1-4-release-notes.doc#_Appendix_A:_Registry_Values">Appendix A</a>
! are present in the MSI.  Most of these can be controlled by setting the
! corresponding properties to the desired value.  Some settings may require
  modifying existing registry entries (though not recommended) or adding new
! resources (like files or registry keys).  Instructions for performing these
! tasks are below.</p>
  
! <h3 style='margin-left:0pt;text-indent:0pt'><a name="_Toc139981010"></a><a
! name="_Toc126872232"></a><a name="_Toc115416163">7.2.1 Configurable Properties</a></h3>
  
  <p class=MsoNormal>Most configurable properties correspond to registry keys or
! values.  Due to the logic invoked based on the existence of these registry keys
! or values, they are only set if the associated property is defined to have a
! non null value.  If the associated property is not defined in the MSI, the
! registry key or value will not be touched.  By default, the MSI does not
! contain these properties and hence will not set the registry keys.  You will
! need to add properties as needed to the MSI.</p>
  
  <p class=MsoNormal>When one of the configurable properties is set, the
  installer will use the property value to set the corresponding setting in the
! HKEY_LOCAL_MACHINE registry hive.  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="../../oafw-1-4-release-notes.doc#_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 ''.  Note that you can't author null values into the
! 'Property' table.</p>
  
  <p class=MsoNormal>Numeric values should be authored as decimal strings.</p>
  
! <h4><a name="_Toc139981011"></a><a name="_Toc126872233"></a><a
! name="_Toc115416164">7.2.1.1 Setting Properties</a></h4>
  
  <p class=MsoNormal>In order to set a property,</p>
  
  <p class=MsoNormal style='margin-top:4.3pt;margin-right:0pt;margin-bottom:4.3pt;
! margin-left:18.0pt;text-indent:-18.0pt'><span style='font-size:9.0pt'>1.<span
  style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
! </span></span>Open the MSI in ORCA.EXE</p>
  
  <p class=MsoNormal style='margin-top:4.3pt;margin-right:0pt;margin-bottom:4.3pt;
! margin-left:18.0pt;text-indent:-18.0pt'><span style='font-size:9.0pt'>2.<span
  style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
! </span></span>Select the 'Property' table from the list of tables on the left.</p>
  
  <p class=MsoNormal style='margin-top:4.3pt;margin-right:0pt;margin-bottom:4.3pt;
! margin-left:18.0pt;text-indent:-18.0pt'><span style='font-size:9.0pt'>3.<span
  style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
! </span></span>Find the property in the list of properties on the right, double
! click the value and type the new value.</p>
  
  <p class=MsoNormal style='margin-top:4.3pt;margin-right:0pt;margin-bottom:4.3pt;
! margin-left:18.0pt;text-indent:-18.0pt'><span style='font-size:9.0pt'>4.<span
  style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
! </span></span>If the property does not exist in the property list, right click
! the list and select 'Add Row', type the property name and the desired value.</p>
! 
! <h4><a name="_Toc139981012"></a><a name="_Toc126872234"></a><a
! name="_Toc115416165">7.2.1.2 OpenAFS for Windows Properties</a></h4>
! 
! <table class=MsoTableWeb1 border=1 cellspacing=3 cellpadding=0>
!  <tr>
!   <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <h5><a name="_Toc139981013"></a><a name="_Toc126872235"></a><a
!   name="_Toc115416166"></a><a name="_(Service_parameters):"></a>(Service
!   parameters):</h5>
!   <p class=ListContents style='margin-left:0pt'>[HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters]</p>
!   </td>
!  </tr>
!  <tr>
!   <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <h5><a name="_Toc139981014"></a><a name="_Toc126872236"></a><a
!   name="_Toc115416167"></a><a name="_(Network_provider):"></a>(Network
!   provider):</h5>
    <p class=ListContents style='margin-left:0pt'>[HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider]</p>
    </td>
   </tr>
!  <tr>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <h5><a name="_Toc139981015"></a><a name="_Toc126872237"></a><a
!   name="_Toc115416168"></a><a name="_(OpenAFS_Client):"></a>(OpenAFS Client):</h5>
!   <p class=ListContents style='margin-left:0pt'>[HKLM\SOFTWARE\OpenAFS\Client]</p>
    </td>
   </tr>
  </table>
  
! <h5><a name="_Toc139981016"></a><a name="_Toc126872238"></a><a
! name="_Toc115416169">7.2.1.2.1 Registry Properties</a></h5>
  
  <p class=MsoNormal>These properties are used to set the values of registry
  entries associated with OpenAFS for Windows.</p>
  
! <table class=MsoTableWeb1 border=1 cellspacing=3 cellpadding=0>
!  <tr>
!   <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <h6><a name="_Toc139981017"></a><a name="_Toc126872239"></a><a
!   name="_Toc115416170">AFSCACHEPATH</a></h6>
!   <p class=MsoList>Registry key    : <a
!   href="../../oafw-1-4-release-notes.doc#_(Service_parameters):">(Service
!   parameters)</a></p>
!   <p class=MsoList>Registry value : <a
!   href="../../oafw-1-4-release-notes.doc#_Value_:_CachePath">CachePath</a></p>
!   <p class=MsoList>Valid values    : string .</p>
!   </td>
!  </tr>
!  <tr>
!   <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <h6><a name="_Toc139981018"></a><a name="_Toc126872240"></a><a
!   name="_Toc115416171">AFSCACHESIZE</a></h6>
!   <p class=MsoList>Registry key    : <a
!   href="../../oafw-1-4-release-notes.doc#_(Service_parameters):">(Service
!   parameters)</a></p>
    <p class=MsoList>Registry value : <a
!   href="../../oafw-1-4-release-notes.doc#_Value___: CacheSize">CacheSize</a></p>
!   <p class=MsoList>Valid values    : numeric</p>
!   </td>
!  </tr>
!  <tr>
!   <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <h6><a name="_Toc139981019"></a><a name="_Toc126872241"></a><a
!   name="_Toc115416172">AFSCELLNAME</a></h6>
!   <p class=MsoList>Registry key    : <a
!   href="../../oafw-1-4-release-notes.doc#_(Service_parameters):">(Service
!   parameters)</a></p>
!   <p class=MsoList>Registry value : <a
!   href="../../oafw-1-4-release-notes.doc#_Value_:_Cell">Cell</a></p>
!   <p class=MsoList>Valid values    : string</p>
!   </td>
!  </tr>
!  <tr>
!   <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <h6><a name="_Toc139981020"></a><a name="_Toc126872242"></a><a
!   name="_Toc115416173">FREELANCEMODE</a></h6>
!   <p class=MsoList>Registry key    : <a
!   href="../../oafw-1-4-release-notes.doc#_(Service_parameters):">(Service
!   parameters)</a></p>
!   <p class=MsoList>Registry value : <a
!   href="../../oafw-1-4-release-notes.doc#_Value_:_FreelanceClient">FreelanceClient</a></p>
!   <p class=MsoList>Valid values    : '1' or '0'</p>
!   </td>
!  </tr>
!  <tr>
!   <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <h6><a name="_Toc139981021"></a><a name="_Toc126872243"></a><a
!   name="_Toc115416174">HIDEDOTFILES</a></h6>
!   <p class=MsoList>Registry key    : <a
!   href="../../oafw-1-4-release-notes.doc#_(Service_parameters):">(Service
!   parameters)</a></p>
!   <p class=MsoList>Registry value : <a
!   href="../../oafw-1-4-release-notes.doc#_Value_:_HideDotFiles">HideDotFiles</a></p>
!   <p class=MsoList>Valid values    : '1' or '0'</p>
!   </td>
!  </tr>
!  <tr>
!   <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <h6><a name="_Toc139981022"></a><a name="_Toc126872244"></a><a
!   name="_Toc115416175">LOGONOPTIONS</a></h6>
!   <p class=MsoList>Registry key    : <a
!   href="../../oafw-1-4-release-notes.doc#_(Network_provider):">(Network
!   provider)</a></p>
!   <p class=MsoList>Registry value : <a
!   href="../../oafw-1-4-release-notes.doc#_Value___: LogonOptions">LogonOptions</a></p>
!   <p class=MsoList>Valid values    : '0', '1' or '3'</p>
    <p class=MsoNormal>See <a
!   href="../../oafw-1-4-release-notes.doc#_Appendix_A:_Registry_Values">Appendix
!   A</a> <a
!   href="../../oafw-1-4-release-notes.doc#_A.2.1_Domain_specific_configuration">section
    2.1 (Domain specific configuration keys for Network Provider)</a> for more
    details.</p>
    </td>
   </tr>
!  <tr>
!   <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <h6><a name="_Toc139981023"></a><a name="_Toc126872245"></a><a
!   name="_Toc115416176">MOUNTROOT</a></h6>
!   <p class=MsoList>Registry key    : <a
!   href="../../oafw-1-4-release-notes.doc#_(Service_parameters):">(Service
!   parameters)</a></p>
!   <p class=MsoList>Registry value : <a
!   href="../../oafw-1-4-release-notes.doc#_Value_:_Mountroot">Mountroot</a></p>
!   <p class=MsoList>Valid values    : string</p>
!   </td>
!  </tr>
!  <tr>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <h6><a name="_Toc139981024"></a><a name="_Toc126872246"></a><a
!   name="_Toc115416177">NETBIOSNAME</a></h6>
!   <p class=MsoList>Registry key    : <a
!   href="../../oafw-1-4-release-notes.doc#_(Service_parameters):">(Service
!   parameters)</a></p>
!   <p class=MsoList>Registry value : <a
!   href="../../oafw-1-4-release-notes.doc#_Value___: NetbiosName">NetbiosName</a></p>
!   <p class=MsoList>Valid values    : string (at most 15 characters)</p>
!   </td>
!  </tr>
!  <tr>
!   <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <h6><a name="_Toc139981025"></a><a name="_Toc126872247"></a><a
!   name="_Toc115416178">NOFINDLANABYNAME</a></h6>
!   <p class=MsoList>Registry key    : <a
!   href="../../oafw-1-4-release-notes.doc#_(Service_parameters):">(Service
!   parameters)</a></p>
!   <p class=MsoList>Registry value : <a
!   href="../../oafw-1-4-release-notes.doc#_Value___: NoFindLanaByName">NoFindLanaByName</a></p>
!   <p class=MsoList>Valid values    : '1' or '0'</p>
!   </td>
!  </tr>
!  <tr>
!   <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <h6><a name="_Toc139981026"></a><a name="_Toc126872248"></a><a
!   name="_Toc115416179">RXMAXMTU</a></h6>
!   <p class=MsoList>Registry key    : <a
!   href="../../oafw-1-4-release-notes.doc#_(Service_parameters):">(Service
!   parameters)</a></p>
!   <p class=MsoList>Registry value : <a
!   href="../../oafw-1-4-release-notes.doc#_Value_:_RxMaxMTU">RxMaxMTU</a></p>
!   <p class=MsoList>Valid values    : numeric</p>
!   </td>
!  </tr>
!  <tr>
!   <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <h6><a name="_Toc139981027"></a><a name="_Toc126872249"></a><a
!   name="_Toc115416180">SECURITYLEVEL</a></h6>
!   <p class=MsoList>Registry key    : <a
!   href="../../oafw-1-4-release-notes.doc#_(Service_parameters):">(Service
!   parameters)</a></p>
!   <p class=MsoList>Registry value : <a
!   href="../../oafw-1-4-release-notes.doc#_Value_:_SecurityLevel">SecurityLevel</a></p>
!   <p class=MsoList>Valid values    : '1' or '0'</p>
!   </td>
!  </tr>
!  <tr>
!   <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <h6><a name="_Toc139981028"></a><a name="_Toc126872250"></a><a
!   name="_Toc115416181">SMBAUTHTYPE</a></h6>
!   <p class=MsoList>Registry key    : <a
!   href="../../oafw-1-4-release-notes.doc#_(Service_parameters):">(Service
!   parameters)</a></p>
!   <p class=MsoList>Registry value : <a
!   href="../../oafw-1-4-release-notes.doc#_Value___: smbAuthType">SMBAuthType</a></p>
!   <p class=MsoList>Valid values    : '0','1' or '2'</p>
!   </td>
!  </tr>
!  <tr>
!   <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <h6><a name="_Toc139981029"></a><a name="_Toc126872251"></a><a
!   name="_Toc115416182">STOREANSIFILENAMES</a></h6>
!   <p class=MsoList>Registry key    : <a
!   href="../../oafw-1-4-release-notes.doc#_(OpenAFS_Client):">(OpenAFS Client)</a></p>
!   <p class=MsoList>Registry value : <a
!   href="../../oafw-1-4-release-notes.doc#_Value___: StoreAnsiFilenames">StoreAnsiFilenames</a></p>
!   <p class=MsoList>Valid values    : '0' or '1'</p>
!   </td>
!  </tr>
!  <tr>
!   <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <h6><a name="_Toc139981030"></a><a name="_Toc126872252"></a><a
!   name="_Toc115416183">USEDNS</a></h6>
!   <p class=MsoList>Registry key    : <a
!   href="../../oafw-1-4-release-notes.doc#_(Service_parameters):">(Service
!   parameters)</a></p>
!   <p class=MsoList>Registry value : <a
!   href="../../oafw-1-4-release-notes.doc#_Value_:_UseDNS">UseDNS</a></p>
!   <p class=MsoList>Valid values    : '1' or '0'</p>
    </td>
   </tr>
  </table>
  
! <h5><a name="_Toc139981031"></a><a name="_Toc126872253"></a><a
! name="_Toc115416184"></a><a name="_7.2.1.2.2_AFSCreds.exe_Properties"></a>7.2.1.2.2
! AFSCreds.exe Properties</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).  The method of specifying
! the option was chosen for easy integration with the Windows Installer user
! interface.  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=MsoTableWeb1 border=1 cellspacing=3 cellpadding=0>
!  <tr>
!   <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <h6><a name="_Toc139981032"></a><a name="_Toc126872254"></a><a
!   name="_Toc115416185">CREDSSTARTUP</a></h6>
!   <p class=MsoList>Valid values    : '1' or '0'</p>
!   <p class=MsoList>Controls whether AFSCreds.exe starts up automatically when the
!   user logs on.  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>
!   <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <h6><a name="_Toc139981033"></a><a name="_Toc126872255"></a><a
!   name="_Toc115416186">CREDSAUTOINIT</a></h6>
!   <p class=MsoList>Valid values    : '-a' or ''</p>
    <p class=MsoList>Enables automatic initialization.</p>
    </td>
   </tr>
!  <tr>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <h6><a name="_Toc139981034"></a><a name="_Toc126872256"></a><a
!   name="_Toc115416187">CREDSIPCHDET</a></h6>
!   <p class=MsoList>Valid values    : '-n' or ''</p>
    <p class=MsoList>Enables IP address change detection.</p>
    </td>
   </tr>
!  <tr>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <h6><a name="_Toc139981035"></a><a name="_Toc126872257"></a><a
!   name="_Toc115416188">CREDSQUIET</a></h6>
!   <p class=MsoList>Valid values    : '-q' or ''</p>
    <p class=MsoList>Enables quiet mode.</p>
    </td>
   </tr>
!  <tr>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <h6><a name="_Toc139981036"></a><a name="_Toc126872258"></a><a
!   name="_Toc115416189">CREDSRENEWDRMAP</a></h6>
!   <p class=MsoList>Valid values    : '-m' or '’</p>
    <p class=MsoList>Enables renewing drive map at startup.</p>
    </td>
   </tr>
!  <tr>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <h6><a name="_Toc139981037"></a><a name="_Toc126872259"></a><a
!   name="_Toc115416190">CREDSSHOW</a></h6>
!   <p class=MsoList>Valid values    : '-s' or ''</p>
    <p class=MsoList>Enables displaying the credential manager window when
    AFSCREDS starts up.</p>
    </td>
   </tr>
  </table>
  
! <h3 style='margin-left:0pt;text-indent:0pt'><a name="_Toc139981038"></a><a
! name="_Toc126872260"></a><a name="_Toc115416191">7.2.2 Existing Registry
! Entries</a></h3>
  
  <p class=MsoNormal>You can change existing registry values subject to the
! restrictions mentioned in the Windows Platform SDK.  Pay special attention to
! component key paths and try to only change the 'Value' column in the 'Registry'
! table.  If you want to add additional registry keys please refer to section 3
! (Additional resources).</p>
! 
! <h3 style='margin-left:0pt;text-indent:0pt'><a name="_Toc139981039"></a><a
! name="_Toc126872261"></a><a name="_Toc115416192">7.2.3 Replacing Configuration
! Files</a></h3>
  
  <p class=MsoNormal>The OpenAFS configuration files (CellServDB) can be replaced
! by your own configuration files.  These files are contained in separate MSI
! components so that you can disable them individually.</p>
  
  <p class=MsoNormal>The recommended method for replacing these files is to first
  disable the components containing the configuration files that you want to
! replace, and then add new components for the replacement files.  This is
! outlined below (assuming you are using ORCA.EXE to author the transform).</p>
  
  <p class=MsoNormal>Note that transforms are not a good way to add a new file as
! an embedded stream.  The method outlined here places the file in the same
! directory as the MSI for deployment.</p>
  
  <p class=MsoNormal>The walkthrough below is to add a custom 'CellServDB' file.</p>
  
  <p class=MsoNormal style='margin-top:4.3pt;margin-right:0pt;margin-bottom:4.3pt;
! margin-left:18.0pt;text-indent:-18.0pt'>1.<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
! </span>Disable the component that contains the configuration file that you want
! to replace.</p>
  
  <p class=MsoNormal style='margin-top:4.3pt;margin-right:0pt;margin-bottom:4.3pt;
! margin-left:39.6pt;text-indent:-21.6pt'>1.1.<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;
! </span>Locate and select the 'Component' table in the 'Tables' list.</p>
  
  <p class=MsoNormal style='margin-top:4.3pt;margin-right:0pt;margin-bottom:4.3pt;
! margin-left:39.6pt;text-indent:-21.6pt'>1.2.<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;
! </span>In the Component table, locate the component you need to change ( Ctrl-F
! invokes the 'Find' dialog).  The component names are listed below in section <a
! href="../../oafw-1-4-release-notes.doc#_2.3.1_Components_for_Configuration ">7.2.3.1</a>. 
! For this example, the component name is 'elf_CellServDB'.</p>
  
  <p class=MsoNormal style='margin-top:4.3pt;margin-right:0pt;margin-bottom:4.3pt;
! margin-left:39.6pt;text-indent:-21.6pt'>1.3.<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;
! </span>Go to the 'Condition' column of the component.</p>
  
  <p class=MsoNormal style='margin-top:4.3pt;margin-right:0pt;margin-bottom:4.3pt;
! margin-left:39.6pt;text-indent:-21.6pt'>1.4.<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;
! </span>Enter a condition that evaluates to false. I.e. 'DONOTINSTALL'. (Note
! that an undefined property always evaluates to false).</p>
  
  <p class=MsoNormal>Note that you can also use this step to disable other
  configuration files without providing replacements.</p>
  
! <p class=MsoNormal style='margin-left:18.0pt;text-indent:-18.0pt'>2.<span
! style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>Add
  a new component containing the new configuration file.</p>
  
! <p class=MsoNormal style='margin-left:39.6pt;text-indent:-21.6pt'>2.1.<span
! style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp; </span>Select the 'Component'
! table in the 'Tables' list.</p>
! 
! <p class=MsoNormal style='margin-left:39.6pt;text-indent:-21.6pt'>2.2.<span
! style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp; </span>Select
  'Tables'-&gt;'Add Row' (Ctrl-R).</p>
  
! <p class=MsoNormal style='margin-left:39.6pt;text-indent:-21.6pt'>2.3.<span
! style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp; </span>Enter the following :</p>
  
  <table class=MsoTableGrid border=1 cellspacing=0 cellpadding=0
!  style='margin-left:39.35pt;border-collapse:collapse;border:none'>
!  <tr style='height:23.35pt'>
    <td width=115 valign=top style='width:86.25pt;border:solid windowtext 1.0pt;
!   padding:0pt 5.4pt 0pt 5.4pt;height:23.35pt'>
    <p class=PreformattedText>Component</p>
    </td>
    <td width=475 valign=top style='width:356.55pt;border:solid windowtext 1.0pt;
!   border-left:none;padding:0pt 5.4pt 0pt 5.4pt;height:23.35pt'>
    <p class=PreformattedText>cmf_my_CellServDB</p>
    </td>
   </tr>
!  <tr>
    <td width=115 valign=top style='width:86.25pt;border:solid windowtext 1.0pt;
!   border-top:none;padding:0pt 5.4pt 0pt 5.4pt'>
    <p class=PreformattedText>ComponentID</p>
    </td>
    <td width=475 valign=top style='width:356.55pt;border-top:none;border-left:
    none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
!   padding:0pt 5.4pt 0pt 5.4pt'>
    <p class=PreformattedText>{7019836F-BB2C-4AF6-9463-0D6EC9035CF1}</p>
    </td>
   </tr>
!  <tr>
    <td width=115 valign=top style='width:86.25pt;border:solid windowtext 1.0pt;
!   border-top:none;padding:0pt 5.4pt 0pt 5.4pt'>
    <p class=PreformattedText>Directory_</p>
    </td>
    <td width=475 valign=top style='width:356.55pt;border-top:none;border-left:
    none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
!   padding:0pt 5.4pt 0pt 5.4pt'>
    <p class=PreformattedText>dirClient</p>
    </td>
   </tr>
!  <tr>
    <td width=115 valign=top style='width:86.25pt;border:solid windowtext 1.0pt;
!   border-top:none;padding:0pt 5.4pt 0pt 5.4pt'>
    <p class=PreformattedText>Attributes</p>
    </td>
    <td width=475 valign=top style='width:356.55pt;border-top:none;border-left:
    none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
!   padding:0pt 5.4pt 0pt 5.4pt'>
    <p class=PreformattedText>144</p>
    </td>
   </tr>
!  <tr>
    <td width=115 valign=top style='width:86.25pt;border:solid windowtext 1.0pt;
!   border-top:none;padding:0pt 5.4pt 0pt 5.4pt'>
    <p class=PreformattedText>Condition</p>
    </td>
    <td width=475 valign=top style='width:356.55pt;border-top:none;border-left:
    none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
!   padding:0pt 5.4pt 0pt 5.4pt'>
!   <p class=PreformattedText>&nbsp;</p>
    </td>
   </tr>
!  <tr>
    <td width=115 valign=top style='width:86.25pt;border:solid windowtext 1.0pt;
!   border-top:none;padding:0pt 5.4pt 0pt 5.4pt'>
    <p class=PreformattedText>KeyPath</p>
    </td>
    <td width=475 valign=top style='width:356.55pt;border-top:none;border-left:
    none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
!   padding:0pt 5.4pt 0pt 5.4pt'>
    <p class=PreformattedText>fil_my_CellServDB</p>
    </td>
   </tr>
  </table>
  
  <p class=MsoNormal style='margin-left:35.45pt'>Note that the ComponentId is an
! uppercase GUID.  You can generate one using GUIDGEN.EXE or UUIDGEN.EXE, both of
! which are included in the Platform SDK.</p>
  
  <p class=MsoNormal style='margin-left:35.45pt'>The Attributes value of 144 is a
  sum of msidbComponentAttributesPermanent (16) and
! msidbComponentAttributesNeverOverwrite (128).  This ensures that local
! modifications are not overwritten or lost during an installation or
! uninstallation.  These are the same settings used on the default configuration
! files.</p>
! 
! <p class=MsoNormal>            'fil_my_CellServDB' is a key into the 'File'
! table which we will fill later.</p>
! 
! <p class=MsoNormal style='margin-left:18.0pt;text-indent:-18.0pt'>3.<span
! style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>Add
  a new feature to hold the new component.</p>
  
! <p class=MsoNormal style='margin-left:39.6pt;text-indent:-21.6pt'>3.1.<span
! style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp; </span>Select the 'Feature'
! table.</p>
! 
! <p class=MsoNormal style='margin-left:39.6pt;text-indent:-21.6pt'>3.2.<span
! style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp; </span>Add a new row (Ctrl-R
! or 'Tables'-&gt;'Add Row') with the following values:</p>
  
  <table class=MsoTableGrid border=1 cellspacing=0 cellpadding=0
!  style='margin-left:40.1pt;border-collapse:collapse;border:none'>
!  <tr>
    <td width=126 valign=top style='width:94.8pt;border:solid windowtext 1.0pt;
!   padding:0pt 5.4pt 0pt 5.4pt'>
    <p class=PreformattedText>Feature</p>
    </td>
    <td width=462 valign=top style='width:346.2pt;border:solid windowtext 1.0pt;
!   border-left:none;padding:0pt 5.4pt 0pt 5.4pt'>
    <p class=PreformattedText>fea_my_CellServDB</p>
    </td>
   </tr>
!  <tr>
    <td width=126 valign=top style='width:94.8pt;border:solid windowtext 1.0pt;
!   border-top:none;padding:0pt 5.4pt 0pt 5.4pt'>
    <p class=PreformattedText>Feature_Parent</p>
    </td>
    <td width=462 valign=top style='width:346.2pt;border-top:none;border-left:
    none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
!   padding:0pt 5.4pt 0pt 5.4pt'>
    <p class=PreformattedText>feaClient</p>
    </td>
   </tr>
!  <tr>
    <td width=126 valign=top style='width:94.8pt;border:solid windowtext 1.0pt;
!   border-top:none;padding:0pt 5.4pt 0pt 5.4pt'>
    <p class=PreformattedText>Title</p>
    </td>
    <td width=462 valign=top style='width:346.2pt;border-top:none;border-left:
    none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
!   padding:0pt 5.4pt 0pt 5.4pt'>
!   <p class=PreformattedText>&nbsp;</p>
    </td>
   </tr>
!  <tr>
    <td width=126 valign=top style='width:94.8pt;border:solid windowtext 1.0pt;
!   border-top:none;padding:0pt 5.4pt 0pt 5.4pt'>
    <p class=PreformattedText>Description</p>
    </td>
    <td width=462 valign=top style='width:346.2pt;border-top:none;border-left:
    none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
!   padding:0pt 5.4pt 0pt 5.4pt'>
!   <p class=PreformattedText>&nbsp;</p>
    </td>
   </tr>
!  <tr>
    <td width=126 valign=top style='width:94.8pt;border:solid windowtext 1.0pt;
!   border-top:none;padding:0pt 5.4pt 0pt 5.4pt'>
    <p class=PreformattedText>Display</p>
    </td>
    <td width=462 valign=top style='width:346.2pt;border-top:none;border-left:
    none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
!   padding:0pt 5.4pt 0pt 5.4pt'>
    <p class=PreformattedText>0</p>
    </td>
   </tr>
!  <tr>
    <td width=126 valign=top style='width:94.8pt;border:solid windowtext 1.0pt;
!   border-top:none;padding:0pt 5.4pt 0pt 5.4pt'>
    <p class=PreformattedText>Level</p>
    </td>
    <td width=462 valign=top style='width:346.2pt;border-top:none;border-left:
    none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
!   padding:0pt 5.4pt 0pt 5.4pt'>
    <p class=PreformattedText>30</p>
    </td>
   </tr>
!  <tr>
    <td width=126 valign=top style='width:94.8pt;border:solid windowtext 1.0pt;
!   border-top:none;padding:0pt 5.4pt 0pt 5.4pt'>
    <p class=PreformattedText>Directory_</p>
    </td>
    <td width=462 valign=top style='width:346.2pt;border-top:none;border-left:
    none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
!   padding:0pt 5.4pt 0pt 5.4pt'>
!   <p class=PreformattedText>&nbsp;</p>
    </td>
   </tr>
!  <tr>
    <td width=126 valign=top style='width:94.8pt;border:solid windowtext 1.0pt;
!   border-top:none;padding:0pt 5.4pt 0pt 5.4pt'>
    <p class=PreformattedText>Attributes</p>
    </td>
    <td width=462 valign=top style='width:346.2pt;border-top:none;border-left:
    none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
!   padding:0pt 5.4pt 0pt 5.4pt'>
    <p class=PreformattedText>8</p>
    </td>
   </tr>
***************
*** 6295,6945 ****
  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.<span
! style='mso-spacerun:yes'>  </span>A value of 30 for 'Level' allows this feature
! to be installed by default (on a 'Typical' installation).</p>
  
  <p class=MsoNormal style='margin-left:35.45pt'>The 'Attributes' value is msidbFeatureAttributesDisallowAdvertise
! (8), which is set on all features in the OpenAFS MSI.<span
! style='mso-spacerun:yes'>  </span>The OpenAFS MSI is not designed for an
! advertised installation.</p>
! 
! <p class=MsoNormal style='margin-left:18.0pt;text-indent:-18.0pt;mso-list:l23 level1 lfo32;
! tab-stops:list 18.0pt'><![if !supportLists]><span style='mso-fareast-font-family:
! Thorndale;mso-bidi-font-family:Thorndale'><span style='mso-list:Ignore'>4.<span
! style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><![endif]>Join
  the component and the feature.</p>
  
! <p class=MsoNormal style='margin-left:39.6pt;text-indent:-21.6pt;mso-list:l23 level2 lfo32;
! tab-stops:list 39.6pt'><![if !supportLists]><span style='mso-fareast-font-family:
! Thorndale;mso-bidi-font-family:Thorndale'><span style='mso-list:Ignore'>4.1.<span
! style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp; </span></span></span><![endif]>Select
! the 'FeatureComponents' table.</p>
! 
! <p class=MsoNormal style='margin-left:39.6pt;text-indent:-21.6pt;mso-list:l23 level2 lfo32;
! tab-stops:list 39.6pt'><![if !supportLists]><span style='mso-fareast-font-family:
! Thorndale;mso-bidi-font-family:Thorndale'><span style='mso-list:Ignore'>4.2.<span
! style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp; </span></span></span><![endif]>Add
! a new row with the following values:</p>
  
  <table class=MsoTableGrid border=1 cellspacing=0 cellpadding=0
!  style='margin-left:40.1pt;border-collapse:collapse;border:none;mso-border-alt:
!  solid windowtext .5pt;mso-yfti-tbllook:480;mso-padding-alt:0pt 5.4pt 0pt 5.4pt;
!  mso-border-insideh:.5pt solid windowtext;mso-border-insidev:.5pt solid windowtext'>
!  <tr style='mso-yfti-irow:0;mso-yfti-firstrow:yes'>
    <td width=126 valign=top style='width:94.5pt;border:solid windowtext 1.0pt;
!   mso-border-alt:solid windowtext .5pt;padding:0pt 5.4pt 0pt 5.4pt'>
    <p class=PreformattedText>Feature</p>
    </td>
    <td width=462 valign=top style='width:346.5pt;border:solid windowtext 1.0pt;
!   border-left:none;mso-border-left-alt:solid windowtext .5pt;mso-border-alt:
!   solid windowtext .5pt;padding:0pt 5.4pt 0pt 5.4pt'>
    <p class=PreformattedText>fea_my_CellServDB</p>
    </td>
   </tr>
!  <tr style='mso-yfti-irow:1;mso-yfti-lastrow:yes'>
    <td width=126 valign=top style='width:94.5pt;border:solid windowtext 1.0pt;
!   border-top:none;mso-border-top-alt:solid windowtext .5pt;mso-border-alt:solid windowtext .5pt;
!   padding:0pt 5.4pt 0pt 5.4pt'>
    <p class=PreformattedText>Component</p>
    </td>
    <td width=462 valign=top style='width:346.5pt;border-top:none;border-left:
    none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
!   mso-border-top-alt:solid windowtext .5pt;mso-border-left-alt:solid windowtext .5pt;
!   mso-border-alt:solid windowtext .5pt;padding:0pt 5.4pt 0pt 5.4pt'>
    <p class=PreformattedText>cmf_my_CellServDB</p>
    </td>
   </tr>
  </table>
  
! <p class=MsoNormal style='margin-left:18.0pt;text-indent:-18.0pt;mso-list:l23 level1 lfo32;
! tab-stops:list 18.0pt'><![if !supportLists]><span style='mso-fareast-font-family:
! Thorndale;mso-bidi-font-family:Thorndale'><span style='mso-list:Ignore'>5.<span
! style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><![endif]>Add
  an entry to the 'File' table.</p>
  
! <p class=MsoNormal style='margin-left:39.6pt;text-indent:-21.6pt;mso-list:l23 level2 lfo32;
! tab-stops:list 39.6pt'><![if !supportLists]><span style='mso-fareast-font-family:
! Thorndale;mso-bidi-font-family:Thorndale'><span style='mso-list:Ignore'>5.1.<span
! style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp; </span></span></span><![endif]>Select
! the 'File' table.</p>
! 
! <p class=MsoNormal style='margin-left:39.6pt;text-indent:-21.6pt;mso-list:l23 level2 lfo32;
! tab-stops:list 39.6pt'><![if !supportLists]><span style='mso-fareast-font-family:
! Thorndale;mso-bidi-font-family:Thorndale'><span style='mso-list:Ignore'>5.2.<span
! style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp; </span></span></span><![endif]>Add
! a new row with the following values:</p>
  
  <table class=MsoTableGrid border=1 cellspacing=0 cellpadding=0
!  style='margin-left:40.1pt;border-collapse:collapse;border:none;mso-border-alt:
!  solid windowtext .5pt;mso-yfti-tbllook:480;mso-padding-alt:0pt 5.4pt 0pt 5.4pt;
!  mso-border-insideh:.5pt solid windowtext;mso-border-insidev:.5pt solid windowtext'>
!  <tr style='mso-yfti-irow:0;mso-yfti-firstrow:yes'>
    <td width=126 valign=top style='width:94.5pt;border:solid windowtext 1.0pt;
!   mso-border-alt:solid windowtext .5pt;padding:0pt 5.4pt 0pt 5.4pt'>
    <p class=PreformattedText>File</p>
    </td>
    <td width=462 valign=top style='width:346.5pt;border:solid windowtext 1.0pt;
!   border-left:none;mso-border-left-alt:solid windowtext .5pt;mso-border-alt:
!   solid windowtext .5pt;padding:0pt 5.4pt 0pt 5.4pt'>
    <p class=PreformattedText>fil_my_CellServDB</p>
    </td>
   </tr>
!  <tr style='mso-yfti-irow:1'>
    <td width=126 valign=top style='width:94.5pt;border:solid windowtext 1.0pt;
!   border-top:none;mso-border-top-alt:solid windowtext .5pt;mso-border-alt:solid windowtext .5pt;
!   padding:0pt 5.4pt 0pt 5.4pt'>
    <p class=PreformattedText>Component_</p>
    </td>
    <td width=462 valign=top style='width:346.5pt;border-top:none;border-left:
    none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
!   mso-border-top-alt:solid windowtext .5pt;mso-border-left-alt:solid windowtext .5pt;
!   mso-border-alt:solid windowtext .5pt;padding:0pt 5.4pt 0pt 5.4pt'>
    <p class=PreformattedText>cmf_my_CellServDB</p>
    </td>
   </tr>
!  <tr style='mso-yfti-irow:2'>
    <td width=126 valign=top style='width:94.5pt;border:solid windowtext 1.0pt;
!   border-top:none;mso-border-top-alt:solid windowtext .5pt;mso-border-alt:solid windowtext .5pt;
!   padding:0pt 5.4pt 0pt 5.4pt'>
    <p class=PreformattedText>FileName</p>
    </td>
    <td width=462 valign=top style='width:346.5pt;border-top:none;border-left:
    none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
!   mso-border-top-alt:solid windowtext .5pt;mso-border-left-alt:solid windowtext .5pt;
!   mso-border-alt:solid windowtext .5pt;padding:0pt 5.4pt 0pt 5.4pt'>
    <p class=PreformattedText>CellServDB</p>
    </td>
   </tr>
!  <tr style='mso-yfti-irow:3'>
    <td width=126 valign=top style='width:94.5pt;border:solid windowtext 1.0pt;
!   border-top:none;mso-border-top-alt:solid windowtext .5pt;mso-border-alt:solid windowtext .5pt;
!   padding:0pt 5.4pt 0pt 5.4pt'>
    <p class=PreformattedText>FileSize</p>
    </td>
    <td width=462 valign=top style='width:346.5pt;border-top:none;border-left:
    none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
!   mso-border-top-alt:solid windowtext .5pt;mso-border-left-alt:solid windowtext .5pt;
!   mso-border-alt:solid windowtext .5pt;padding:0pt 5.4pt 0pt 5.4pt'>
    <p class=PreformattedText>(enter file size here)</p>
    </td>
   </tr>
!  <tr style='mso-yfti-irow:4'>
    <td width=126 valign=top style='width:94.5pt;border:solid windowtext 1.0pt;
!   border-top:none;mso-border-top-alt:solid windowtext .5pt;mso-border-alt:solid windowtext .5pt;
!   padding:0pt 5.4pt 0pt 5.4pt'>
    <p class=PreformattedText>Attributes</p>
    </td>
    <td width=462 valign=top style='width:346.5pt;border-top:none;border-left:
    none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
!   mso-border-top-alt:solid windowtext .5pt;mso-border-left-alt:solid windowtext .5pt;
!   mso-border-alt:solid windowtext .5pt;padding:0pt 5.4pt 0pt 5.4pt'>
    <p class=PreformattedText>8192</p>
    </td>
   </tr>
!  <tr style='mso-yfti-irow:5;mso-yfti-lastrow:yes'>
    <td width=126 valign=top style='width:94.5pt;border:solid windowtext 1.0pt;
!   border-top:none;mso-border-top-alt:solid windowtext .5pt;mso-border-alt:solid windowtext .5pt;
!   padding:0pt 5.4pt 0pt 5.4pt'>
    <p class=PreformattedText>Sequence</p>
    </td>
    <td width=462 valign=top style='width:346.5pt;border-top:none;border-left:
    none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
!   mso-border-top-alt:solid windowtext .5pt;mso-border-left-alt:solid windowtext .5pt;
!   mso-border-alt:solid windowtext .5pt;padding:0pt 5.4pt 0pt 5.4pt'>
    <p class=PreformattedText>1000</p>
    </td>
   </tr>
  </table>
  
! <p class=MsoNormal><span style='mso-tab-count:1'>            </span><span
! style='mso-spacerun:yes'>    </span>(leave other fields blank)</p>
  
  <p class=MsoNormal style='margin-left:35.45pt'>The 'Attributes' value is
! msidbFileAttributesNonCompressed (8192).<span style='mso-spacerun:yes'> 
! </span>This is because we will be placing this file in the same directory as
! the MSI instead of embedding the file in it.<span style='mso-spacerun:yes'> 
! </span>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 location
  than the other files in the MSI.</p>
  
! <p class=MsoNormal style='margin-left:18.0pt;text-indent:-18.0pt;mso-list:l23 level1 lfo32;
! tab-stops:list 18.0pt'><![if !supportLists]><span style='mso-fareast-font-family:
! Thorndale;mso-bidi-font-family:Thorndale'><span style='mso-list:Ignore'>6.<span
! style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><![endif]>Set
  a media source for the file.</p>
  
! <p class=MsoNormal style='margin-left:39.6pt;text-indent:-21.6pt;mso-list:l23 level2 lfo32;
! tab-stops:list 39.6pt'><![if !supportLists]><span style='mso-fareast-font-family:
! Thorndale;mso-bidi-font-family:Thorndale'><span style='mso-list:Ignore'>6.1.<span
! style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp; </span></span></span><![endif]>Select
! the 'Media' table.</p>
! 
! <p class=MsoNormal style='margin-left:39.6pt;text-indent:-21.6pt;mso-list:l23 level2 lfo32;
! tab-stops:list 39.6pt'><![if !supportLists]><span style='mso-fareast-font-family:
! Thorndale;mso-bidi-font-family:Thorndale'><span style='mso-list:Ignore'>6.2.<span
! style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp; </span></span></span><![endif]>Add
! a row with the following values :</p>
  
  <table class=MsoTableGrid border=1 cellspacing=0 cellpadding=0
!  style='margin-left:40.1pt;border-collapse:collapse;border:none;mso-border-alt:
!  solid windowtext .5pt;mso-yfti-tbllook:480;mso-padding-alt:0pt 5.4pt 0pt 5.4pt;
!  mso-border-insideh:.5pt solid windowtext;mso-border-insidev:.5pt solid windowtext'>
!  <tr style='mso-yfti-irow:0;mso-yfti-firstrow:yes'>
    <td width=126 valign=top style='width:94.5pt;border:solid windowtext 1.0pt;
!   mso-border-alt:solid windowtext .5pt;padding:0pt 5.4pt 0pt 5.4pt'>
    <p class=PreformattedText>DiskId</p>
    </td>
    <td width=462 valign=top style='width:346.5pt;border:solid windowtext 1.0pt;
!   border-left:none;mso-border-left-alt:solid windowtext .5pt;mso-border-alt:
!   solid windowtext .5pt;padding:0pt 5.4pt 0pt 5.4pt'>
    <p class=PreformattedText>2</p>
    </td>
   </tr>
!  <tr style='mso-yfti-irow:1;mso-yfti-lastrow:yes'>
    <td width=126 valign=top style='width:94.5pt;border:solid windowtext 1.0pt;
!   border-top:none;mso-border-top-alt:solid windowtext .5pt;mso-border-alt:solid windowtext .5pt;
!   padding:0pt 5.4pt 0pt 5.4pt'>
    <p class=PreformattedText>LastSequence</p>
    </td>
    <td width=462 valign=top style='width:346.5pt;border-top:none;border-left:
    none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
!   mso-border-top-alt:solid windowtext .5pt;mso-border-left-alt:solid windowtext .5pt;
!   mso-border-alt:solid windowtext .5pt;padding:0pt 5.4pt 0pt 5.4pt'>
    <p class=PreformattedText>1000</p>
    </td>
   </tr>
  </table>
  
! <p class=MsoNormal><span style='mso-tab-count:1'>            </span><span
! style='mso-spacerun:yes'>    </span>(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="_Toc126872262"></a><a name="_Toc115416193"></a><a
! name="_2.3.1_Components_for_Configuration "></a><span style='mso-bookmark:_Toc126872262'><span
! style='mso-bookmark:_Toc115416193'>7.2.3.1 Components for Configuration Files</span></span></h4>
  
  <p class=PreformattedText style='text-indent:35.45pt'>CellServDB:
  'cpf_CellServDB' (ID {D5BA4C15-DBEC-4292-91FC-B54C30F24F2A})</p>
  
! <h3 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872263"></a><a
! name="_Toc115416194"><span style='mso-bookmark:_Toc126872263'>7.2.4 Adding
! Domain Specific Registry Keys</span></a></h3>
  
  <p class=MsoNormal>Following is an example for adding domain specific registry
  keys.</p>
  
! <p class=MsoNormal style='tab-stops:204.0pt'><span style='mso-spacerun:yes'>   
! </span>Refer to <a
! href="oafw-1-4-release-notes.doc#_Appendix_A:_Registry_Values">Appendix A</a> section
! 2.1 for more information.</p>
  
! <p class=MsoNormal><span style='mso-spacerun:yes'>    </span>Columns that are
! unspecified should be left empty.</p>
  
! <p class=MsoNormal><span style='mso-spacerun:yes'>    </span>We create a new
! feature and component to hold the new registry keys.</p>
  
! <table class=MsoTableWeb1 border=1 cellspacing=3 cellpadding=0
!  style='mso-cellspacing:2.0pt;mso-yfti-tbllook:480;mso-padding-alt:0pt 5.4pt 0pt 5.4pt;
!  mso-border-insideh:.75pt outset windowtext;mso-border-insidev:.75pt outset windowtext'>
!  <tr style='mso-yfti-irow:-1;mso-yfti-firstrow:yes'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <p class=MsoNormal style='mso-yfti-cnfc:1'><span style='mso-spacerun:yes'>   
!   </span>'Feature' table:</p>
    </td>
   </tr>
!  <tr style='mso-yfti-irow:0'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <p class=MsoNormal><span style='mso-spacerun:yes'>    </span><span
!   style='mso-tab-count:1'>        </span>(new row)<br>
!   <span style='mso-tab-count:1'>            </span>Feature<span
!   style='mso-tab-count:1'>            </span>: 'feaDomainKeys'<br>
!   <span style='mso-tab-count:1'>            </span>Feature Parent<span
!   style='mso-tab-count:1'> </span>: 'feaClient'<br>
!   <span style='mso-tab-count:1'>            </span>Display<span
!   style='mso-tab-count:1'>           </span>: 0<br>
!   <span style='mso-tab-count:1'>            </span>Level<span style='mso-tab-count:
!   2'>               </span>: 30<br>
!   <span style='mso-tab-count:1'>            </span>Attributes<span
!   style='mso-tab-count:1'>        </span>: 10</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'>
!   <p class=MsoNormal><span style='mso-spacerun:yes'>    </span>'Component'
!   table:</p>
    </td>
   </tr>
!  <tr style='mso-yfti-irow:2'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <p class=MsoNormal><span style='mso-spacerun:yes'>    </span><span
!   style='mso-tab-count:1'>        </span>(new row)<br>
!   <span style='mso-spacerun:yes'>    </span><span style='mso-tab-count:1'>        </span>Component<span
!   style='mso-tab-count:1'>     </span>: 'rcm_DomainKeys'<br>
!   <span style='mso-tab-count:1'>            </span>ComponentId<span
!   style='mso-tab-count:1'>  </span>: '{4E3FCBF4-8BE7-40B2-A108-C47CF743C627}'<br>
!   <span style='mso-tab-count:1'>            </span>Directory<span
!   style='mso-tab-count:1'>         </span>: 'TARGETDIR'<br>
!   <span style='mso-tab-count:1'>            </span>Attributes<span
!   style='mso-tab-count:1'>        </span>: 4<br>
!   <span style='mso-tab-count:1'>            </span>KeyPath<span
!   style='mso-tab-count:1'>          </span>: 'reg_domkey0'</p>
    </td>
   </tr>
!  <tr style='mso-yfti-irow:3'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <p class=MsoNormal><span style='mso-spacerun:yes'>   
!   </span>'FeatureComponents' table:</p>
    </td>
   </tr>
!  <tr style='mso-yfti-irow:4'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <p class=MsoNormal><span style='mso-spacerun:yes'>    </span><span
!   style='mso-tab-count:1'>        </span>(new row)<br>
!   <span style='mso-tab-count:1'>            </span>Feature<span
!   style='mso-tab-count:1'>            </span>: 'feaDomainKeys'<br>
!   <span style='mso-tab-count:1'>            </span>Component<span
!   style='mso-tab-count:1'>     </span>: 'rcm_DomainKeys'</p>
    </td>
   </tr>
!  <tr style='mso-yfti-irow:5'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <p class=MsoNormal><span style='mso-spacerun:yes'>    </span>'Registry'
!   table:</p>
    </td>
   </tr>
!  <tr style='mso-yfti-irow:6'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <p class=MsoNormal><span style='mso-tab-count:1'>            </span>(new row)<br>
!   <span style='mso-tab-count:1'>            </span>Registry<span
!   style='mso-tab-count:1'>          </span>: 'reg_domkey0'<br>
!   <span style='mso-tab-count:1'>            </span>Root<span style='mso-tab-count:
!   2'>                </span>: 2<br>
!   <span style='mso-tab-count:1'>            </span>Key<span style='mso-tab-count:
!   2'>                 </span>:
    'SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider\Domain'<br>
!   <span style='mso-tab-count:1'>            </span>Component<span
!   style='mso-tab-count:1'>     </span>: 'rcm_DomainKeys'</p>
    </td>
   </tr>
!  <tr style='mso-yfti-irow:7'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <p class=MsoNormal><span style='mso-tab-count:1'>            </span>(new row)<br>
!   <span style='mso-tab-count:1'>            </span>Registry<span
!   style='mso-tab-count:1'>          </span>: 'reg_domkey1'<br>
!   <span style='mso-tab-count:1'>            </span>Root<span style='mso-tab-count:
!   2'>                </span>: 2<br>
!   <span style='mso-tab-count:1'>            </span>Key<span style='mso-tab-count:
!   2'>                 </span>:
!   'SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider\Domain'<br>
!   <span style='mso-tab-count:1'>            </span>Name<span style='mso-tab-count:
!   2'>              </span>: '*'<br>
!   <span style='mso-tab-count:1'>            </span>Component<span
!   style='mso-tab-count:1'>     </span>: 'rcm_DomainKeys'</p>
    </td>
   </tr>
!  <tr style='mso-yfti-irow:8'>
!   <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <p class=MsoNormal><span style='mso-tab-count:1'>            </span>(new row)<br>
!   <span style='mso-tab-count:1'>            </span>Registry<span
!   style='mso-tab-count:1'>          </span>: 'reg_domkey2'<br>
!   <span style='mso-tab-count:1'>            </span>Root<span style='mso-tab-count:
!   2'>                </span>: 2<br>
!   <span style='mso-tab-count:1'>            </span>Key<span style='mso-tab-count:
!   2'>                 </span>:
    'SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider\Domain\ATHENA.MIT.EDU'<br>
!   <span style='mso-tab-count:1'>            </span>Name<span style='mso-tab-count:
!   2'>              </span>: '*'<br>
!   <span style='mso-tab-count:1'>            </span>Component<span
!   style='mso-tab-count:1'>     </span>: 'rcm_DomainKeys'</p>
    </td>
   </tr>
!  <tr style='mso-yfti-irow:9'>
!   <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <p class=MsoNormal><span style='mso-tab-count:1'>            </span>(new row)<br>
!   <span style='mso-tab-count:1'>            </span>Registry<span
!   style='mso-tab-count:1'>          </span>: 'reg_domkey3'<br>
!   <span style='mso-tab-count:1'>            </span>Root<span style='mso-tab-count:
!   2'>                </span>: 2<br>
!   <span style='mso-tab-count:1'>            </span>Key<span style='mso-tab-count:
!   2'>                 </span>:
    'SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider\Domain\ATHENA.MIT.EDU'<br>
!   <span style='mso-tab-count:1'>            </span>Name<span style='mso-tab-count:
!   2'>              </span>: 'LogonOptions'<br>
!   <span style='mso-tab-count:1'>            </span>Value<span style='mso-tab-count:
!   2'>              </span>: 1<br>
!   <span style='mso-tab-count:1'>            </span>Component<span
!   style='mso-tab-count:1'>     </span>: 'rcm_DomainKeys'</p>
!   </td>
!  </tr>
!  <tr style='mso-yfti-irow:10'>
!   <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <p class=MsoNormal><span style='mso-tab-count:1'>            </span>(new row)<br>
!   <span style='mso-tab-count:1'>            </span>Registry<span
!   style='mso-tab-count:1'>          </span>: 'reg_domkey4'<br>
!   <span style='mso-tab-count:1'>            </span>Root<span style='mso-tab-count:
!   2'>                </span>: 2<br>
!   <span style='mso-tab-count:1'>            </span>Key<span style='mso-tab-count:
!   2'>                 </span>: SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider\Domain\LOCALHOST'<br>
!   <span style='mso-tab-count:1'>            </span>Name<span style='mso-tab-count:
!   2'>              </span>: '*'<br>
!   <span style='mso-tab-count:1'>            </span>Component<span
!   style='mso-tab-count:1'>     </span>: 'rcm_DomainKeys'</p>
!   </td>
!  </tr>
!  <tr style='mso-yfti-irow:11'>
!   <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <p class=MsoNormal><span style='mso-tab-count:1'>            </span>(new row)<br>
!   <span style='mso-tab-count:1'>            </span>Registry<span
!   style='mso-tab-count:1'>          </span>: 'reg_domkey5'<br>
!   <span style='mso-tab-count:1'>            </span>Root<span style='mso-tab-count:
!   2'>                </span>: 2<br>
!   <span style='mso-tab-count:1'>            </span>Key<span style='mso-tab-count:
!   2'>                 </span>:
!   'SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider\Domain\LOCALHOST'<br>
!   <span style='mso-tab-count:1'>            </span>Name<span style='mso-tab-count:
!   2'>              </span>: 'LogonOptions'<br>
!   <span style='mso-tab-count:1'>            </span>Value<span style='mso-tab-count:
!   2'>              </span>: 0<br>
!   <span style='mso-tab-count:1'>            </span>Component<span
!   style='mso-tab-count:1'>     </span>: 'rcm_DomainKeys'</p>
!   </td>
!  </tr>
!  <tr style='mso-yfti-irow:12;mso-yfti-lastrow:yes'>
!   <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <p class=MsoNormal><span style='mso-tab-count:1'>            </span>(new row)<br>
!   <span style='mso-tab-count:1'>            </span>Registry<span
!   style='mso-tab-count:1'>          </span>: 'reg_domkey6'<br>
!   <span style='mso-tab-count:1'>            </span>Root<span style='mso-tab-count:
!   2'>                </span>: 2<br>
!   <span style='mso-tab-count:1'>            </span>Key<span style='mso-tab-count:
!   2'>                 </span>:
    'SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider\Domain\LOCALHOST'<br>
!   <span style='mso-tab-count:1'>            </span>Name<span style='mso-tab-count:
!   2'>              </span>: 'FailLoginsSilently'<br>
!   <span style='mso-tab-count:1'>            </span>Value<span style='mso-tab-count:
!   2'>              </span>: 1<br>
!   <span style='mso-tab-count:1'>            </span>Component<span
!   style='mso-tab-count:1'>     </span>: 'rcm_DomainKeys'<br style='mso-special-character:
!   line-break'>
!   <![if !supportLineBreakNewLine]><br style='mso-special-character:line-break'>
!   <![endif]></p>
    </td>
   </tr>
  </table>
  
! <p class=MsoNormal><o:p>&nbsp;</o:p></p>
  
  <p class=MsoNormal>The example adds domain specific keys for 'ATHENA.MIT.EDU'
  (enable integrated logon) and 'LOCALHOST' (disable integrated logon and fail
  logins silently).</p>
  
! <h3 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872264"></a><a
! name="_Toc115416195"><span style='mso-bookmark:_Toc126872264'>7.2.5 Adding Site
! Specific Freelance Registry Keys</span></a></h3>
  
  <p class=MsoNormal>Following is an example for adding site specific Freelance
  registry keys to pre-populate the Mountpoints and Symlinks in the fake root.afs
  volume.</p>
  
! <p class=MsoNormal><span style='mso-spacerun:yes'>    </span>Columns that are
! unspecified should be left empty.</p>
  
! <p class=MsoNormal><span style='mso-spacerun:yes'>    </span>We create a new
! feature and component to hold the new registry keys.</p>
  
! <table class=MsoTableWeb1 border=1 cellspacing=3 cellpadding=0
!  style='mso-cellspacing:2.0pt;mso-yfti-tbllook:480;mso-padding-alt:0pt 5.4pt 0pt 5.4pt;
!  mso-border-insideh:.75pt outset windowtext;mso-border-insidev:.75pt outset windowtext'>
!  <tr style='mso-yfti-irow:-1;mso-yfti-firstrow:yes'>
!   <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <p class=MsoNormal style='mso-yfti-cnfc:1'><span style='mso-spacerun:yes'>   
!   </span>'Feature' table:</p>
!   </td>
!  </tr>
!  <tr style='mso-yfti-irow:0'>
!   <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <p class=MsoNormal><span style='mso-spacerun:yes'>    </span><span
!   style='mso-tab-count:1'>        </span>(new row)<br>
!   <span style='mso-tab-count:1'>            </span>Feature<span
!   style='mso-tab-count:1'>            </span>: 'feaFreelanceKeys'<br>
!   <span style='mso-tab-count:1'>            </span>Feature Parent<span
!   style='mso-tab-count:1'> </span>: 'feaClient'<br>
!   <span style='mso-tab-count:1'>            </span>Display<span
!   style='mso-tab-count:1'>           </span>: 0<br>
!   <span style='mso-tab-count:1'>            </span>Level<span style='mso-tab-count:
!   2'>               </span>: 30<br>
!   <span style='mso-tab-count:1'>            </span>Attributes<span
!   style='mso-tab-count:1'>        </span>: 10</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'>
!   <p class=MsoNormal><span style='mso-spacerun:yes'>    </span>'Component'
!   table:</p>
!   </td>
!  </tr>
!  <tr style='mso-yfti-irow:2'>
!   <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <p class=MsoNormal><span style='mso-spacerun:yes'>    </span><span
!   style='mso-tab-count:1'>        </span>(new row)<br>
!   <span style='mso-spacerun:yes'>    </span><span style='mso-tab-count:1'>        </span>Component<span
!   style='mso-tab-count:1'>     </span>: 'rcm_FreelanceKeys'<br>
!   <span style='mso-tab-count:1'>            </span>ComponentId<span
!   style='mso-tab-count:1'>  </span>: '{4E3B3CBF4-9AE7-40C3-7B09-C48CF842C583}'<br>
!   <span style='mso-tab-count:1'>            </span>Directory<span
!   style='mso-tab-count:1'>         </span>: 'TARGETDIR'<br>
!   <span style='mso-tab-count:1'>            </span>Attributes<span
!   style='mso-tab-count:1'>        </span>: 4<br>
!   <span style='mso-tab-count:1'>            </span>KeyPath<span
!   style='mso-tab-count:1'>          </span>: 'reg_freekey0'</p>
!   </td>
!  </tr>
!  <tr style='mso-yfti-irow:3'>
!   <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <p class=MsoNormal><span style='mso-spacerun:yes'>   
!   </span>'FeatureComponents' table:</p>
!   </td>
!  </tr>
!  <tr style='mso-yfti-irow:4'>
!   <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <p class=MsoNormal><span style='mso-spacerun:yes'>    </span><span
!   style='mso-tab-count:1'>        </span>(new row)<br>
!   <span style='mso-tab-count:1'>            </span>Feature<span
!   style='mso-tab-count:1'>            </span>: 'feaFreelanceKeys'<br>
!   <span style='mso-tab-count:1'>            </span>Component<span
!   style='mso-tab-count:1'>     </span>: 'rcm_FreelanceKeys'</p>
!   </td>
!  </tr>
!  <tr style='mso-yfti-irow:5'>
!   <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <p class=MsoNormal><span style='mso-spacerun:yes'>    </span>'Registry'
!   table:</p>
!   </td>
!  </tr>
!  <tr style='mso-yfti-irow:6'>
!   <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <p class=MsoNormal><span style='mso-tab-count:1'>            </span>(new row)<br>
!   <span style='mso-tab-count:1'>            </span>Registry<span
!   style='mso-tab-count:1'>          </span>: 'reg_freekey0'<br>
!   <span style='mso-tab-count:1'>            </span>Root<span style='mso-tab-count:
!   2'>                </span>: 2<br>
!   <span style='mso-tab-count:1'>            </span>Key<span style='mso-tab-count:
!   2'>                 </span>: 'SOFTWARE\OpenAFS\Client\Freelance'<br>
!   <span style='mso-tab-count:1'>            </span>Component<span
!   style='mso-tab-count:1'>     </span>: 'rcm_FreelanceKeys'</p>
!   </td>
!  </tr>
!  <tr style='mso-yfti-irow:7'>
!   <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <p class=MsoNormal><span style='mso-tab-count:1'>            </span>(new row)<br>
!   <span style='mso-tab-count:1'>            </span>Registry<span
!   style='mso-tab-count:1'>          </span>: 'reg_freekey1'<br>
!   <span style='mso-tab-count:1'>            </span>Root<span style='mso-tab-count:
!   2'>                </span>: 2<br>
!   <span style='mso-tab-count:1'>            </span>Key<span style='mso-tab-count:
!   2'>                 </span>: 'SOFTWARE\OpenAFS\Client\Freelance'<br>
!   <span style='mso-tab-count:1'>            </span>Name<span style='mso-tab-count:
!   2'>              </span>: '0'<br>
!   <span style='mso-spacerun:yes'>  </span><span style='mso-tab-count:1'>          </span>Value<span
!   style='mso-spacerun:yes'>           </span><span style='mso-tab-count:1'>   </span>:
!   'athena.mit.edu#athena.mit.edu:root.cell.'<br>
!   <span style='mso-tab-count:1'>            </span>Component<span
!   style='mso-tab-count:1'>     </span>: 'rcm_FreelanceKeys'</p>
!   </td>
!  </tr>
!  <tr style='mso-yfti-irow:8'>
!   <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <p class=MsoNormal><span style='mso-tab-count:1'>            </span>(new row)<br>
!   <span style='mso-tab-count:1'>            </span>Registry<span
!   style='mso-tab-count:1'>          </span>: 'reg_freekey2'<br>
!   <span style='mso-tab-count:1'>            </span>Root<span style='mso-tab-count:
!   2'>                </span>: 2<br>
!   <span style='mso-tab-count:1'>            </span>Key<span style='mso-tab-count:
!   2'>                 </span>: 'SOFTWARE\OpenAFS\Client\Freelance'<br>
!   <span style='mso-tab-count:1'>            </span>Name<span style='mso-tab-count:
!   2'>              </span>: '1'<br>
!   <span style='mso-spacerun:yes'>   </span><span style='mso-tab-count:1'>         </span>Value<span
!   style='mso-spacerun:yes'>           </span><span style='mso-tab-count:1'>   </span>:
!   '.athena.mit.edu%athena.mit.edu:root.cell.'<br>
!   <span style='mso-tab-count:1'>            </span>Component<span
!   style='mso-tab-count:1'>     </span>: 'rcm_FreelanceKeys'</p>
!   </td>
!  </tr>
!  <tr style='mso-yfti-irow:9'>
!   <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <p class=MsoNormal><span style='mso-tab-count:1'>            </span>(new row)<br>
!   <span style='mso-tab-count:1'>            </span>Registry<span
!   style='mso-tab-count:1'>          </span>: 'reg_freekey3'<br>
!   <span style='mso-tab-count:1'>            </span>Root<span style='mso-tab-count:
!   2'>                </span>: 2<br>
!   <span style='mso-tab-count:1'>            </span>Key<span style='mso-tab-count:
!   2'>                 </span>: 'SOFTWARE\OpenAFS\Client\Freelance\Symlinks'<br>
!   <span style='mso-tab-count:1'>            </span>Component<span
!   style='mso-tab-count:1'>     </span>: 'rcm_FreelanceKeys'</p>
!   </td>
!  </tr>
!  <tr style='mso-yfti-irow:10'>
!   <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <p class=MsoNormal><span style='mso-tab-count:1'>            </span>(new row)<br>
!   <span style='mso-tab-count:1'>            </span>Registry<span
!   style='mso-tab-count:1'>          </span>: 'reg_freekey4'<br>
!   <span style='mso-tab-count:1'>            </span>Root<span style='mso-tab-count:
!   2'>                </span>: 2<br>
!   <span style='mso-tab-count:1'>            </span>Key<span style='mso-tab-count:
!   2'>                 </span>: 'SOFTWARE\OpenAFS\Client\Freelance\Symlinks'<br>
!   <span style='mso-tab-count:1'>            </span>Name<span style='mso-tab-count:
!   2'>              </span>: '0'<br>
!   <span style='mso-spacerun:yes'> </span><span style='mso-tab-count:1'>           </span>Value<span
!   style='mso-spacerun:yes'>           </span><span style='mso-tab-count:1'>   </span>:
!   '<st1:GivenName w:st="on">athena</st1:GivenName>:athena.mit.edu.'<br>
!   <span style='mso-tab-count:1'>            </span>Component<span
!   style='mso-tab-count:1'>     </span>: 'rcm_FreelanceKeys'</p>
!   </td>
!  </tr>
!  <tr style='mso-yfti-irow:11;mso-yfti-lastrow:yes'>
!   <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <p class=MsoNormal><span style='mso-tab-count:1'>            </span>(new row)<br>
!   <span style='mso-tab-count:1'>            </span>Registry<span
!   style='mso-tab-count:1'>          </span>: 'reg_freekey5'<br>
!   <span style='mso-tab-count:1'>            </span>Root<span style='mso-tab-count:
!   2'>                </span>: 2<br>
!   <span style='mso-tab-count:1'>            </span>Key<span style='mso-tab-count:
!   2'>                 </span>: 'SOFTWARE\OpenAFS\Client\Freelance\Symlinks'<br>
!   <span style='mso-tab-count:1'>            </span>Name<span style='mso-tab-count:
!   2'>              </span>: '1'<br>
!   <span style='mso-spacerun:yes'>   </span><span style='mso-tab-count:1'>         </span>Value<span
!   style='mso-spacerun:yes'>           </span><span style='mso-tab-count:1'>   </span>:
!   '.athena:.athena.mit.edu.'<br>
!   <span style='mso-tab-count:1'>            </span>Component<span
!   style='mso-tab-count:1'>     </span>: '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.<span
! style='mso-spacerun:yes'>  </span>Aliases are also provided using symlinks.</p>
  
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872265"></a><a
! name="_Toc115417101"></a><a name="_Toc115416196"></a><a name="_Ref115275867"><span
! style='mso-bookmark:_Toc115416196'><span style='mso-bookmark:_Toc115417101'><span
! style='mso-bookmark:_Toc126872265'>7.3 Additional Resources</span></span></span></a></h2>
  
  <p class=MsoNormal>If you want to add registry keys or files you need to create
! new components and features for those.<span style='mso-spacerun:yes'> 
! </span>Refer to the Windows Platform SDK for details.</p>
  
  <p class=MsoNormal>It is beyond the scope of this document to provide a
! comprehensive overview of how to add new resources through a transform.<span
! style='mso-spacerun:yes'>  </span>Please refer to the &quot;Windows Installer&quot;
! documentation for details.<span style='mso-spacerun:yes'>  </span>The relevant
  section is at :</p>
  
  <p class=MsoNormal>http://msdn.microsoft.com/library/en-us/msi/setup/using_transforms_to_add_resources.asp</p>
--- 2600,3082 ----
  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. 
! A value of 30 for 'Level' allows this feature to be installed by default (on a
! 'Typical' installation).</p>
  
  <p class=MsoNormal style='margin-left:35.45pt'>The 'Attributes' value is msidbFeatureAttributesDisallowAdvertise
! (8), which is set on all features in the OpenAFS MSI.  The OpenAFS MSI is not designed
! for an advertised installation.</p>
! 
! <p class=MsoNormal style='margin-left:18.0pt;text-indent:-18.0pt'>4.<span
! style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>Join
  the component and the feature.</p>
  
! <p class=MsoNormal style='margin-left:39.6pt;text-indent:-21.6pt'>4.1.<span
! style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp; </span>Select the
! 'FeatureComponents' table.</p>
! 
! <p class=MsoNormal style='margin-left:39.6pt;text-indent:-21.6pt'>4.2.<span
! style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp; </span>Add a new row with the
! following values:</p>
  
  <table class=MsoTableGrid border=1 cellspacing=0 cellpadding=0
!  style='margin-left:40.1pt;border-collapse:collapse;border:none'>
!  <tr>
    <td width=126 valign=top style='width:94.5pt;border:solid windowtext 1.0pt;
!   padding:0pt 5.4pt 0pt 5.4pt'>
    <p class=PreformattedText>Feature</p>
    </td>
    <td width=462 valign=top style='width:346.5pt;border:solid windowtext 1.0pt;
!   border-left:none;padding:0pt 5.4pt 0pt 5.4pt'>
    <p class=PreformattedText>fea_my_CellServDB</p>
    </td>
   </tr>
!  <tr>
    <td width=126 valign=top style='width:94.5pt;border:solid windowtext 1.0pt;
!   border-top:none;padding:0pt 5.4pt 0pt 5.4pt'>
    <p class=PreformattedText>Component</p>
    </td>
    <td width=462 valign=top style='width:346.5pt;border-top:none;border-left:
    none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
!   padding:0pt 5.4pt 0pt 5.4pt'>
    <p class=PreformattedText>cmf_my_CellServDB</p>
    </td>
   </tr>
  </table>
  
! <p class=MsoNormal style='margin-left:18.0pt;text-indent:-18.0pt'>5.<span
! style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>Add
  an entry to the 'File' table.</p>
  
! <p class=MsoNormal style='margin-left:39.6pt;text-indent:-21.6pt'>5.1.<span
! style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp; </span>Select the 'File'
! table.</p>
! 
! <p class=MsoNormal style='margin-left:39.6pt;text-indent:-21.6pt'>5.2.<span
! style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp; </span>Add a new row with the
! following values:</p>
  
  <table class=MsoTableGrid border=1 cellspacing=0 cellpadding=0
!  style='margin-left:40.1pt;border-collapse:collapse;border:none'>
!  <tr>
    <td width=126 valign=top style='width:94.5pt;border:solid windowtext 1.0pt;
!   padding:0pt 5.4pt 0pt 5.4pt'>
    <p class=PreformattedText>File</p>
    </td>
    <td width=462 valign=top style='width:346.5pt;border:solid windowtext 1.0pt;
!   border-left:none;padding:0pt 5.4pt 0pt 5.4pt'>
    <p class=PreformattedText>fil_my_CellServDB</p>
    </td>
   </tr>
!  <tr>
    <td width=126 valign=top style='width:94.5pt;border:solid windowtext 1.0pt;
!   border-top:none;padding:0pt 5.4pt 0pt 5.4pt'>
    <p class=PreformattedText>Component_</p>
    </td>
    <td width=462 valign=top style='width:346.5pt;border-top:none;border-left:
    none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
!   padding:0pt 5.4pt 0pt 5.4pt'>
    <p class=PreformattedText>cmf_my_CellServDB</p>
    </td>
   </tr>
!  <tr>
    <td width=126 valign=top style='width:94.5pt;border:solid windowtext 1.0pt;
!   border-top:none;padding:0pt 5.4pt 0pt 5.4pt'>
    <p class=PreformattedText>FileName</p>
    </td>
    <td width=462 valign=top style='width:346.5pt;border-top:none;border-left:
    none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
!   padding:0pt 5.4pt 0pt 5.4pt'>
    <p class=PreformattedText>CellServDB</p>
    </td>
   </tr>
!  <tr>
    <td width=126 valign=top style='width:94.5pt;border:solid windowtext 1.0pt;
!   border-top:none;padding:0pt 5.4pt 0pt 5.4pt'>
    <p class=PreformattedText>FileSize</p>
    </td>
    <td width=462 valign=top style='width:346.5pt;border-top:none;border-left:
    none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
!   padding:0pt 5.4pt 0pt 5.4pt'>
    <p class=PreformattedText>(enter file size here)</p>
    </td>
   </tr>
!  <tr>
    <td width=126 valign=top style='width:94.5pt;border:solid windowtext 1.0pt;
!   border-top:none;padding:0pt 5.4pt 0pt 5.4pt'>
    <p class=PreformattedText>Attributes</p>
    </td>
    <td width=462 valign=top style='width:346.5pt;border-top:none;border-left:
    none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
!   padding:0pt 5.4pt 0pt 5.4pt'>
    <p class=PreformattedText>8192</p>
    </td>
   </tr>
!  <tr>
    <td width=126 valign=top style='width:94.5pt;border:solid windowtext 1.0pt;
!   border-top:none;padding:0pt 5.4pt 0pt 5.4pt'>
    <p class=PreformattedText>Sequence</p>
    </td>
    <td width=462 valign=top style='width:346.5pt;border-top:none;border-left:
    none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
!   padding:0pt 5.4pt 0pt 5.4pt'>
    <p class=PreformattedText>1000</p>
    </td>
   </tr>
  </table>
  
! <p class=MsoNormal>                (leave other fields blank)</p>
  
  <p class=MsoNormal style='margin-left:35.45pt'>The 'Attributes' value is
! msidbFileAttributesNonCompressed (8192).  This is because we will be placing
! this file in the same directory as the MSI instead of embedding the file in
! it.  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 location
  than the other files in the MSI.</p>
  
! <p class=MsoNormal style='margin-left:18.0pt;text-indent:-18.0pt'>6.<span
! style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>Set
  a media source for the file.</p>
  
! <p class=MsoNormal style='margin-left:39.6pt;text-indent:-21.6pt'>6.1.<span
! style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp; </span>Select the 'Media'
! table.</p>
! 
! <p class=MsoNormal style='margin-left:39.6pt;text-indent:-21.6pt'>6.2.<span
! style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp; </span>Add a row with the
! following values :</p>
  
  <table class=MsoTableGrid border=1 cellspacing=0 cellpadding=0
!  style='margin-left:40.1pt;border-collapse:collapse;border:none'>
!  <tr>
    <td width=126 valign=top style='width:94.5pt;border:solid windowtext 1.0pt;
!   padding:0pt 5.4pt 0pt 5.4pt'>
    <p class=PreformattedText>DiskId</p>
    </td>
    <td width=462 valign=top style='width:346.5pt;border:solid windowtext 1.0pt;
!   border-left:none;padding:0pt 5.4pt 0pt 5.4pt'>
    <p class=PreformattedText>2</p>
    </td>
   </tr>
!  <tr>
    <td width=126 valign=top style='width:94.5pt;border:solid windowtext 1.0pt;
!   border-top:none;padding:0pt 5.4pt 0pt 5.4pt'>
    <p class=PreformattedText>LastSequence</p>
    </td>
    <td width=462 valign=top style='width:346.5pt;border-top:none;border-left:
    none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
!   padding:0pt 5.4pt 0pt 5.4pt'>
    <p class=PreformattedText>1000</p>
    </td>
   </tr>
  </table>
  
! <p class=MsoNormal>                (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="_Toc139981040"></a><a name="_Toc126872262"></a><a
! name="_Toc115416193"></a><a name="_2.3.1_Components_for_Configuration "></a>7.2.3.1
! Components for Configuration Files</h4>
  
  <p class=PreformattedText style='text-indent:35.45pt'>CellServDB:
  'cpf_CellServDB' (ID {D5BA4C15-DBEC-4292-91FC-B54C30F24F2A})</p>
  
! <h3 style='margin-left:0pt;text-indent:0pt'><a name="_Toc139981041"></a><a
! name="_Toc126872263"></a><a name="_Toc115416194">7.2.4 Adding Domain Specific
! Registry Keys</a></h3>
  
  <p class=MsoNormal>Following is an example for adding domain specific registry
  keys.</p>
  
! <p class=MsoNormal>    Refer to <a
! href="../../oafw-1-4-release-notes.doc#_Appendix_A:_Registry_Values">Appendix A</a>
! section 2.1 for more information.</p>
  
! <p class=MsoNormal>    Columns that are unspecified should be left empty.</p>
  
! <p class=MsoNormal>    We create a new feature and component to hold the new
! registry keys.</p>
  
! <table class=MsoTableWeb1 border=1 cellspacing=3 cellpadding=0>
!  <tr>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <p class=MsoNormal>    'Feature' table:</p>
    </td>
   </tr>
!  <tr>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <p class=MsoNormal>            (new row)<br>
!             Feature            : 'feaDomainKeys'<br>
!             Feature Parent : 'feaClient'<br>
!             Display           : 0<br>
!             Level               : 30<br>
!             Attributes        : 10</p>
    </td>
   </tr>
!  <tr>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <p class=MsoNormal>    'Component' table:</p>
    </td>
   </tr>
!  <tr>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <p class=MsoNormal>            (new row)<br>
!               Component     : 'rcm_DomainKeys'<br>
!             ComponentId  : '{4E3FCBF4-8BE7-40B2-A108-C47CF743C627}'<br>
!             Directory         : 'TARGETDIR'<br>
!             Attributes        : 4<br>
!             KeyPath          : 'reg_domkey0'</p>
    </td>
   </tr>
!  <tr>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <p class=MsoNormal>    'FeatureComponents' table:</p>
    </td>
   </tr>
!  <tr>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <p class=MsoNormal>            (new row)<br>
!             Feature            : 'feaDomainKeys'<br>
!             Component     : 'rcm_DomainKeys'</p>
    </td>
   </tr>
!  <tr>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <p class=MsoNormal>    'Registry' table:</p>
    </td>
   </tr>
!  <tr>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <p class=MsoNormal>            (new row)<br>
!             Registry          : 'reg_domkey0'<br>
!             Root                : 2<br>
!             Key                 :
    'SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider\Domain'<br>
!             Component     : 'rcm_DomainKeys'</p>
    </td>
   </tr>
!  <tr>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <p class=MsoNormal>            (new row)<br>
!             Registry          : 'reg_domkey1'<br>
!             Root                : 2<br>
!             Key                 : 'SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider\Domain'<br>
!             Name              : '*'<br>
!             Component     : 'rcm_DomainKeys'</p>
    </td>
   </tr>
!  <tr>
!   <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <p class=MsoNormal>            (new row)<br>
!             Registry          : 'reg_domkey2'<br>
!             Root                : 2<br>
!             Key                 :
    'SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider\Domain\ATHENA.MIT.EDU'<br>
!             Name              : '*'<br>
!             Component     : 'rcm_DomainKeys'</p>
    </td>
   </tr>
!  <tr>
!   <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <p class=MsoNormal>            (new row)<br>
!             Registry          : 'reg_domkey3'<br>
!             Root                : 2<br>
!             Key                 :
    'SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider\Domain\ATHENA.MIT.EDU'<br>
!             Name              : 'LogonOptions'<br>
!             Value              : 1<br>
!             Component     : 'rcm_DomainKeys'</p>
!   </td>
!  </tr>
!  <tr>
!   <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <p class=MsoNormal>            (new row)<br>
!             Registry          : 'reg_domkey4'<br>
!             Root                : 2<br>
!             Key                 : SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider\Domain\LOCALHOST'<br>
!             Name              : '*'<br>
!             Component     : 'rcm_DomainKeys'</p>
!   </td>
!  </tr>
!  <tr>
!   <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <p class=MsoNormal>            (new row)<br>
!             Registry          : 'reg_domkey5'<br>
!             Root                : 2<br>
!             Key                 : 'SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider\Domain\LOCALHOST'<br>
!             Name              : 'LogonOptions'<br>
!             Value              : 0<br>
!             Component     : 'rcm_DomainKeys'</p>
!   </td>
!  </tr>
!  <tr>
!   <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <p class=MsoNormal>            (new row)<br>
!             Registry          : 'reg_domkey6'<br>
!             Root                : 2<br>
!             Key                 :
    'SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider\Domain\LOCALHOST'<br>
!             Name              : 'FailLoginsSilently'<br>
!             Value              : 1<br>
!             Component     : 'rcm_DomainKeys'<br>
!   <br>
!   </p>
    </td>
   </tr>
  </table>
  
! <p class=MsoNormal>&nbsp;</p>
  
  <p class=MsoNormal>The example adds domain specific keys for 'ATHENA.MIT.EDU'
  (enable integrated logon) and 'LOCALHOST' (disable integrated logon and fail
  logins silently).</p>
  
! <h3 style='margin-left:0pt;text-indent:0pt'><a name="_Toc139981042"></a><a
! name="_Toc126872264"></a><a name="_Toc115416195">7.2.5 Adding Site Specific
! Freelance Registry Keys</a></h3>
  
  <p class=MsoNormal>Following is an example for adding site specific Freelance
  registry keys to pre-populate the Mountpoints and Symlinks in the fake root.afs
  volume.</p>
  
! <p class=MsoNormal>    Columns that are unspecified should be left empty.</p>
  
! <p class=MsoNormal>    We create a new feature and component to hold the new
! registry keys.</p>
  
! <table class=MsoTableWeb1 border=1 cellspacing=3 cellpadding=0>
!  <tr>
!   <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <p class=MsoNormal>    'Feature' table:</p>
!   </td>
!  </tr>
!  <tr>
!   <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <p class=MsoNormal>            (new row)<br>
!             Feature            : 'feaFreelanceKeys'<br>
!             Feature Parent : 'feaClient'<br>
!             Display           : 0<br>
!             Level               : 30<br>
!             Attributes        : 10</p>
!   </td>
!  </tr>
!  <tr>
!   <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <p class=MsoNormal>    'Component' table:</p>
!   </td>
!  </tr>
!  <tr>
!   <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <p class=MsoNormal>            (new row)<br>
!               Component     : 'rcm_FreelanceKeys'<br>
!             ComponentId  : '{4E3B3CBF4-9AE7-40C3-7B09-C48CF842C583}'<br>
!             Directory         : 'TARGETDIR'<br>
!             Attributes        : 4<br>
!             KeyPath          : 'reg_freekey0'</p>
!   </td>
!  </tr>
!  <tr>
!   <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <p class=MsoNormal>    'FeatureComponents' table:</p>
!   </td>
!  </tr>
!  <tr>
!   <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <p class=MsoNormal>            (new row)<br>
!             Feature            : 'feaFreelanceKeys'<br>
!             Component     : 'rcm_FreelanceKeys'</p>
!   </td>
!  </tr>
!  <tr>
!   <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <p class=MsoNormal>    'Registry' table:</p>
!   </td>
!  </tr>
!  <tr>
!   <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <p class=MsoNormal>            (new row)<br>
!             Registry          : 'reg_freekey0'<br>
!             Root                : 2<br>
!             Key                 : 'SOFTWARE\OpenAFS\Client\Freelance'<br>
!             Component     : 'rcm_FreelanceKeys'</p>
!   </td>
!  </tr>
!  <tr>
!   <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <p class=MsoNormal>            (new row)<br>
!             Registry          : 'reg_freekey1'<br>
!             Root                : 2<br>
!             Key                 : 'SOFTWARE\OpenAFS\Client\Freelance'<br>
!             Name              : '0'<br>
!               Value              : 'athena.mit.edu#athena.mit.edu:root.cell.'<br>
!             Component     : 'rcm_FreelanceKeys'</p>
!   </td>
!  </tr>
!  <tr>
!   <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <p class=MsoNormal>            (new row)<br>
!             Registry          : 'reg_freekey2'<br>
!             Root                : 2<br>
!             Key                 : 'SOFTWARE\OpenAFS\Client\Freelance'<br>
!             Name              : '1'<br>
!               Value              : '.athena.mit.edu%athena.mit.edu:root.cell.'<br>
!             Component     : 'rcm_FreelanceKeys'</p>
!   </td>
!  </tr>
!  <tr>
!   <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <p class=MsoNormal>            (new row)<br>
!             Registry          : 'reg_freekey3'<br>
!             Root                : 2<br>
!             Key                 : 'SOFTWARE\OpenAFS\Client\Freelance\Symlinks'<br>
!             Component     : 'rcm_FreelanceKeys'</p>
!   </td>
!  </tr>
!  <tr>
!   <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <p class=MsoNormal>            (new row)<br>
!             Registry          : 'reg_freekey4'<br>
!             Root                : 2<br>
!             Key                 : 'SOFTWARE\OpenAFS\Client\Freelance\Symlinks'<br>
!             Name              : '0'<br>
!               Value              : 'athena:athena.mit.edu.'<br>
!             Component     : 'rcm_FreelanceKeys'</p>
!   </td>
!  </tr>
!  <tr>
!   <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <p class=MsoNormal>            (new row)<br>
!             Registry          : 'reg_freekey5'<br>
!             Root                : 2<br>
!             Key                 : 'SOFTWARE\OpenAFS\Client\Freelance\Symlinks'<br>
!             Name              : '1'<br>
!               Value              : '.athena:.athena.mit.edu.'<br>
!             Component     : '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. 
! Aliases are also provided using symlinks.</p>
  
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc139981043"></a><a
! name="_Toc126872265"></a><a name="_Toc115417101"></a><a name="_Toc115416196"></a><a
! name="_Ref115275867">7.3 Additional Resources</a></h2>
  
  <p class=MsoNormal>If you want to add registry keys or files you need to create
! new components and features for those.  Refer to the Windows Platform SDK for
! details.</p>
  
  <p class=MsoNormal>It is beyond the scope of this document to provide a
! comprehensive overview of how to add new resources through a transform.  Please
! refer to the &quot;Windows Installer&quot; documentation for details.  The relevant
  section is at :</p>
  
  <p class=MsoNormal>http://msdn.microsoft.com/library/en-us/msi/setup/using_transforms_to_add_resources.asp</p>
***************
*** 6949,6958 ****
  
  <p class=MsoNormal>Add new features under the 'feaClient' or 'feaServer' as appropriate
  and set the 'Level' column for those features to equal the 'Level' for their
! parent features for consistency.<span style='mso-spacerun:yes'>  </span>Note
! that none of the features in the OpenAFS for Windows MSI package are designed
! to be installed to run from 'source' or 'advertised'.<span
! style='mso-spacerun:yes'>  </span>It is recommended that you set
  'msidbFeatureAttributesFavorLocal' (0), 'msidbFeatureAttributesFollowParent'
  (2) and 'msidbFeatureAttributesDisallowAdvertise' (8) attributes for new features.</p>
  
--- 3086,3094 ----
  
  <p class=MsoNormal>Add new features under the 'feaClient' or 'feaServer' as appropriate
  and set the 'Level' column for those features to equal the 'Level' for their
! parent features for consistency.  Note that none of the features in the OpenAFS
! for Windows MSI package are designed to be installed to run from 'source' or
! 'advertised'.  It is recommended that you set
  'msidbFeatureAttributesFavorLocal' (0), 'msidbFeatureAttributesFollowParent'
  (2) and 'msidbFeatureAttributesDisallowAdvertise' (8) attributes for new features.</p>
  
***************
*** 6964,7020 ****
  ORCA.EXE you can generate a transform with MSITRAN.EXE as follows :</p>
  
  <p class=MsoNormal>(Modified MSI package is 'openafs-en_US_new.msi' and the
! original MSI package is 'openafs-en_US.msi'.<span style='mso-spacerun:yes'> 
! </span>Generates transform 'openafs-transform.mst')</p>
  
! <p class=MsoNormal><span style='mso-spacerun:yes'>    </span>&gt; msitran.exe
! -g openafs-en_US.msi openafs-en_US_new.msi openafs-transform.mst</p>
  
  <p class=MsoNormal>See the Platform SDK documentation for information on
  command line options for MSITRAN.EXE.</p>
  
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872266"></a><a
! name="_Toc115417102"></a><a name="_Toc115416197"><span style='mso-bookmark:
! _Toc115417102'><span style='mso-bookmark:_Toc126872266'>7.4. Upgrades</span></span></a></h2>
  
  <p class=MsoNormal>The MSI package is designed to uninstall previous versions
! of OpenAFS for Windows during installation.<span style='mso-spacerun:yes'> 
! </span>Note that it doesn't directly upgrade an existing installation.<span
! style='mso-spacerun:yes'>  </span>This is intentional and ensures that
  development releases which do not have strictly increasing version numbers are
  properly upgraded.</p>
  
  <p class=MsoNormal>Versions of OpenAFS that are upgraded by the MSI package are:</p>
  
! <p class=MsoNormal style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l22 level1 lfo31;
! tab-stops:list 36.0pt'><![if !supportLists]><span style='mso-fareast-font-family:
! Thorndale;mso-bidi-font-family:Thorndale'><span style='mso-list:Ignore'>1)<span
! style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><![endif]>OpenAFS
  MSI package<br>
  Upgrade code {6823EEDD-84FC-4204-ABB3-A80D25779833}<br>
  Up to current release</p>
  
! <p class=MsoNormal style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l22 level1 lfo31;
! tab-stops:list 36.0pt'><![if !supportLists]><span style='mso-fareast-font-family:
! Thorndale;mso-bidi-font-family:Thorndale'><span style='mso-list:Ignore'>2)<span
! style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><![endif]>MIT's
  Transarc AFS MSI package<br>
  Upgrade code {5332B94F-DE38-4927-9EAB-51F4A64193A7}<br>
  Up to version 3.6.2</p>
  
! <p class=MsoNormal style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l22 level1 lfo31;
! tab-stops:list 36.0pt'><![if !supportLists]><span style='mso-fareast-font-family:
! Thorndale;mso-bidi-font-family:Thorndale'><span style='mso-list:Ignore'>3)<span
! style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><![endif]>OpenAFS
  NSIS package<br>
  All versions</p>
  
! <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.<span style='mso-spacerun:yes'>  </span>Therefore the MSI package will not
! try to uninstall an OpenAFS NSIS package if running unattended.<span
! style='mso-spacerun:yes'>  </span>This means that group policy based
! deployments will fail on machines that have the OpenAFS NSIS package installed.</p>
  
  <p class=MsoNormal>If you have used a different MSI package to install OpenAFS
  and wish to upgrade it you can author rows into the 'Upgrade' table as described
--- 3100,3147 ----
  ORCA.EXE you can generate a transform with MSITRAN.EXE as follows :</p>
  
  <p class=MsoNormal>(Modified MSI package is 'openafs-en_US_new.msi' and the
! original MSI package is 'openafs-en_US.msi'.  Generates transform 'openafs-transform.mst')</p>
  
! <p class=MsoNormal>    &gt; msitran.exe -g openafs-en_US.msi
! openafs-en_US_new.msi openafs-transform.mst</p>
  
  <p class=MsoNormal>See the Platform SDK documentation for information on
  command line options for MSITRAN.EXE.</p>
  
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc139981044"></a><a
! name="_Toc126872266"></a><a name="_Toc115417102"></a><a name="_Toc115416197">7.4.
! Upgrades</a></h2>
  
  <p class=MsoNormal>The MSI package is designed to uninstall previous versions
! of OpenAFS for Windows during installation.  Note that it doesn't directly
! upgrade an existing installation.  This is intentional and ensures that
  development releases which do not have strictly increasing version numbers are
  properly upgraded.</p>
  
  <p class=MsoNormal>Versions of OpenAFS that are upgraded by the MSI package are:</p>
  
! <p class=MsoNormal style='margin-left:36.0pt;text-indent:-18.0pt'>1)<span
! style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>OpenAFS
  MSI package<br>
  Upgrade code {6823EEDD-84FC-4204-ABB3-A80D25779833}<br>
  Up to current release</p>
  
! <p class=MsoNormal style='margin-left:36.0pt;text-indent:-18.0pt'>2)<span
! style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>MIT's
  Transarc AFS MSI package<br>
  Upgrade code {5332B94F-DE38-4927-9EAB-51F4A64193A7}<br>
  Up to version 3.6.2</p>
  
! <p class=MsoNormal style='margin-left:36.0pt;text-indent:-18.0pt'>3)<span
! style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>OpenAFS
  NSIS package<br>
  All versions</p>
  
! <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. 
! Therefore the MSI package will not try to uninstall an OpenAFS NSIS package if
! running unattended.  This means that group policy based deployments will fail
! on machines that have the OpenAFS NSIS package installed.</p>
  
  <p class=MsoNormal>If you have used a different MSI package to install OpenAFS
  and wish to upgrade it you can author rows into the 'Upgrade' table as described
***************
*** 7023,7091 ****
  <p class=MsoNormal>When performing an upgrade with msiexec.exe execute the MSI
  with the repair options &quot;vomus&quot;.</p>
  
! <h1 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872267"></a><a
! name="_Toc115417116"></a><a name="_Toc115417103"></a><a name="_Toc115416198"></a><a
! name="_Appendix_A:_Registry_Values"></a><![if !supportLists]><span
! style='mso-bookmark:_Toc126872267'><span style='mso-bookmark:_Toc115417116'><span
! style='mso-bookmark:_Toc115417103'><span style='mso-bookmark:_Toc115416198'></span></span></span></span><![endif]><span
! style='mso-bookmark:_Toc126872267'><span style='mso-bookmark:_Toc115417116'><span
! style='mso-bookmark:_Toc115417103'><span style='mso-bookmark:_Toc115416198'>Appendix
! A: Registry Values</span></span></span></span></h1>
! 
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872268"></a><a
! name="_Toc115417104"></a><a name="_Toc115416199"><span style='mso-bookmark:
! _Toc115417104'><span style='mso-bookmark:_Toc126872268'>A.1. Service parameters</span></span></a></h2>
  
  <p class=MsoBodyText>The service parameters primarily affect the behavior of
  the AFS client service (afsd_service.exe).</p>
  
! <h3 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872269"></a><a
! name="_Toc115416200"><span style='mso-bookmark:_Toc126872269'>Regkey:<br>
! [HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters]</span></a></h3>
! 
! <table class=MsoTableWeb1 border=1 cellspacing=3 cellpadding=0
!  style='mso-cellspacing:2.0pt;mso-yfti-tbllook:480;mso-padding-alt:0pt 5.4pt 0pt 5.4pt;
!  mso-border-insideh:.75pt outset windowtext;mso-border-insidev:.75pt outset windowtext'>
!  <tr style='mso-yfti-irow:-1;mso-yfti-firstrow:yes;height:145.25pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:145.25pt'>
!   <h5 style='mso-outline-level:5;mso-yfti-cnfc:1'><a name="_Toc126872270"></a><a
!   name="_Toc115416201"><span style='mso-bookmark:_Toc126872270'>Value:
!   LANadapter</span></a></h5>
!   <p class=MsoBodyText style='mso-yfti-cnfc:1'>Type: DWORD<br>
    Default: -1<br>
    Variable: LANadapter</p>
!   <p class=MsoBodyText style='mso-yfti-cnfc:1'>LAN adapter number to use.<span
!   style='mso-spacerun:yes'>  </span>This is the lana number of the LAN adapter
!   that the SMB server should bind to.<span style='mso-spacerun:yes'>  </span>If
!   unspecified or set to -1, a LAN adapter with named 'AFS' or a loopback
!   adapter will be selected.<span style='mso-spacerun:yes'>  </span>If neither
!   are present, then all available adapters will be bound to.<span
!   style='mso-spacerun:yes'>  </span>When binding to a non-loopback adapter, the
!   NetBIOS name hostname%-AFS' will be used (where %hostname% is the NetBIOS
!   name of the host truncated to 11 characters). Otherwise, the NetBIOS name
!   will be 'AFS'.</p>
    </td>
   </tr>
!  <tr style='mso-yfti-irow:0;height:79.25pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:79.25pt'>
!   <h5 style='mso-outline-level:5'><a name="_Toc126872271"></a><a
!   name="_Toc115416202"></a><a name="_Value___: CacheSize"></a><span
!   style='mso-bookmark:_Toc126872271'><span style='mso-bookmark:_Toc115416202'>Value:
!   CacheSize</span></span></h5>
    <p class=MsoBodyText>Type: DWORD<br>
    Default: 98304 (CM_CONFIGDEFAULT_CACHESIZE)<br>
    Variable: cm_initParams.cacheSize</p>
    <p class=MsoBodyText>Size of the AFS cache in 1k blocks.</p>
    </td>
   </tr>
!  <tr style='mso-yfti-irow:1;height:79.25pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:79.25pt'>
!   <h5 style='mso-outline-level:5'><a name="_Toc126872272"></a><a
!   name="_Toc115416203"><span style='mso-bookmark:_Toc126872272'>Value:
!   ChunkSize</span></a></h5>
    <p class=MsoBodyText>Type: DWORD<br>
    Default: 17 (CM_CONFIGDEFAULT_CHUNKSIZE)<br>
    Variable: cm_logChunkSize (cm_chunkSize = 1 &lt;&lt; cm_logChunkSize)</p>
--- 3150,3205 ----
  <p class=MsoNormal>When performing an upgrade with msiexec.exe execute the MSI
  with the repair options &quot;vomus&quot;.</p>
  
! <h1 style='margin-left:0pt;text-indent:0pt'><a name="_Toc139981045"></a><a
! name="_Toc126872267"></a><a name="_Toc115417116"></a><a name="_Toc115417103"></a><a
! name="_Toc115416198"></a><a name="_Appendix_A:_Registry_Values"></a>Appendix A:
! Registry Values</h1>
! 
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc139981046"></a><a
! name="_Toc126872268"></a><a name="_Toc115417104"></a><a name="_Toc115416199">A.1.
! Service parameters</a></h2>
  
  <p class=MsoBodyText>The service parameters primarily affect the behavior of
  the AFS client service (afsd_service.exe).</p>
  
! <h3 style='margin-left:0pt;text-indent:0pt'><a name="_Toc139981047"></a><a
! name="_Toc126872269"></a><a name="_Toc115416200">Regkey:<br>
! [HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters]</a></h3>
! 
! <table class=MsoTableWeb1 border=1 cellspacing=3 cellpadding=0>
!  <tr style='height:145.25pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:145.25pt'>
!   <h5><a name="_Toc139981048"></a><a name="_Toc126872270"></a><a
!   name="_Toc115416201">Value: LANadapter</a></h5>
!   <p class=MsoBodyText>Type: DWORD<br>
    Default: -1<br>
    Variable: LANadapter</p>
!   <p class=MsoBodyText>LAN adapter number to use.  This is the lana number of
!   the LAN adapter that the SMB server should bind to.  If unspecified or set to
!   -1, a LAN adapter with named 'AFS' or a loopback adapter will be selected. 
!   If neither are present, then all available adapters will be bound to.  When
!   binding to a non-loopback adapter, the NetBIOS name hostname%-AFS' will be
!   used (where %hostname% is the NetBIOS name of the host truncated to 11 characters).
!   Otherwise, the NetBIOS name will be 'AFS'.</p>
    </td>
   </tr>
!  <tr style='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="_Toc139981049"></a><a name="_Toc126872271"></a><a
!   name="_Toc115416202"></a><a name="_Value___: CacheSize"></a>Value: CacheSize</h5>
    <p class=MsoBodyText>Type: DWORD<br>
    Default: 98304 (CM_CONFIGDEFAULT_CACHESIZE)<br>
    Variable: cm_initParams.cacheSize</p>
    <p class=MsoBodyText>Size of the AFS cache in 1k blocks.</p>
    </td>
   </tr>
!  <tr style='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="_Toc139981050"></a><a name="_Toc126872272"></a><a
!   name="_Toc115416203">Value: ChunkSize</a></h5>
    <p class=MsoBodyText>Type: DWORD<br>
    Default: 17 (CM_CONFIGDEFAULT_CHUNKSIZE)<br>
    Variable: cm_logChunkSize (cm_chunkSize = 1 &lt;&lt; cm_logChunkSize)</p>
***************
*** 7093,7103 ****
    is 2^cm_logChunkSize.</p>
    </td>
   </tr>
!  <tr style='mso-yfti-irow:2;height:92.0pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:92.0pt'>
!   <h5 style='mso-outline-level:5'><a name="_Toc126872273"></a><a
!   name="_Toc115416204"><span style='mso-bookmark:_Toc126872273'>Value: Daemons</span></a></h5>
    <p class=MsoBodyText>Type: DWORD<br>
    Default: 2 (CM_CONFIGDEFAULT_DAEMONS)<br>
    Variable: numBkgD</p>
--- 3207,3217 ----
    is 2^cm_logChunkSize.</p>
    </td>
   </tr>
!  <tr style='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="_Toc139981051"></a><a name="_Toc126872273"></a><a
!   name="_Toc115416204">Value: Daemons</a></h5>
    <p class=MsoBodyText>Type: DWORD<br>
    Default: 2 (CM_CONFIGDEFAULT_DAEMONS)<br>
    Variable: numBkgD</p>
***************
*** 7105,7116 ****
    cm_BkgDaemon). (see cm_BkgDaemon in cm_daemon.c)</p>
    </td>
   </tr>
!  <tr style='mso-yfti-irow:3;height:92.0pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:92.0pt'>
!   <h5 style='mso-outline-level:5'><a name="_Toc126872274"></a><a
!   name="_Toc115416205"><span style='mso-bookmark:_Toc126872274'>Value:
!   ServerThreads</span></a></h5>
    <p class=MsoBodyText>Type: DWORD<br>
    Default: 25 (CM_CONFIGDEFAULT_SVTHREADS)<br>
    Variable: numSvThreads</p>
--- 3219,3229 ----
    cm_BkgDaemon). (see cm_BkgDaemon in cm_daemon.c)</p>
    </td>
   </tr>
!  <tr style='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="_Toc139981052"></a><a name="_Toc126872274"></a><a
!   name="_Toc115416205">Value: ServerThreads</a></h5>
    <p class=MsoBodyText>Type: DWORD<br>
    Default: 25 (CM_CONFIGDEFAULT_SVTHREADS)<br>
    Variable: numSvThreads</p>
***************
*** 7118,7219 ****
    smb_Server). (see smb_Server in smb.c).</p>
    </td>
   </tr>
!  <tr style='mso-yfti-irow:4;height:79.25pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:79.25pt'>
!   <h5 style='mso-outline-level:5'><a name="_Toc126872275"></a><a
!   name="_Toc115416206"><span style='mso-bookmark:_Toc126872275'>Value: Stats</span></a></h5>
    <p class=MsoBodyText>Type: DWORD<br>
    Default: 10000 (CM_CONFIGDEFAULT_STATS)<br>
    Variable: cm_initParams.nStatCaches</p>
    <p class=MsoBodyText>Cache configuration.</p>
    </td>
   </tr>
!  <tr style='mso-yfti-irow:5;height:78.5pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:78.5pt'>
!   <h5 style='mso-outline-level:5'><a name="_Toc126872276"></a><a
!   name="_Toc115416207"></a><a name="_Value_:_LogoffPreserveTokens"></a><span
!   style='mso-bookmark:_Toc126872276'><span style='mso-bookmark:_Toc115416207'>Value:
!   LogoffPreserveTokens</span></span></h5>
    <p class=MsoBodyText>Type: DWORD {1,0}<br>
    Default : 0</p>
    <p class=MsoBodyText>If enabled (set to 1), the Logoff Event handler will not
!   attempt to delete the user's tokens<span style='mso-spacerun:yes'>  </span>if
!   the user's profile is stored outside of AFS.</p>
    </td>
   </tr>
!  <tr style='mso-yfti-irow:6;height:79.25pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:79.25pt'>
!   <h5 style='mso-outline-level:5'><a name="_Toc126872277"></a><a
!   name="_Toc115416208"><span style='mso-bookmark:_Toc126872277'>Value:
!   RootVolume</span></a></h5>
    <p class=MsoBodyText>Type: REG_SZ<br>
    Default: &quot;root.afs&quot;<br>
    Variable: cm_rootVolumeName</p>
    <p class=MsoBodyText>Root volume name.</p>
    </td>
   </tr>
!  <tr style='mso-yfti-irow:7;height:145.25pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:145.25pt'>
!   <h5 style='mso-outline-level:5'><a name="_Toc126872278"></a><a
!   name="_Toc115416209"></a><a name="_Value_:_Mountroot"></a><span
!   style='mso-bookmark:_Toc126872278'><span style='mso-bookmark:_Toc115416209'>Value:
!   Mountroot</span></span></h5>
    <p class=MsoBodyText>Type: REG_SZ<br>
    Default: &quot;/afs&quot;<br>
    Variable: cm_mountRoot</p>
!   <p class=MsoBodyText>Name of root mount point.<span
!   style='mso-spacerun:yes'>  </span>In symlinks, if a path starts with
!   cm_mountRoot, it is assumed that the path is absolute (as opposed to
    relative) and is adjusted accordingly. Eg: if a path is specified as
    /afs/athena.mit.edu/foo/bar/baz and cm_mountRoot is &quot;/afs&quot;, then
!   the path is interpreted as \\afs\all\athena.mit.edu\foo\bar\baz.<span
!   style='mso-spacerun:yes'>  </span>If a path does not start with with
!   cm_mountRoot, the path is assumed to be relative and suffixed to the
!   reference directory (i.e. directory where the symlink exists)</p>
    </td>
   </tr>
!  <tr style='mso-yfti-irow:8;height:92.0pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:92.0pt'>
!   <h5 style='mso-outline-level:5'><a name="_Toc126872279"></a><a
!   name="_Toc115416210"></a><a name="_Value_:_CachePath"></a><span
!   style='mso-bookmark:_Toc126872279'><span style='mso-bookmark:_Toc115416210'>Value:
!   CachePath</span></span></h5>
    <p class=MsoBodyText>Type: REG_SZ or REG_EXPAND_SZ<br>
    Default: &quot;%TEMP%\AFSCache&quot;<br>
    Variable: cm_CachePath</p>
!   <p class=MsoBodyText>Location of on-disk cache file.<span
!   style='mso-spacerun:yes'>  </span>The default is the SYSTEM account's TEMP
!   directory.<span style='mso-spacerun:yes'>  </span>The attributes assigned to
!   the file are HIDDEN and SYSTEM.</p>
    </td>
   </tr>
!  <tr style='mso-yfti-irow:9;height:119.0pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:119.0pt'>
!   <h5 style='mso-outline-level:5'><a name="_Toc126872280"></a><a
!   name="_Toc115416211"><span style='mso-bookmark:_Toc126872280'>Value:
!   NonPersistentCaching</span></a></h5>
    <p class=MsoBodyText>Type: DWORD [0..1]<br>
    Default: 0<br>
    Variable: buf_CacheType</p>
    <p class=MsoBodyText>When this registry value is set to a non-zero value, the
    CachePath value is ignored and the cache data is stored in the windows paging
!   file.<span style='mso-spacerun:yes'>  </span>This prevents the use of
!   persistent caching (when available) as well as the ability to alter the size
!   of the cache at runtime using the &quot;fs setcachesize&quot; command.</p>
    </td>
   </tr>
!  <tr style='mso-yfti-irow:10;height:125.5pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:125.5pt'>
!   <h5 style='mso-outline-level:5'><a name="_Toc126872281"></a><a
!   name="_Toc115416212"><span style='mso-bookmark:_Toc126872281'>Value:
!   ValidateCache</span></a></h5>
    <p class=MsoBodyText>Type: DWORD [0..2]<br>
    Default: 1<br>
    Variable: buf_CacheType</p>
--- 3231,3321 ----
    smb_Server). (see smb_Server in smb.c).</p>
    </td>
   </tr>
!  <tr style='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="_Toc139981053"></a><a name="_Toc126872275"></a><a
!   name="_Toc115416206">Value: Stats</a></h5>
    <p class=MsoBodyText>Type: DWORD<br>
    Default: 10000 (CM_CONFIGDEFAULT_STATS)<br>
    Variable: cm_initParams.nStatCaches</p>
    <p class=MsoBodyText>Cache configuration.</p>
    </td>
   </tr>
!  <tr style='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="_Toc139981054"></a><a name="_Toc126872276"></a><a
!   name="_Toc115416207"></a><a name="_Value_:_LogoffPreserveTokens"></a>Value:
!   LogoffPreserveTokens</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
!   attempt to delete the user's tokens  if the user's profile is stored outside
!   of AFS.</p>
    </td>
   </tr>
!  <tr style='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="_Toc139981055"></a><a name="_Toc126872277"></a><a
!   name="_Toc115416208">Value: RootVolume</a></h5>
    <p class=MsoBodyText>Type: REG_SZ<br>
    Default: &quot;root.afs&quot;<br>
    Variable: cm_rootVolumeName</p>
    <p class=MsoBodyText>Root volume name.</p>
    </td>
   </tr>
!  <tr style='height:145.25pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:145.25pt'>
!   <h5><a name="_Toc139981056"></a><a name="_Toc126872278"></a><a
!   name="_Toc115416209"></a><a name="_Value_:_Mountroot"></a>Value: Mountroot</h5>
    <p class=MsoBodyText>Type: REG_SZ<br>
    Default: &quot;/afs&quot;<br>
    Variable: cm_mountRoot</p>
!   <p class=MsoBodyText>Name of root mount point.  In symlinks, if a path starts
!   with cm_mountRoot, it is assumed that the path is absolute (as opposed to
    relative) and is adjusted accordingly. Eg: if a path is specified as
    /afs/athena.mit.edu/foo/bar/baz and cm_mountRoot is &quot;/afs&quot;, then
!   the path is interpreted as \\afs\all\athena.mit.edu\foo\bar\baz.  If a path
!   does not start with with cm_mountRoot, the path is assumed to be relative and
!   suffixed to the reference directory (i.e. directory where the symlink exists)</p>
    </td>
   </tr>
!  <tr style='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="_Toc139981057"></a><a name="_Toc126872279"></a><a
!   name="_Toc115416210"></a><a name="_Value_:_CachePath"></a>Value: CachePath</h5>
    <p class=MsoBodyText>Type: REG_SZ or REG_EXPAND_SZ<br>
    Default: &quot;%TEMP%\AFSCache&quot;<br>
    Variable: cm_CachePath</p>
!   <p class=MsoBodyText>Location of on-disk cache file.  The default is the
!   SYSTEM account's TEMP directory.  The attributes assigned to the file are
!   HIDDEN and SYSTEM.</p>
    </td>
   </tr>
!  <tr style='height:119.0pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:119.0pt'>
!   <h5><a name="_Toc139981058"></a><a name="_Toc126872280"></a><a
!   name="_Toc115416211">Value: NonPersistentCaching</a></h5>
    <p class=MsoBodyText>Type: DWORD [0..1]<br>
    Default: 0<br>
    Variable: buf_CacheType</p>
    <p class=MsoBodyText>When this registry value is set to a non-zero value, the
    CachePath value is ignored and the cache data is stored in the windows paging
!   file.  This prevents the use of persistent caching (when available) as well
!   as the ability to alter the size of the cache at runtime using the &quot;fs
!   setcachesize&quot; command.</p>
    </td>
   </tr>
!  <tr style='height:125.5pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:125.5pt'>
!   <h5><a name="_Toc139981059"></a><a name="_Toc126872281"></a><a
!   name="_Toc115416212">Value: ValidateCache</a></h5>
    <p class=MsoBodyText>Type: DWORD [0..2]<br>
    Default: 1<br>
    Variable: buf_CacheType</p>
***************
*** 7224,7235 ****
    2 - Validation is performed at shutdown</p>
    </td>
   </tr>
!  <tr style='mso-yfti-irow:11;height:79.25pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:79.25pt'>
!   <h5 style='mso-outline-level:5'><a name="_Toc126872282"></a><a
!   name="_Toc115416213"><span style='mso-bookmark:_Toc126872282'>Value:
!   TrapOnPanic</span></a></h5>
    <p class=MsoBodyText>Type: DWORD {1,0}<br>
    Default: 0<br>
    Variable: traceOnPanic</p>
--- 3326,3336 ----
    2 - Validation is performed at shutdown</p>
    </td>
   </tr>
!  <tr style='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="_Toc139981060"></a><a name="_Toc126872282"></a><a
!   name="_Toc115416213">Value: TrapOnPanic</a></h5>
    <p class=MsoBodyText>Type: DWORD {1,0}<br>
    Default: 0<br>
    Variable: traceOnPanic</p>
***************
*** 7237,7342 ****
    (breakpoint: _asm int 3).</p>
    </td>
   </tr>
!  <tr style='mso-yfti-irow:12;height:92.0pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:92.0pt'>
!   <h5 style='mso-outline-level:5'><a name="_Toc126872283"></a><a
!   name="_Toc115416214"></a><a name="_Value___: NetbiosName"></a><span
!   style='mso-bookmark:_Toc126872283'><span style='mso-bookmark:_Toc115416214'>Value:
!   NetbiosName</span></span></h5>
    <p class=MsoBodyText>Type: REG_EXPAND_SZ<br>
    Default: &quot;AFS&quot;<br>
    Variable: cm_NetbiosName</p>
    <p class=MsoBodyText>Specifies the NetBIOS name to be used when binding to a
!   Loopback adapter.<span style='mso-spacerun:yes'>  </span>To provide the old
!   behavior specify a value of<span style='mso-spacerun:yes'> 
!   </span>&quot;%COMPUTERNAME%-AFS&quot;.</p>
    </td>
   </tr>
!  <tr style='mso-yfti-irow:13;height:152.0pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:152.0pt'>
!   <h5 style='mso-outline-level:5'><a name="_Toc126872284"></a><a
!   name="_Toc115416215"><span style='mso-bookmark:_Toc126872284'>Value:
!   IsGateway</span></a></h5>
    <p class=MsoBodyText>Type: DWORD {1,0}<br>
    Default: 0<br>
    Variable: isGateway</p>
    <p class=MsoBodyText>Select whether or not this AFS client should act as a
!   gateway.<span style='mso-spacerun:yes'>  </span>If set and the NetBIOS name
!   hostname-AFS is bound to a physical NIC, other machines in the subnet can
!   access AFS via SMB connections to hostname-AFS.</p>
    <p class=MsoBodyText>When IsGateway is non-zero, the LAN adapter detection
!   code will avoid binding to a loopback adapter.<span
!   style='mso-spacerun:yes'>  </span>This will ensure that the NetBIOS name will
!   be of the form hostname-AFS instead of the value set by the
    &quot;NetbiosName&quot; registry value.</p>
    </td>
   </tr>
!  <tr style='mso-yfti-irow:14;height:92.0pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:92.0pt'>
!   <h5 style='mso-outline-level:5'><a name="_Toc126872285"></a><a
!   name="_Toc115416216"><span style='mso-bookmark:_Toc126872285'>Value:
!   ReportSessionStartups</span></a></h5>
    <p class=MsoBodyText>Type: DWORD {1,0}<br>
    Default: 0<br>
    Variable: reportSessionStartups</p>
    <p class=MsoBodyText>If enabled, all SMB sessions created are recorded in the
!   Application event log.<span style='mso-spacerun:yes'>  </span>This also
!   enables other events such as drive mappings or various error types to be
!   logged.</p>
    </td>
   </tr>
!  <tr style='mso-yfti-irow:15;height:79.25pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:79.25pt'>
!   <h5 style='mso-outline-level:5'><a name="_Toc126872286"></a><a
!   name="_Toc115416217"></a><a name="_Value_:_TraceBufferSize"></a><span
!   style='mso-bookmark:_Toc126872286'><span style='mso-bookmark:_Toc115416217'>Value:
!   TraceBufferSize</span></span></h5>
    <p class=MsoBodyText>Type: DWORD<br>
    Default: 5000 (CM_CONFIGDEFAULT_TRACEBUFSIZE)<br>
    Variable: traceBufSize</p>
    <p class=MsoBodyText>Number of entries to keep in trace log.</p>
    </td>
   </tr>
!  <tr style='mso-yfti-irow:16;height:92.0pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:92.0pt'>
!   <h5 style='mso-outline-level:5'><a name="_Toc126872287"></a><a
!   name="_Toc115416218"></a><a name="_Value_:_SysName"></a><span
!   style='mso-bookmark:_Toc126872287'><span style='mso-bookmark:_Toc115416218'>Value:
!   SysName</span></span></h5>
    <p class=MsoBodyText>Type: REG_SZ<br>
    Default: &quot;i386_nt40&quot;<br>
    Variable: cm_sysName</p>
!   <p class=MsoBodyText>Provides an initial value for &quot;fs
!   sysname&quot;.<span style='mso-spacerun:yes'>  </span>The string can contain
!   one or more replacement values for @sys in order of preference separated by
!   whitespace.</p>
    </td>
   </tr>
!  <tr style='mso-yfti-irow:17;height:79.25pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:79.25pt'>
!   <h5 style='mso-outline-level:5'><a name="_Toc126872288"></a><a
!   name="_Toc115416219"></a><a name="_Value_:_SecurityLevel"></a><span
!   style='mso-bookmark:_Toc126872288'><span style='mso-bookmark:_Toc115416219'>Value:
!   SecurityLevel</span></span></h5>
    <p class=MsoBodyText>Type: DWORD {1,0}<br>
    Default: 0<br>
    Variable: cryptall</p>
    <p class=MsoBodyText>Enables encryption on RX calls.</p>
    </td>
   </tr>
!  <tr style='mso-yfti-irow:18;height:112.25pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:112.25pt'>
!   <h5 style='mso-outline-level:5'><a name="_Toc126872289"></a><a
!   name="_Toc115416220"></a><a name="_Value_:_UseDNS"></a><span
!   style='mso-bookmark:_Toc126872289'><span style='mso-bookmark:_Toc115416220'>Value:
!   UseDNS</span></span></h5>
    <p class=MsoBodyText>Type: DWORD {1,0}<br>
    Default: 1<br>
    Variable: cm_dnsEnabled</p>
--- 3338,3429 ----
    (breakpoint: _asm int 3).</p>
    </td>
   </tr>
!  <tr style='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="_Toc139981061"></a><a name="_Toc126872283"></a><a
!   name="_Toc115416214"></a><a name="_Value___: NetbiosName"></a>Value: NetbiosName</h5>
    <p class=MsoBodyText>Type: REG_EXPAND_SZ<br>
    Default: &quot;AFS&quot;<br>
    Variable: cm_NetbiosName</p>
    <p class=MsoBodyText>Specifies the NetBIOS name to be used when binding to a
!   Loopback adapter.  To provide the old behavior specify a value of 
!   &quot;%COMPUTERNAME%-AFS&quot;.</p>
    </td>
   </tr>
!  <tr style='height:152.0pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:152.0pt'>
!   <h5><a name="_Toc139981062"></a><a name="_Toc126872284"></a><a
!   name="_Toc115416215">Value: IsGateway</a></h5>
    <p class=MsoBodyText>Type: DWORD {1,0}<br>
    Default: 0<br>
    Variable: isGateway</p>
    <p class=MsoBodyText>Select whether or not this AFS client should act as a
!   gateway.  If set and the NetBIOS name hostname-AFS is bound to a physical
!   NIC, other machines in the subnet can access AFS via SMB connections to
!   hostname-AFS.</p>
    <p class=MsoBodyText>When IsGateway is non-zero, the LAN adapter detection
!   code will avoid binding to a loopback adapter.  This will ensure that the
!   NetBIOS name will be of the form hostname-AFS instead of the value set by the
    &quot;NetbiosName&quot; registry value.</p>
    </td>
   </tr>
!  <tr style='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="_Toc139981063"></a><a name="_Toc126872285"></a><a
!   name="_Toc115416216">Value: ReportSessionStartups</a></h5>
    <p class=MsoBodyText>Type: DWORD {1,0}<br>
    Default: 0<br>
    Variable: reportSessionStartups</p>
    <p class=MsoBodyText>If enabled, all SMB sessions created are recorded in the
!   Application event log.  This also enables other events such as drive mappings
!   or various error types to be logged.</p>
    </td>
   </tr>
!  <tr style='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="_Toc139981064"></a><a name="_Toc126872286"></a><a
!   name="_Toc115416217"></a><a name="_Value_:_TraceBufferSize"></a>Value:
!   TraceBufferSize</h5>
    <p class=MsoBodyText>Type: DWORD<br>
    Default: 5000 (CM_CONFIGDEFAULT_TRACEBUFSIZE)<br>
    Variable: traceBufSize</p>
    <p class=MsoBodyText>Number of entries to keep in trace log.</p>
    </td>
   </tr>
!  <tr style='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="_Toc139981065"></a><a name="_Toc126872287"></a><a
!   name="_Toc115416218"></a><a name="_Value_:_SysName"></a>Value: SysName</h5>
    <p class=MsoBodyText>Type: REG_SZ<br>
    Default: &quot;i386_nt40&quot;<br>
    Variable: cm_sysName</p>
!   <p class=MsoBodyText>Provides an initial value for &quot;fs sysname&quot;. 
!   The string can contain one or more replacement values for @sys in order of
!   preference separated by whitespace.</p>
    </td>
   </tr>
!  <tr style='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="_Toc139981066"></a><a name="_Toc126872288"></a><a
!   name="_Toc115416219"></a><a name="_Value_:_SecurityLevel"></a>Value:
!   SecurityLevel</h5>
    <p class=MsoBodyText>Type: DWORD {1,0}<br>
    Default: 0<br>
    Variable: cryptall</p>
    <p class=MsoBodyText>Enables encryption on RX calls.</p>
    </td>
   </tr>
!  <tr style='height:112.25pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:112.25pt'>
!   <h5><a name="_Toc139981067"></a><a name="_Toc126872289"></a><a
!   name="_Toc115416220"></a><a name="_Value_:_UseDNS"></a>Value: UseDNS</h5>
    <p class=MsoBodyText>Type: DWORD {1,0}<br>
    Default: 1<br>
    Variable: cm_dnsEnabled</p>
***************
*** 7346,7385 ****
    above.</p>
    </td>
   </tr>
!  <tr style='mso-yfti-irow:19;height:79.25pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:79.25pt'>
!   <h5 style='mso-outline-level:5'><a name="_Toc126872290"></a><a
!   name="_Toc115416221"></a><a name="_Value_:_FreelanceClient"></a><span
!   style='mso-bookmark:_Toc126872290'><span style='mso-bookmark:_Toc115416221'>Value:
!   FreelanceClient</span></span></h5>
    <p class=MsoBodyText>Type: DWORD {1,0}<br>
    Default: 0<br>
    Variable: cm_freelanceEnabled</p>
    <p class=MsoBodyText>Enables freelance client.</p>
    </td>
   </tr>
!  <tr style='mso-yfti-irow:20;height:92.0pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:92.0pt'>
!   <h5 style='mso-outline-level:5'><a name="_Toc126872291"></a><a
!   name="_Toc115416222"></a><a name="_Value_:_HideDotFiles"></a><span
!   style='mso-bookmark:_Toc126872291'><span style='mso-bookmark:_Toc115416222'>Value:
!   HideDotFiles</span></span></h5>
    <p class=MsoBodyText>Type: DWORD {1,0}<br>
    Default: 1<br>
    Variable: smb_hideDotFiles</p>
!   <p class=MsoBodyText>Enables marking dotfiles with the hidden attribute.<span
!   style='mso-spacerun:yes'>  </span>Dot files are files whose name starts with
!   a period (excluding &quot;.&quot; and &quot;..&quot;).</p>
    </td>
   </tr>
!  <tr style='mso-yfti-irow:21;height:79.25pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:79.25pt'>
!   <h5 style='mso-outline-level:5'><a name="_Toc126872292"></a><a
!   name="_Toc115416223"><span style='mso-bookmark:_Toc126872292'>Value:
!   MaxMpxRequests</span></a></h5>
    <p class=MsoBodyText>Type: DWORD<br>
    Default: 50<br>
    Variable: smb_maxMpxRequests</p>
--- 3433,3469 ----
    above.</p>
    </td>
   </tr>
!  <tr style='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="_Toc139981068"></a><a name="_Toc126872290"></a><a
!   name="_Toc115416221"></a><a name="_Value_:_FreelanceClient"></a>Value:
!   FreelanceClient</h5>
    <p class=MsoBodyText>Type: DWORD {1,0}<br>
    Default: 0<br>
    Variable: cm_freelanceEnabled</p>
    <p class=MsoBodyText>Enables freelance client.</p>
    </td>
   </tr>
!  <tr style='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="_Toc139981069"></a><a name="_Toc126872291"></a><a
!   name="_Toc115416222"></a><a name="_Value_:_HideDotFiles"></a>Value:
!   HideDotFiles</h5>
    <p class=MsoBodyText>Type: DWORD {1,0}<br>
    Default: 1<br>
    Variable: smb_hideDotFiles</p>
!   <p class=MsoBodyText>Enables marking dotfiles with the hidden attribute.  Dot
!   files are files whose name starts with a period (excluding &quot;.&quot; and
!   &quot;..&quot;).</p>
    </td>
   </tr>
!  <tr style='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="_Toc139981070"></a><a name="_Toc126872292"></a><a
!   name="_Toc115416223">Value: MaxMpxRequests</a></h5>
    <p class=MsoBodyText>Type: DWORD<br>
    Default: 50<br>
    Variable: smb_maxMpxRequests</p>
***************
*** 7387,7410 ****
    made.</p>
    </td>
   </tr>
!  <tr style='mso-yfti-irow:22;height:79.25pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:79.25pt'>
!   <h5 style='mso-outline-level:5'><a name="_Toc126872293"></a><a
!   name="_Toc115416224"><span style='mso-bookmark:_Toc126872293'>Value:
!   MaxVCPerServer</span></a></h5>
    <p class=MsoBodyText>Type: DWORD<br>
    Default: 100<br>
    Variable: smb_maxVCPerServer</p>
    <p class=MsoBodyText>Maximum number of SMB virtual circuits.</p>
    </td>
   </tr>
!  <tr style='mso-yfti-irow:23;height:79.25pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:79.25pt'>
!   <h5 style='mso-outline-level:5'><a name="_Toc126872294"></a><a
!   name="_Toc115416225"></a><a name="_Value_:_Cell"></a><span style='mso-bookmark:
!   _Toc126872294'><span style='mso-bookmark:_Toc115416225'>Value: Cell</span></span></h5>
    <p class=MsoBodyText>Type: REG_SZ<br>
    Default: &lt;none&gt;<br>
    Variable: rootCellName</p>
--- 3471,3492 ----
    made.</p>
    </td>
   </tr>
!  <tr style='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="_Toc139981071"></a><a name="_Toc126872293"></a><a
!   name="_Toc115416224">Value: MaxVCPerServer</a></h5>
    <p class=MsoBodyText>Type: DWORD<br>
    Default: 100<br>
    Variable: smb_maxVCPerServer</p>
    <p class=MsoBodyText>Maximum number of SMB virtual circuits.</p>
    </td>
   </tr>
!  <tr style='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="_Toc139981072"></a><a name="_Toc126872294"></a><a
!   name="_Toc115416225"></a><a name="_Value_:_Cell"></a>Value: Cell</h5>
    <p class=MsoBodyText>Type: REG_SZ<br>
    Default: &lt;none&gt;<br>
    Variable: rootCellName</p>
***************
*** 7412,7437 ****
    be mounted in \\afs\all).</p>
    </td>
   </tr>
!  <tr style='mso-yfti-irow:24;height:79.25pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:79.25pt'>
!   <h5 style='mso-outline-level:5'><a name="_Toc126872295"></a><a
!   name="_Toc115416226"><span style='mso-bookmark:_Toc126872295'>Value:
!   RxNoJumbo</span></a></h5>
    <p class=MsoBodyText>Type: DWORD {0,1}<br>
    Default: 0<br>
    Variable: rx_nojumbo</p>
!   <p class=MsoBodyText>If enabled, does not send or indicate that we are able
!   to send or receive RX jumbograms.</p>
    </td>
   </tr>
!  <tr style='mso-yfti-irow:25;height:124.75pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:124.75pt'>
!   <h5 style='mso-outline-level:5'><a name="_Toc126872296"></a><a
!   name="_Toc115416227"></a><a name="_Value_:_RxMaxMTU"></a><span
!   style='mso-bookmark:_Toc126872296'><span style='mso-bookmark:_Toc115416227'>Value:
!   RxMaxMTU</span></span></h5>
    <p class=MsoBodyText>Type: DWORD<br>
    Default: -1<br>
    Variable: rx_mtu</p>
--- 3494,3516 ----
    be mounted in \\afs\all).</p>
    </td>
   </tr>
!  <tr style='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="_Toc139981073"></a><a name="_Toc126872295"></a><a
!   name="_Toc115416226">Value: RxNoJumbo</a></h5>
    <p class=MsoBodyText>Type: DWORD {0,1}<br>
    Default: 0<br>
    Variable: rx_nojumbo</p>
!   <p class=MsoBodyText>If enabled, does not send or indicate that we are able to
!   send or receive RX jumbograms.</p>
    </td>
   </tr>
!  <tr style='height:124.75pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:124.75pt'>
!   <h5><a name="_Toc139981074"></a><a name="_Toc126872296"></a><a
!   name="_Toc115416227"></a><a name="_Value_:_RxMaxMTU"></a>Value: RxMaxMTU</h5>
    <p class=MsoBodyText>Type: DWORD<br>
    Default: -1<br>
    Variable: rx_mtu</p>
***************
*** 7441,7492 ****
    IPSec VPN client, this value must be set to 1264 or smaller.</p>
    </td>
   </tr>
!  <tr style='mso-yfti-irow:26;height:151.75pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:151.75pt'>
!   <h5 style='mso-outline-level:5'><a name="_Toc126872297"></a><a
!   name="_Toc115416228"><span style='mso-bookmark:_Toc126872297'>Value:
!   ConnDeadTimeout</span></a></h5>
    <p class=MsoBodyText>Type: DWORD<br>
    Default: 60 (seconds)<br>
    Variable: ConnDeadtimeout</p>
    <p class=MsoBodyText>The Connection Dead Time is enforced to be at a minimum
!   15 seconds longer than the minimum SMB timeout as specified by
!   [HKLM\SYSTEM\CurrentControlSet\Services\lanmanworkstation\parameters]
    SessTimeout</p>
    <p class=MsoBodyText>If the minimum SMB timeout is not specified the value is
!   45 seconds.<span style='mso-spacerun:yes'>  </span>See <a
    href="http://support.microsoft.com/support/kb/articles/Q102/0/67.asp">http://support.microsoft.com:80/support/kb/articles/Q102/0/67.asp</a></p>
    </td>
   </tr>
!  <tr style='mso-yfti-irow:27;height:92.0pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:92.0pt'>
!   <h5 style='mso-outline-level:5'><a name="_Toc126872298"></a><a
!   name="_Toc115416229"><span style='mso-bookmark:_Toc126872298'>Value:
!   HardDeadTimeout</span></a></h5>
    <p class=MsoBodyText>Type: DWORD<br>
    Default: 120 (seconds)<br>
    Variable: HardDeadtimeout</p>
    <p class=MsoBodyText>The Hard Dead Time is enforced to be at least double the
!   ConnDeadTimeout.<span style='mso-spacerun:yes'>  </span>The provides an
!   opportunity for at least one retry.</p>
    </td>
   </tr>
!  <tr style='mso-yfti-irow:28;height:158.5pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:158.5pt'>
!   <h5 style='mso-outline-level:5'><a name="_Toc126872299"></a><a
!   name="_Toc115416230"></a><a name="_Value__:_TraceOption"></a><span
!   style='mso-bookmark:_Toc126872299'><span style='mso-bookmark:_Toc115416230'>Value:
!   TraceOption</span></span></h5>
    <p class=MsoBodyText>Type: DWORD {0-15}<br>
    Default: 0</p>
    <p class=MsoBodyText>Enables logging of debug output to the Windows Event
    Log.</p>
    <p class=MsoBodyText>Bit 0 enables logging of &quot;Logon Events&quot;
!   processed by the Network Provider and Winlogon Event Notification
!   Handler.<span style='mso-spacerun:yes'>  </span></p>
    <p class=MsoBodyText>Bit 1 enables logging of events captured by the AFS
    Client Service.</p>
    <p class=MsoBodyText>Bit 2 enables real-time viewing of &quot;fs trace&quot;
--- 3520,3566 ----
    IPSec VPN client, this value must be set to 1264 or smaller.</p>
    </td>
   </tr>
!  <tr style='height:151.75pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:151.75pt'>
!   <h5><a name="_Toc139981075"></a><a name="_Toc126872297"></a><a
!   name="_Toc115416228"></a><a name="_Value:_ConnDeadTimeout"></a>Value:
!   ConnDeadTimeout</h5>
    <p class=MsoBodyText>Type: DWORD<br>
    Default: 60 (seconds)<br>
    Variable: ConnDeadtimeout</p>
    <p class=MsoBodyText>The Connection Dead Time is enforced to be at a minimum
!   15 seconds longer than the minimum SMB timeout as specified by [HKLM\SYSTEM\CurrentControlSet\Services\lanmanworkstation\parameters]
    SessTimeout</p>
    <p class=MsoBodyText>If the minimum SMB timeout is not specified the value is
!   45 seconds.  See <a
    href="http://support.microsoft.com/support/kb/articles/Q102/0/67.asp">http://support.microsoft.com:80/support/kb/articles/Q102/0/67.asp</a></p>
    </td>
   </tr>
!  <tr style='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="_Toc139981076"></a><a name="_Toc126872298"></a><a
!   name="_Toc115416229">Value: HardDeadTimeout</a></h5>
    <p class=MsoBodyText>Type: DWORD<br>
    Default: 120 (seconds)<br>
    Variable: HardDeadtimeout</p>
    <p class=MsoBodyText>The Hard Dead Time is enforced to be at least double the
!   ConnDeadTimeout.  The provides an opportunity for at least one retry.</p>
    </td>
   </tr>
!  <tr style='height:158.5pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:158.5pt'>
!   <h5><a name="_Toc139981077"></a><a name="_Toc126872299"></a><a
!   name="_Toc115416230"></a><a name="_Value__:_TraceOption"></a>Value:
!   TraceOption</h5>
    <p class=MsoBodyText>Type: DWORD {0-15}<br>
    Default: 0</p>
    <p class=MsoBodyText>Enables logging of debug output to the Windows Event
    Log.</p>
    <p class=MsoBodyText>Bit 0 enables logging of &quot;Logon Events&quot;
!   processed by the Network Provider and Winlogon Event Notification Handler.  </p>
    <p class=MsoBodyText>Bit 1 enables logging of events captured by the AFS
    Client Service.</p>
    <p class=MsoBodyText>Bit 2 enables real-time viewing of &quot;fs trace&quot;
***************
*** 7494,7582 ****
    <p class=MsoBodyText>Bit 3 enables &quot;fs trace&quot; logging on startup.</p>
    </td>
   </tr>
!  <tr style='mso-yfti-irow:29;height:98.5pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:98.5pt'>
!   <h5 style='mso-outline-level:5'><a name="_Toc126872300"></a><a
!   name="_Toc115416231"><span style='mso-bookmark:_Toc126872300'>Value:
!   AllSubmount</span></a></h5>
    <p class=MsoBodyText>Type: DWORD {0, 1}<br>
    Default: 1</p>
    <p class=MsoBodyText>Variable: allSubmount (smb.c)</p>
    <p class=MsoBodyText>By setting this value to 0, the
!   &quot;\\NetbiosName\all&quot; mount point will not be created.<span
!   style='mso-spacerun:yes'>  </span>This allows the read-write versions of
!   root.afs to be hidden.</p>
    </td>
   </tr>
!  <tr style='mso-yfti-irow:30;height:78.5pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:78.5pt'>
!   <h5 style='mso-outline-level:5'><a name="_Toc126872301"></a><a
!   name="_Toc115416232"></a><a name="_Value___: NoFindLanaByName"></a><span
!   style='mso-bookmark:_Toc126872301'><span style='mso-bookmark:_Toc115416232'>Value:
!   NoFindLanaByName</span></span></h5>
    <p class=MsoBodyText>Type: DWORD {0, 1}<br>
    Default: 0</p>
    <p class=MsoBodyText>Disables the attempt to identity the network adapter to
    use by looking for an adapter with a display name of &quot;AFS&quot;.</p>
    </td>
   </tr>
!  <tr style='mso-yfti-irow:31;height:78.5pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:78.5pt'>
!   <h5 style='mso-outline-level:5'><a name="_Toc126872302"></a><a
!   name="_Toc115416233"><span style='mso-bookmark:_Toc126872302'>Value: MaxCPUs</span></a></h5>
    <p class=MsoBodyText>Type: DWORD {1..32} or {1..64} depending on the
    architecture<br>
    Default: &lt;no default&gt;</p>
    <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
!   greater number installed in the machine.<span style='mso-spacerun:yes'> 
!   </span></p>
    </td>
   </tr>
!  <tr style='mso-yfti-irow:32;height:151.75pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:151.75pt'>
!   <h5 style='mso-outline-level:5'><a name="_Toc126872303"></a><a
!   name="_Toc115416234"></a><a name="_Value___: smbAuthType"></a><span
!   style='mso-bookmark:_Toc126872303'><span style='mso-bookmark:_Toc115416234'>Value:
!   smbAuthType</span></span></h5>
    <p class=MsoBodyText>Type: DWORD {0..2}<br>
    Default: 2</p>
    <p class=MsoBodyText>If this value is specified, it defines the type of SMB
    authentication which must be present in order for the Windows SMB client to
!   connect to the AFS Client Service's SMB server.<span
!   style='mso-spacerun:yes'>  </span>The values are:</p>
    <p class=MsoBodyText>0 = No authentication required<br>
    1 = NTLM authentication required<br>
    2 = Extended (GSS SPNEGO) authentication required<br>
    The default is Extended authentication</p>
    </td>
   </tr>
!  <tr style='mso-yfti-irow:33;height:92.0pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:92.0pt'>
!   <h5 style='mso-outline-level:5'><a name="_Toc126872304"></a><a
!   name="_Toc115416235"></a><a name="_Value___: MaxLogSize"></a><span
!   style='mso-bookmark:_Toc126872304'><span style='mso-bookmark:_Toc115416235'>Value:
!   MaxLogSize</span></span></h5>
    <p class=MsoBodyText>Type: DWORD {0 .. MAXDWORD}<br>
    Default: 100K</p>
    <p class=MsoBodyText>This entry determines the maximum size of the
!   %WINDIR%\TEMP\afsd_init.log file.<span style='mso-spacerun:yes'>  </span>If
!   the file is larger than this value when afsd_service.exe starts the file will
!   be reset to 0 bytes.<span style='mso-spacerun:yes'>  </span>If this value is
    0, it means the file should be allowed to grow indefinitely.</p>
    </td>
   </tr>
!  <tr style='mso-yfti-irow:34;mso-yfti-lastrow:yes;height:65.75pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:65.75pt'>
!   <h5 style='mso-outline-level:5'><a name="_Toc126872305"></a><a
!   name="_Toc115416236"><span style='mso-bookmark:_Toc126872305'>Value:
!   FlushOnHibernate</span></a></h5>
    <p class=MsoBodyText>Type: DWORD {0,1}<br>
    Default: 1</p>
    <p class=MsoBodyText>If set, flushes all volumes before the machine goes on
--- 3568,3647 ----
    <p class=MsoBodyText>Bit 3 enables &quot;fs trace&quot; logging on startup.</p>
    </td>
   </tr>
!  <tr style='height:98.5pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:98.5pt'>
!   <h5><a name="_Toc139981078"></a><a name="_Toc126872300"></a><a
!   name="_Toc115416231">Value: AllSubmount</a></h5>
    <p class=MsoBodyText>Type: DWORD {0, 1}<br>
    Default: 1</p>
    <p class=MsoBodyText>Variable: allSubmount (smb.c)</p>
    <p class=MsoBodyText>By setting this value to 0, the
!   &quot;\\NetbiosName\all&quot; mount point will not be created.  This allows
!   the read-write versions of root.afs to be hidden.</p>
    </td>
   </tr>
!  <tr style='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="_Toc139981079"></a><a name="_Toc126872301"></a><a
!   name="_Toc115416232"></a><a name="_Value___: NoFindLanaByName"></a>Value:
!   NoFindLanaByName</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='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="_Toc139981080"></a><a name="_Toc126872302"></a><a
!   name="_Toc115416233">Value: MaxCPUs</a></h5>
    <p class=MsoBodyText>Type: DWORD {1..32} or {1..64} depending on the
    architecture<br>
    Default: &lt;no default&gt;</p>
    <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
!   greater number installed in the machine.  </p>
    </td>
   </tr>
!  <tr style='height:151.75pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:151.75pt'>
!   <h5><a name="_Toc139981081"></a><a name="_Toc126872303"></a><a
!   name="_Toc115416234"></a><a name="_Value___: smbAuthType"></a>Value:
!   smbAuthType</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
    authentication which must be present in order for the Windows SMB client to
!   connect to the AFS Client Service's SMB server.  The values are:</p>
    <p class=MsoBodyText>0 = No authentication required<br>
    1 = NTLM authentication required<br>
    2 = Extended (GSS SPNEGO) authentication required<br>
    The default is Extended authentication</p>
    </td>
   </tr>
!  <tr style='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="_Toc139981082"></a><a name="_Toc126872304"></a><a
!   name="_Toc115416235"></a><a name="_Value___: MaxLogSize"></a>Value:
!   MaxLogSize</h5>
    <p class=MsoBodyText>Type: DWORD {0 .. MAXDWORD}<br>
    Default: 100K</p>
    <p class=MsoBodyText>This entry determines the maximum size of the
!   %WINDIR%\TEMP\afsd_init.log file.  If the file is larger than this value when
!   afsd_service.exe starts the file will be reset to 0 bytes.  If this value is
    0, it means the file should be allowed to grow indefinitely.</p>
    </td>
   </tr>
!  <tr style='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="_Toc139981083"></a><a name="_Toc126872305"></a><a
!   name="_Toc115416236">Value: FlushOnHibernate</a></h5>
    <p class=MsoBodyText>Type: DWORD {0,1}<br>
    Default: 1</p>
    <p class=MsoBodyText>If set, flushes all volumes before the machine goes on
***************
*** 7585,7676 ****
   </tr>
  </table>
  
! <h3 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872306"></a><a
! name="_Toc115416237"><span style='mso-bookmark:_Toc126872306'>Regkey:<br>
! [HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters\GlobalAutoMapper]</span></a></h3>
! 
! <table class=MsoTableWeb1 border=1 cellspacing=3 cellpadding=0
!  style='mso-cellspacing:2.0pt;mso-yfti-tbllook:480;mso-padding-alt:0pt 5.4pt 0pt 5.4pt;
!  mso-border-insideh:.75pt outset windowtext;mso-border-insidev:.75pt outset windowtext'>
!  <tr style='mso-yfti-irow:-1;mso-yfti-firstrow:yes;mso-yfti-lastrow:yes;
!   height:65.0pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:65.0pt'>
!   <h5 style='mso-outline-level:5;mso-yfti-cnfc:1'><a name="_Toc126872307"></a><a
!   name="_Toc115416238"><span style='mso-bookmark:_Toc126872307'>Value: &lt;Drive
!   Letter:&gt; for example &quot;G:&quot;</span></a></h5>
!   <p class=MsoBodyText style='mso-yfti-cnfc:1'>Type: REG_SZ</p>
!   <p class=MsoBodyText style='mso-yfti-cnfc:1'>Specifies the submount name to
!   be mapped by afsd_service.exe at startup to the provided drive letter.</p>
    </td>
   </tr>
  </table>
  
! <h3 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872308"></a><a
! name="_Toc115416239"><span style='mso-bookmark:_Toc126872308'>Regkey:<br>
! [HKLM\SOFTWARE\OpenAFS\Client]</span></a></h3>
! 
! <table class=MsoTableWeb1 border=1 cellspacing=3 cellpadding=0
!  style='mso-cellspacing:2.0pt;mso-yfti-tbllook:480;mso-padding-alt:0pt 5.4pt 0pt 5.4pt;
!  mso-border-insideh:.75pt outset windowtext;mso-border-insidev:.75pt outset windowtext'>
!  <tr style='mso-yfti-irow:-1;mso-yfti-firstrow:yes;height:78.5pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:78.5pt'>
!   <h5 style='mso-outline-level:5;mso-yfti-cnfc:1'><a name="_Toc126872309"></a><a
!   name="_Toc115416240"></a><a name="_Value___: CellServDBDir"></a><span
!   style='mso-bookmark:_Toc126872309'><span style='mso-bookmark:_Toc115416240'>Value:
!   CellServDBDir</span></span></h5>
!   <p class=MsoBodyText style='mso-yfti-cnfc:1'>Type: REG_SZ<br>
    Default: &lt;not defined&gt;</p>
!   <p class=MsoBodyText style='mso-yfti-cnfc:1'>Specifies the directory
!   containing the CellServDB file.<span style='mso-spacerun:yes'>  </span>When
!   this value is not specified, the AFS Client install directory is used.</p>
    </td>
   </tr>
!  <tr style='mso-yfti-irow:0;height:145.25pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:145.25pt'>
!   <h5 style='mso-outline-level:5'><a name="_Toc126872310"></a><a
!   name="_Toc115416241"></a><a name="_Value___: VerifyServiceSignature"></a><span
!   style='mso-bookmark:_Toc126872310'><span style='mso-bookmark:_Toc115416241'>Value:
!   VerifyServiceSignature</span></span></h5>
    <p class=MsoBodyText>Type: REG_DWORD<br>
    Default: 0x1</p>
    <p class=MsoBodyText>This value can be used to disable the runtime
    verification of the digital signatures applied to afsd_service.exe and the
!   OpenAFS DLLs it loads.<span style='mso-spacerun:yes'>  </span>This test is
!   performed to verify that<span style='mso-spacerun:yes'>   </span>the DLLs
    which are loaded by afsd_service.exe are from the same distribution as
!   afsd_service.exe.<span style='mso-spacerun:yes'>  </span>This is to prevent
!   random errors caused when DLLs from one distribution of AFS are loaded by another
!   one.<span style='mso-spacerun:yes'>  </span>This is not a security test.<span
!   style='mso-spacerun:yes'>  </span>The reason for disabling this test is to
!   free up additional memory which can be used for a large cache size.</p>
    </td>
   </tr>
!  <tr style='mso-yfti-irow:1;height:105.5pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:105.5pt'>
!   <h5 style='mso-outline-level:5'><a name="_Toc126872311"></a><a
!   name="_Toc115416242"></a><a name="_Value___: IoctlDebug"></a><span
!   style='mso-bookmark:_Toc126872311'><span style='mso-bookmark:_Toc115416242'>Value:
!   IoctlDebug</span></span></h5>
    <p class=MsoBodyText>Type: REG_DWORD<br>
    Default: 0x0</p>
    <p class=MsoBodyText>This value can be used to debug the cause of pioctl()
!   failures.<span style='mso-spacerun:yes'>  </span>Set a non-zero value and the
!   pioctl() library will output status information to stdout.<span
!   style='mso-spacerun:yes'>  </span>Executing command line tools such as
!   tokens.exe, fs.exe, etc can then be used to determine why the pioctl() call
!   is failing. </p>
    </td>
   </tr>
!  <tr style='mso-yfti-irow:2;height:330.75pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:330.75pt'>
!   <h5 style='mso-outline-level:5'><a name="_Toc126872312"></a><a
!   name="_Toc115416243"><span style='mso-bookmark:_Toc126872312'>Value:
!   MiniDumpType</span></a></h5>
    <p class=MsoBodyText>Type: REG_DWORD<br>
    Default: 0x0 (MiniDumpNormal)</p>
    <p class=MsoBodyText>This value is used to specify the type of minidump
--- 3650,3726 ----
   </tr>
  </table>
  
! <h3 style='margin-left:0pt;text-indent:0pt'><a name="_Toc139981084"></a><a
! name="_Toc126872306"></a><a name="_Toc115416237">Regkey:<br>
! [HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters\GlobalAutoMapper]</a></h3>
! 
! <table class=MsoTableWeb1 border=1 cellspacing=3 cellpadding=0>
!  <tr style='height:65.0pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:65.0pt'>
!   <h5><a name="_Toc139981085"></a><a name="_Toc126872307"></a><a
!   name="_Toc115416238">Value: &lt;Drive Letter:&gt; for example &quot;G:&quot;</a></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>
    </td>
   </tr>
  </table>
  
! <h3 style='margin-left:0pt;text-indent:0pt'><a name="_Toc139981086"></a><a
! name="_Toc126872308"></a><a name="_Toc115416239">Regkey:<br>
! [HKLM\SOFTWARE\OpenAFS\Client]</a></h3>
! 
! <table class=MsoTableWeb1 border=1 cellspacing=3 cellpadding=0>
!  <tr style='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="_Toc139981087"></a><a name="_Toc126872309"></a><a
!   name="_Toc115416240"></a><a name="_Value___: CellServDBDir"></a>Value:
!   CellServDBDir</h5>
!   <p class=MsoBodyText>Type: REG_SZ<br>
    Default: &lt;not defined&gt;</p>
!   <p class=MsoBodyText>Specifies the directory containing the CellServDB file. 
!   When this value is not specified, the AFS Client install directory is used.</p>
    </td>
   </tr>
!  <tr style='height:145.25pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:145.25pt'>
!   <h5><a name="_Toc139981088"></a><a name="_Toc126872310"></a><a
!   name="_Toc115416241"></a><a name="_Value___: VerifyServiceSignature"></a>Value:
!   VerifyServiceSignature</h5>
    <p class=MsoBodyText>Type: REG_DWORD<br>
    Default: 0x1</p>
    <p class=MsoBodyText>This value can be used to disable the runtime
    verification of the digital signatures applied to afsd_service.exe and the
!   OpenAFS DLLs it loads.  This test is performed to verify that   the DLLs
    which are loaded by afsd_service.exe are from the same distribution as
!   afsd_service.exe.  This is to prevent random errors caused when DLLs from one
!   distribution of AFS are loaded by another one.  This is not a security test. 
!   The reason for disabling this test is to free up additional memory which can
!   be used for a large cache size.</p>
    </td>
   </tr>
!  <tr style='height:105.5pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:105.5pt'>
!   <h5><a name="_Toc139981089"></a><a name="_Toc126872311"></a><a
!   name="_Toc115416242"></a><a name="_Value___: IoctlDebug"></a>Value:
!   IoctlDebug</h5>
    <p class=MsoBodyText>Type: REG_DWORD<br>
    Default: 0x0</p>
    <p class=MsoBodyText>This value can be used to debug the cause of pioctl()
!   failures.  Set a non-zero value and the pioctl() library will output status
!   information to stdout.  Executing command line tools such as tokens.exe,
!   fs.exe, etc can then be used to determine why the pioctl() call is failing. </p>
    </td>
   </tr>
!  <tr style='height:330.75pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:330.75pt'>
!   <h5><a name="_Toc139981090"></a><a name="_Toc126872312"></a><a
!   name="_Toc115416243">Value: MiniDumpType</a></h5>
    <p class=MsoBodyText>Type: REG_DWORD<br>
    Default: 0x0 (MiniDumpNormal)</p>
    <p class=MsoBodyText>This value is used to specify the type of minidump
***************
*** 7678,7685 ****
    initiated is dump file is generated with the &quot;fs.exe minidump&quot;
    command.</p>
    <p class=MsoBodyText>Valid values are dependent on the version of DbgHelp.dll
!   installed on the machine.<span style='mso-spacerun:yes'>  </span>See the
!   Microsoft Developer Library for further information.</p>
    <p class=MsoBodyText>MiniDumpNormal = 0x00000000,<br>
    MiniDumpWithDataSegs = 0x00000001,<br>
    MiniDumpWithFullMemory = 0x00000002,<br>
--- 3728,3735 ----
    initiated is dump file is generated with the &quot;fs.exe minidump&quot;
    command.</p>
    <p class=MsoBodyText>Valid values are dependent on the version of DbgHelp.dll
!   installed on the machine.  See the Microsoft Developer Library for further
!   information.</p>
    <p class=MsoBodyText>MiniDumpNormal = 0x00000000,<br>
    MiniDumpWithDataSegs = 0x00000001,<br>
    MiniDumpWithFullMemory = 0x00000002,<br>
***************
*** 7697,8006 ****
    MiniDumpWithCodeSegs = 0x00002000</p>
    </td>
   </tr>
!  <tr style='mso-yfti-irow:3;mso-yfti-lastrow:yes;height:138.25pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:138.25pt'>
!   <h5 style='mso-outline-level:5'><a name="_Toc126872313"></a><a
!   name="_Toc115416244"></a><a name="_Value___: StoreAnsiFilenames"></a><span
!   style='mso-bookmark:_Toc126872313'><span style='mso-bookmark:_Toc115416244'>Value:
!   StoreAnsiFilenames</span></span></h5>
    <p class=MsoBodyText>Type: REG_DWORD<br>
    Default: 0x0</p>
    <p class=MsoBodyText>This value can be used to force the AFS Client Service
    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.<span style='mso-spacerun:yes'>  </span></p>
    <p class=MsoBodyText>Note: The use of ANSI characters will render access to
!   files with 8-bit OEM file names unaccessible from Windows.<span
!   style='mso-spacerun:yes'>  </span>This option is of use primarily when you
!   wish to allow file names produced on Windows to be accessible from Latin-1 UNIX
!   systems and vice versa.</p>
    </td>
   </tr>
  </table>
  
! <h3 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872314"></a><a
! name="_Toc115416245"><span style='mso-bookmark:_Toc126872314'>Regkey:<br>
! [HKLM\SOFTWARE\OpenAFS\Client\CSCPolicy]</span></a></h3>
! 
! <table class=MsoTableWeb1 border=1 cellspacing=3 cellpadding=0
!  style='mso-cellspacing:2.0pt;mso-yfti-tbllook:480;mso-padding-alt:0pt 5.4pt 0pt 5.4pt;
!  mso-border-insideh:.75pt outset windowtext;mso-border-insidev:.75pt outset windowtext'>
!  <tr style='mso-yfti-irow:-1;mso-yfti-firstrow:yes;mso-yfti-lastrow:yes;
!   height:112.0pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:112.0pt'>
!   <h5 style='mso-outline-level:5;mso-yfti-cnfc:1'><a name="_Toc126872315"></a><a
!   name="_Toc115416246"><span style='mso-bookmark:_Toc126872315'>Value:
!   &quot;smb/cifs share name&quot;</span></a></h5>
!   <p class=MsoBodyText style='mso-yfti-cnfc:1'>Type: REG_SZ<br>
    Default: &lt;none&gt;</p>
!   <p class=MsoBodyText style='mso-yfti-cnfc:1'>This key is used to map SMB/CIFS
!   shares to Client Side Caching (off-line access) policies. For each share one
!   of the following policies may be used: &quot;manual&quot;,
!   &quot;programs&quot;, &quot;documents&quot;, &quot;disable&quot;.<span
!   style='mso-spacerun:yes'>  </span></p>
!   <p class=MsoBodyText style='mso-yfti-cnfc:1'>These values used to be stored
!   in afsdsbmt.ini</p>
    </td>
   </tr>
  </table>
  
! <h3 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872316"></a><a
! name="_Toc115416247"></a><a name="_Regkey:_[HKLM\SOFTWARE\OpenAFS\Clie"></a><![if !supportLists]><span
! style='mso-bookmark:_Toc126872316'><span style='mso-bookmark:_Toc115416247'></span></span><![endif]><span
! style='mso-bookmark:_Toc126872316'><span style='mso-bookmark:_Toc115416247'>Regkey:<br>
! [HKLM\SOFTWARE\OpenAFS\Client\Freelance]</span></span></h3>
! 
! <table class=MsoTableWeb1 border=1 cellspacing=3 cellpadding=0
!  style='mso-cellspacing:2.0pt;mso-yfti-tbllook:480;mso-padding-alt:0pt 5.4pt 0pt 5.4pt;
!  mso-border-insideh:.75pt outset windowtext;mso-border-insidev:.75pt outset windowtext'>
!  <tr style='mso-yfti-irow:-1;mso-yfti-firstrow:yes;mso-yfti-lastrow:yes;
!   height:138.5pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:138.5pt'>
!   <h5 style='mso-outline-level:5;mso-yfti-cnfc:1'><a name="_Toc126872317"></a><a
!   name="_Toc115416248"><span style='mso-bookmark:_Toc126872317'>Value:
!   &quot;numeric value&quot;</span></a></h5>
!   <p class=MsoBodyText style='mso-yfti-cnfc:1'>Type: REG_SZ<br>
    Default: &lt;none&gt;</p>
!   <p class=MsoBodyText style='mso-yfti-cnfc:1'>This key is used to store dot
!   terminated mount point strings for use in constructing the fake root.afs
!   volume when Freelance (dynamic roots) mode is activated.</p>
!   <p class=MsoBodyText style='mso-yfti-cnfc:1'>&quot;athena.mit.edu#athena.mit.edu:root.cell.&quot;</p>
!   <p class=MsoBodyText style='mso-yfti-cnfc:1'>&quot;.athena.mit.edu%athena.mit.edu:root.cell.&quot;</p>
!   <p class=MsoBodyText style='mso-yfti-cnfc:1'>These values used to be stored
!   in afs_freelance.ini</p>
    </td>
   </tr>
  </table>
  
! <h3 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872318"></a><a
! name="_Toc115416249"></a><a name="_Regkey:_[HKLM\SOFTWARE\OpenAFS\Clie_1"></a><![if !supportLists]><span
! style='mso-bookmark:_Toc126872318'><span style='mso-bookmark:_Toc115416249'></span></span><![endif]><span
! style='mso-bookmark:_Toc126872318'><span style='mso-bookmark:_Toc115416249'>Regkey:<br>
! [HKLM\SOFTWARE\OpenAFS\Client\Freelance\Symlinks]</span></span></h3>
! 
! <table class=MsoTableWeb1 border=1 cellspacing=3 cellpadding=0
!  style='mso-cellspacing:2.0pt;mso-yfti-tbllook:480;mso-padding-alt:0pt 5.4pt 0pt 5.4pt;
!  mso-border-insideh:.75pt outset windowtext;mso-border-insidev:.75pt outset windowtext'>
!  <tr style='mso-yfti-irow:-1;mso-yfti-firstrow:yes;mso-yfti-lastrow:yes;
!   height:145.0pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:145.0pt'>
!   <h5 style='mso-outline-level:5;mso-yfti-cnfc:1'><a name="_Toc126872319"></a><a
!   name="_Toc115416250"><span style='mso-bookmark:_Toc126872319'>Value:
!   &quot;numeric value&quot;</span></a></h5>
!   <p class=MsoBodyText style='mso-yfti-cnfc:1'>Type: REG_SZ<br>
    Default: &lt;none&gt;</p>
!   <p class=MsoBodyText style='mso-yfti-cnfc:1'>This key is used to store a dot
!   terminated symlink strings for use in constructing the fake root.afs volume
!   when Freelance (dynamic roots) mode is activated.</p>
!   <p class=MsoBodyText style='mso-yfti-cnfc:1'>&quot;linkname:destination-path.&quot;</p>
!   <p class=MsoBodyText style='mso-yfti-cnfc:1'>&quot;<st1:GivenName w:st="on">athena</st1:GivenName>:athena.mit.edu.&quot;</p>
!   <p class=MsoBodyText style='mso-yfti-cnfc:1'>&quot;home:athena.mit.edu\user\j\a\jaltman.&quot;</p>
!   <p class=MsoBodyText style='mso-yfti-cnfc:1'>&quot;filename:path\file.&quot;</p>
    </td>
   </tr>
  </table>
  
! <h3 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872320"></a><a
! name="_Toc115416251"><span style='mso-bookmark:_Toc126872320'>Regkey:<br>
! [HKLM\SOFTWARE\OpenAFS\Client\Submounts]</span></a></h3>
! 
! <table class=MsoTableWeb1 border=1 cellspacing=3 cellpadding=0
!  style='mso-cellspacing:2.0pt;mso-yfti-tbllook:480;mso-padding-alt:0pt 5.4pt 0pt 5.4pt;
!  mso-border-insideh:.75pt outset windowtext;mso-border-insidev:.75pt outset windowtext'>
!  <tr style='mso-yfti-irow:-1;mso-yfti-firstrow:yes;mso-yfti-lastrow:yes;
!   height:171.75pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:171.75pt'>
!   <h5 style='mso-outline-level:5;mso-yfti-cnfc:1'><a name="_Toc126872321"></a><a
!   name="_Toc115416252"><span style='mso-bookmark:_Toc126872321'>Value:
!   &quot;submount name&quot;</span></a></h5>
!   <p class=MsoBodyText style='mso-yfti-cnfc:1'>Type: REG_EXPAND_SZ<br>
    Default: &lt;none&gt;</p>
!   <p class=MsoBodyText style='mso-yfti-cnfc:1'>This key is used to store
!   mappings of UNIX style AFS paths to submount names which can be referenced as
!   UNC paths.<span style='mso-spacerun:yes'>  </span>For example the submount
!   string “/athena.mit.edu/user/j/a/jaltman&quot; can be associated with the
!   submount name &quot;jaltman.home&quot;.<span style='mso-spacerun:yes'> 
!   </span>This can then be referenced as the UNC path \\AFS\jaltman.home.</p>
!   <p class=MsoBodyText style='mso-yfti-cnfc:1'>These values used to be stored
!   in afsdsbmt.ini</p>
!   <p class=MsoBodyText style='mso-yfti-cnfc:1'>NOTE: Submounts should no longer
!   be used with OpenAFS. Use the Windows Explorer to create drive mappings to
!   AFS UNC paths instead of using the AFS Submount mechanism.</p>
    </td>
   </tr>
  </table>
  
! <h3 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872322"></a><a
! name="_Toc115416253"></a><a name="_Regkey:_[HKLM\SOFTWARE\OpenAFS\Clie_2"></a><![if !supportLists]><span
! style='mso-bookmark:_Toc126872322'><span style='mso-bookmark:_Toc115416253'></span></span><![endif]><span
! style='mso-bookmark:_Toc126872322'><span style='mso-bookmark:_Toc115416253'>Regkey:<br>
! [HKLM\SOFTWARE\OpenAFS\Client\Server Preferences\VLDB]</span></span></h3>
! 
! <table class=MsoTableWeb1 border=1 cellspacing=3 cellpadding=0
!  style='mso-cellspacing:2.0pt;mso-yfti-tbllook:480;mso-padding-alt:0pt 5.4pt 0pt 5.4pt;
!  mso-border-insideh:.75pt outset windowtext;mso-border-insidev:.75pt outset windowtext'>
!  <tr style='mso-yfti-irow:-1;mso-yfti-firstrow:yes;mso-yfti-lastrow:yes;
!   height:105.5pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:105.5pt'>
!   <h5 style='mso-outline-level:5;mso-yfti-cnfc:1'><a name="_Toc126872323"></a><a
!   name="_Toc115416254"><span style='mso-bookmark:_Toc126872323'>Value:
!   &quot;hostname or ip address&quot;</span></a></h5>
!   <p class=MsoBodyText style='mso-yfti-cnfc:1'>Type: REG_DWORD<br>
    Default: &lt;none&gt;</p>
!   <p class=MsoBodyText style='mso-yfti-cnfc:1'>This key is used to specify a
!   default set of VLDB server preferences. For each entry the value name will be
!   either the IP address of a server or a fully qualified domain name.<span
!   style='mso-spacerun:yes'>  </span>The value will be the ranking.<span
!   style='mso-spacerun:yes'>  </span>The ranking will be adjusted by a random
!   value between 0 and 256 prior to the preference being set.</p>
    </td>
   </tr>
  </table>
  
! <h3 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872324"></a><a
! name="_Toc115416255"><span style='mso-bookmark:_Toc126872324'>Regkey:<br>
! [HKLM\SOFTWARE\OpenAFS\Client\Server Preferences\File]</span></a></h3>
! 
! <table class=MsoTableWeb1 border=1 cellspacing=3 cellpadding=0
!  style='mso-cellspacing:2.0pt;mso-yfti-tbllook:480;mso-padding-alt:0pt 5.4pt 0pt 5.4pt;
!  mso-border-insideh:.75pt outset windowtext;mso-border-insidev:.75pt outset windowtext'>
!  <tr style='mso-yfti-irow:-1;mso-yfti-firstrow:yes;mso-yfti-lastrow:yes;
!   height:105.5pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:105.5pt'>
!   <h5 style='mso-outline-level:5;mso-yfti-cnfc:1'><a name="_Toc126872325"></a><a
!   name="_Toc115416256"><span style='mso-bookmark:_Toc126872325'>Value:
!   &quot;hostname or ip address&quot;</span></a></h5>
!   <p class=MsoBodyText style='mso-yfti-cnfc:1'>Type: REG_DWORD<br>
    Default: &lt;none&gt;</p>
!   <p class=MsoBodyText style='mso-yfti-cnfc:1'>This key is used to specify a
!   default set of File server preferences. For each entry the value name will be
!   either the IP address of a server or a fully qualified domain name.<span
!   style='mso-spacerun:yes'>  </span>The value will be the ranking.<span
!   style='mso-spacerun:yes'>  </span>The ranking will be adjusted by a random
!   value between 0 and 256 prior to the preference being set.</p>
    </td>
   </tr>
  </table>
  
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872326"></a><a
! name="_Toc115417105"></a><a name="_Toc115416257"><span style='mso-bookmark:
! _Toc115417105'><span style='mso-bookmark:_Toc126872326'>A.2. Integrated Logon Network
! provider parameters</span></span></a></h2>
  
  <p class=MsoBodyText>Affects the network provider (afslogon.dll).</p>
  
! <h3 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872327"></a><a
! name="_Toc115416258"><span style='mso-bookmark:_Toc126872327'>Regkey: [HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters]</span></a></h3>
  
! <table class=MsoTableWeb1 border=1 cellspacing=3 cellpadding=0
!  style='mso-cellspacing:2.0pt;mso-yfti-tbllook:480;mso-padding-alt:0pt 5.4pt 0pt 5.4pt;
!  mso-border-insideh:.75pt outset windowtext;mso-border-insidev:.75pt outset windowtext'>
!  <tr style='mso-yfti-irow:-1;mso-yfti-firstrow:yes;mso-yfti-lastrow:yes;
!   height:65.75pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:65.75pt'>
!   <h5 style='mso-outline-level:5;mso-yfti-cnfc:1'><a name="_Toc126872328"></a><a
!   name="_Toc115416259"><span style='mso-bookmark:_Toc126872328'>Value:
!   FailLoginsSilently</span></a></h5>
!   <p class=MsoBodyText style='mso-yfti-cnfc:1'>Type: DWORD<br>
    Default: 0</p>
!   <p class=MsoBodyText style='mso-yfti-cnfc:1'>Do not display message boxes if
!   the login fails.</p>
    </td>
   </tr>
  </table>
  
! <h3 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872329"></a><a
! name="_Toc115416260"><span style='mso-bookmark:_Toc126872329'>Regkey:<br>
! [HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider]</span></a></h3>
! 
! <table class=MsoTableWeb1 border=1 cellspacing=3 cellpadding=0
!  style='mso-cellspacing:2.0pt;mso-yfti-tbllook:480;mso-padding-alt:0pt 5.4pt 0pt 5.4pt;
!  mso-border-insideh:.75pt outset windowtext;mso-border-insidev:.75pt outset windowtext'>
!  <tr style='mso-yfti-irow:-1;mso-yfti-firstrow:yes;height:65.75pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:65.75pt'>
!   <h5 style='mso-outline-level:5;mso-yfti-cnfc:1'><a name="_Toc126872330"></a><a
!   name="_Toc115416261"><span style='mso-bookmark:_Toc126872330'>Value: NoWarnings</span></a></h5>
!   <p class=MsoBodyText style='mso-yfti-cnfc:1'>Type: DWORD<br>
    Default: 0</p>
!   <p class=MsoBodyText style='mso-yfti-cnfc:1'>Disables visible warnings during
!   logon.</p>
    </td>
   </tr>
!  <tr style='mso-yfti-irow:0;height:65.75pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:65.75pt'>
!   <h5 style='mso-outline-level:5'><a name="_Toc126872331"></a><a
!   name="_Toc115416262"><span style='mso-bookmark:_Toc126872331'>Value:
!   AuthentProviderPath</span></a></h5>
    <p class=MsoBodyText>Type: REG_SZ<br>
    NSIS: %WINDIR%\SYSTEM32\afslogon.dll</p>
    <p class=MsoBodyText>Specifies the install location of the authentication
    provider dll.</p>
    </td>
   </tr>
!  <tr style='mso-yfti-irow:1;height:65.75pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:65.75pt'>
!   <h5 style='mso-outline-level:5'><a name="_Toc126872332"></a><a
!   name="_Toc115416263"><span style='mso-bookmark:_Toc126872332'>Value: Class</span></a></h5>
    <p class=MsoBodyText>Type: DWORD<br>
    NSIS: 0x02</p>
    <p class=MsoBodyText>Specifies the class of network provider</p>
    </td>
   </tr>
!  <tr style='mso-yfti-irow:2;height:92.0pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:92.0pt'>
!   <h5 style='mso-outline-level:5'><a name="_Toc126872333"></a><a
!   name="_Toc115416264"><span style='mso-bookmark:_Toc126872333'>Value:
!   DependOnGroup</span></a></h5>
    <p class=MsoBodyText>Type: REG_MULTI_SZ<br>
    NSIS: PNP_TDI</p>
    <p class=MsoBodyText>Specifies the service groups upon which the AFS Client
!   Service depends.<span style='mso-spacerun:yes'>  </span>Windows should not
!   attempt to start the AFS Client Service until all of the services within
!   these groups have successfully started.</p>
    </td>
   </tr>
!  <tr style='mso-yfti-irow:3;height:92.0pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:92.0pt'>
!   <h5 style='mso-outline-level:5'><a name="_Toc126872334"></a><a
!   name="_Toc115416265"><span style='mso-bookmark:_Toc126872334'>Value:
!   DependOnService</span></a></h5>
    <p class=MsoBodyText>Type: REG_MULTI_SZ<br>
    NSIS: Tcpip NETBIOS RpcSs</p>
    <p class=MsoBodyText>Specifies a list of services upon which the AFS Client
!   Service depends.<span style='mso-spacerun:yes'>  </span>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:4;height:65.75pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:65.75pt'>
!   <h5 style='mso-outline-level:5'><a name="_Toc126872335"></a><a
!   name="_Toc115416266"><span style='mso-bookmark:_Toc126872335'>Value: Name</span></a></h5>
    <p class=MsoBodyText>Type: REG_SZ<br>
    NSIS: &quot;OpenAFSDaemon&quot;</p>
    <p class=MsoBodyText>Specifies the display name of the AFS Client Service</p>
    </td>
   </tr>
!  <tr style='mso-yfti-irow:5;mso-yfti-lastrow:yes;height:65.75pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:65.75pt'>
!   <h5 style='mso-outline-level:5'><a name="_Toc126872336"></a><a
!   name="_Toc115416267"><span style='mso-bookmark:_Toc126872336'>Value:
!   ProviderPath</span></a></h5>
    <p class=MsoBodyText>Type: REG_SZ<br>
    NSIS: %WINDIR%\SYSTEM32\afslogon.dll</p>
    <p class=MsoBodyText>Specifies the DLL to use for the network provider</p>
--- 3747,4005 ----
    MiniDumpWithCodeSegs = 0x00002000</p>
    </td>
   </tr>
!  <tr style='height:138.25pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:138.25pt'>
!   <h5><a name="_Toc139981091"></a><a name="_Toc126872313"></a><a
!   name="_Toc115416244"></a><a name="_Value___: StoreAnsiFilenames"></a>Value:
!   StoreAnsiFilenames</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.  </p>
    <p class=MsoBodyText>Note: The use of ANSI characters will render access to
!   files with 8-bit OEM file names unaccessible from Windows.  This option is of
!   use primarily when you wish to allow file names produced on Windows to be
!   accessible from Latin-1 UNIX systems and vice versa.</p>
    </td>
   </tr>
  </table>
  
! <h3 style='margin-left:0pt;text-indent:0pt'><a name="_Toc139981092"></a><a
! name="_Toc126872314"></a><a name="_Toc115416245">Regkey:<br>
! [HKLM\SOFTWARE\OpenAFS\Client\CSCPolicy]</a></h3>
! 
! <table class=MsoTableWeb1 border=1 cellspacing=3 cellpadding=0>
!  <tr style='height:112.0pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:112.0pt'>
!   <h5><a name="_Toc139981093"></a><a name="_Toc126872315"></a><a
!   name="_Toc115416246">Value: &quot;smb/cifs share name&quot;</a></h5>
!   <p class=MsoBodyText>Type: REG_SZ<br>
    Default: &lt;none&gt;</p>
!   <p class=MsoBodyText>This key is used to map SMB/CIFS shares to Client Side
!   Caching (off-line access) policies. For each share one of the following policies
!   may be used: &quot;manual&quot;, &quot;programs&quot;, &quot;documents&quot;,
!   &quot;disable&quot;.  </p>
!   <p class=MsoBodyText>These values used to be stored in afsdsbmt.ini</p>
    </td>
   </tr>
  </table>
  
! <h3 style='margin-left:0pt;text-indent:0pt'><a name="_Toc139981094"></a><a
! name="_Toc126872316"></a><a name="_Toc115416247"></a><a
! name="_Regkey:_[HKLM\SOFTWARE\OpenAFS\Clie"></a>Regkey:<br>
! [HKLM\SOFTWARE\OpenAFS\Client\Freelance]</h3>
! 
! <table class=MsoTableWeb1 border=1 cellspacing=3 cellpadding=0>
!  <tr style='height:138.5pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:138.5pt'>
!   <h5><a name="_Toc139981095"></a><a name="_Toc126872317"></a><a
!   name="_Toc115416248">Value: &quot;numeric value&quot;</a></h5>
!   <p class=MsoBodyText>Type: REG_SZ<br>
    Default: &lt;none&gt;</p>
!   <p class=MsoBodyText>This key is used to store dot terminated mount point
!   strings for use in constructing the fake root.afs volume when Freelance
!   (dynamic roots) mode is activated.</p>
!   <p class=MsoBodyText>&quot;athena.mit.edu#athena.mit.edu:root.cell.&quot;</p>
!   <p class=MsoBodyText>&quot;.athena.mit.edu%athena.mit.edu:root.cell.&quot;</p>
!   <p class=MsoBodyText>These values used to be stored in afs_freelance.ini</p>
    </td>
   </tr>
  </table>
  
! <h3 style='margin-left:0pt;text-indent:0pt'><a name="_Toc139981096"></a><a
! name="_Toc126872318"></a><a name="_Toc115416249"></a><a
! name="_Regkey:_[HKLM\SOFTWARE\OpenAFS\Clie_1"></a>Regkey:<br>
! [HKLM\SOFTWARE\OpenAFS\Client\Freelance\Symlinks]</h3>
! 
! <table class=MsoTableWeb1 border=1 cellspacing=3 cellpadding=0>
!  <tr style='height:145.0pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:145.0pt'>
!   <h5><a name="_Toc139981097"></a><a name="_Toc126872319"></a><a
!   name="_Toc115416250">Value: &quot;numeric value&quot;</a></h5>
!   <p class=MsoBodyText>Type: REG_SZ<br>
    Default: &lt;none&gt;</p>
!   <p class=MsoBodyText>This key is used to store a dot terminated symlink
!   strings for use in constructing the fake root.afs volume when Freelance
!   (dynamic roots) mode is activated.</p>
!   <p class=MsoBodyText>&quot;linkname:destination-path.&quot;</p>
!   <p class=MsoBodyText>&quot;athena:athena.mit.edu.&quot;</p>
!   <p class=MsoBodyText>&quot;home:athena.mit.edu\user\j\a\jaltman.&quot;</p>
!   <p class=MsoBodyText>&quot;filename:path\file.&quot;</p>
    </td>
   </tr>
  </table>
  
! <h3 style='margin-left:0pt;text-indent:0pt'><a name="_Toc139981098"></a><a
! name="_Toc126872320"></a><a name="_Toc115416251">Regkey:<br>
! [HKLM\SOFTWARE\OpenAFS\Client\Submounts]</a></h3>
! 
! <table class=MsoTableWeb1 border=1 cellspacing=3 cellpadding=0>
!  <tr style='height:171.75pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:171.75pt'>
!   <h5><a name="_Toc139981099"></a><a name="_Toc126872321"></a><a
!   name="_Toc115416252">Value: &quot;submount name&quot;</a></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.  For example
!   the submount string “/athena.mit.edu/user/j/a/jaltman&quot; can be associated
!   with the submount name &quot;jaltman.home&quot;.  This can then be referenced
!   as the UNC path \\AFS\jaltman.home.</p>
!   <p class=MsoBodyText>These values used to be stored in afsdsbmt.ini</p>
!   <p class=MsoBodyText>NOTE: Submounts should no longer be used with OpenAFS.
!   Use the Windows Explorer to create drive mappings to AFS UNC paths instead of
!   using the AFS Submount mechanism.</p>
    </td>
   </tr>
  </table>
  
! <h3 style='margin-left:0pt;text-indent:0pt'><a name="_Toc139981100"></a><a
! name="_Toc126872322"></a><a name="_Toc115416253"></a><a
! name="_Regkey:_[HKLM\SOFTWARE\OpenAFS\Clie_2"></a>Regkey:<br>
! [HKLM\SOFTWARE\OpenAFS\Client\Server Preferences\VLDB]</h3>
! 
! <table class=MsoTableWeb1 border=1 cellspacing=3 cellpadding=0>
!  <tr style='height:105.5pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:105.5pt'>
!   <h5><a name="_Toc139981101"></a><a name="_Toc126872323"></a><a
!   name="_Toc115416254">Value: &quot;hostname or ip address&quot;</a></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
!   preferences. For each entry the value name will be either the IP address of a
!   server or a fully qualified domain name.  The value will be the ranking.  The
!   ranking will be adjusted by a random value between 0 and 256 prior to the
!   preference being set.</p>
    </td>
   </tr>
  </table>
  
! <h3 style='margin-left:0pt;text-indent:0pt'><a name="_Toc139981102"></a><a
! name="_Toc126872324"></a><a name="_Toc115416255">Regkey:<br>
! [HKLM\SOFTWARE\OpenAFS\Client\Server Preferences\File]</a></h3>
! 
! <table class=MsoTableWeb1 border=1 cellspacing=3 cellpadding=0>
!  <tr style='height:105.5pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:105.5pt'>
!   <h5><a name="_Toc139981103"></a><a name="_Toc126872325"></a><a
!   name="_Toc115416256">Value: &quot;hostname or ip address&quot;</a></h5>
!   <p class=MsoBodyText>Type: REG_DWORD<br>
    Default: &lt;none&gt;</p>
!   <p class=MsoBodyText>This key is used to specify a default set of File server
!   preferences. For each entry the value name will be either the IP address of a
!   server or a fully qualified domain name.  The value will be the ranking.  The
!   ranking will be adjusted by a random value between 0 and 256 prior to the
!   preference being set.</p>
    </td>
   </tr>
  </table>
  
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc139981104"></a><a
! name="_Toc126872326"></a><a name="_Toc115417105"></a><a name="_Toc115416257">A.2.
! Integrated Logon Network provider parameters</a></h2>
  
  <p class=MsoBodyText>Affects the network provider (afslogon.dll).</p>
  
! <h3 style='margin-left:0pt;text-indent:0pt'><a name="_Toc139981105"></a><a
! name="_Toc126872327"></a><a name="_Toc115416258">Regkey: [HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters]</a></h3>
  
! <table class=MsoTableWeb1 border=1 cellspacing=3 cellpadding=0>
!  <tr style='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="_Toc139981106"></a><a name="_Toc126872328"></a><a
!   name="_Toc115416259">Value: FailLoginsSilently</a></h5>
!   <p class=MsoBodyText>Type: DWORD<br>
    Default: 0</p>
!   <p class=MsoBodyText>Do not display message boxes if the login fails.</p>
    </td>
   </tr>
  </table>
  
! <h3 style='margin-left:0pt;text-indent:0pt'><a name="_Toc139981107"></a><a
! name="_Toc126872329"></a><a name="_Toc115416260">Regkey:<br>
! [HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider]</a></h3>
! 
! <table class=MsoTableWeb1 border=1 cellspacing=3 cellpadding=0>
!  <tr style='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="_Toc139981108"></a><a name="_Toc126872330"></a><a
!   name="_Toc115416261">Value: NoWarnings</a></h5>
!   <p class=MsoBodyText>Type: DWORD<br>
    Default: 0</p>
!   <p class=MsoBodyText>Disables visible warnings during logon.</p>
    </td>
   </tr>
!  <tr style='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="_Toc139981109"></a><a name="_Toc126872331"></a><a
!   name="_Toc115416262">Value: AuthentProviderPath</a></h5>
    <p class=MsoBodyText>Type: REG_SZ<br>
    NSIS: %WINDIR%\SYSTEM32\afslogon.dll</p>
    <p class=MsoBodyText>Specifies the install location of the authentication
    provider dll.</p>
    </td>
   </tr>
!  <tr style='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="_Toc139981110"></a><a name="_Toc126872332"></a><a
!   name="_Toc115416263">Value: Class</a></h5>
    <p class=MsoBodyText>Type: DWORD<br>
    NSIS: 0x02</p>
    <p class=MsoBodyText>Specifies the class of network provider</p>
    </td>
   </tr>
!  <tr style='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="_Toc139981111"></a><a name="_Toc126872333"></a><a
!   name="_Toc115416264">Value: DependOnGroup</a></h5>
    <p class=MsoBodyText>Type: REG_MULTI_SZ<br>
    NSIS: PNP_TDI</p>
    <p class=MsoBodyText>Specifies the service groups upon which the AFS Client
!   Service depends.  Windows should not attempt to start the AFS Client Service
!   until all of the services within these groups have successfully started.</p>
    </td>
   </tr>
!  <tr style='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="_Toc139981112"></a><a name="_Toc126872334"></a><a
!   name="_Toc115416265">Value: DependOnService</a></h5>
    <p class=MsoBodyText>Type: REG_MULTI_SZ<br>
    NSIS: Tcpip NETBIOS RpcSs</p>
    <p class=MsoBodyText>Specifies a list of services upon which the AFS Client
!   Service depends.  Windows should not attempt to start the AFS Client Service
!   until all of the specified services have successfully started.</p>
    </td>
   </tr>
!  <tr style='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="_Toc139981113"></a><a name="_Toc126872335"></a><a
!   name="_Toc115416266">Value: Name</a></h5>
    <p class=MsoBodyText>Type: REG_SZ<br>
    NSIS: &quot;OpenAFSDaemon&quot;</p>
    <p class=MsoBodyText>Specifies the display name of the AFS Client Service</p>
    </td>
   </tr>
!  <tr style='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="_Toc139981114"></a><a name="_Toc126872336"></a><a
!   name="_Toc115416267">Value: ProviderPath</a></h5>
    <p class=MsoBodyText>Type: REG_SZ<br>
    NSIS: %WINDIR%\SYSTEM32\afslogon.dll</p>
    <p class=MsoBodyText>Specifies the DLL to use for the network provider</p>
***************
*** 8008,8123 ****
   </tr>
  </table>
  
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872337"></a><a
! name="_Toc115417106"></a><a name="_Toc115416268"></a><a
! name="_A.2.1_Domain_specific_configuration"></a><![if !supportLists]><span
! style='mso-bookmark:_Toc126872337'><span style='mso-bookmark:_Toc115417106'><span
! style='mso-bookmark:_Toc115416268'></span></span></span><![endif]><span
! style='mso-bookmark:_Toc126872337'><span style='mso-bookmark:_Toc115417106'><span
! style='mso-bookmark:_Toc115416268'>A.2.1 Domain specific configuration keys for
! the Network Provider</span></span></span></h2>
  
  <p class=MsoBodyText>The network provider can be configured to have different
! behavior depending on the domain that the user logs into.<span
! style='mso-spacerun:yes'>  </span>These settings are only relevant when using
! integrated login.<span style='mso-spacerun:yes'>  </span>A domain refers to an Active
! Directory (AD) domain, a trusted Kerberos (non-AD) realm or the local machine
! (i.e. local account logins).<span style='mso-spacerun:yes'>  </span>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>
  
! <h3 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872338"></a><a
! name="_Toc115416269"><span style='mso-bookmark:_Toc126872338'>[HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider]</span></a></h3>
  
! <p class=MsoBodyText><span style='mso-spacerun:yes'>  </span>(NP key)</p>
  
! <h3 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872339"></a><a
! name="_Toc115416270"><span style='mso-bookmark:_Toc126872339'>[HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider\Domain]</span></a></h3>
  
! <p class=MsoBodyText><span style='mso-spacerun:yes'>  </span>(Domains key)</p>
  
! <h3 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872340"></a><a
! name="_Toc115416271"><span style='mso-bookmark:_Toc126872340'>[HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider\Domain\&quot;domain
! name&quot;]</span></a></h3>
  
! <p class=MsoBodyText><span style='mso-spacerun:yes'>  </span>(Specific domain
! key. One per domain.)</p>
  
! <h3 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872341"></a><a
! name="_Toc115416272"><span style='mso-bookmark:_Toc126872341'>[HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider\Domain\LOCALHOST]</span></a></h3>
  
! <p class=MsoBodyText><span style='mso-spacerun:yes'>  </span>(Localhost key)</p>
  
! <h3 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872342"></a><a
! name="_Toc115416273"><span style='mso-bookmark:_Toc126872342'>Example:</span></a></h3>
  
! <p class=PreformattedText><span
! style='mso-spacerun:yes'> </span>HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider</p>
  
! <p class=PreformattedText><span style='mso-spacerun:yes'>  </span>|</p>
  
! <p class=PreformattedText><span style='mso-spacerun:yes'>  </span>+- Domain</p>
  
! <p class=PreformattedText><span style='mso-spacerun:yes'>     </span>+-AD1.EXAMPLE.COM</p>
  
! <p class=PreformattedText><span style='mso-spacerun:yes'>    
! </span>+-AD2.EXAMPLE.NET</p>
  
! <p class=PreformattedText><span style='mso-spacerun:yes'>    
! </span>+-LOCALHOST</p>
  
  <p class=MsoBodyText>Each of the domain specific keys can have the set of
! values described in 2.1.1.<span style='mso-spacerun:yes'>  </span>The effective
! values are chosen as described in 2.1.2.</p>
  
! <h3 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872343"></a><a
! name="_Toc115416274"><span style='mso-bookmark:_Toc126872343'>A.2.1.1 Domain
! specific configuration values</span></a></h3>
  
! <h4><a name="_Toc126872344"></a><a name="_Toc115416275"><span style='mso-bookmark:
! _Toc126872344'>[HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider]<br>
  [HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider\Domain]<br>
  [HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider\Domain\&quot;domain
  name&quot;]<br>
! [HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider\Domain\LOCALHOST]</span></a></h4>
  
! <table class=MsoTableWeb1 border=1 cellspacing=3 cellpadding=0
!  style='mso-cellspacing:2.0pt;mso-yfti-tbllook:480;mso-padding-alt:0pt 5.4pt 0pt 5.4pt;
!  mso-border-insideh:.75pt outset windowtext;mso-border-insidev:.75pt outset windowtext'>
!  <tr style='mso-yfti-irow:-1;mso-yfti-firstrow:yes;height:191.0pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:191.0pt'>
!   <h5 style='mso-outline-level:5;mso-yfti-cnfc:1'><a name="_Toc126872345"></a><a
!   name="_Toc115416276"></a><a name="_Value___: LogonOptions"></a><span
!   style='mso-bookmark:_Toc126872345'><span style='mso-bookmark:_Toc115416276'>Value:
!   LogonOptions</span></span></h5>
!   <p class=MsoBodyText style='mso-yfti-cnfc:1'>Type: DWORD<br>
    Default: 0x01</p>
!   <p class=MsoBodyText style='mso-yfti-cnfc:1'>NSIS/WiX: depends on user
!   configuration</p>
!   <p class=MsoBodyText style='mso-yfti-cnfc:1'>0x00 - Integrated Logon is not
!   used<br>
    0x01 - Integrated Logon is used<br>
    0x02 - High Security Mode is used (deprecated)<br>
    0x03 - Integrated Logon with High Security Mode is used (deprecated)</p>
!   <p class=MsoBodyText style='mso-yfti-cnfc:1'>High Security Mode generates
!   random SMB names for the creation of Drive Mappings.<span
!   style='mso-spacerun:yes'>  </span>This mode should not be used without
!   Integrated Logon.</p>
!   <p class=MsoBodyText style='mso-yfti-cnfc:1'>As of 1.3.65 the SMB server
!   supports SMB authentication.<span style='mso-spacerun:yes'>  </span>The High
!   Security Mode should not be used when using SMB authentication (SMBAuthType
!   setting is non zero).</p>
    </td>
   </tr>
!  <tr style='mso-yfti-irow:0;height:92.0pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:92.0pt'>
!   <h5 style='mso-outline-level:5'><a name="_Toc126872346"></a><a
!   name="_Toc115416277"><span style='mso-bookmark:_Toc126872346'>Value:
!   FailLoginsSilentl</span></a></h5>
    <p class=MsoBodyText>Type: DWORD (1|0)<br>
    Default: 0<br>
    NSIS/WiX: (not set)</p>
--- 4007,4105 ----
   </tr>
  </table>
  
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc139981115"></a><a
! name="_Toc126872337"></a><a name="_Toc115417106"></a><a name="_Toc115416268"></a><a
! name="_A.2.1_Domain_specific_configuration"></a>A.2.1 Domain specific configuration
! keys for the Network Provider</h2>
  
  <p class=MsoBodyText>The network provider can be configured to have different
! behavior depending on the domain that the user logs into.  These settings are only
! relevant when using integrated login.  A domain refers to an Active Directory
! (AD) domain, a trusted Kerberos (non-AD) realm or the local machine (i.e. local
! account logins).  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>
  
! <h3 style='margin-left:0pt;text-indent:0pt'><a name="_Toc139981116"></a><a
! name="_Toc126872338"></a><a name="_Toc115416269">[HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider]</a></h3>
  
! <p class=MsoBodyText>  (NP key)</p>
  
! <h3 style='margin-left:0pt;text-indent:0pt'><a name="_Toc139981117"></a><a
! name="_Toc126872339"></a><a name="_Toc115416270">[HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider\Domain]</a></h3>
  
! <p class=MsoBodyText>  (Domains key)</p>
  
! <h3 style='margin-left:0pt;text-indent:0pt'><a name="_Toc139981118"></a><a
! name="_Toc126872340"></a><a name="_Toc115416271">[HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider\Domain\&quot;domain
! name&quot;]</a></h3>
  
! <p class=MsoBodyText>  (Specific domain key. One per domain.)</p>
  
! <h3 style='margin-left:0pt;text-indent:0pt'><a name="_Toc139981119"></a><a
! name="_Toc126872341"></a><a name="_Toc115416272">[HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider\Domain\LOCALHOST]</a></h3>
  
! <p class=MsoBodyText>  (Localhost key)</p>
  
! <h3 style='margin-left:0pt;text-indent:0pt'><a name="_Toc139981120"></a><a
! name="_Toc126872342"></a><a name="_Toc115416273">Example:</a></h3>
  
! <p class=PreformattedText> HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider</p>
  
! <p class=PreformattedText>  |</p>
  
! <p class=PreformattedText>  +- Domain</p>
  
! <p class=PreformattedText>     +-AD1.EXAMPLE.COM</p>
  
! <p class=PreformattedText>     +-AD2.EXAMPLE.NET</p>
  
! <p class=PreformattedText>     +-LOCALHOST</p>
  
  <p class=MsoBodyText>Each of the domain specific keys can have the set of
! values described in 2.1.1.  The effective values are chosen as described in
! 2.1.2.</p>
  
! <h3 style='margin-left:0pt;text-indent:0pt'><a name="_Toc139981121"></a><a
! name="_Toc126872343"></a><a name="_Toc115416274">A.2.1.1 Domain specific
! configuration values</a></h3>
  
! <h4><a name="_Toc139981122"></a><a name="_Toc126872344"></a><a
! name="_Toc115416275">[HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider]<br>
  [HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider\Domain]<br>
  [HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider\Domain\&quot;domain
  name&quot;]<br>
! [HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider\Domain\LOCALHOST]</a></h4>
  
! <table class=MsoTableWeb1 border=1 cellspacing=3 cellpadding=0>
!  <tr style='height:191.0pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:191.0pt'>
!   <h5><a name="_Toc139981123"></a><a name="_Toc126872345"></a><a
!   name="_Toc115416276"></a><a name="_Value___: LogonOptions"></a>Value:
!   LogonOptions</h5>
!   <p class=MsoBodyText>Type: DWORD<br>
    Default: 0x01</p>
!   <p class=MsoBodyText>NSIS/WiX: depends on user configuration</p>
!   <p class=MsoBodyText>0x00 - Integrated Logon is not used<br>
    0x01 - Integrated Logon is used<br>
    0x02 - High Security Mode is used (deprecated)<br>
    0x03 - Integrated Logon with High Security Mode is used (deprecated)</p>
!   <p class=MsoBodyText>High Security Mode generates random SMB names for the
!   creation of Drive Mappings.  This mode should not be used without Integrated
!   Logon.</p>
!   <p class=MsoBodyText>As of 1.3.65 the SMB server supports SMB
!   authentication.  The High Security Mode should not be used when using SMB
!   authentication (SMBAuthType setting is non zero).</p>
    </td>
   </tr>
!  <tr style='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="_Toc139981124"></a><a name="_Toc126872346"></a><a
!   name="_Toc115416277">Value: FailLoginsSilentl</a></h5>
    <p class=MsoBodyText>Type: DWORD (1|0)<br>
    Default: 0<br>
    NSIS/WiX: (not set)</p>
***************
*** 8125,8154 ****
    event of an error during the integrated login process.</p>
    </td>
   </tr>
!  <tr style='mso-yfti-irow:1;height:139.0pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:139.0pt'>
!   <h5 style='mso-outline-level:5'><a name="_Toc126872347"></a><a
!   name="_Toc115416278"><span style='mso-bookmark:_Toc126872347'>Value:
!   LogonScript</span></a></h5>
    <p class=MsoBodyText>Type: REG_SZ or REG_EXPAND_SZ<br>
    Default: (null)<br>
    NSIS/WiX: (only value under NP key) &lt;install path&gt;\afscreds.exe -:%s -x
    -a -m -n -q</p>
!   <p class=MsoBodyText>A logon script that will be scheduled to be run after the
!   profile load is complete.<span style='mso-spacerun:yes'>  </span>If using the
!   REG_EXPAND_SZ type, you can use any system environment variable as
!   &quot;%varname%&quot; which would be expanded at the time the network
!   provider is run.<span style='mso-spacerun:yes'>  </span>Optionally using a
    &quot;%s&quot; in the value would result in it being expanded into the AFS
    SMB username for the session.</p>
    </td>
   </tr>
!  <tr style='mso-yfti-irow:2;height:105.5pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:105.5pt'>
!   <h5 style='mso-outline-level:5'><a name="_Toc126872348"></a><a
!   name="_Toc115416279"><span style='mso-bookmark:_Toc126872348'>Value: LoginRetryInterval</span></a></h5>
    <p class=MsoBodyText>Type: DWORD<br>
    Default: 30<br>
    NSIS/WiX: (not set)</p>
--- 4107,4134 ----
    event of an error during the integrated login process.</p>
    </td>
   </tr>
!  <tr style='height:139.0pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:139.0pt'>
!   <h5><a name="_Toc139981125"></a><a name="_Toc126872347"></a><a
!   name="_Toc115416278">Value: LogonScript</a></h5>
    <p class=MsoBodyText>Type: REG_SZ or REG_EXPAND_SZ<br>
    Default: (null)<br>
    NSIS/WiX: (only value under NP key) &lt;install path&gt;\afscreds.exe -:%s -x
    -a -m -n -q</p>
!   <p class=MsoBodyText>A logon script that will be scheduled to be run after
!   the profile load is complete.  If using the REG_EXPAND_SZ type, you can use
!   any system environment variable as &quot;%varname%&quot; which would be
!   expanded at the time the network provider is run.  Optionally using a
    &quot;%s&quot; in the value would result in it being expanded into the AFS
    SMB username for the session.</p>
    </td>
   </tr>
!  <tr style='height:105.5pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:105.5pt'>
!   <h5><a name="_Toc139981126"></a><a name="_Toc126872348"></a><a
!   name="_Toc115416279">Value: LoginRetryInterval</a></h5>
    <p class=MsoBodyText>Type: DWORD<br>
    Default: 30<br>
    NSIS/WiX: (not set)</p>
***************
*** 8158,8182 ****
    if the service is up.</p>
    </td>
   </tr>
!  <tr style='mso-yfti-irow:3;height:79.25pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:79.25pt'>
!   <h5 style='mso-outline-level:5'><a name="_Toc126872349"></a><a
!   name="_Toc115416280"><span style='mso-bookmark:_Toc126872349'>Value:
!   LoginSleepInterval</span></a></h5>
    <p class=MsoBodyText>Type: DWORD<br>
    Default: 5<br>
    NSIS/WiX: (not set)</p>
    <p class=MsoBodyText>See description of LoginRetryInterval.</p>
    </td>
   </tr>
!  <tr style='mso-yfti-irow:4;mso-yfti-lastrow:yes;height:78.5pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:78.5pt'>
!   <h5 style='mso-outline-level:5'><a name="_Toc126872350"></a><a
!   name="_Toc115416281"></a><a name="_Value:_TheseCells"></a><span
!   style='mso-bookmark:_Toc126872350'><span style='mso-bookmark:_Toc115416281'>Value:
!   TheseCells</span></span></h5>
    <p class=MsoBodyText>Type: REG_MULTI_SZ<br>
    NSIS: &lt;not set&gt;</p>
    <p class=MsoBodyText>When Kerberos 5 is being used, TheseCells provides a
--- 4138,4159 ----
    if the service is up.</p>
    </td>
   </tr>
!  <tr style='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="_Toc139981127"></a><a name="_Toc126872349"></a><a
!   name="_Toc115416280">Value: LoginSleepInterval</a></h5>
    <p class=MsoBodyText>Type: DWORD<br>
    Default: 5<br>
    NSIS/WiX: (not set)</p>
    <p class=MsoBodyText>See description of LoginRetryInterval.</p>
    </td>
   </tr>
!  <tr style='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="_Toc139981128"></a><a name="_Toc126872350"></a><a
!   name="_Toc115416281"></a><a name="_Value:_TheseCells"></a>Value: TheseCells</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
***************
*** 8186,8292 ****
   </tr>
  </table>
  
! <h3 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872351"></a><a
! name="_Toc115416282"><span style='mso-bookmark:_Toc126872351'>A.2.1.2<span
! style='mso-spacerun:yes'>  </span>Selection of effective values for domain
! specific configuration</span></a></h3>
  
  <p class=MsoBodyText>During login to domain X, where X is the domain passed
  into NPLogonNotify as lpAuthentInfo-&gt;LogonDomainName or the string 'LOCALHOST'
  if lpAuthentInfo-&gt;LogonDomainName equals the name of the computer, the
  following keys will be looked up.</p>
  
! <p class=MsoBodyText style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:
! l33 level1 lfo13;tab-stops:list 36.0pt'><![if !supportLists]><span
! style='mso-fareast-font-family:Thorndale;mso-bidi-font-family:Thorndale'><span
! style='mso-list:Ignore'>1.<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
! </span></span></span><![endif]>NP key. (&quot;HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider&quot;)</p>
! 
! <p class=MsoBodyText style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:
! l33 level1 lfo13;tab-stops:list 36.0pt'><![if !supportLists]><span
! style='mso-fareast-font-family:Thorndale;mso-bidi-font-family:Thorndale'><span
! style='mso-list:Ignore'>2.<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
! </span></span></span><![endif]>Domains key. (NP key\&quot;Domain&quot;)</p>
! 
! <p class=MsoBodyText style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:
! l33 level1 lfo13;tab-stops:list 36.0pt'><![if !supportLists]><span
! style='mso-fareast-font-family:Thorndale;mso-bidi-font-family:Thorndale'><span
! style='mso-list:Ignore'>3.<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
! </span></span></span><![endif]>Specific domain key. (Domains key\X)</p>
  
  <p class=MsoBodyText>If the specific domain key does not exist, then the
! domains key will be ignored.<span style='mso-spacerun:yes'>  </span>All the
! configuration information in this case will come from the NP key.</p>
  
  <p class=MsoBodyText>If the specific domain key exists, then for each of the
  values metioned in (2), they will be looked up in the specific domain key, domains
  key and the NP key successively until the value is found. The first instance of
! the value found this way will be the effective for the login session.<span
! style='mso-spacerun:yes'>  </span>If no such instance can be found, the default
! will be used.<span style='mso-spacerun:yes'>  </span>To re-iterate, a value in
! a more specific key supercedes a value in a less specific key.<span
! style='mso-spacerun:yes'>  </span>The exceptions to this rule are stated below.</p>
! 
! <h3 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872352"></a><a
! name="_Toc115416283"><span style='mso-bookmark:_Toc126872352'>A.2.1.3 Exceptions
! to A.2.1.2</span></a></h3>
  
  <p class=MsoBodyText>To retain backwards compatibility, the following
  exceptions are made to 2.1.2.</p>
  
! <h4><a name="_Toc126872353"></a><a name="_Toc115416284"><span style='mso-bookmark:
! _Toc126872353'>2.1.3.1 'FailLoginsSilently'</span></a></h4>
  
  <p class=MsoBodyText>Historically, the 'FailLoginsSilently' value was in HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters
! key and not in the NP key.<span style='mso-spacerun:yes'>  </span>Therefore, for
! backwards compatibility, the value in the Parameters key will supercede all
! instances of this value in other keys.<span style='mso-spacerun:yes'> 
! </span>In the absence of this value in the Parameters key, normal scope rules
  apply.</p>
  
! <h4><a name="_Toc126872354"></a><a name="_Toc115416285"><span style='mso-bookmark:
! _Toc126872354'>2.1.3.2 'LogonScript'</span></a></h4>
  
  <p class=MsoBodyText>If a 'LogonScript' is not specified in the specific domain
  key nor in the domains key, the value in the NP key will only be checked if the
! effective 'LogonOptions' specify a high security integrated login.<span
! style='mso-spacerun:yes'>  </span>If a logon script is specified in the
! specific domain key or the domains key, it will be used regardless of the high
! security setting.<span style='mso-spacerun:yes'>  </span>Please be aware of
! this when setting this value.</p>
! 
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872355"></a><a
! name="_Toc115417107"></a><a name="_Toc115416286"><span style='mso-bookmark:
! _Toc115417107'><span style='mso-bookmark:_Toc126872355'>A.3. AFS Credentials
! System Tray Tool parameters</span></span></a></h2>
  
  <p class=MsoBodyText>Affects the behavior of afscreds.exe</p>
  
! <h3 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872356"></a><a
! name="_Toc115416287"><span style='mso-bookmark:_Toc126872356'>Regkey:<br>
! [HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters]</span></a></h3>
! 
! <table class=MsoTableWeb1 border=1 cellspacing=3 cellpadding=0
!  style='mso-cellspacing:2.0pt;mso-yfti-tbllook:480;mso-padding-alt:0pt 5.4pt 0pt 5.4pt;
!  mso-border-insideh:.75pt outset windowtext;mso-border-insidev:.75pt outset windowtext'>
!  <tr style='mso-yfti-irow:-1;mso-yfti-firstrow:yes;height:92.0pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:92.0pt'>
!   <h5 style='mso-outline-level:5;mso-yfti-cnfc:1'><a name="_Toc126872357"></a><a
!   name="_Toc115416288"><span style='mso-bookmark:_Toc126872357'>Value: Gateway</span></a></h5>
!   <p class=MsoBodyText style='mso-yfti-cnfc:1'>Type: REG_SZ<br>
    Default: &quot;&quot;<br>
    Function: GetGatewayName()</p>
!   <p class=MsoBodyText style='mso-yfti-cnfc:1'>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:0;mso-yfti-lastrow:yes;height:92.0pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:92.0pt'>
!   <h5 style='mso-outline-level:5'><a name="_Toc126872358"></a><a
!   name="_Toc115416289"><span style='mso-bookmark:_Toc126872358'>Value: Cell</span></a></h5>
    <p class=MsoBodyText>Type: REG_SZ<br>
    Default: &lt;none&gt;<br>
    Variable: IsServiceConfigured()</p>
--- 4163,4254 ----
   </tr>
  </table>
  
! <h3 style='margin-left:0pt;text-indent:0pt'><a name="_Toc139981129"></a><a
! name="_Toc126872351"></a><a name="_Toc115416282">A.2.1.2  Selection of
! effective values for domain specific configuration</a></h3>
  
  <p class=MsoBodyText>During login to domain X, where X is the domain passed
  into NPLogonNotify as lpAuthentInfo-&gt;LogonDomainName or the string 'LOCALHOST'
  if lpAuthentInfo-&gt;LogonDomainName equals the name of the computer, the
  following keys will be looked up.</p>
  
! <p class=MsoBodyText style='margin-left:36.0pt;text-indent:-18.0pt'>1.<span
! style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>NP
! key. (&quot;HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider&quot;)</p>
! 
! <p class=MsoBodyText style='margin-left:36.0pt;text-indent:-18.0pt'>2.<span
! style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>Domains
! key. (NP key\&quot;Domain&quot;)</p>
! 
! <p class=MsoBodyText style='margin-left:36.0pt;text-indent:-18.0pt'>3.<span
! style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>Specific
! domain key. (Domains key\X)</p>
  
  <p class=MsoBodyText>If the specific domain key does not exist, then the
! domains key will be ignored.  All the configuration information in this case
! will come from the NP key.</p>
  
  <p class=MsoBodyText>If the specific domain key exists, then for each of the
  values metioned in (2), they will be looked up in the specific domain key, domains
  key and the NP key successively until the value is found. The first instance of
! the value found this way will be the effective for the login session.  If no
! such instance can be found, the default will be used.  To re-iterate, a value
! in a more specific key supercedes a value in a less specific key.  The
! exceptions to this rule are stated below.</p>
! 
! <h3 style='margin-left:0pt;text-indent:0pt'><a name="_Toc139981130"></a><a
! name="_Toc126872352"></a><a name="_Toc115416283">A.2.1.3 Exceptions to A.2.1.2</a></h3>
  
  <p class=MsoBodyText>To retain backwards compatibility, the following
  exceptions are made to 2.1.2.</p>
  
! <h4><a name="_Toc139981131"></a><a name="_Toc126872353"></a><a
! name="_Toc115416284">2.1.3.1 'FailLoginsSilently'</a></h4>
  
  <p class=MsoBodyText>Historically, the 'FailLoginsSilently' value was in HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters
! key and not in the NP key.  Therefore, for backwards compatibility, the value
! in the Parameters key will supercede all instances of this value in other
! keys.  In the absence of this value in the Parameters key, normal scope rules
  apply.</p>
  
! <h4><a name="_Toc139981132"></a><a name="_Toc126872354"></a><a
! name="_Toc115416285">2.1.3.2 'LogonScript'</a></h4>
  
  <p class=MsoBodyText>If a 'LogonScript' is not specified in the specific domain
  key nor in the domains key, the value in the NP key will only be checked if the
! effective 'LogonOptions' specify a high security integrated login.  If a logon
! script is specified in the specific domain key or the domains key, it will be
! used regardless of the high security setting.  Please be aware of this when
! setting this value.</p>
! 
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc139981133"></a><a
! name="_Toc126872355"></a><a name="_Toc115417107"></a><a name="_Toc115416286">A.3.
! AFS Credentials System Tray Tool parameters</a></h2>
  
  <p class=MsoBodyText>Affects the behavior of afscreds.exe</p>
  
! <h3 style='margin-left:0pt;text-indent:0pt'><a name="_Toc139981134"></a><a
! name="_Toc126872356"></a><a name="_Toc115416287">Regkey:<br>
! [HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters]</a></h3>
! 
! <table class=MsoTableWeb1 border=1 cellspacing=3 cellpadding=0>
!  <tr style='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="_Toc139981135"></a><a name="_Toc126872357"></a><a
!   name="_Toc115416288">Value: Gateway</a></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='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="_Toc139981136"></a><a name="_Toc126872358"></a><a
!   name="_Toc115416289">Value: Cell</a></h5>
    <p class=MsoBodyText>Type: REG_SZ<br>
    Default: &lt;none&gt;<br>
    Variable: IsServiceConfigured()</p>
***************
*** 8296,8528 ****
   </tr>
  </table>
  
! <h3 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872359"></a><a
! name="_Toc115416290"><span style='mso-bookmark:_Toc126872359'>Regkey:<br>
  [HKLM\SOFTWARE\OpenAFS\Client]<br>
! [HKCU\SOFTWARE\OpenAFS\Client]</span></a></h3>
  
! <table class=MsoTableWeb1 border=1 cellspacing=3 cellpadding=0
!  style='mso-cellspacing:2.0pt;mso-yfti-tbllook:480;mso-padding-alt:0pt 5.4pt 0pt 5.4pt;
!  mso-border-insideh:.75pt outset windowtext;mso-border-insidev:.75pt outset windowtext'>
!  <tr style='mso-yfti-irow:-1;mso-yfti-firstrow:yes;height:157.5pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:157.5pt'>
!   <h5 style='mso-outline-level:5;mso-yfti-cnfc:1'><a name="_Toc126872360"></a><a
!   name="_Toc115416291"><span style='mso-bookmark:_Toc126872360'>Value:
!   ShowTrayIcon</span></a></h5>
!   <p class=MsoBodyText style='mso-yfti-cnfc:1'>Type: DWORD {0, 1}<br>
    Default: 1<br>
    Function: InitApp(), Main_OnCheckTerminate()</p>
!   <p class=MsoBodyText style='mso-yfti-cnfc:1'>This value is used to determine
!   whether or not a shortcut should be maintained in the user's Start
    Menu-&gt;Programs-&gt;Startup folder. </p>
!   <p class=MsoBodyText style='mso-yfti-cnfc:1'>This value used to be stored at
!   [HKLM\Software\TransarcCorporation\AFS Client\AfsCreds].</p>
!   <p class=MsoBodyText style='mso-yfti-cnfc:1'>The current user value is
!   checked first; if it does not exist the local machine value is checked.</p>
    </td>
   </tr>
!  <tr style='mso-yfti-irow:0;height:119.0pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:119.0pt'>
!   <h5 style='mso-outline-level:5'><a name="_Toc126872361"></a><a
!   name="_Toc115416292"><span style='mso-bookmark:_Toc126872361'>Value:
!   EnableKFW</span></a></h5>
    <p class=MsoBodyText>Type: DWORD {0, 1}<br>
    Default: 1<br>
    Function: KFW_is_available()</p>
    <p class=MsoBodyText>When MIT Kerberos for Windows can be loaded, Kerberos 5
!   will be used to obtain AFS credentials.<span style='mso-spacerun:yes'> 
!   </span>By setting this value to 0, the internal Kerberos 4 implementation
!   will be used instead.<span style='mso-spacerun:yes'>  </span>The current user
    value is checked first; if it does not exist the local machine value is
    checked.</p>
    </td>
   </tr>
!  <tr style='mso-yfti-irow:1;height:119.0pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:119.0pt'>
!   <h5 style='mso-outline-level:5'><a name="_Toc126872362"></a><a
!   name="_Toc115416293"></a><a name="_Value___: Use524"></a><span
!   style='mso-bookmark:_Toc126872362'><span style='mso-bookmark:_Toc115416293'>Value:
!   Use524</span></span></h5>
    <p class=MsoBodyText>Type: DWORD {0, 1}<br>
    Default: 0<br>
    Function: KFW_use_krb524()</p>
    <p class=MsoBodyText>When MIT Kerberos for Windows can be loaded, Kerberos 5
!   will be used to obtain AFS credentials.<span style='mso-spacerun:yes'> 
!   </span>By setting this value to 1, the Kerberos 5 tickets will be converted
!   to Kerberos 4 tokens via a call to the krb524 daemon.<span
!   style='mso-spacerun:yes'>  </span>The current user value is checked first; if
!   it does not exist the local machine value is checked.</p>
    </td>
   </tr>
!  <tr style='mso-yfti-irow:2;mso-yfti-lastrow:yes;height:251.5pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:251.5pt'>
!   <h5 style='mso-outline-level:5'><a name="_Toc126872363"></a><a
!   name="_Toc115416294"></a><a name="_Value___: AfscredsShortcutParams"></a><span
!   style='mso-bookmark:_Toc126872363'><span style='mso-bookmark:_Toc115416294'>Value:
!   AfscredsShortcutParams</span></span></h5>
    <p class=MsoBodyText>Type: REG_SZ<br>
    Default: &quot;-A -M -N -Q&quot;<br>
    Function: Shortcut_FixStartup</p>
    <p class=MsoBodyText>This value specifies the command line options which
!   should be set as part of the shortcut to afscreds.exe.<span
!   style='mso-spacerun:yes'>  </span>afscreds.exe rewrites the shortcut each
!   time it exits so as to ensure that the shortcut points to the latest version
!   of the program.<span style='mso-spacerun:yes'>  </span>This value is used to
!   determine which values should be used for command line parameters.<span
!   style='mso-spacerun:yes'>  </span>The current user value is checked first; if
!   it does not exist the local machine value is checked.</p>
    <p class=MsoBodyText>The following subset of the command line options is
    appropriate for use in this registry setting:</p>
    <p class=MsoBodyText>-A = autoinit<br>
    -M = renew drive maps<br>
    -N = ip address change detection<br>
!   -Q = quiet mode.<span style='mso-spacerun:yes'>  </span>do not display start
!   service dialog if afsd_service is not already running<br>
    -S = show tokens dialog on startup<br>
    -Z = unmap drives</p>
    </td>
   </tr>
  </table>
  
! <h3 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872364"></a><a
! name="_Toc115416295"><span style='mso-bookmark:_Toc126872364'>Regkey:<br>
! [HKCU\SOFTWARE\OpenAFS\Client]</span></a></h3>
! 
! <table class=MsoTableWeb1 border=1 cellspacing=3 cellpadding=0
!  style='mso-cellspacing:2.0pt;mso-yfti-tbllook:480;mso-padding-alt:0pt 5.4pt 0pt 5.4pt;
!  mso-border-insideh:.75pt outset windowtext;mso-border-insidev:.75pt outset windowtext'>
!  <tr style='mso-yfti-irow:-1;mso-yfti-firstrow:yes;mso-yfti-lastrow:yes;
!   height:92.0pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:92.0pt'>
!   <h5 style='mso-outline-level:5;mso-yfti-cnfc:1'><a name="_Toc126872365"></a><a
!   name="_Toc115416296"><span style='mso-bookmark:_Toc126872365'>Value:
!   Authentication Cell</span></a></h5>
!   <p class=MsoBodyText style='mso-yfti-cnfc:1'>Type: REG_SZ<br>
    Default: &lt;none&gt;<br>
    Function: Afscreds.exe GetDefaultCell()</p>
!   <p class=MsoBodyText style='mso-yfti-cnfc:1'>This value allows the user to
!   configure a different cell name to be used as the default cell when acquiring
!   tokens in afscreds.exe.</p>
    </td>
   </tr>
  </table>
  
! <h3 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872366"></a><a
! name="_Toc115416297"><span style='mso-bookmark:_Toc126872366'>Regkey:<br>
! [HKCU\SOFTWARE\OpenAFS\Client\Reminders]</span></a></h3>
! 
! <table class=MsoTableWeb1 border=1 cellspacing=3 cellpadding=0
!  style='mso-cellspacing:2.0pt;mso-yfti-tbllook:480;mso-padding-alt:0pt 5.4pt 0pt 5.4pt;
!  mso-border-insideh:.75pt outset windowtext;mso-border-insidev:.75pt outset windowtext'>
!  <tr style='mso-yfti-irow:-1;mso-yfti-firstrow:yes;mso-yfti-lastrow:yes;
!   height:124.75pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:124.75pt'>
!   <h5 style='mso-outline-level:5;mso-yfti-cnfc:1'><a name="_Toc126872367"></a><a
!   name="_Toc115416298"><span style='mso-bookmark:_Toc126872367'>Value:
!   &quot;afs cell name&quot;</span></a></h5>
!   <p class=MsoBodyText style='mso-yfti-cnfc:1'>Type: DWORD {0, 1}<br>
    Default: &lt;none&gt;<br>
    Function: LoadRemind(), SaveRemind()</p>
!   <p class=MsoBodyText style='mso-yfti-cnfc:1'>These values are used to save
!   and restore the state of the reminder flag for each cell for which the user
!   has obtained tokens.</p>
!   <p class=MsoBodyText style='mso-yfti-cnfc:1'>This value used to be stored at
!   [HKLM\Software\TransarcCorporation\AFS Client\AfsCreds].</p>
    </td>
   </tr>
  </table>
  
! <h3 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872368"></a><a
! name="_Toc115416299"><span style='mso-bookmark:_Toc126872368'>Regkey:<br>
! [HKCU\SOFTWARE\OpenAFS\Client\Active Maps]</span></a></h3>
! 
! <table class=MsoTableWeb1 border=1 cellspacing=3 cellpadding=0
!  style='mso-cellspacing:2.0pt;mso-yfti-tbllook:480;mso-padding-alt:0pt 5.4pt 0pt 5.4pt;
!  mso-border-insideh:.75pt outset windowtext;mso-border-insidev:.75pt outset windowtext'>
!  <tr style='mso-yfti-irow:-1;mso-yfti-firstrow:yes;mso-yfti-lastrow:yes;
!   height:98.5pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:98.5pt'>
!   <h5 style='mso-outline-level:5;mso-yfti-cnfc:1'><a name="_Toc126872369"></a><a
!   name="_Toc115416300"><span style='mso-bookmark:_Toc126872369'>Value:
!   &quot;upper case drive letter&quot;</span></a></h5>
!   <p class=MsoBodyText style='mso-yfti-cnfc:1'>Type: DWORD {0, 1}<br>
    Default: &lt;none&gt;</p>
!   <p class=MsoBodyText style='mso-yfti-cnfc:1'>These values are used to store
!   the persistence state of the AFS drive mappings as listed in the
!   [...\Client\Mappings] key.</p>
!   <p class=MsoBodyText style='mso-yfti-cnfc:1'>These values used to be stored
!   in the afsdsbmt.ini file</p>
    </td>
   </tr>
  </table>
  
! <h3 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872370"></a><a
! name="_Toc115416301"><span style='mso-bookmark:_Toc126872370'>Regkey:<br>
! [HKCU\SOFTWARE\OpenAFS\Client\Mappings]</span></a></h3>
! 
! <table class=MsoTableWeb1 border=1 cellspacing=3 cellpadding=0
!  style='mso-cellspacing:2.0pt;mso-yfti-tbllook:480;mso-padding-alt:0pt 5.4pt 0pt 5.4pt;
!  mso-border-insideh:.75pt outset windowtext;mso-border-insidev:.75pt outset windowtext'>
!  <tr style='mso-yfti-irow:-1;mso-yfti-firstrow:yes;mso-yfti-lastrow:yes;
!   height:98.5pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:98.5pt'>
!   <h5 style='mso-outline-level:5;mso-yfti-cnfc:1'><a name="_Toc126872371"></a><a
!   name="_Toc115416302"><span style='mso-bookmark:_Toc126872371'>Value:
!   &quot;upper case drive letter&quot;</span></a></h5>
!   <p class=MsoBodyText style='mso-yfti-cnfc:1'>Type: REG_SZ<br>
    Default: &lt;none&gt;</p>
!   <p class=MsoBodyText style='mso-yfti-cnfc:1'>These values are used to store
!   the AFS path in UNIX notation to which the drive letter is to be mapped.</p>
!   <p class=MsoBodyText style='mso-yfti-cnfc:1'>These values used to be stored
!   in the afsdsbmt.ini file.</p>
    </td>
   </tr>
  </table>
  
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc126872372"></a><a
! name="_Toc115417108"></a><a name="_Toc115416303"><span style='mso-bookmark:
! _Toc115417108'><span style='mso-bookmark:_Toc126872372'>A.4 OpenAFS Client
! Service Environment Variables</span></span></a></h2>
! 
! <table class=MsoTableWeb1 border=1 cellspacing=3 cellpadding=0
!  style='mso-cellspacing:2.0pt;mso-yfti-tbllook:480;mso-padding-alt:0pt 5.4pt 0pt 5.4pt;
!  mso-border-insideh:.75pt outset windowtext;mso-border-insidev:.75pt outset windowtext'>
!  <tr style='mso-yfti-irow:-1;mso-yfti-firstrow:yes'>
!   <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <h5 style='mso-outline-level:5;mso-yfti-cnfc:1'><a name="_Toc126872373"></a><a
!   name="_Toc115416304"><span style='mso-bookmark:_Toc126872373'>Variable:
!   AFS_RPC_ENCRYPT</span></a></h5>
!   <p class=MsoBodyText style='mso-yfti-cnfc:1'>Values:<span
!   style='mso-spacerun:yes'>   </span>&quot;OFF&quot; disables the use of RPC
    encryption any other value allows RPC encryption to be used<br>
!   Default:<span style='mso-spacerun:yes'>  </span>RPC encryption is on</p>
    </td>
   </tr>
!  <tr style='mso-yfti-irow:0;mso-yfti-lastrow:yes'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <h5 style='mso-outline-level:5'><a name="_Toc126872374"></a><a
!   name="_Toc115416305"><span style='mso-bookmark:_Toc126872374'>Variable:
!   AFS_RPC_PROTSEQ</span></a></h5>
!   <p class=MsoBodyText>Values:<span style='mso-tab-count:1'>            </span>&quot;ncalrpc&quot;<span
!   style='mso-spacerun:yes'>  </span>- local RPC<br>
!   <span style='mso-spacerun:yes'> </span><span style='mso-tab-count:2'>                       </span>&quot;ncacn_np&quot;
!   - named pipes<br>
!   <span style='mso-spacerun:yes'> </span><span style='mso-tab-count:2'>                       </span>&quot;ncacn_ip_tcp&quot;
!   - tcp/ip<br>
!   Default:<span style='mso-spacerun:yes'>  </span>local RPC</p>
    </td>
   </tr>
  </table>
  
! <p class=MsoBodyText><o:p>&nbsp;</o:p></p>
  
  </div>
  
--- 4258,4449 ----
   </tr>
  </table>
  
! <h3 style='margin-left:0pt;text-indent:0pt'><a name="_Toc139981137"></a><a
! name="_Toc126872359"></a><a name="_Toc115416290">Regkey:<br>
  [HKLM\SOFTWARE\OpenAFS\Client]<br>
! [HKCU\SOFTWARE\OpenAFS\Client]</a></h3>
  
! <table class=MsoTableWeb1 border=1 cellspacing=3 cellpadding=0>
!  <tr style='height:157.5pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:157.5pt'>
!   <h5><a name="_Toc139981138"></a><a name="_Toc126872360"></a><a
!   name="_Toc115416291">Value: ShowTrayIcon</a></h5>
!   <p class=MsoBodyText>Type: DWORD {0, 1}<br>
    Default: 1<br>
    Function: InitApp(), Main_OnCheckTerminate()</p>
!   <p class=MsoBodyText>This value is used to determine whether or not a
!   shortcut should be maintained in the user's Start
    Menu-&gt;Programs-&gt;Startup folder. </p>
!   <p class=MsoBodyText>This value used to be stored at [HKLM\Software\TransarcCorporation\AFS
!   Client\AfsCreds].</p>
!   <p class=MsoBodyText>The current user value is checked first; if it does not
!   exist the local machine value is checked.</p>
    </td>
   </tr>
!  <tr style='height:119.0pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:119.0pt'>
!   <h5><a name="_Toc139981139"></a><a name="_Toc126872361"></a><a
!   name="_Toc115416292">Value: EnableKFW</a></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.  By setting this value to 0, the
!   internal Kerberos 4 implementation will be used instead.  The current user
    value is checked first; if it does not exist the local machine value is
    checked.</p>
    </td>
   </tr>
!  <tr style='height:119.0pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:119.0pt'>
!   <h5><a name="_Toc139981140"></a><a name="_Toc126872362"></a><a
!   name="_Toc115416293"></a><a name="_Value___: Use524"></a>Value: Use524</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.  By setting this value to 1, the
!   Kerberos 5 tickets will be converted to Kerberos 4 tokens via a call to the
!   krb524 daemon.  The current user value is checked first; if it does not exist
!   the local machine value is checked.</p>
    </td>
   </tr>
!  <tr style='height:251.5pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:251.5pt'>
!   <h5><a name="_Toc139981141"></a><a name="_Toc126872363"></a><a
!   name="_Toc115416294"></a><a name="_Value___: AfscredsShortcutParams"></a>Value:
!   AfscredsShortcutParams</h5>
    <p class=MsoBodyText>Type: REG_SZ<br>
    Default: &quot;-A -M -N -Q&quot;<br>
    Function: Shortcut_FixStartup</p>
    <p class=MsoBodyText>This value specifies the command line options which
!   should be set as part of the shortcut to afscreds.exe.  afscreds.exe rewrites
!   the shortcut each time it exits so as to ensure that the shortcut points to
!   the latest version of the program.  This value is used to determine which
!   values should be used for command line parameters.  The current user value is
!   checked first; if it does not exist the local machine value is checked.</p>
    <p class=MsoBodyText>The following subset of the command line options is
    appropriate for use in this registry setting:</p>
    <p class=MsoBodyText>-A = autoinit<br>
    -M = renew drive maps<br>
    -N = ip address change detection<br>
!   -Q = quiet mode.  do not display start service dialog if afsd_service is not
!   already running<br>
    -S = show tokens dialog on startup<br>
    -Z = unmap drives</p>
    </td>
   </tr>
  </table>
  
! <h3 style='margin-left:0pt;text-indent:0pt'><a name="_Toc139981142"></a><a
! name="_Toc126872364"></a><a name="_Toc115416295">Regkey:<br>
! [HKCU\SOFTWARE\OpenAFS\Client]</a></h3>
! 
! <table class=MsoTableWeb1 border=1 cellspacing=3 cellpadding=0>
!  <tr style='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="_Toc139981143"></a><a name="_Toc126872365"></a><a
!   name="_Toc115416296">Value: Authentication Cell</a></h5>
!   <p class=MsoBodyText>Type: REG_SZ<br>
    Default: &lt;none&gt;<br>
    Function: Afscreds.exe GetDefaultCell()</p>
!   <p class=MsoBodyText>This value allows the user to configure a different cell
!   name to be used as the default cell when acquiring tokens in afscreds.exe.</p>
    </td>
   </tr>
  </table>
  
! <h3 style='margin-left:0pt;text-indent:0pt'><a name="_Toc139981144"></a><a
! name="_Toc126872366"></a><a name="_Toc115416297">Regkey:<br>
! [HKCU\SOFTWARE\OpenAFS\Client\Reminders]</a></h3>
! 
! <table class=MsoTableWeb1 border=1 cellspacing=3 cellpadding=0>
!  <tr style='height:124.75pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:124.75pt'>
!   <h5><a name="_Toc139981145"></a><a name="_Toc126872367"></a><a
!   name="_Toc115416298">Value: &quot;afs cell name&quot;</a></h5>
!   <p class=MsoBodyText>Type: DWORD {0, 1}<br>
    Default: &lt;none&gt;<br>
    Function: LoadRemind(), SaveRemind()</p>
!   <p class=MsoBodyText>These values are used to save and restore the state of
!   the reminder flag for each cell for which the user has obtained tokens.</p>
!   <p class=MsoBodyText>This value used to be stored at [HKLM\Software\TransarcCorporation\AFS
!   Client\AfsCreds].</p>
    </td>
   </tr>
  </table>
  
! <h3 style='margin-left:0pt;text-indent:0pt'><a name="_Toc139981146"></a><a
! name="_Toc126872368"></a><a name="_Toc115416299">Regkey:<br>
! [HKCU\SOFTWARE\OpenAFS\Client\Active Maps]</a></h3>
! 
! <table class=MsoTableWeb1 border=1 cellspacing=3 cellpadding=0>
!  <tr style='height:98.5pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:98.5pt'>
!   <h5><a name="_Toc139981147"></a><a name="_Toc126872369"></a><a
!   name="_Toc115416300">Value: &quot;upper case drive letter&quot;</a></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
!   the AFS drive mappings as listed in the [...\Client\Mappings] key.</p>
!   <p class=MsoBodyText>These values used to be stored in the afsdsbmt.ini file</p>
    </td>
   </tr>
  </table>
  
! <h3 style='margin-left:0pt;text-indent:0pt'><a name="_Toc139981148"></a><a
! name="_Toc126872370"></a><a name="_Toc115416301">Regkey:<br>
! [HKCU\SOFTWARE\OpenAFS\Client\Mappings]</a></h3>
! 
! <table class=MsoTableWeb1 border=1 cellspacing=3 cellpadding=0>
!  <tr style='height:98.5pt'>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt;
    height:98.5pt'>
!   <h5><a name="_Toc139981149"></a><a name="_Toc126872371"></a><a
!   name="_Toc115416302">Value: &quot;upper case drive letter&quot;</a></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
!   notation to which the drive letter is to be mapped.</p>
!   <p class=MsoBodyText>These values used to be stored in the afsdsbmt.ini file.</p>
    </td>
   </tr>
  </table>
  
! <h2 style='margin-left:0pt;text-indent:0pt'><a name="_Toc139981150"></a><a
! name="_Toc126872372"></a><a name="_Toc115417108"></a><a name="_Toc115416303">A.4
! OpenAFS Client Service Environment Variables</a></h2>
! 
! <table class=MsoTableWeb1 border=1 cellspacing=3 cellpadding=0>
!  <tr>
!   <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <h5><a name="_Toc139981151"></a><a name="_Toc126872373"></a><a
!   name="_Toc115416304">Variable: AFS_RPC_ENCRYPT</a></h5>
!   <p class=MsoBodyText>Values:   &quot;OFF&quot; disables the use of RPC
    encryption any other value allows RPC encryption to be used<br>
!   Default:  RPC encryption is on</p>
    </td>
   </tr>
!  <tr>
    <td width=590 valign=top style='width:442.8pt;padding:0pt 5.4pt 0pt 5.4pt'>
!   <h5><a name="_Toc139981152"></a><a name="_Toc126872374"></a><a
!   name="_Toc115416305">Variable: AFS_RPC_PROTSEQ</a></h5>
!   <p class=MsoBodyText>Values:            &quot;ncalrpc&quot;  - local RPC<br>
!                           &quot;ncacn_np&quot; - named pipes<br>
!                           &quot;ncacn_ip_tcp&quot; - tcp/ip<br>
!   Default:  local RPC</p>
    </td>
   </tr>
  </table>
  
! <p class=MsoBodyText>&nbsp;</p>
  
  </div>
  
Index: openafs/src/WINNT/doc/install/Documentation/en_US/html/ReleaseNotes/toc.htm
diff -c openafs/src/WINNT/doc/install/Documentation/en_US/html/ReleaseNotes/toc.htm:1.2.2.5 openafs/src/WINNT/doc/install/Documentation/en_US/html/ReleaseNotes/toc.htm:1.2.2.6
*** openafs/src/WINNT/doc/install/Documentation/en_US/html/ReleaseNotes/toc.htm:1.2.2.5	Sun Feb  5 03:14:18 2006
--- openafs/src/WINNT/doc/install/Documentation/en_US/html/ReleaseNotes/toc.htm	Thu Jul  6 21:15:31 2006
***************
*** 1,1291 ****
! <html xmlns:v="urn:schemas-microsoft-com:vml"
! xmlns:o="urn:schemas-microsoft-com:office:office"
! xmlns:w="urn:schemas-microsoft-com:office:word"
! xmlns="http://www.w3.org/TR/REC-html40">
  
  <head>
  <meta http-equiv=Content-Type content="text/html; charset=windows-1252">
! <meta name=ProgId content=Word.Document>
! <meta name=Generator content="Microsoft Word 11">
! <meta name=Originator content="Microsoft Word 11">
! <base target="OpenAFS for Windows Release Notes">
! <link rel=File-List href="toc_files/filelist.xml">
! <title>OpenAFS for Windows Release Notes TOC</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>9</o:TotalTime>
!   <o:Created>2005-09-25T21:11:00Z</o:Created>
!   <o:LastSaved>2005-09-25T21:11:00Z</o:LastSaved>
!   <o:Pages>1</o:Pages>
!   <o:Words>4476</o:Words>
!   <o:Characters>25515</o:Characters>
!   <o:Company>Secure Endpoints Inc.</o:Company>
!   <o:Lines>212</o:Lines>
!   <o:Paragraphs>59</o:Paragraphs>
!   <o:CharactersWithSpaces>29932</o:CharactersWithSpaces>
!   <o:Version>11.6568</o:Version>
!  </o:DocumentProperties>
! </xml><![endif]--><!--[if gte mso 9]><xml>
!  <w:WordDocument>
!   <w:ValidateAgainstSchemas/>
!   <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>
!   <w:IgnoreMixedContent>false</w:IgnoreMixedContent>
!   <w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>
!   <w:Compatibility>
!    <w:BreakWrappedTables/>
!    <w:SnapToGridInCell/>
!    <w:WrapTextWithPunct/>
!    <w:UseAsianBreakRules/>
!    <w:UseWord2002TableStyleRules/>
!    <w:UseFELayout/>
!   </w:Compatibility>
!   <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel>
!  </w:WordDocument>
! </xml><![endif]--><!--[if gte mso 9]><xml>
!  <w:LatentStyles DefLockedState="false" LatentStyleCount="156">
!  </w:LatentStyles>
! </xml><![endif]-->
  <style>
  <!--
   /* Font Definitions */
   @font-face
  	{font-family:"MS Mincho";
! 	panose-1:2 2 6 9 4 2 5 8 3 4;
! 	mso-font-alt:"\FF2D\FF33 \660E\671D";
! 	mso-font-charset:128;
! 	mso-generic-font-family:modern;
! 	mso-font-pitch:fixed;
! 	mso-font-signature:-1610612033 1757936891 16 0 131231 0;}
  @font-face
  	{font-family:"\@MS Mincho";
! 	panose-1:2 2 6 9 4 2 5 8 3 4;
! 	mso-font-charset:128;
! 	mso-generic-font-family:modern;
! 	mso-font-pitch:fixed;
! 	mso-font-signature:-1610612033 1757936891 16 0 131231 0;}
   /* Style Definitions */
   p.MsoNormal, li.MsoNormal, div.MsoNormal
! 	{mso-style-parent:"";
! 	margin:0pt;
  	margin-bottom:.0001pt;
- 	mso-pagination:widow-orphan;
  	font-size:12.0pt;
! 	font-family:"Times New Roman";
! 	mso-fareast-font-family:"MS Mincho";}
  p.MsoToc1, li.MsoToc1, div.MsoToc1
! 	{mso-style-update:auto;
! 	mso-style-noshow:yes;
! 	mso-style-next:Normal;
! 	margin:0pt;
  	margin-bottom:.0001pt;
- 	mso-pagination:widow-orphan;
  	font-size:12.0pt;
! 	font-family:"Times New Roman";
! 	mso-fareast-font-family:"MS Mincho";}
  p.MsoToc2, li.MsoToc2, div.MsoToc2
! 	{mso-style-update:auto;
! 	mso-style-noshow:yes;
! 	mso-style-next:Normal;
! 	margin-top:0pt;
  	margin-right:0pt;
  	margin-bottom:0pt;
  	margin-left:12.0pt;
  	margin-bottom:.0001pt;
- 	mso-pagination:widow-orphan;
  	font-size:12.0pt;
! 	font-family:"Times New Roman";
! 	mso-fareast-font-family:"MS Mincho";}
  p.MsoToc3, li.MsoToc3, div.MsoToc3
! 	{mso-style-update:auto;
! 	mso-style-noshow:yes;
! 	mso-style-next:Normal;
! 	margin-top:0pt;
  	margin-right:0pt;
  	margin-bottom:0pt;
  	margin-left:24.0pt;
  	margin-bottom:.0001pt;
- 	mso-pagination:widow-orphan;
  	font-size:12.0pt;
! 	font-family:"Times New Roman";
! 	mso-fareast-font-family:"MS Mincho";}
  p.MsoToc4, li.MsoToc4, div.MsoToc4
! 	{mso-style-update:auto;
! 	mso-style-noshow:yes;
! 	mso-style-next:Normal;
! 	margin-top:0pt;
  	margin-right:0pt;
  	margin-bottom:0pt;
  	margin-left:36.0pt;
  	margin-bottom:.0001pt;
- 	mso-pagination:widow-orphan;
  	font-size:12.0pt;
! 	font-family:"Times New Roman";
! 	mso-fareast-font-family:"MS Mincho";}
  p.MsoToc5, li.MsoToc5, div.MsoToc5
! 	{mso-style-update:auto;
! 	mso-style-noshow:yes;
! 	mso-style-next:Normal;
! 	margin-top:0pt;
  	margin-right:0pt;
  	margin-bottom:0pt;
  	margin-left:48.0pt;
  	margin-bottom:.0001pt;
- 	mso-pagination:widow-orphan;
  	font-size:12.0pt;
! 	font-family:"Times New Roman";
! 	mso-fareast-font-family:"MS Mincho";}
  p.MsoToc6, li.MsoToc6, div.MsoToc6
! 	{mso-style-update:auto;
! 	mso-style-noshow:yes;
! 	mso-style-next:Normal;
! 	margin-top:0pt;
  	margin-right:0pt;
  	margin-bottom:0pt;
  	margin-left:60.0pt;
  	margin-bottom:.0001pt;
- 	mso-pagination:widow-orphan;
  	font-size:12.0pt;
! 	font-family:"Times New Roman";
! 	mso-fareast-font-family:"MS Mincho";}
  a:link, span.MsoHyperlink
  	{color:blue;
! 	text-decoration:underline;
! 	text-underline:single;}
  a:visited, span.MsoHyperlinkFollowed
  	{color:purple;
! 	text-decoration:underline;
! 	text-underline:single;}
  @page Section1
  	{size:612.0pt 792.0pt;
! 	margin:72.0pt 90.0pt 72.0pt 90.0pt;
! 	mso-header-margin:36.0pt;
! 	mso-footer-margin:36.0pt;
! 	mso-paper-source:0;}
  div.Section1
  	{page:Section1;}
  -->
  </style>
! <!--[if gte mso 10]>
! <style>
!  /* Style Definitions */
!  table.MsoNormalTable
! 	{mso-style-name:"Table Normal";
! 	mso-tstyle-rowband-size:0;
! 	mso-tstyle-colband-size:0;
! 	mso-style-noshow:yes;
! 	mso-style-parent:"";
! 	mso-padding-alt:0pt 5.4pt 0pt 5.4pt;
! 	mso-para-margin:0pt;
! 	mso-para-margin-bottom:.0001pt;
! 	mso-pagination:widow-orphan;
! 	font-size:10.0pt;
! 	font-family:"Times New Roman";
! 	mso-ansi-language:#0400;
! 	mso-fareast-language:#0400;
! 	mso-bidi-language:#0400;}
! </style>
! <![endif]--><!--[if gte mso 9]><xml>
!  <o:shapedefaults v:ext="edit" spidmax="2050"/>
! </xml><![endif]--><!--[if gte mso 9]><xml>
!  <o:shapelayout v:ext="edit">
!   <o:idmap v:ext="edit" data="1"/>
!  </o:shapelayout></xml><![endif]-->
  </head>
  
! <body lang=EN-US link=blue vlink=purple style='tab-interval:36.0pt'>
  
  <div class=Section1>
  
! <p class=MsoNormal><!--[if supportFields]><span style='mso-element:field-begin'></span><span
! style='mso-spacerun:yes'> </span>RD
! &quot;C:\\src\\openafs\\openafs-1-4-branch\\doc\\txt\\winnotes\\relnotes.htm&quot;
! \f <![endif]--><!--[if supportFields]><span style='mso-element:field-end'></span><![endif]--><!--[if supportFields]><span
! style='mso-element:field-begin'></span><span
! style='mso-spacerun:yes'> </span>TOC \h \z \n \u <span style='mso-element:field-separator'></span><![endif]--><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc1 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872163">1. Installer Options</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc1 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872164">2. System Requirements</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872165">2.1 Supported Operating Systems</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872166">2.1.1 Unsupported Operating Systems</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872167">2.2 Disk Space</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872168">2.3 Additional Software</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc1 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872169">3. Operational Notes</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872170">3.1. Requirements for Kerberos 5
! Authentication</a></span></span><span style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872171">3.1.1. Active Directory</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872172">3.1.2. Using the krb524 service</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872173">3.2. Use of the Microsoft Loopback Adapter</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872174">3.3. Using Freelance (Dynamic Root) Mode to
! Improve Mobility</a></span></span><span style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872175">3.4. Locating AFS Volume Database Servers</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872176">3.5. Obtaining AFS Tokens as a Part of
! Windows Logon</a></span></span><span style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872177">3.6. AFS System Tray Command Line Options</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872178">3.7. The “AFS Client Admins” Authorization
! Group</a></span></span><span style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872179">3.8. OpenAFS support for UNC paths</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872180">3.9. OpenAFS includes aklog.exe</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872181">3.10. OpenAFS Servers on Windows are
! Unsupported</a></span></span><span style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872182">3.11. OpenAFS Debugging Symbol files</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872183">3.12. Maximum File Size is 2GB</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872184">3.13. Encrypted AFS File Access</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872185">3.14. Authenticated Access to the OpenAFS Client
! Service</a></span></span><span style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872186">3.15. No More INI Files</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872187">3.16. Microsoft Windows Internet Connection
! Firewall</a></span></span><span style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872188">3.17. Browsing AFS from the Explorer Shell
! and Office</a></span></span><span style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872189">3.18. Byte Range Locking</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872190">3.19. Automatic Discarding of AFS Tokens at
! Logoff</a></span></span><span style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872191">3.20. Terminal Server installations</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872192">3.21. Hidden Dot Files</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872193">3.22. Status Cache Limits</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872194">3.23. NETBIOS over TCP/IP must be enabled</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872195">3.24. OpenAFS binaries are digitally signed</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872196">3.25. Maximum Size of the AFSCache File</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872197">3.26. Filename Character Sets</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872198">3.27. Known Character Set Issues with Roaming
! Profiles</a></span></span><span style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872199">3.28. The AFSCache File</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872200">3.29. Restricting OpenAFS Client Service
! Start and Stop</a></span></span><span style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872201">3.30. The @sys Name List</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872202">3.31. Symlinks to AFS UNC paths</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872203">3.32. Cache Manager Debugging Now Supported</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872204">3.33. Windows Logon Caching vs. Kerberos
! Logons</a></span></span><span style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872205">3.34. Initial Server Preferences</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872206">3.35. File Timestamps</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872207">3.36. Windows RPC client support must be
! installed</a></span></span><span style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872208">3.37. Generating Minidumps of the OpenAFS
! Client Service</a></span></span><span style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872209">3.38. AFS Client Universally Unique
! Identifiers</a></span></span><span style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc1 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872210">4. How to Debug Problems with OpenAFS for
! Windows:</a></span></span><span style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872211">4.1. pioctl debugging (IoctlDebug registry
! key)</a></span></span><span style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872212">4.2. afsd_service initialization log
! (%WinDir%\TEMP\afsd_init.log)</a></span></span><span style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872213">4.3. afsd_service debug logs (fs trace {-on,
! -off, -dump} -&gt;%WinDir%\TEMP\afsd.log)</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872214">4.4. Using SysInternal’s DbgView and FileMon
! Tools</a></span></span><span style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872215">4.5. Microsoft MiniDumps<span
! style='mso-spacerun:yes'>  </span>(fs minidump -&gt; %WinDir%\TEMP\afsd.dmp)</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872216">4.6. Single Sign-on (Integrated Logon)
! debugging</a></span></span><span style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872217">4.7. RX (AFS RPC) debugging (rxdebug)</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872218">4.8. Cache Manager debugging (cmdebug)</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872219">4.9. Persistent Cache consistency check</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc1 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872220">5. Reporting Bugs:</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc1 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872221">6. How to Contribute to the Development of
! OpenAFS for Windows</a></span></span><span style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872222">6.1. The USENIX OpenAFS Fund</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872223">6.2. Secure Endpoints Inc.</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872224">6.3. The MIT Kerberos Account</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872225">6.4. Direct contributions of code and/or
! documentation</a></span></span><span style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872226">6.5. OpenAFS for Windows Mailing Lists</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc1 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872227">7. MSI Deployment Guide</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872228">7.1. Introduction</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872229">7.1.1 Requirements</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872230">7.1.2 Authoring a Transform</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872231">7.2. Configuration Options</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872232">7.2.1 Configurable Properties</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc4 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872233">7.2.1.1 Setting Properties</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc4 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872234">7.2.1.2 OpenAFS for Windows Properties</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872235">(Service parameters):</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872236">(Network provider):</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872237">(OpenAFS Client):</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872238">7.2.1.2.1 Registry Properties</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc6 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872239">AFSCACHEPATH</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc6 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872240">AFSCACHESIZE</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc6 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872241">AFSCELLNAME</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc6 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872242">FREELANCEMODE</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc6 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872243">HIDEDOTFILES</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc6 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872244">LOGONOPTIONS</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc6 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872245">MOUNTROOT</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc6 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872246">NETBIOSNAME</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc6 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872247">NOFINDLANABYNAME</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc6 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872248">RXMAXMTU</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc6 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872249">SECURITYLEVEL</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc6 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872250">SMBAUTHTYPE</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc6 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872251">STOREANSIFILENAMES</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc6 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872252">USEDNS</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872253">7.2.1.2.2 AFSCreds.exe Properties</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc6 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872254">CREDSSTARTUP</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc6 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872255">CREDSAUTOINIT</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc6 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872256">CREDSIPCHDET</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc6 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872257">CREDSQUIET</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc6 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872258">CREDSRENEWDRMAP</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc6 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872259">CREDSSHOW</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872260">7.2.2 Existing Registry Entries</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872261">7.2.3 Replacing Configuration Files</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc4 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872262">7.2.3.1 Components for Configuration Files</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872263">7.2.4 Adding Domain Specific Registry Keys</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872264">7.2.5 Adding Site Specific Freelance Registry
! Keys</a></span></span><span style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872265">7.3 Additional Resources</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872266">7.4. Upgrades</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc1 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872267">Appendix A: Registry Values</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872268">A.1. Service parameters</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872269">Regkey:
! [HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters]</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872270">Value: LANadapter</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872271">Value: CacheSize</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872272">Value: ChunkSize</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872273">Value: Daemons</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872274">Value: ServerThreads</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872275">Value: Stats</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872276">Value: LogoffPreserveTokens</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872277">Value: RootVolume</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872278">Value: Mountroot</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872279">Value: CachePath</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872280">Value: NonPersistentCaching</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872281">Value: ValidateCache</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872282">Value: TrapOnPanic</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872283">Value: NetbiosName</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872284">Value: IsGateway</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872285">Value: ReportSessionStartups</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872286">Value: TraceBufferSize</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872287">Value: SysName</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872288">Value: SecurityLevel</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872289">Value: UseDNS</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872290">Value: FreelanceClient</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872291">Value: HideDotFiles</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872292">Value: MaxMpxRequests</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872293">Value: MaxVCPerServer</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872294">Value: Cell</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872295">Value: RxNoJumbo</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872296">Value: RxMaxMTU</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872297">Value: ConnDeadTimeout</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872298">Value: HardDeadTimeout</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872299">Value: TraceOption</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872300">Value: AllSubmount</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872301">Value: NoFindLanaByName</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872302">Value: MaxCPUs</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872303">Value: smbAuthType</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872304">Value: MaxLogSize</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872305">Value: FlushOnHibernate</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872306">Regkey: [HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters\GlobalAutoMapper]</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872307">Value: &lt;Drive Letter:&gt; for example
! &quot;G:&quot;</a></span></span><span style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872308">Regkey: [HKLM\SOFTWARE\OpenAFS\Client]</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872309">Value: CellServDBDir</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872310">Value: VerifyServiceSignature</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872311">Value: IoctlDebug</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872312">Value: MiniDumpType</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872313">Value: StoreAnsiFilenames</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872314">Regkey:
! [HKLM\SOFTWARE\OpenAFS\Client\CSCPolicy]</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872315">Value: &quot;smb/cifs share name&quot;</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872316">Regkey:
! [HKLM\SOFTWARE\OpenAFS\Client\Freelance]</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872317">Value: &quot;numeric value&quot;</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872318">Regkey:
! [HKLM\SOFTWARE\OpenAFS\Client\Freelance\Symlinks</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872319">Value: &quot;numeric value&quot;</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872320">Regkey:
! [HKLM\SOFTWARE\OpenAFS\Client\Submounts]</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872321">Value: &quot;submount name&quot;</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872322">Regkey: [HKLM\SOFTWARE\OpenAFS\Client\Server
! Preferences\VLDB]</a></span></span><span style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872323">Value: &quot;hostname or ip address&quot;</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872324">Regkey: [HKLM\SOFTWARE\OpenAFS\Client\Server
! Preferences\File]</a></span></span><span style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872325">Value: &quot;hostname or ip address&quot;</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872326">A.2. Integrated Logon Network provider
! parameters</a></span></span><span style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872327">Regkey: [HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters]</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872328">Value: FailLoginsSilently</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872329">Regkey:
! [HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider]</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872330">Value: NoWarnings</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872331">Value: AuthentProviderPath</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872332">Value: Class</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872333">Value: DependOnGroup</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872334">Value: DependOnService</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872335">Value: Name</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872336">Value: ProviderPath</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872337">A.2.1 Domain specific configuration keys for
! the Network Provider</a></span></span><span style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872338">[HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider]</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872339">[HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider\Domain]</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872340">[HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider\Domain&quot;domain
! name&quot;]</a></span></span><span style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872341">[HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider\Domain\LOCALHOST]</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872342">Example:</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872343">A.2.1.1 Domain specific configuration values</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc4 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872344">[HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider]
  [HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider\Domain]
  [HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider\Domain&quot;domain
  name&quot;]
! [HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider\Domain\LOCALHOST]</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
  
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872345">Value: LogonOptions</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872346">Value: FailLoginsSilentl</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872347">Value: LogonScript</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872348">Value: LoginRetryInterval</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872349">Value: LoginSleepInterval</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872350">Value: TheseCells</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872351">A.2.1.2<span style='mso-spacerun:yes'> 
! </span>Selection of effective values for domain specific configuration</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872352">A.2.1.3 Exceptions to A.2.1.2</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc4 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872353">2.1.3.1 'FailLoginsSilently'</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc4 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872354">2.1.3.2 'LogonScript'</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872355">A.3. AFS Credentials System Tray Tool
! parameters</a></span></span><span style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872356">Regkey:
! [HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters]</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872357">Value: Gateway</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872358">Value: Cell</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872359">Regkey: [HKLM\SOFTWARE\OpenAFS\Client]
! [HKCU\SOFTWARE\OpenAFS\Client]</a></span></span><span style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872360">Value: ShowTrayIcon</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872361">Value: EnableKFW</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872362">Value: Use524</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872363">Value: AfscredsShortcutParams</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872364">Regkey: [HKCU\SOFTWARE\OpenAFS\Client]</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872365">Value: Authentication Cell</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872366">Regkey:
! [HKCU\SOFTWARE\OpenAFS\Client\Reminders]</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872367">Value: &quot;afs cell name&quot;</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872368">Regkey: [HKCU\SOFTWARE\OpenAFS\Client\Active
! Maps]</a></span></span><span style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872369">Value: &quot;upper case drive letter&quot;</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872370">Regkey:
! [HKCU\SOFTWARE\OpenAFS\Client\Mappings]</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872371">Value: &quot;upper case drive letter&quot;</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872372">A.4 OpenAFS Client Service Environment
! Variables</a></span></span><span style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872373">Variable: AFS_RPC_ENCRYPT</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
! 
! <p class=MsoToc5 style='tab-stops:right dotted 431.5pt'><span
! class=MsoHyperlink><span style='mso-no-proof:yes'><a
! href="relnotes.htm#_Toc126872374">Variable: AFS_RPC_PROTSEQ</a></span></span><span
! style='mso-no-proof:yes'><o:p></o:p></span></p>
  
! <p class=MsoNormal><!--[if supportFields]><span style='mso-element:field-end'></span><![endif]--><o:p>&nbsp;</o:p></p>
  
! <p class=MsoNormal><o:p>&nbsp;</o:p></p>
  
  </div>
  
--- 1,788 ----
! <html>
  
  <head>
  <meta http-equiv=Content-Type content="text/html; charset=windows-1252">
! <meta name=Generator content="Microsoft Word 11 (filtered)">
! <base target=Main>
  <style>
  <!--
   /* Font Definitions */
   @font-face
  	{font-family:"MS Mincho";
! 	panose-1:2 2 6 9 4 2 5 8 3 4;}
  @font-face
  	{font-family:"\@MS Mincho";
! 	panose-1:2 2 6 9 4 2 5 8 3 4;}
   /* Style Definitions */
   p.MsoNormal, li.MsoNormal, div.MsoNormal
! 	{margin:0pt;
  	margin-bottom:.0001pt;
  	font-size:12.0pt;
! 	font-family:"Times New Roman";}
  p.MsoToc1, li.MsoToc1, div.MsoToc1
! 	{margin:0pt;
  	margin-bottom:.0001pt;
  	font-size:12.0pt;
! 	font-family:"Times New Roman";}
  p.MsoToc2, li.MsoToc2, div.MsoToc2
! 	{margin-top:0pt;
  	margin-right:0pt;
  	margin-bottom:0pt;
  	margin-left:12.0pt;
  	margin-bottom:.0001pt;
  	font-size:12.0pt;
! 	font-family:"Times New Roman";}
  p.MsoToc3, li.MsoToc3, div.MsoToc3
! 	{margin-top:0pt;
  	margin-right:0pt;
  	margin-bottom:0pt;
  	margin-left:24.0pt;
  	margin-bottom:.0001pt;
  	font-size:12.0pt;
! 	font-family:"Times New Roman";}
  p.MsoToc4, li.MsoToc4, div.MsoToc4
! 	{margin-top:0pt;
  	margin-right:0pt;
  	margin-bottom:0pt;
  	margin-left:36.0pt;
  	margin-bottom:.0001pt;
  	font-size:12.0pt;
! 	font-family:"Times New Roman";}
  p.MsoToc5, li.MsoToc5, div.MsoToc5
! 	{margin-top:0pt;
  	margin-right:0pt;
  	margin-bottom:0pt;
  	margin-left:48.0pt;
  	margin-bottom:.0001pt;
  	font-size:12.0pt;
! 	font-family:"Times New Roman";}
  p.MsoToc6, li.MsoToc6, div.MsoToc6
! 	{margin-top:0pt;
  	margin-right:0pt;
  	margin-bottom:0pt;
  	margin-left:60.0pt;
  	margin-bottom:.0001pt;
  	font-size:12.0pt;
! 	font-family:"Times New Roman";}
  a:link, span.MsoHyperlink
  	{color:blue;
! 	text-decoration:underline;}
  a:visited, span.MsoHyperlinkFollowed
  	{color:purple;
! 	text-decoration:underline;}
  @page Section1
  	{size:612.0pt 792.0pt;
! 	margin:72.0pt 90.0pt 72.0pt 90.0pt;}
  div.Section1
  	{page:Section1;}
  -->
  </style>
! 
  </head>
  
! <body lang=EN-US link=blue vlink=purple>
  
  <div class=Section1>
  
! <p class=MsoNormal></p>
! 
! <p class=MsoToc1><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139980939">1. Installer Options</a></span></p>
! 
! <p class=MsoToc1><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139980940">2. System Requirements</a></span></p>
! 
! <p class=MsoToc2><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139980941">2.1 Supported Operating Systems</a></span></p>
! 
! <p class=MsoToc3><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139980942">2.1.1 Unsupported Operating Systems</a></span></p>
! 
! <p class=MsoToc2><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139980943">2.2 Disk Space</a></span></p>
! 
! <p class=MsoToc2><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139980944">2.3 Additional Software Packages</a></span></p>
! 
! <p class=MsoToc1><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139980945">3. Operational Notes</a></span></p>
! 
! <p class=MsoToc2><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139980946">3.1. Requirements for Kerberos 5
! Authentication</a></span></p>
! 
! <p class=MsoToc3><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139980947">3.1.1. Active Directory</a></span></p>
! 
! <p class=MsoToc3><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139980948">3.1.2. Using the krb524 service</a></span></p>
! 
! <p class=MsoToc2><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139980949">3.2. Use of the Microsoft Loopback Adapter</a></span></p>
! 
! <p class=MsoToc2><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139980950">3.3. Using Freelance (Dynamic Root) Mode
! to Improve Mobility</a></span></p>
! 
! <p class=MsoToc2><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139980951">3.4. Locating AFS Volume Database Servers</a></span></p>
! 
! <p class=MsoToc2><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139980952">3.5. Obtaining AFS Tokens as a Part of
! Windows Logon</a></span></p>
! 
! <p class=MsoToc2><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139980953">3.6. AFS System Tray Command Line Options</a></span></p>
! 
! <p class=MsoToc2><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139980954">3.7. The “AFS Client Admins” Authorization
! Group</a></span></p>
! 
! <p class=MsoToc2><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139980955">3.8. OpenAFS support for UNC paths</a></span></p>
! 
! <p class=MsoToc2><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139980956">3.9. OpenAFS includes aklog.exe</a></span></p>
! 
! <p class=MsoToc2><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139980957">3.10. OpenAFS Servers on Windows are
! Unsupported</a></span></p>
! 
! <p class=MsoToc2><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139980958">3.11. OpenAFS Debugging Symbol files</a></span></p>
! 
! <p class=MsoToc2><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139980959">3.12. Maximum File Size is 2GB</a></span></p>
! 
! <p class=MsoToc2><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139980960">3.13. Encrypted AFS File Access</a></span></p>
! 
! <p class=MsoToc2><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139980961">3.14. Authenticated Access to the OpenAFS
! Client Service</a></span></p>
! 
! <p class=MsoToc2><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139980962">3.15. No More INI Files</a></span></p>
! 
! <p class=MsoToc2><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139980963">3.16. Microsoft Windows Internet
! Connection Firewall</a></span></p>
! 
! <p class=MsoToc2><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139980964">3.17. Browsing AFS from the Explorer Shell
! and Office</a></span></p>
! 
! <p class=MsoToc2><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139980965">3.18. Byte Range Locking</a></span></p>
! 
! <p class=MsoToc2><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139980966">3.19. Automatic Discarding of AFS Tokens
! at Logoff</a></span></p>
! 
! <p class=MsoToc2><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139980967">3.20. Terminal Server installations</a></span></p>
! 
! <p class=MsoToc2><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139980968">3.21. Hidden Dot Files</a></span></p>
! 
! <p class=MsoToc2><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139980969">3.22. Status Cache Limits</a></span></p>
! 
! <p class=MsoToc2><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139980970">3.23. NETBIOS over TCP/IP must be enabled</a></span></p>
! 
! <p class=MsoToc2><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139980971">3.24. OpenAFS binaries are digitally
! signed</a></span></p>
! 
! <p class=MsoToc2><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139980972">3.25. Maximum Size of the AFSCache File</a></span></p>
! 
! <p class=MsoToc2><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139980973">3.26. Filename Character Sets</a></span></p>
! 
! <p class=MsoToc2><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139980974">3.27. Known Character Set Issues with
! Roaming Profiles</a></span></p>
! 
! <p class=MsoToc2><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139980975">3.28. The AFSCache File</a></span></p>
! 
! <p class=MsoToc2><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139980976">3.29. Restricting OpenAFS Client Service
! Start and Stop</a></span></p>
! 
! <p class=MsoToc2><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139980977">3.30. The @sys Name List</a></span></p>
! 
! <p class=MsoToc2><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139980978">3.31. Symlinks to AFS UNC paths</a></span></p>
! 
! <p class=MsoToc2><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139980979">3.32. Cache Manager Debugging Now
! Supported</a></span></p>
! 
! <p class=MsoToc2><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139980980">3.33. Windows Logon Caching vs. Kerberos
! Logons</a></span></p>
! 
! <p class=MsoToc2><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139980981">3.34. Initial Server Preferences</a></span></p>
! 
! <p class=MsoToc2><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139980982">3.35. File Timestamps</a></span></p>
! 
! <p class=MsoToc2><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139980983">3.36. Windows RPC client support must be
! installed</a></span></p>
! 
! <p class=MsoToc2><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139980984">3.37. Generating Minidumps of the OpenAFS
! Client Service</a></span></p>
! 
! <p class=MsoToc2><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139980985">3.38. AFS Client Universally Unique
! Identifiers</a></span></p>
! 
! <p class=MsoToc2><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139980986">3.39. Delayed Write Errors with Microsoft
! Office Applications</a></span></p>
! 
! <p class=MsoToc2><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139980987">3.40. Global Drives (aka Service Drive
! Letters) are no longer supported by Microsoft</a></span></p>
! 
! <p class=MsoToc1><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139980988">4. How to Debug Problems with OpenAFS for
! Windows:</a></span></p>
! 
! <p class=MsoToc2><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139980989">4.1. pioctl debugging (IoctlDebug registry
! key)</a></span></p>
! 
! <p class=MsoToc2><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139980990">4.2. afsd_service initialization log
! (%WinDir%\TEMP\afsd_init.log)</a></span></p>
! 
! <p class=MsoToc2><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139980991">4.3. afsd_service debug logs (fs trace
! {-on, -off, -dump} -&gt;%WinDir%\TEMP\afsd.log)</a></span></p>
! 
! <p class=MsoToc2><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139980992">4.4. Using SysInternal’s DbgView and
! FileMon Tools</a></span></p>
! 
! <p class=MsoToc2><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139980993">4.5. Microsoft MiniDumps  (fs minidump
! -&gt; %WinDir%\TEMP\afsd.dmp)</a></span></p>
! 
! <p class=MsoToc2><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139980994">4.6. Single Sign-on (Integrated Logon)
! debugging</a></span></p>
! 
! <p class=MsoToc2><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139980995">4.7. RX (AFS RPC) debugging (rxdebug)</a></span></p>
! 
! <p class=MsoToc2><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139980996">4.8. Cache Manager debugging (cmdebug)</a></span></p>
! 
! <p class=MsoToc2><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139980997">4.9. Persistent Cache consistency check</a></span></p>
! 
! <p class=MsoToc1><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139980998">5. Reporting Bugs:</a></span></p>
! 
! <p class=MsoToc1><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139980999">6. How to Contribute to the Development of
! OpenAFS for Windows</a></span></p>
! 
! <p class=MsoToc2><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139981000">6.1. The USENIX OpenAFS Fund</a></span></p>
! 
! <p class=MsoToc2><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139981001">6.2. Secure Endpoints Inc.</a></span></p>
! 
! <p class=MsoToc2><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139981002">6.3. The MIT Kerberos Account</a></span></p>
! 
! <p class=MsoToc2><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139981003">6.4. Direct contributions of code and/or
! documentation</a></span></p>
! 
! <p class=MsoToc2><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139981004">6.5. OpenAFS for Windows Mailing Lists</a></span></p>
! 
! <p class=MsoToc1><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139981005">7. MSI Deployment Guide</a></span></p>
! 
! <p class=MsoToc2><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139981006">7.1. Introduction</a></span></p>
! 
! <p class=MsoToc3><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139981007">7.1.1 Requirements</a></span></p>
! 
! <p class=MsoToc3><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139981008">7.1.2 Authoring a Transform</a></span></p>
! 
! <p class=MsoToc2><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139981009">7.2. Configuration Options</a></span></p>
! 
! <p class=MsoToc3><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139981010">7.2.1 Configurable Properties</a></span></p>
! 
! <p class=MsoToc4><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139981011">7.2.1.1 Setting Properties</a></span></p>
! 
! <p class=MsoToc4><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139981012">7.2.1.2 OpenAFS for Windows Properties</a></span></p>
! 
! <p class=MsoToc5><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139981013">(Service parameters):</a></span></p>
! 
! <p class=MsoToc5><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139981014">(Network provider):</a></span></p>
! 
! <p class=MsoToc5><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139981015">(OpenAFS Client):</a></span></p>
! 
! <p class=MsoToc5><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139981016">7.2.1.2.1 Registry Properties</a></span></p>
! 
! <p class=MsoToc6><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139981017">AFSCACHEPATH</a></span></p>
! 
! <p class=MsoToc6><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139981018">AFSCACHESIZE</a></span></p>
! 
! <p class=MsoToc6><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139981019">AFSCELLNAME</a></span></p>
! 
! <p class=MsoToc6><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139981020">FREELANCEMODE</a></span></p>
! 
! <p class=MsoToc6><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139981021">HIDEDOTFILES</a></span></p>
! 
! <p class=MsoToc6><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139981022">LOGONOPTIONS</a></span></p>
! 
! <p class=MsoToc6><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139981023">MOUNTROOT</a></span></p>
! 
! <p class=MsoToc6><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139981024">NETBIOSNAME</a></span></p>
! 
! <p class=MsoToc6><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139981025">NOFINDLANABYNAME</a></span></p>
! 
! <p class=MsoToc6><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139981026">RXMAXMTU</a></span></p>
! 
! <p class=MsoToc6><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139981027">SECURITYLEVEL</a></span></p>
! 
! <p class=MsoToc6><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139981028">SMBAUTHTYPE</a></span></p>
! 
! <p class=MsoToc6><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139981029">STOREANSIFILENAMES</a></span></p>
! 
! <p class=MsoToc6><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139981030">USEDNS</a></span></p>
! 
! <p class=MsoToc5><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139981031">7.2.1.2.2 AFSCreds.exe Properties</a></span></p>
! 
! <p class=MsoToc6><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139981032">CREDSSTARTUP</a></span></p>
! 
! <p class=MsoToc6><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139981033">CREDSAUTOINIT</a></span></p>
! 
! <p class=MsoToc6><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139981034">CREDSIPCHDET</a></span></p>
! 
! <p class=MsoToc6><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139981035">CREDSQUIET</a></span></p>
! 
! <p class=MsoToc6><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139981036">CREDSRENEWDRMAP</a></span></p>
! 
! <p class=MsoToc6><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139981037">CREDSSHOW</a></span></p>
! 
! <p class=MsoToc3><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139981038">7.2.2 Existing Registry Entries</a></span></p>
! 
! <p class=MsoToc3><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139981039">7.2.3 Replacing Configuration Files</a></span></p>
! 
! <p class=MsoToc4><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139981040">7.2.3.1 Components for Configuration Files</a></span></p>
! 
! <p class=MsoToc3><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139981041">7.2.4 Adding Domain Specific Registry Keys</a></span></p>
! 
! <p class=MsoToc3><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139981042">7.2.5 Adding Site Specific Freelance
! Registry Keys</a></span></p>
! 
! <p class=MsoToc2><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139981043">7.3 Additional Resources</a></span></p>
! 
! <p class=MsoToc2><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139981044">7.4. Upgrades</a></span></p>
! 
! <p class=MsoToc1><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139981045">Appendix A: Registry Values</a></span></p>
! 
! <p class=MsoToc2><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139981046">A.1. Service parameters</a></span></p>
! 
! <p class=MsoToc3><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139981047">Regkey:
! [HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters]</a></span></p>
! 
! <p class=MsoToc5><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139981048">Value: LANadapter</a></span></p>
! 
! <p class=MsoToc5><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139981049">Value: CacheSize</a></span></p>
! 
! <p class=MsoToc5><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139981050">Value: ChunkSize</a></span></p>
! 
! <p class=MsoToc5><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139981051">Value: Daemons</a></span></p>
! 
! <p class=MsoToc5><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139981052">Value: ServerThreads</a></span></p>
! 
! <p class=MsoToc5><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139981053">Value: Stats</a></span></p>
! 
! <p class=MsoToc5><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139981054">Value: LogoffPreserveTokens</a></span></p>
! 
! <p class=MsoToc5><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139981055">Value: RootVolume</a></span></p>
! 
! <p class=MsoToc5><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139981056">Value: Mountroot</a></span></p>
! 
! <p class=MsoToc5><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139981057">Value: CachePath</a></span></p>
! 
! <p class=MsoToc5><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139981058">Value: NonPersistentCaching</a></span></p>
! 
! <p class=MsoToc5><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139981059">Value: ValidateCache</a></span></p>
! 
! <p class=MsoToc5><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139981060">Value: TrapOnPanic</a></span></p>
! 
! <p class=MsoToc5><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139981061">Value: NetbiosName</a></span></p>
! 
! <p class=MsoToc5><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139981062">Value: IsGateway</a></span></p>
! 
! <p class=MsoToc5><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139981063">Value: ReportSessionStartups</a></span></p>
! 
! <p class=MsoToc5><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139981064">Value: TraceBufferSize</a></span></p>
! 
! <p class=MsoToc5><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139981065">Value: SysName</a></span></p>
! 
! <p class=MsoToc5><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139981066">Value: SecurityLevel</a></span></p>
! 
! <p class=MsoToc5><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139981067">Value: UseDNS</a></span></p>
! 
! <p class=MsoToc5><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139981068">Value: FreelanceClient</a></span></p>
! 
! <p class=MsoToc5><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139981069">Value: HideDotFiles</a></span></p>
! 
! <p class=MsoToc5><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139981070">Value: MaxMpxRequests</a></span></p>
! 
! <p class=MsoToc5><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139981071">Value: MaxVCPerServer</a></span></p>
! 
! <p class=MsoToc5><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139981072">Value: Cell</a></span></p>
! 
! <p class=MsoToc5><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139981073">Value: RxNoJumbo</a></span></p>
! 
! <p class=MsoToc5><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139981074">Value: RxMaxMTU</a></span></p>
! 
! <p class=MsoToc5><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139981075">Value: ConnDeadTimeout</a></span></p>
! 
! <p class=MsoToc5><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139981076">Value: HardDeadTimeout</a></span></p>
! 
! <p class=MsoToc5><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139981077">Value: TraceOption</a></span></p>
! 
! <p class=MsoToc5><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139981078">Value: AllSubmount</a></span></p>
! 
! <p class=MsoToc5><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139981079">Value: NoFindLanaByName</a></span></p>
! 
! <p class=MsoToc5><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139981080">Value: MaxCPUs</a></span></p>
! 
! <p class=MsoToc5><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139981081">Value: smbAuthType</a></span></p>
! 
! <p class=MsoToc5><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139981082">Value: MaxLogSize</a></span></p>
! 
! <p class=MsoToc5><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139981083">Value: FlushOnHibernate</a></span></p>
! 
! <p class=MsoToc3><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139981084">Regkey: [HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters\GlobalAutoMapper]</a></span></p>
! 
! <p class=MsoToc5><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139981085">Value: &lt;Drive Letter:&gt; for example
! &quot;G:&quot;</a></span></p>
! 
! <p class=MsoToc3><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139981086">Regkey: [HKLM\SOFTWARE\OpenAFS\Client]</a></span></p>
! 
! <p class=MsoToc5><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139981087">Value: CellServDBDir</a></span></p>
! 
! <p class=MsoToc5><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139981088">Value: VerifyServiceSignature</a></span></p>
! 
! <p class=MsoToc5><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139981089">Value: IoctlDebug</a></span></p>
! 
! <p class=MsoToc5><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139981090">Value: MiniDumpType</a></span></p>
! 
! <p class=MsoToc5><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139981091">Value: StoreAnsiFilenames</a></span></p>
! 
! <p class=MsoToc3><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139981092">Regkey:
! [HKLM\SOFTWARE\OpenAFS\Client\CSCPolicy]</a></span></p>
! 
! <p class=MsoToc5><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139981093">Value: &quot;smb/cifs share name&quot;</a></span></p>
! 
! <p class=MsoToc3><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139981094">Regkey:
! [HKLM\SOFTWARE\OpenAFS\Client\Freelance]</a></span></p>
! 
! <p class=MsoToc5><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139981095">Value: &quot;numeric value&quot;</a></span></p>
! 
! <p class=MsoToc3><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139981096">Regkey:
! [HKLM\SOFTWARE\OpenAFS\Client\Freelance\Symlinks]</a></span></p>
! 
! <p class=MsoToc5><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139981097">Value: &quot;numeric value&quot;</a></span></p>
! 
! <p class=MsoToc3><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139981098">Regkey:
! [HKLM\SOFTWARE\OpenAFS\Client\Submounts]</a></span></p>
! 
! <p class=MsoToc5><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139981099">Value: &quot;submount name&quot;</a></span></p>
! 
! <p class=MsoToc3><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139981100">Regkey:
! [HKLM\SOFTWARE\OpenAFS\Client\Server Preferences\VLDB]</a></span></p>
! 
! <p class=MsoToc5><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139981101">Value: &quot;hostname or ip address&quot;</a></span></p>
! 
! <p class=MsoToc3><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139981102">Regkey:
! [HKLM\SOFTWARE\OpenAFS\Client\Server Preferences\File]</a></span></p>
! 
! <p class=MsoToc5><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139981103">Value: &quot;hostname or ip address&quot;</a></span></p>
! 
! <p class=MsoToc2><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139981104">A.2. Integrated Logon Network provider
! parameters</a></span></p>
! 
! <p class=MsoToc3><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139981105">Regkey:
! [HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters]</a></span></p>
! 
! <p class=MsoToc5><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139981106">Value: FailLoginsSilently</a></span></p>
! 
! <p class=MsoToc3><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139981107">Regkey:
! [HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider]</a></span></p>
! 
! <p class=MsoToc5><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139981108">Value: NoWarnings</a></span></p>
! 
! <p class=MsoToc5><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139981109">Value: AuthentProviderPath</a></span></p>
! 
! <p class=MsoToc5><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139981110">Value: Class</a></span></p>
! 
! <p class=MsoToc5><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139981111">Value: DependOnGroup</a></span></p>
! 
! <p class=MsoToc5><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139981112">Value: DependOnService</a></span></p>
! 
! <p class=MsoToc5><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139981113">Value: Name</a></span></p>
! 
! <p class=MsoToc5><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139981114">Value: ProviderPath</a></span></p>
! 
! <p class=MsoToc2><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139981115">A.2.1 Domain specific configuration keys
! for the Network Provider</a></span></p>
! 
! <p class=MsoToc3><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139981116">[HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider]</a></span></p>
! 
! <p class=MsoToc3><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139981117">[HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider\Domain]</a></span></p>
! 
! <p class=MsoToc3><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139981118">[HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider\Domain&quot;domain
! name&quot;]</a></span></p>
! 
! <p class=MsoToc3><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139981119">[HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider\Domain\LOCALHOST]</a></span></p>
! 
! <p class=MsoToc3><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139981120">Example:</a></span></p>
! 
! <p class=MsoToc3><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139981121">A.2.1.1 Domain specific configuration
! values</a></span></p>
! 
! <p class=MsoToc4><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139981122">[HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider]
  [HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider\Domain]
  [HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider\Domain&quot;domain
  name&quot;]
! [HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider\Domain\LOCALHOST]</a></span></p>
! 
! <p class=MsoToc5><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139981123">Value: LogonOptions</a></span></p>
! 
! <p class=MsoToc5><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139981124">Value: FailLoginsSilentl</a></span></p>
! 
! <p class=MsoToc5><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139981125">Value: LogonScript</a></span></p>
! 
! <p class=MsoToc5><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139981126">Value: LoginRetryInterval</a></span></p>
! 
! <p class=MsoToc5><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139981127">Value: LoginSleepInterval</a></span></p>
! 
! <p class=MsoToc5><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139981128">Value: TheseCells</a></span></p>
! 
! <p class=MsoToc3><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139981129">A.2.1.2  Selection of effective values for
! domain specific configuration</a></span></p>
! 
! <p class=MsoToc3><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139981130">A.2.1.3 Exceptions to A.2.1.2</a></span></p>
! 
! <p class=MsoToc4><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139981131">2.1.3.1 'FailLoginsSilently'</a></span></p>
! 
! <p class=MsoToc4><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139981132">2.1.3.2 'LogonScript'</a></span></p>
! 
! <p class=MsoToc2><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139981133">A.3. AFS Credentials System Tray Tool
! parameters</a></span></p>
! 
! <p class=MsoToc3><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139981134">Regkey:
! [HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters]</a></span></p>
! 
! <p class=MsoToc5><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139981135">Value: Gateway</a></span></p>
! 
! <p class=MsoToc5><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139981136">Value: Cell</a></span></p>
! 
! <p class=MsoToc3><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139981137">Regkey: [HKLM\SOFTWARE\OpenAFS\Client]
! [HKCU\SOFTWARE\OpenAFS\Client]</a></span></p>
! 
! <p class=MsoToc5><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139981138">Value: ShowTrayIcon</a></span></p>
! 
! <p class=MsoToc5><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139981139">Value: EnableKFW</a></span></p>
! 
! <p class=MsoToc5><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139981140">Value: Use524</a></span></p>
! 
! <p class=MsoToc5><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139981141">Value: AfscredsShortcutParams</a></span></p>
! 
! <p class=MsoToc3><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139981142">Regkey: [HKCU\SOFTWARE\OpenAFS\Client]</a></span></p>
! 
! <p class=MsoToc5><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139981143">Value: Authentication Cell</a></span></p>
! 
! <p class=MsoToc3><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139981144">Regkey: [HKCU\SOFTWARE\OpenAFS\Client\Reminders]</a></span></p>
! 
! <p class=MsoToc5><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139981145">Value: &quot;afs cell name&quot;</a></span></p>
! 
! <p class=MsoToc3><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139981146">Regkey: [HKCU\SOFTWARE\OpenAFS\Client\Active
! Maps]</a></span></p>
! 
! <p class=MsoToc5><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139981147">Value: &quot;upper case drive letter&quot;</a></span></p>
! 
! <p class=MsoToc3><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139981148">Regkey:
! [HKCU\SOFTWARE\OpenAFS\Client\Mappings]</a></span></p>
! 
! <p class=MsoToc5><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139981149">Value: &quot;upper case drive letter&quot;</a></span></p>
! 
! <p class=MsoToc2><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139981150">A.4 OpenAFS Client Service Environment
! Variables</a></span></p>
  
! <p class=MsoToc5><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139981151">Variable: AFS_RPC_ENCRYPT</a></span></p>
  
! <p class=MsoToc5><span class=MsoHyperlink><a
! href="../relnotes.htm#_Toc139981152">Variable: AFS_RPC_PROTSEQ</a></span></p>
  
! <p class=MsoNormal>&nbsp;</p>
  
  </div>
  
Index: openafs/src/WINNT/doc/install/Documentation/en_US/html/ReleaseNotes/logo_files/filelist.xml
diff -c openafs/src/WINNT/doc/install/Documentation/en_US/html/ReleaseNotes/logo_files/filelist.xml:1.1.2.2 openafs/src/WINNT/doc/install/Documentation/en_US/html/ReleaseNotes/logo_files/filelist.xml:removed
*** openafs/src/WINNT/doc/install/Documentation/en_US/html/ReleaseNotes/logo_files/filelist.xml:1.1.2.2	Sun Sep 25 21:07:06 2005
--- openafs/src/WINNT/doc/install/Documentation/en_US/html/ReleaseNotes/logo_files/filelist.xml	Thu Aug  3 00:50:58 2006
***************
*** 1,6 ****
- <xml xmlns:o="urn:schemas-microsoft-com:office:office">
-  <o:MainFile HRef="../logo.htm"/>
-  <o:File HRef="image001.jpg"/>
-  <o:File HRef="image002.jpg"/>
-  <o:File HRef="filelist.xml"/>
- </xml>
\ No newline at end of file
--- 0 ----
Index: openafs/src/WINNT/doc/install/Documentation/en_US/html/ReleaseNotes/logo_files/image002.jpg
Index: openafs/src/WINNT/doc/install/Documentation/en_US/html/ReleaseNotes/relnotes_files/filelist.xml
diff -c openafs/src/WINNT/doc/install/Documentation/en_US/html/ReleaseNotes/relnotes_files/filelist.xml:1.1.2.2 openafs/src/WINNT/doc/install/Documentation/en_US/html/ReleaseNotes/relnotes_files/filelist.xml:removed
*** openafs/src/WINNT/doc/install/Documentation/en_US/html/ReleaseNotes/relnotes_files/filelist.xml:1.1.2.2	Sun Sep 25 22:01:23 2005
--- openafs/src/WINNT/doc/install/Documentation/en_US/html/ReleaseNotes/relnotes_files/filelist.xml	Thu Aug  3 00:50:58 2006
***************
*** 1,6 ****
- <xml xmlns:o="urn:schemas-microsoft-com:office:office">
-  <o:MainFile HRef="../relnotes.htm"/>
-  <o:File HRef="preview.wmf"/>
-  <o:File HRef="header.htm"/>
-  <o:File HRef="filelist.xml"/>
- </xml>
\ No newline at end of file
--- 0 ----
Index: openafs/src/WINNT/doc/install/Documentation/en_US/html/ReleaseNotes/relnotes_files/header.htm
diff -c openafs/src/WINNT/doc/install/Documentation/en_US/html/ReleaseNotes/relnotes_files/header.htm:1.1.2.4 openafs/src/WINNT/doc/install/Documentation/en_US/html/ReleaseNotes/relnotes_files/header.htm:removed
*** openafs/src/WINNT/doc/install/Documentation/en_US/html/ReleaseNotes/relnotes_files/header.htm:1.1.2.4	Mon Jan  9 00:29:30 2006
--- openafs/src/WINNT/doc/install/Documentation/en_US/html/ReleaseNotes/relnotes_files/header.htm	Thu Aug  3 00:50:58 2006
***************
*** 1,84 ****
- <html xmlns:v="urn:schemas-microsoft-com:vml"
- xmlns:o="urn:schemas-microsoft-com:office:office"
- xmlns:w="urn:schemas-microsoft-com:office:word"
- xmlns:st2="urn:schemas-microsoft-com:office:smarttags"
- xmlns:st1="urn:schemas:contacts" xmlns="http://www.w3.org/TR/REC-html40">
- 
- <head>
- <meta http-equiv=Content-Type content="text/html; charset=windows-1252">
- <meta name=ProgId content=Word.Document>
- <meta name=Generator content="Microsoft Word 11">
- <meta name=Originator content="Microsoft Word 11">
- <link id=Main-File rel=Main-File href="../relnotes.htm">
- <o:SmartTagType namespaceuri="urn:schemas-microsoft-com:office:smarttags"
-  name="Street"/>
- <o:SmartTagType namespaceuri="urn:schemas-microsoft-com:office:smarttags"
-  name="PostalCode"/>
- <o:SmartTagType namespaceuri="urn:schemas-microsoft-com:office:smarttags"
-  name="State"/>
- <o:SmartTagType namespaceuri="urn:schemas-microsoft-com:office:smarttags"
-  name="City"/>
- <o:SmartTagType namespaceuri="urn:schemas-microsoft-com:office:smarttags"
-  name="address"/>
- <o:SmartTagType namespaceuri="urn:schemas-microsoft-com:office:smarttags"
-  name="country-region"/>
- <o:SmartTagType namespaceuri="urn:schemas-microsoft-com:office:smarttags"
-  name="place"/>
- <o:SmartTagType namespaceuri="urn:schemas-microsoft-com:office:smarttags"
-  name="PlaceName"/>
- <o:SmartTagType namespaceuri="urn:schemas-microsoft-com:office:smarttags"
-  name="PlaceType"/>
- <o:SmartTagType namespaceuri="urn:schemas:contacts" name="GivenName"/>
- </head>
- 
- <body lang=EN-US link=navy vlink=maroon>
- 
- <div style='mso-element:footnote-separator' id=fs>
- 
- <p class=MsoNormal><span style='mso-special-character:footnote-separator'><![if !supportFootnotes]>
- 
- <hr align=left size=1 width="33%">
- 
- <![endif]></span></p>
- 
- </div>
- 
- <div style='mso-element:footnote-continuation-separator' id=fcs>
- 
- <p class=MsoNormal><span style='mso-special-character:footnote-continuation-separator'><![if !supportFootnotes]>
- 
- <hr align=left size=1>
- 
- <![endif]></span></p>
- 
- </div>
- 
- <div style='mso-element:endnote-separator' id=es>
- 
- <p class=MsoNormal><span style='mso-special-character:footnote-separator'><![if !supportFootnotes]>
- 
- <hr align=left size=1 width="33%">
- 
- <![endif]></span></p>
- 
- </div>
- 
- <div style='mso-element:endnote-continuation-separator' id=ecs>
- 
- <p class=MsoNormal><span style='mso-special-character:footnote-continuation-separator'><![if !supportFootnotes]>
- 
- <hr align=left size=1>
- 
- <![endif]></span></p>
- 
- </div>
- 
- <div style='mso-element:header' id=h2>
- 
- <p class=MsoHeader>OpenAFS for Windows 1.4.0 Release Notes</p>
- 
- </div>
- 
- </body>
- 
- </html>
--- 0 ----
Index: openafs/src/WINNT/doc/install/Documentation/en_US/html/ReleaseNotes/relnotes_files/preview.wmf
Index: openafs/src/WINNT/install/wix/feature.wxi
diff -c openafs/src/WINNT/install/wix/feature.wxi:1.5.2.7 openafs/src/WINNT/install/wix/feature.wxi:1.5.2.8
*** openafs/src/WINNT/install/wix/feature.wxi:1.5.2.7	Sun Sep 25 21:20:21 2005
--- openafs/src/WINNT/install/wix/feature.wxi	Tue Jul 18 12:10:22 2006
***************
*** 8,14 ****
             <ComponentRef Id="efl_uninstall_EXE" />
  
             <ComponentRef Id="cmp_Release_Notes_en_US" />
-            <ComponentRef Id="cmp_relnotes_files_en_US"/>
             <ComponentRef Id="cmf_index2_HTM_en_US" />
             <ComponentRef Id="cmp_index_files_en_US" />
             <ComponentRef Id="cmp_logo_files_en_US" />
--- 8,13 ----
Index: openafs/src/WINNT/install/wix/files.wxi
diff -c openafs/src/WINNT/install/wix/files.wxi:1.9.2.10 openafs/src/WINNT/install/wix/files.wxi:1.9.2.11
*** openafs/src/WINNT/install/wix/files.wxi:1.9.2.10	Fri Jun 23 23:05:44 2006
--- openafs/src/WINNT/install/wix/files.wxi	Tue Jul 18 12:10:22 2006
***************
*** 742,764 ****
                                  <File Id="fileawrns005_HTM_$(var.Language)" Name="awrns~5.htm" LongName="awrns005.htm" DiskId="1" />
                                  <File Id="fileawrns006_HTM_$(var.Language)" Name="awrns~6.htm" LongName="awrns006.htm" DiskId="1" />
                                  <File Id="fileawrns007_HTM_$(var.Language)" Name="awrns~7.htm" LongName="awrns007.htm" DiskId="1" />
!                                 <File Id="fileframes_HTM_$(var.Language)" Name="frames.htm" LongName="frames.htm" DiskId="1" />
                                  <File Id="filelogo_HTM_$(var.Language)" Name="logo.htm" LongName="logo.htm" DiskId="1" />
                                  <File Id="filerelnotes_HTM_$(var.Language)" Name="relnotes.htm" LongName="relnotes.htm" DiskId="1" />
                                  <File Id="filetoc_HTM_$(var.Language)" Name="toc.htm" LongName="toc.htm" DiskId="1" />
                              </Component>
-                             <Directory Id="dirrelnotes_files_$(var.Language)" Name="relnotes" LongName="relnotes_files" src="$(var.SrcDir)\WINNT\doc\install\Documentation\$(var.Language)\html\ReleaseNotes\relnotes_files\">
-                                 <Component Id="cmp_relnotes_files_$(var.Language)" Guid="$(var.DocHtmlRelnotesFilesGuid)">
-                                     <File Id="filernfilelist_XML_$(var.Language)" Name="filelist.xml" LongName="filelist.xml" DiskId="1"/>
-                                     <File Id="filernheader_HTM_$(var.Language)" Name="header.htm" LongName="header.htm" DiskId="1"/>
-                                     <File Id="filernpreview_WMF_$(var.Language)" Name="preview.wmf" LongName="preview.wmf" DiskId="1"/>
-                                 </Component>
-                             </Directory> <!-- relnotes_files -->
                              <Directory Id="dirlogo_files_$(var.Language)" Name="logo" LongName="logo_files" src="$(var.SrcDir)\WINNT\doc\install\Documentation\$(var.Language)\html\ReleaseNotes\logo_files\">
                                  <Component Id="cmp_logo_files_$(var.Language)" Guid="$(var.DocHtmlLogoFilesGuid)">
-                                     <File Id="filelffilelist_XML_$(var.Language)" Name="filelist.xml" LongName="filelist.xml" DiskId="1"/>
                                      <File Id="filelfimage001_JPG_$(var.Language)" Name="image001.jpg" LongName="image001.jpg" DiskId="1"/>
-                                     <File Id="filelfimage002_JPG_$(var.Language)" Name="image002.jpg" LongName="image002.jpg" DiskId="1"/>
                                  </Component>
                              </Directory> <!-- logo_files -->
                          </Directory> <!-- Release Notes -->
--- 742,755 ----
                                  <File Id="fileawrns005_HTM_$(var.Language)" Name="awrns~5.htm" LongName="awrns005.htm" DiskId="1" />
                                  <File Id="fileawrns006_HTM_$(var.Language)" Name="awrns~6.htm" LongName="awrns006.htm" DiskId="1" />
                                  <File Id="fileawrns007_HTM_$(var.Language)" Name="awrns~7.htm" LongName="awrns007.htm" DiskId="1" />
!                                 <File Id="fileframes_HTM_$(var.Language)" Name="relnot~2.htm" LongName="relnotes-frames.htm" DiskId="1" />
                                  <File Id="filelogo_HTM_$(var.Language)" Name="logo.htm" LongName="logo.htm" DiskId="1" />
                                  <File Id="filerelnotes_HTM_$(var.Language)" Name="relnotes.htm" LongName="relnotes.htm" DiskId="1" />
                                  <File Id="filetoc_HTM_$(var.Language)" Name="toc.htm" LongName="toc.htm" DiskId="1" />
                              </Component>
                              <Directory Id="dirlogo_files_$(var.Language)" Name="logo" LongName="logo_files" src="$(var.SrcDir)\WINNT\doc\install\Documentation\$(var.Language)\html\ReleaseNotes\logo_files\">
                                  <Component Id="cmp_logo_files_$(var.Language)" Guid="$(var.DocHtmlLogoFilesGuid)">
                                      <File Id="filelfimage001_JPG_$(var.Language)" Name="image001.jpg" LongName="image001.jpg" DiskId="1"/>
                                  </Component>
                              </Directory> <!-- logo_files -->
                          </Directory> <!-- Release Notes -->
***************
*** 772,778 ****
                  </Component>
                  <Component Id="cpf_CellServDB" Guid="D5BA4C15-DBEC-4292-91FC-B54C30F24F2A">
  					<Registry Root="HKLM" Key="SOFTWARE\OpenAFS\Client" Name="CellServDBMoved" Type="integer" Value="1" Id="reg_OldCellDB" KeyPath="yes" />
!                     <CopyFile Id="copy_CellServDB" Delete="yes" DestinationDirectory="dirClient" DestinationName="CellServ|CellServDB" SourceDirectory="WindowsFolder" SourceName="afsdcell.ini" />
                      <Condition>OLDCELLSERVDB &lt;&gt; ""</Condition>
                  </Component>
                  <Directory Id="dirProgram" Name="Program" src="$(var.ClientDir)">
--- 763,769 ----
                  </Component>
                  <Component Id="cpf_CellServDB" Guid="D5BA4C15-DBEC-4292-91FC-B54C30F24F2A">
  					<Registry Root="HKLM" Key="SOFTWARE\OpenAFS\Client" Name="CellServDBMoved" Type="integer" Value="1" Id="reg_OldCellDB" KeyPath="yes" />
!                     <CopyFile Id="copy_CellServDB" Delete="yes" DestinationDirectory="dirClient" DestinationName="CelSrvDB" SourceDirectory="WindowsFolder" SourceName="afsdcell.ini" />
                      <Condition>OLDCELLSERVDB &lt;&gt; ""</Condition>
                  </Component>
                  <Directory Id="dirProgram" Name="Program" src="$(var.ClientDir)">
Index: openafs/src/WINNT/install/wix/property.wxi
diff -c openafs/src/WINNT/install/wix/property.wxi:1.6.2.2 openafs/src/WINNT/install/wix/property.wxi:1.6.2.3
*** openafs/src/WINNT/install/wix/property.wxi:1.6.2.2	Wed Dec  8 04:58:53 2004
--- openafs/src/WINNT/install/wix/property.wxi	Tue Jul 18 13:00:35 2006
***************
*** 45,119 ****
      <Property Id="InstallMode">Typical</Property>
  
      <Property Id="AFSCCPATCH">
!       <RegistrySearch Id="rl_AFSCC_patch" Root="HKLM" Key="Software\TransarcCorporation\AFS Control Center\CurrentVersion" Name="PatchLevel" Type="registry" />
      </Property>
      <Property Id="AFSCCMAJOR">
!       <RegistrySearch Id="rl_AFSCC_major" Root="HKLM" Key="Software\TransarcCorporation\AFS Control Center\CurrentVersion" Name="MajorVersion" Type="registry" />
      </Property>
      <Property Id="AFSCCMINOR">
!       <RegistrySearch Id="rl_AFSCC_minor" Root="HKLM" Key="Software\TransarcCorporation\AFS Control Center\CurrentVersion" Name="MinorVersion" Type="registry" />
      </Property>
      <Property Id="AFSCCPATH">
!       <RegistrySearch Id="rl_AFSCC_path" Root="HKLM" Key="Software\TransarcCorporation\AFS Control Center\CurrentVersion" Name="PathName" Type="registry" />
      </Property>
      
      <Property Id="AFSCLIENTPATCH">
!       <RegistrySearch Id="rl_AFSClient_patch" Root="HKLM" Key="Software\TransarcCorporation\AFS Client\CurrentVersion" Name="PatchLevel" Type="registry" />
      </Property>
      <Property Id="AFSCLIENTMAJOR">
!       <RegistrySearch Id="rl_AFSClient_major" Root="HKLM" Key="Software\TransarcCorporation\AFS Client\CurrentVersion" Name="MajorVersion" Type="registry" />
      </Property>
      <Property Id="AFSCLIENTMINOR">
!       <RegistrySearch Id="rl_AFSClient_minor" Root="HKLM" Key="Software\TransarcCorporation\AFS Client\CurrentVersion" Name="MinorVersion" Type="registry" />
      </Property>
      <Property Id="AFSCLIENTPATH">
!       <RegistrySearch Id="rl_AFSClient_path" Root="HKLM" Key="Software\TransarcCorporation\AFS Client\CurrentVersion" Name="PathName" Type="registry" />
      </Property>
  
      <Property Id="AFSDOCPATCH">
!       <RegistrySearch Id="rl_AFSDoc_patch" Root="HKLM" Key="Software\TransarcCorporation\AFS Supplemental Documentation\CurrentVersion" Name="PatchLevel" Type="registry" />
      </Property>
      <Property Id="AFSDOCMAJOR">
!       <RegistrySearch Id="rl_AFSDoc_major" Root="HKLM" Key="Software\TransarcCorporation\AFS Supplemental Documentation\CurrentVersion" Name="MajorVersion" Type="registry" />
      </Property>
      <Property Id="AFSDOCMINOR">
!       <RegistrySearch Id="rl_AFSDoc_minor" Root="HKLM" Key="Software\TransarcCorporation\AFS Supplemental Documentation\CurrentVersion" Name="MinorVersion" Type="registry" />
      </Property>
      <Property Id="AFSDOCPATH">
!       <RegistrySearch Id="rl_AFSDoc_path" Root="HKLM" Key="Software\TransarcCorporation\AFS Supplemental Documentation\CurrentVersion" Name="PathName" Type="registry" />
      </Property>
  
      <Property Id="AFSSERVERPATCH">
!       <RegistrySearch Id="rl_AFSServer_patch" Root="HKLM" Key="Software\TransarcCorporation\AFS Server\CurrentVersion" Name="PatchLevel" Type="registry" />
      </Property>
      <Property Id="AFSSERVERMAJOR">
!       <RegistrySearch Id="rl_AFSServer_major" Root="HKLM" Key="Software\TransarcCorporation\AFS Server\CurrentVersion" Name="MajorVersion" Type="registry" />
      </Property>
      <Property Id="AFSSERVERMINOR">
!       <RegistrySearch Id="rl_AFSServer_minor" Root="HKLM" Key="Software\TransarcCorporation\AFS Server\CurrentVersion" Name="MinorVersion" Type="registry" />
      </Property>
      <Property Id="AFSSERVERPATH">
!       <RegistrySearch Id="rl_AFSServer_path" Root="HKLM" Key="Software\TransarcCorporation\AFS Server\CurrentVersion" Name="PathName" Type="registry" />
      </Property>
      
      <Property Id="AFSSDKPATCH">
!       <RegistrySearch Id="rl_AFSSDK_patch" Root="HKLM" Key="Software\TransarcCorporation\AFS SDK\CurrentVersion" Name="PatchLevel" Type="registry" />
      </Property>
      <Property Id="AFSSDKMAJOR">
!       <RegistrySearch Id="rl_AFSSDK_major" Root="HKLM" Key="Software\TransarcCorporation\AFS SDK\CurrentVersion" Name="MajorVersion" Type="registry" />
      </Property>
      <Property Id="AFSSDKMINOR">
!       <RegistrySearch Id="rl_AFSSDK_minor" Root="HKLM" Key="Software\TransarcCorporation\AFS SDK\CurrentVersion" Name="MinorVersion" Type="registry" />
      </Property>
      <Property Id="AFSSDKPATH">
!       <RegistrySearch Id="rl_AFSSDK_path" Root="HKLM" Key="Software\TransarcCorporation\AFS SDK\CurrentVersion" Name="PathName" Type="registry" />
      </Property>
  
  	<Property Id="NSISVERSION">
! 	  <RegistrySearch Id="rl_NSIS_Ver" Root="HKLM" Key="Software\Microsoft\Windows\CurrentVersion\Uninstall\OpenAFS" Name="DisplayVersion" Type="registry" />
  	</Property>
      <Property Id="NSISUNINSTALL">
! 	  <RegistrySearch Id="rl_NSIS_Uninst" Root="HKLM" Key="Software\Microsoft\Windows\CurrentVersion\Uninstall\OpenAFS" Name="UninstallString" Type="registry" />
      </Property>
      
      <Property Id="ABORTREASON">$(loc.StrNsisAbortReason)</Property>
--- 45,119 ----
      <Property Id="InstallMode">Typical</Property>
  
      <Property Id="AFSCCPATCH">
!       <RegistrySearch Id="rl_AFSCC_patch" Root="HKLM" Key="Software\TransarcCorporation\AFS Control Center\CurrentVersion" Name="PatchLevel" Type="raw" />
      </Property>
      <Property Id="AFSCCMAJOR">
!       <RegistrySearch Id="rl_AFSCC_major" Root="HKLM" Key="Software\TransarcCorporation\AFS Control Center\CurrentVersion" Name="MajorVersion" Type="raw" />
      </Property>
      <Property Id="AFSCCMINOR">
!       <RegistrySearch Id="rl_AFSCC_minor" Root="HKLM" Key="Software\TransarcCorporation\AFS Control Center\CurrentVersion" Name="MinorVersion" Type="raw" />
      </Property>
      <Property Id="AFSCCPATH">
!       <RegistrySearch Id="rl_AFSCC_path" Root="HKLM" Key="Software\TransarcCorporation\AFS Control Center\CurrentVersion" Name="PathName" Type="directory" />
      </Property>
      
      <Property Id="AFSCLIENTPATCH">
!       <RegistrySearch Id="rl_AFSClient_patch" Root="HKLM" Key="Software\TransarcCorporation\AFS Client\CurrentVersion" Name="PatchLevel" Type="raw" />
      </Property>
      <Property Id="AFSCLIENTMAJOR">
!       <RegistrySearch Id="rl_AFSClient_major" Root="HKLM" Key="Software\TransarcCorporation\AFS Client\CurrentVersion" Name="MajorVersion" Type="raw" />
      </Property>
      <Property Id="AFSCLIENTMINOR">
!       <RegistrySearch Id="rl_AFSClient_minor" Root="HKLM" Key="Software\TransarcCorporation\AFS Client\CurrentVersion" Name="MinorVersion" Type="raw" />
      </Property>
      <Property Id="AFSCLIENTPATH">
!       <RegistrySearch Id="rl_AFSClient_path" Root="HKLM" Key="Software\TransarcCorporation\AFS Client\CurrentVersion" Name="PathName" Type="directory" />
      </Property>
  
      <Property Id="AFSDOCPATCH">
!       <RegistrySearch Id="rl_AFSDoc_patch" Root="HKLM" Key="Software\TransarcCorporation\AFS Supplemental Documentation\CurrentVersion" Name="PatchLevel" Type="raw" />
      </Property>
      <Property Id="AFSDOCMAJOR">
!       <RegistrySearch Id="rl_AFSDoc_major" Root="HKLM" Key="Software\TransarcCorporation\AFS Supplemental Documentation\CurrentVersion" Name="MajorVersion" Type="raw" />
      </Property>
      <Property Id="AFSDOCMINOR">
!       <RegistrySearch Id="rl_AFSDoc_minor" Root="HKLM" Key="Software\TransarcCorporation\AFS Supplemental Documentation\CurrentVersion" Name="MinorVersion" Type="raw" />
      </Property>
      <Property Id="AFSDOCPATH">
!       <RegistrySearch Id="rl_AFSDoc_path" Root="HKLM" Key="Software\TransarcCorporation\AFS Supplemental Documentation\CurrentVersion" Name="PathName" Type="directory" />
      </Property>
  
      <Property Id="AFSSERVERPATCH">
!       <RegistrySearch Id="rl_AFSServer_patch" Root="HKLM" Key="Software\TransarcCorporation\AFS Server\CurrentVersion" Name="PatchLevel" Type="raw" />
      </Property>
      <Property Id="AFSSERVERMAJOR">
!       <RegistrySearch Id="rl_AFSServer_major" Root="HKLM" Key="Software\TransarcCorporation\AFS Server\CurrentVersion" Name="MajorVersion" Type="raw" />
      </Property>
      <Property Id="AFSSERVERMINOR">
!       <RegistrySearch Id="rl_AFSServer_minor" Root="HKLM" Key="Software\TransarcCorporation\AFS Server\CurrentVersion" Name="MinorVersion" Type="raw" />
      </Property>
      <Property Id="AFSSERVERPATH">
!       <RegistrySearch Id="rl_AFSServer_path" Root="HKLM" Key="Software\TransarcCorporation\AFS Server\CurrentVersion" Name="PathName" Type="directory" />
      </Property>
      
      <Property Id="AFSSDKPATCH">
!       <RegistrySearch Id="rl_AFSSDK_patch" Root="HKLM" Key="Software\TransarcCorporation\AFS SDK\CurrentVersion" Name="PatchLevel" Type="raw" />
      </Property>
      <Property Id="AFSSDKMAJOR">
!       <RegistrySearch Id="rl_AFSSDK_major" Root="HKLM" Key="Software\TransarcCorporation\AFS SDK\CurrentVersion" Name="MajorVersion" Type="raw" />
      </Property>
      <Property Id="AFSSDKMINOR">
!       <RegistrySearch Id="rl_AFSSDK_minor" Root="HKLM" Key="Software\TransarcCorporation\AFS SDK\CurrentVersion" Name="MinorVersion" Type="raw" />
      </Property>
      <Property Id="AFSSDKPATH">
!       <RegistrySearch Id="rl_AFSSDK_path" Root="HKLM" Key="Software\TransarcCorporation\AFS SDK\CurrentVersion" Name="PathName" Type="directory" />
      </Property>
  
  	<Property Id="NSISVERSION">
! 	  <RegistrySearch Id="rl_NSIS_Ver" Root="HKLM" Key="Software\Microsoft\Windows\CurrentVersion\Uninstall\OpenAFS" Name="DisplayVersion" Type="raw" />
  	</Property>
      <Property Id="NSISUNINSTALL">
! 	  <RegistrySearch Id="rl_NSIS_Uninst" Root="HKLM" Key="Software\Microsoft\Windows\CurrentVersion\Uninstall\OpenAFS" Name="UninstallString" Type="file" />
      </Property>
      
      <Property Id="ABORTREASON">$(loc.StrNsisAbortReason)</Property>
Index: openafs/src/WINNT/install/wix/lang/de_DE/ActionText.wxi
diff -c openafs/src/WINNT/install/wix/lang/de_DE/ActionText.wxi:1.1 openafs/src/WINNT/install/wix/lang/de_DE/ActionText.wxi:1.1.2.1
*** openafs/src/WINNT/install/wix/lang/de_DE/ActionText.wxi:1.1	Mon Jun 21 01:21:49 2004
--- openafs/src/WINNT/install/wix/lang/de_DE/ActionText.wxi	Tue Jul 18 12:10:23 2006
***************
*** 1,64 ****
  <Include>
  
! <ProgressText Action="Advertise" Template="">Anwendungsprogramm wird angeboten</ProgressText>
  
  <ProgressText Action="AllocateRegistrySpace" Template="Freier Speicherplatz: [1]">In der Registrierung wird Speicherplatz reserviert</ProgressText>
  
  <ProgressText Action="AppSearch" Template="Eigenschaft: [1], Signatur: [2]">Installierte Anwendungsprogramme werden gesucht</ProgressText>
  
! <ProgressText Action="BindImage" Template="Datei: [1]">Ausführbare Dateien werden gebunden</ProgressText>
  
! <ProgressText Action="CCPSearch" Template="">Kompatible Produkte werden gesucht</ProgressText>
  
! <ProgressText Action="CostFinalize" Template="">Speicherbedarf wird berechnet</ProgressText>
  
! <ProgressText Action="CostInitialize" Template="">Speicherbedarf wird berechnet</ProgressText>
  
  <ProgressText Action="CreateFolders" Template="Ordner: [1]">Ordner werden erstellt</ProgressText>
  
! <ProgressText Action="CreateShortcuts" Template="Verknüpfung: [1]">Verknüpfungen werden erstellt</ProgressText>
  
! <ProgressText Action="DeleteServices" Template="Dienst: [1]">Dienste werden gelöscht</ProgressText>
  
! <ProgressText Action="DuplicateFiles" Template="Datei: [1], Ordner: [9], Größe: [6]">Dateien werden dupliziert</ProgressText>
  
! <ProgressText Action="FileCost" Template="">Speicherbedarf wird berechnet</ProgressText>
  
  <ProgressText Action="FindRelatedProducts" Template="Anwendung gefunden: [1]">Verwandte Anwendungen werden gesucht</ProgressText>
  
! <ProgressText Action="GenerateScript" Template="[1]">Skriptoperationen werden generiert für Aktion:</ProgressText>
  
! <ProgressText Action="InstallAdminPackage" Template="Datei: [1], Ordner: [9], Größe: [6]">Netzwerkinstallationsdateien werden kopiert</ProgressText>
  
! <ProgressText Action="InstallFiles" Template="Datei: [1], Ordner: [9], Größe: [6]">Neue Dateien werden kopiert</ProgressText>
  
! <ProgressText Action="InstallODBC" Template="">ODBC-Komponenten werden installiert</ProgressText>
  
  <ProgressText Action="InstallServices" Template="Dienst: [2]">Neue Dienste werden installiert</ProgressText>
  
! <ProgressText Action="InstallSFPCatalogFile" Template="Datei: [1],  Abhängigkeiten: [2]">Systemkatalog wird installiert</ProgressText>
  
! <ProgressText Action="InstallValidate" Template="">Die Installation wird überprüft</ProgressText>
  
! <ProgressText Action="LaunchConditions" Template="">Die Startbedingungen werden überprüft</ProgressText>
  
! <ProgressText Action="MigrateFeatureStates" Template="Anwendung: [1]">Funktionszustände verwandter Anwendungen werden migriert</ProgressText>
  
! <ProgressText Action="MoveFiles" Template="Datei: [1], Ordner: [9], Größe: [6]">Dateien werden verschoben</ProgressText>
  
! <ProgressText Action="MsiPublishAssemblies" Template="Anwendungskontext:[1], Assemblierungsname:[2]">Assemblierungsinformationen werden veröffentlicht</ProgressText>
  
! <ProgressText Action="MsiUnpublishAssemblies" Template="Anwendungskontext:[1], Assemblierungsname:[2]">Veröffentlichung der Assemblierungsinformationen wird aufgehoben</ProgressText>
  
! <ProgressText Action="PatchFiles" Template="Datei: [1], Ordner: [2], Größe: [3]">Dateien werden gepatcht</ProgressText>
  
! <ProgressText Action="ProcessComponents" Template="">Registrierung der Komponente(n) wird aktualisiert</ProgressText>
  
! <ProgressText Action="PublishComponents" Template="Komponentenkennung: [1], Kennzeichner: [2]">Qualifizierte Komponenten werden veröffentlicht</ProgressText>
  
! <ProgressText Action="PublishFeatures" Template="Funktion: [1]">Produktfunktionen werden veröffentlicht</ProgressText>
  
! <ProgressText Action="PublishProduct" Template="">Produktinformation wird veröffentlicht</ProgressText>
  
  <ProgressText Action="RegisterClassInfo" Template="Klassenkennung: [1]">Klassenserver werden registriert</ProgressText>
  
--- 1,64 ----
  <Include>
  
! <ProgressText Action="Advertise">Anwendungsprogramm wird angeboten</ProgressText>
  
  <ProgressText Action="AllocateRegistrySpace" Template="Freier Speicherplatz: [1]">In der Registrierung wird Speicherplatz reserviert</ProgressText>
  
  <ProgressText Action="AppSearch" Template="Eigenschaft: [1], Signatur: [2]">Installierte Anwendungsprogramme werden gesucht</ProgressText>
  
! <ProgressText Action="BindImage" Template="Datei: [1]">AusfÃ¼hrbare Dateien werden gebunden</ProgressText>
  
! <ProgressText Action="CCPSearch">Kompatible Produkte werden gesucht</ProgressText>
  
! <ProgressText Action="CostFinalize">Speicherbedarf wird berechnet</ProgressText>
  
! <ProgressText Action="CostInitialize">Speicherbedarf wird berechnet</ProgressText>
  
  <ProgressText Action="CreateFolders" Template="Ordner: [1]">Ordner werden erstellt</ProgressText>
  
! <ProgressText Action="CreateShortcuts" Template="VerknÃ¼pfung: [1]">VerknÃ¼pfungen werden erstellt</ProgressText>
  
! <ProgressText Action="DeleteServices" Template="Dienst: [1]">Dienste werden gelÃ¶scht</ProgressText>
  
! <ProgressText Action="DuplicateFiles" Template="Datei: [1], Ordner: [9], GrÃ¶ÃŸe: [6]">Dateien werden dupliziert</ProgressText>
  
! <ProgressText Action="FileCost">Speicherbedarf wird berechnet</ProgressText>
  
  <ProgressText Action="FindRelatedProducts" Template="Anwendung gefunden: [1]">Verwandte Anwendungen werden gesucht</ProgressText>
  
! <ProgressText Action="GenerateScript" Template="[1]">Skriptoperationen werden generiert fÃ¼r Aktion:</ProgressText>
  
! <ProgressText Action="InstallAdminPackage" Template="Datei: [1], Ordner: [9], GrÃ¶ÃŸe: [6]">Netzwerkinstallationsdateien werden kopiert</ProgressText>
  
! <ProgressText Action="InstallFiles" Template="Datei: [1], Ordner: [9], GrÃ¶ÃŸe: [6]">Neue Dateien werden kopiert</ProgressText>
  
! <ProgressText Action="InstallODBC">ODBC-Komponenten werden installiert</ProgressText>
  
  <ProgressText Action="InstallServices" Template="Dienst: [2]">Neue Dienste werden installiert</ProgressText>
  
! <ProgressText Action="InstallSFPCatalogFile" Template="Datei: [1],  AbhÃ¤ngigkeiten: [2]">Systemkatalog wird installiert</ProgressText>
  
! <ProgressText Action="InstallValidate">Die Installation wird Ã¼berprÃ¼ft</ProgressText>
  
! <ProgressText Action="LaunchConditions">Die Startbedingungen werden Ã¼berprÃ¼ft</ProgressText>
  
! <ProgressText Action="MigrateFeatureStates" Template="Anwendung: [1]">FunktionszustÃ¤nde verwandter Anwendungen werden migriert</ProgressText>
  
! <ProgressText Action="MoveFiles" Template="Datei: [1], Ordner: [9], GrÃ¶ÃŸe: [6]">Dateien werden verschoben</ProgressText>
  
! <ProgressText Action="MsiPublishAssemblies" Template="Anwendungskontext:[1], Assemblierungsname:[2]">Assemblierungsinformationen werden verÃ¶ffentlicht</ProgressText>
  
! <ProgressText Action="MsiUnpublishAssemblies" Template="Anwendungskontext:[1], Assemblierungsname:[2]">VerÃ¶ffentlichung der Assemblierungsinformationen wird aufgehoben</ProgressText>
  
! <ProgressText Action="PatchFiles" Template="Datei: [1], Ordner: [2], GrÃ¶ÃŸe: [3]">Dateien werden gepatcht</ProgressText>
  
! <ProgressText Action="ProcessComponents">Registrierung der Komponente(n) wird aktualisiert</ProgressText>
  
! <ProgressText Action="PublishComponents" Template="Komponentenkennung: [1], Kennzeichner: [2]">Qualifizierte Komponenten werden verÃ¶ffentlicht</ProgressText>
  
! <ProgressText Action="PublishFeatures" Template="Funktion: [1]">Produktfunktionen werden verÃ¶ffentlicht</ProgressText>
  
! <ProgressText Action="PublishProduct">Produktinformation wird verÃ¶ffentlicht</ProgressText>
  
  <ProgressText Action="RegisterClassInfo" Template="Klassenkennung: [1]">Klassenserver werden registriert</ProgressText>
  
***************
*** 88,104 ****
  
  <ProgressText Action="RemoveFolders" Template="Ordner: [1]">Ordner werden entfernt</ProgressText>
  
! <ProgressText Action="RemoveIniValues" Template="Datei: [1], Abschnitt: [2], Schlüssel: [3], Wert: [4]">INI-Dateieinträge werden entfernt</ProgressText>
  
! <ProgressText Action="RemoveODBC" Template="">ODBC-Komponenten werden entfernt</ProgressText>
  
! <ProgressText Action="RemoveRegistryValues" Template="Schlüssel: [1], Name: [2]">Werte werden aus der Systemregistrierung entfernt</ProgressText>
  
! <ProgressText Action="RemoveShortcuts" Template="Verknüpfungen: [1]">Verknüpfungen werden entfernt</ProgressText>
  
! <ProgressText Action="RMCCPSearch" Template="">Kompatible Produkte werden gesucht</ProgressText>
  
! <ProgressText Action="Rollback" Template="[1]">Aktion wird rückgängig gemacht:</ProgressText>
  
  <ProgressText Action="RollbackCleanup" Template="Datei: [1]">Sicherungsdateien werden entfernt</ProgressText>
  
--- 88,104 ----
  
  <ProgressText Action="RemoveFolders" Template="Ordner: [1]">Ordner werden entfernt</ProgressText>
  
! <ProgressText Action="RemoveIniValues" Template="Datei: [1], Abschnitt: [2], SchlÃ¼ssel: [3], Wert: [4]">INI-DateieintrÃ¤ge werden entfernt</ProgressText>
  
! <ProgressText Action="RemoveODBC">ODBC-Komponenten werden entfernt</ProgressText>
  
! <ProgressText Action="RemoveRegistryValues" Template="SchlÃ¼ssel: [1], Name: [2]">Werte werden aus der Systemregistrierung entfernt</ProgressText>
  
! <ProgressText Action="RemoveShortcuts" Template="VerknÃ¼pfungen: [1]">VerknÃ¼pfungen werden entfernt</ProgressText>
  
! <ProgressText Action="RMCCPSearch">Kompatible Produkte werden gesucht</ProgressText>
  
! <ProgressText Action="Rollback" Template="[1]">Aktion wird rÃ¼ckgÃ¤ngig gemacht:</ProgressText>
  
  <ProgressText Action="RollbackCleanup" Template="Datei: [1]">Sicherungsdateien werden entfernt</ProgressText>
  
***************
*** 106,112 ****
  
  <ProgressText Action="SelfUnregModules" Template="Datei: [1], Ordner: [2]">Module werden aus der Registrierung entfernt</ProgressText>
  
! <ProgressText Action="SetODBCFolders" Template="">ODBC-Ordner werden initialisiert</ProgressText>
  
  <ProgressText Action="StartServices" Template="Dienst: [1]">Dienste werden gestartet</ProgressText>
  
--- 106,112 ----
  
  <ProgressText Action="SelfUnregModules" Template="Datei: [1], Ordner: [2]">Module werden aus der Registrierung entfernt</ProgressText>
  
! <ProgressText Action="SetODBCFolders">ODBC-Ordner werden initialisiert</ProgressText>
  
  <ProgressText Action="StartServices" Template="Dienst: [1]">Dienste werden gestartet</ProgressText>
  
***************
*** 114,124 ****
  
  <ProgressText Action="UnmoveFiles" Template="Datei: [1], Ordner: [9]">Verschobene Dateien werden entfernt</ProgressText>
  
! <ProgressText Action="UnpublishComponents" Template="Komponentenkennung: [1], Kennzeichner: [2]">Veröffentlichung qualifizierter Komponenten wird rückgängig gemacht</ProgressText>
  
! <ProgressText Action="UnpublishFeatures" Template="Funktion: [1]">Veröffentlichung von Produktfunktionen wird rückgängig gemacht</ProgressText>
  
! <ProgressText Action="UnpublishProduct" Template="">Veröffentlichung von Produktinformation wird rückgängig gemacht</ProgressText>
  
  <ProgressText Action="UnregisterClassInfo" Template="Klassenkennung: [1]">Klassenserver werden aus der Registrierung entfernt</ProgressText>
  
--- 114,124 ----
  
  <ProgressText Action="UnmoveFiles" Template="Datei: [1], Ordner: [9]">Verschobene Dateien werden entfernt</ProgressText>
  
! <ProgressText Action="UnpublishComponents" Template="Komponentenkennung: [1], Kennzeichner: [2]">VerÃ¶ffentlichung qualifizierter Komponenten wird rÃ¼ckgÃ¤ngig gemacht</ProgressText>
  
! <ProgressText Action="UnpublishFeatures" Template="Funktion: [1]">VerÃ¶ffentlichung von Produktfunktionen wird rÃ¼ckgÃ¤ngig gemacht</ProgressText>
  
! <ProgressText Action="UnpublishProduct">VerÃ¶ffentlichung von Produktinformation wird rÃ¼ckgÃ¤ngig gemacht</ProgressText>
  
  <ProgressText Action="UnregisterClassInfo" Template="Klassenkennung: [1]">Klassenserver werden aus der Registrierung entfernt</ProgressText>
  
***************
*** 136,143 ****
  
  <ProgressText Action="WriteEnvironmentStrings" Template="Name: [1], Wert: [2], Aktion [3]">Umgebungsstrings werden aktualisiert</ProgressText>
  
! <ProgressText Action="WriteIniValues" Template="Datei: [1], Abschnitt: [2], Schlüssel: [3], Wert: [4]">INI-Dateiwerte werden geschrieben</ProgressText>
  
! <ProgressText Action="WriteRegistryValues" Template="Schlüssel: [1], Name: [2], Wert: [3]">Werte werden in die Systemregistrierung geschrieben</ProgressText>
  
  </Include>
--- 136,143 ----
  
  <ProgressText Action="WriteEnvironmentStrings" Template="Name: [1], Wert: [2], Aktion [3]">Umgebungsstrings werden aktualisiert</ProgressText>
  
! <ProgressText Action="WriteIniValues" Template="Datei: [1], Abschnitt: [2], SchlÃ¼ssel: [3], Wert: [4]">INI-Dateiwerte werden geschrieben</ProgressText>
  
! <ProgressText Action="WriteRegistryValues" Template="SchlÃ¼ssel: [1], Name: [2], Wert: [3]">Werte werden in die Systemregistrierung geschrieben</ProgressText>
  
  </Include>
Index: openafs/src/WINNT/install/wix/lang/en_US/ActionText.wxi
diff -c openafs/src/WINNT/install/wix/lang/en_US/ActionText.wxi:1.1 openafs/src/WINNT/install/wix/lang/en_US/ActionText.wxi:1.1.2.1
*** openafs/src/WINNT/install/wix/lang/en_US/ActionText.wxi:1.1	Mon Jun 21 01:21:50 2004
--- openafs/src/WINNT/install/wix/lang/en_US/ActionText.wxi	Tue Jul 18 12:10:23 2006
***************
*** 1,6 ****
  <Include>
  
! <ProgressText Action="Advertise" Template="">Advertising application</ProgressText>
  
  <ProgressText Action="AppSearch" Template="Property: [1], Signature: [2]">Searching for installed applications</ProgressText>
  
--- 1,6 ----
  <Include>
  
! <ProgressText Action="Advertise">Advertising application</ProgressText>
  
  <ProgressText Action="AppSearch" Template="Property: [1], Signature: [2]">Searching for installed applications</ProgressText>
  
***************
*** 8,18 ****
  
  <ProgressText Action="BindImage" Template="File: [1]">Binding executables</ProgressText>
  
! <ProgressText Action="CCPSearch" Template="">Searching for qualifying products</ProgressText>
  
! <ProgressText Action="CostFinalize" Template="">Computing space requirements</ProgressText>
  
! <ProgressText Action="CostInitialize" Template="">Computing space requirements</ProgressText>
  
  <ProgressText Action="CreateFolders" Template="Folder: [1]">Creating folders</ProgressText>
  
--- 8,18 ----
  
  <ProgressText Action="BindImage" Template="File: [1]">Binding executables</ProgressText>
  
! <ProgressText Action="CCPSearch">Searching for qualifying products</ProgressText>
  
! <ProgressText Action="CostFinalize">Computing space requirements</ProgressText>
  
! <ProgressText Action="CostInitialize">Computing space requirements</ProgressText>
  
  <ProgressText Action="CreateFolders" Template="Folder: [1]">Creating folders</ProgressText>
  
***************
*** 22,28 ****
  
  <ProgressText Action="DuplicateFiles" Template="File: [1],  Directory: [9],  Size: [6]">Creating duplicate files</ProgressText>
  
! <ProgressText Action="FileCost" Template="">Computing space requirements</ProgressText>
  
  <ProgressText Action="FindRelatedProducts" Template="Found application: [1]">Searching for related applications</ProgressText>
  
--- 22,28 ----
  
  <ProgressText Action="DuplicateFiles" Template="File: [1],  Directory: [9],  Size: [6]">Creating duplicate files</ProgressText>
  
! <ProgressText Action="FileCost">Computing space requirements</ProgressText>
  
  <ProgressText Action="FindRelatedProducts" Template="Found application: [1]">Searching for related applications</ProgressText>
  
***************
*** 32,44 ****
  
  <ProgressText Action="InstallFiles" Template="File: [1],  Directory: [9],  Size: [6]">Copying new files</ProgressText>
  
! <ProgressText Action="InstallODBC" Template="">Installing ODBC components</ProgressText>
  
  <ProgressText Action="InstallServices" Template="Service: [2]">Installing new services</ProgressText>
  
! <ProgressText Action="InstallValidate" Template="">Validating install</ProgressText>
  
! <ProgressText Action="LaunchConditions" Template="">Evaluating launch conditions</ProgressText>
  
  <ProgressText Action="MigrateFeatureStates" Template="Application: [1]">Migrating feature states from related applications</ProgressText>
  
--- 32,44 ----
  
  <ProgressText Action="InstallFiles" Template="File: [1],  Directory: [9],  Size: [6]">Copying new files</ProgressText>
  
! <ProgressText Action="InstallODBC">Installing ODBC components</ProgressText>
  
  <ProgressText Action="InstallServices" Template="Service: [2]">Installing new services</ProgressText>
  
! <ProgressText Action="InstallValidate">Validating install</ProgressText>
  
! <ProgressText Action="LaunchConditions">Evaluating launch conditions</ProgressText>
  
  <ProgressText Action="MigrateFeatureStates" Template="Application: [1]">Migrating feature states from related applications</ProgressText>
  
***************
*** 46,58 ****
  
  <ProgressText Action="PatchFiles" Template="File: [1],  Directory: [2],  Size: [3]">Patching files</ProgressText>
  
! <ProgressText Action="ProcessComponents" Template="">Updating component registration</ProgressText>
  
  <ProgressText Action="PublishComponents" Template="Component ID: [1], Qualifier: [2]">Publishing Qualified Components</ProgressText>
  
  <ProgressText Action="PublishFeatures" Template="Feature: [1]">Publishing Product Features</ProgressText>
  
! <ProgressText Action="PublishProduct" Template="">Publishing product information</ProgressText>
  
  <ProgressText Action="RegisterClassInfo" Template="Class Id: [1]">Registering Class servers</ProgressText>
  
--- 46,58 ----
  
  <ProgressText Action="PatchFiles" Template="File: [1],  Directory: [2],  Size: [3]">Patching files</ProgressText>
  
! <ProgressText Action="ProcessComponents">Updating component registration</ProgressText>
  
  <ProgressText Action="PublishComponents" Template="Component ID: [1], Qualifier: [2]">Publishing Qualified Components</ProgressText>
  
  <ProgressText Action="PublishFeatures" Template="Feature: [1]">Publishing Product Features</ProgressText>
  
! <ProgressText Action="PublishProduct">Publishing product information</ProgressText>
  
  <ProgressText Action="RegisterClassInfo" Template="Class Id: [1]">Registering Class servers</ProgressText>
  
***************
*** 84,96 ****
  
  <ProgressText Action="RemoveIniValues" Template="File: [1],  Section: [2],  Key: [3], Value: [4]">Removing INI files entries</ProgressText>
  
! <ProgressText Action="RemoveODBC" Template="">Removing ODBC components</ProgressText>
  
  <ProgressText Action="RemoveRegistryValues" Template="Key: [1], Name: [2]">Removing system registry values</ProgressText>
  
  <ProgressText Action="RemoveShortcuts" Template="Shortcut: [1]">Removing shortcuts</ProgressText>
  
! <ProgressText Action="RMCCPSearch" Template="">Searching for qualifying products</ProgressText>
  
  <ProgressText Action="Rollback" Template="[1]">Rolling back action:</ProgressText>
  
--- 84,96 ----
  
  <ProgressText Action="RemoveIniValues" Template="File: [1],  Section: [2],  Key: [3], Value: [4]">Removing INI files entries</ProgressText>
  
! <ProgressText Action="RemoveODBC">Removing ODBC components</ProgressText>
  
  <ProgressText Action="RemoveRegistryValues" Template="Key: [1], Name: [2]">Removing system registry values</ProgressText>
  
  <ProgressText Action="RemoveShortcuts" Template="Shortcut: [1]">Removing shortcuts</ProgressText>
  
! <ProgressText Action="RMCCPSearch">Searching for qualifying products</ProgressText>
  
  <ProgressText Action="Rollback" Template="[1]">Rolling back action:</ProgressText>
  
***************
*** 100,106 ****
  
  <ProgressText Action="SelfUnregModules" Template="File: [1], Folder: [2]">Unregistering modules</ProgressText>
  
! <ProgressText Action="SetODBCFolders" Template="">Initializing ODBC directories</ProgressText>
  
  <ProgressText Action="StartServices" Template="Service: [1]">Starting services</ProgressText>
  
--- 100,106 ----
  
  <ProgressText Action="SelfUnregModules" Template="File: [1], Folder: [2]">Unregistering modules</ProgressText>
  
! <ProgressText Action="SetODBCFolders">Initializing ODBC directories</ProgressText>
  
  <ProgressText Action="StartServices" Template="Service: [1]">Starting services</ProgressText>
  
***************
*** 112,118 ****
  
  <ProgressText Action="UnpublishFeatures" Template="Feature: [1]">Unpublishing Product Features</ProgressText>
  
! <ProgressText Action="UnpublishProduct" Template="">Unpublishing product information</ProgressText>
  
  <ProgressText Action="UnregisterClassInfo" Template="Class Id: [1]">Unregister Class servers</ProgressText>
  
--- 112,118 ----
  
  <ProgressText Action="UnpublishFeatures" Template="Feature: [1]">Unpublishing Product Features</ProgressText>
  
! <ProgressText Action="UnpublishProduct">Unpublishing product information</ProgressText>
  
  <ProgressText Action="UnregisterClassInfo" Template="Class Id: [1]">Unregister Class servers</ProgressText>
  
Index: openafs/src/WINNT/install/wix/lang/en_US/ui.wxi
diff -c openafs/src/WINNT/install/wix/lang/en_US/ui.wxi:1.6.2.4 openafs/src/WINNT/install/wix/lang/en_US/ui.wxi:1.6.2.5
*** openafs/src/WINNT/install/wix/lang/en_US/ui.wxi:1.6.2.4	Mon Nov 21 10:53:12 2005
--- openafs/src/WINNT/install/wix/lang/en_US/ui.wxi	Tue Jul 18 12:10:23 2006
***************
*** 759,780 ****
          <Control Id="DNSLabel" Type="Text"						X="45"	Y="160"	Width="100" Height="15" Text="Lookup cells in DNS" />
          <Control Id="DNSSel" Type="RadioButtonGroup"			X="150"	Y="160"	Width="120" Height="20" Property="USEDNS" />
        </Dialog>
!       <RadioGroup Property="SECURITYLEVEL">
  		<RadioButton X="5" Y="0" Width="55" Height="15" Text="Disable" Value="0"></RadioButton>
  		<RadioButton X="65" Y="0" Width="55" Height="15" Text="Enable" Value="1"></RadioButton>
!       </RadioGroup>
!       <RadioGroup Property="FREELANCEMODE">
  		<RadioButton X="5" Y="0" Width="55" Height="15" Text="Disable" Value="0"></RadioButton>
  		<RadioButton X="65" Y="0" Width="55" Height="15" Text="Enable" Value="1"></RadioButton>
!       </RadioGroup>
!       <RadioGroup Property="USEDNS">
  		<RadioButton X="5" Y="0" Width="55" Height="15" Text="Disable" Value="0"></RadioButton>
  		<RadioButton X="65" Y="0" Width="55" Height="15" Text="Enable" Value="1"></RadioButton>
!       </RadioGroup>
!       <RadioGroup Property="LOGONOPTIONS">
  		<RadioButton X="5" Y="0" Width="55" Height="15" Text="Disable" Value="0"></RadioButton>
  		<RadioButton X="65" Y="0" Width="55" Height="15" Text="Enable" Value="1"></RadioButton>
!       </RadioGroup>
  
        <Dialog Id="ConfigCredsDlg" Width="370" Height="270" Title="[ProductName] [Setup]" NoMinimize="yes">
          <Control Id="Back" Type="PushButton" X="180" Y="243" Width="56" Height="17" Text="[ButtonText_Back]">
--- 759,780 ----
          <Control Id="DNSLabel" Type="Text"						X="45"	Y="160"	Width="100" Height="15" Text="Lookup cells in DNS" />
          <Control Id="DNSSel" Type="RadioButtonGroup"			X="150"	Y="160"	Width="120" Height="20" Property="USEDNS" />
        </Dialog>
!       <RadioButtonGroup Property="SECURITYLEVEL">
  		<RadioButton X="5" Y="0" Width="55" Height="15" Text="Disable" Value="0"></RadioButton>
  		<RadioButton X="65" Y="0" Width="55" Height="15" Text="Enable" Value="1"></RadioButton>
!       </RadioButtonGroup>
!       <RadioButtonGroup Property="FREELANCEMODE">
  		<RadioButton X="5" Y="0" Width="55" Height="15" Text="Disable" Value="0"></RadioButton>
  		<RadioButton X="65" Y="0" Width="55" Height="15" Text="Enable" Value="1"></RadioButton>
!       </RadioButtonGroup>
!       <RadioButtonGroup Property="USEDNS">
  		<RadioButton X="5" Y="0" Width="55" Height="15" Text="Disable" Value="0"></RadioButton>
  		<RadioButton X="65" Y="0" Width="55" Height="15" Text="Enable" Value="1"></RadioButton>
!       </RadioButtonGroup>
!       <RadioButtonGroup Property="LOGONOPTIONS">
  		<RadioButton X="5" Y="0" Width="55" Height="15" Text="Disable" Value="0"></RadioButton>
  		<RadioButton X="65" Y="0" Width="55" Height="15" Text="Enable" Value="1"></RadioButton>
!       </RadioButtonGroup>
  
        <Dialog Id="ConfigCredsDlg" Width="370" Height="270" Title="[ProductName] [Setup]" NoMinimize="yes">
          <Control Id="Back" Type="PushButton" X="180" Y="243" Width="56" Height="17" Text="[ButtonText_Back]">
***************
*** 969,978 ****
            <Text>{\VerdanaBold13}Welcome to the [ProductName] [Wizard]</Text>
          </Control>
        </Dialog>
!       <RadioGroup Property="IAgree">
          <RadioButton Text="{\DlgFont8}I &amp;accept the terms in the License Agreement" X="5" Y="0" Width="250" Height="15" Value="yes"></RadioButton>
          <RadioButton Text="{\DlgFont8}I &amp;do not accept the terms in the License Agreement" X="5" Y="20" Width="250" Height="15" Value="no"></RadioButton>
!       </RadioGroup>
        <TextStyle Id="DlgFont8" FaceName="Tahoma" Size="8" />
        <TextStyle Id="DlgFontBold8" FaceName="Tahoma" Size="8" Bold="yes" />
        <TextStyle Id="VerdanaBold13" FaceName="Verdana" Size="13" Bold="yes" />
--- 969,978 ----
            <Text>{\VerdanaBold13}Welcome to the [ProductName] [Wizard]</Text>
          </Control>
        </Dialog>
!       <RadioButtonGroup Property="IAgree">
          <RadioButton Text="{\DlgFont8}I &amp;accept the terms in the License Agreement" X="5" Y="0" Width="250" Height="15" Value="yes"></RadioButton>
          <RadioButton Text="{\DlgFont8}I &amp;do not accept the terms in the License Agreement" X="5" Y="20" Width="250" Height="15" Value="no"></RadioButton>
!       </RadioButtonGroup>
        <TextStyle Id="DlgFont8" FaceName="Tahoma" Size="8" />
        <TextStyle Id="DlgFontBold8" FaceName="Tahoma" Size="8" Bold="yes" />
        <TextStyle Id="VerdanaBold13" FaceName="Verdana" Size="13" Bold="yes" />
Index: openafs/src/WINNT/install/wix/lang/es_ES/ActionText.wxi
diff -c openafs/src/WINNT/install/wix/lang/es_ES/ActionText.wxi:1.1 openafs/src/WINNT/install/wix/lang/es_ES/ActionText.wxi:1.1.2.1
*** openafs/src/WINNT/install/wix/lang/es_ES/ActionText.wxi:1.1	Mon Jun 21 01:21:50 2004
--- openafs/src/WINNT/install/wix/lang/es_ES/ActionText.wxi	Tue Jul 18 12:10:23 2006
***************
*** 1,6 ****
  <Include>
  
! <ProgressText Action="Advertise" Template="">Mostrar aplicación</ProgressText>
  
  <ProgressText Action="AllocateRegistrySpace" Template="Espacio disponible: [1]">Asignando espacio del registro</ProgressText>
  
--- 1,6 ----
  <Include>
  
! <ProgressText Action="Advertise">Mostrar aplicaciÃ³n</ProgressText>
  
  <ProgressText Action="AllocateRegistrySpace" Template="Espacio disponible: [1]">Asignando espacio del registro</ProgressText>
  
***************
*** 8,18 ****
  
  <ProgressText Action="BindImage" Template="Archivo: [1]">Enlazando archivos ejecutables</ProgressText>
  
! <ProgressText Action="CCPSearch" Template="">Buscando productos necesarios</ProgressText>
  
! <ProgressText Action="CostFinalize" Template="">Calculando el espacio necesario</ProgressText>
  
! <ProgressText Action="CostInitialize" Template="">Calculando el espacio necesario</ProgressText>
  
  <ProgressText Action="CreateFolders" Template="Carpeta: [1]">Creando carpetas</ProgressText>
  
--- 8,18 ----
  
  <ProgressText Action="BindImage" Template="Archivo: [1]">Enlazando archivos ejecutables</ProgressText>
  
! <ProgressText Action="CCPSearch">Buscando productos necesarios</ProgressText>
  
! <ProgressText Action="CostFinalize">Calculando el espacio necesario</ProgressText>
  
! <ProgressText Action="CostInitialize">Calculando el espacio necesario</ProgressText>
  
  <ProgressText Action="CreateFolders" Template="Carpeta: [1]">Creando carpetas</ProgressText>
  
***************
*** 20,74 ****
  
  <ProgressText Action="DeleteServices" Template="Servicio: [1]">Eliminando servicios</ProgressText>
  
! <ProgressText Action="DuplicateFiles" Template="Archivo: [1], directorio: [9], tamaño: [6]">Creando archivos duplicados</ProgressText>
  
! <ProgressText Action="FileCost" Template="">Calculando el espacio necesario</ProgressText>
  
! <ProgressText Action="FindRelatedProducts" Template="Se encontró esta aplicación: [1]">Buscando aplicaciones relacionadas</ProgressText>
  
! <ProgressText Action="GenerateScript" Template="[1]">Generando operaciones de secuencias de comandos para la acción:</ProgressText>
  
! <ProgressText Action="InstallAdminPackage" Template="Archivo: [1], directorio: [9], tamaño: [6]">Copiando archivos de instalación de la red</ProgressText>
  
! <ProgressText Action="InstallFiles" Template="Archivo: [1], directorio: [9], tamaño: [6]">Copiando archivos nuevos</ProgressText>
  
! <ProgressText Action="InstallODBC" Template="">Instalando componentes ODBC</ProgressText>
  
  <ProgressText Action="InstallServices" Template="Servicio: [2]">Instalando servicios nuevos</ProgressText>
  
! <ProgressText Action="InstallSFPCatalogFile" Template="Archivo: [1],  dependencias: [2]">Instalar catálogo de sistema</ProgressText>
  
! <ProgressText Action="InstallValidate" Template="">Validando la instalación</ProgressText>
  
! <ProgressText Action="LaunchConditions" Template="">Evaluando condiciones de inicio</ProgressText>
  
! <ProgressText Action="MigrateFeatureStates" Template="Aplicación: [1]">Transfiriendo los estados de las características desde las aplicaciones relacionadas</ProgressText>
  
! <ProgressText Action="MoveFiles" Template="Archivo: [1], directorio: [9], tamaño: [6]">Moviendo archivos</ProgressText>
  
! <ProgressText Action="MsiPublishAssemblies" Template="Contexto de aplicación:[1], Nombre de asamblea:[2]">Publicar información de la asamblea</ProgressText>
  
! <ProgressText Action="MsiUnpublishAssemblies" Template="Contexto de aplicación:[1], Nombre de asamblea:[2]">No publicar información de la asamblea</ProgressText>
  
! <ProgressText Action="PatchFiles" Template="Archivo: [1], directorio: [2], tamaño: [3]">Revisando archivos</ProgressText>
  
! <ProgressText Action="ProcessComponents" Template="">Actualizando el registro de componentes</ProgressText>
  
  <ProgressText Action="PublishComponents" Template="Id. del componente: [1], capacitador: [2]">Publicar componentes aceptables</ProgressText>
  
! <ProgressText Action="PublishFeatures" Template="Función: [1]">Publicar funciones del producto</ProgressText>
  
! <ProgressText Action="PublishProduct" Template="">Publicar información del producto</ProgressText>
  
  <ProgressText Action="RegisterClassInfo" Template="Id. de clase: [1]">Registrando servidores de clases</ProgressText>
  
  <ProgressText Action="RegisterComPlus" Template="IdApl: [1]{{, Tipo de apl.: [2], Usuarios: [3], RSN: [4]}}">Registrando aplicaciones y componentes COM+</ProgressText>
  
! <ProgressText Action="RegisterExtensionInfo" Template="Extensión: [1]">Registrando servidores de extensiones</ProgressText>
  
  <ProgressText Action="RegisterFonts" Template="Fuente: [1]">Registrando fuentes</ProgressText>
  
! <ProgressText Action="RegisterMIMEInfo" Template="Tipo de contenido MIME: [1], extensión: [2]">Registrando información MIME</ProgressText>
  
  <ProgressText Action="RegisterProduct" Template="[1]">Registrando el producto</ProgressText>
  
--- 20,74 ----
  
  <ProgressText Action="DeleteServices" Template="Servicio: [1]">Eliminando servicios</ProgressText>
  
! <ProgressText Action="DuplicateFiles" Template="Archivo: [1], directorio: [9], tamaÃ±o: [6]">Creando archivos duplicados</ProgressText>
  
! <ProgressText Action="FileCost">Calculando el espacio necesario</ProgressText>
  
! <ProgressText Action="FindRelatedProducts" Template="Se encontrÃ³ esta aplicaciÃ³n: [1]">Buscando aplicaciones relacionadas</ProgressText>
  
! <ProgressText Action="GenerateScript" Template="[1]">Generando operaciones de secuencias de comandos para la acciÃ³n:</ProgressText>
  
! <ProgressText Action="InstallAdminPackage" Template="Archivo: [1], directorio: [9], tamaÃ±o: [6]">Copiando archivos de instalaciÃ³n de la red</ProgressText>
  
! <ProgressText Action="InstallFiles" Template="Archivo: [1], directorio: [9], tamaÃ±o: [6]">Copiando archivos nuevos</ProgressText>
  
! <ProgressText Action="InstallODBC">Instalando componentes ODBC</ProgressText>
  
  <ProgressText Action="InstallServices" Template="Servicio: [2]">Instalando servicios nuevos</ProgressText>
  
! <ProgressText Action="InstallSFPCatalogFile" Template="Archivo: [1],  dependencias: [2]">Instalar catÃ¡logo de sistema</ProgressText>
  
! <ProgressText Action="InstallValidate">Validando la instalaciÃ³n</ProgressText>
  
! <ProgressText Action="LaunchConditions">Evaluando condiciones de inicio</ProgressText>
  
! <ProgressText Action="MigrateFeatureStates" Template="AplicaciÃ³n: [1]">Transfiriendo los estados de las caracterÃ­sticas desde las aplicaciones relacionadas</ProgressText>
  
! <ProgressText Action="MoveFiles" Template="Archivo: [1], directorio: [9], tamaÃ±o: [6]">Moviendo archivos</ProgressText>
  
! <ProgressText Action="MsiPublishAssemblies" Template="Contexto de aplicaciÃ³n:[1], Nombre de asamblea:[2]">Publicar informaciÃ³n de la asamblea</ProgressText>
  
! <ProgressText Action="MsiUnpublishAssemblies" Template="Contexto de aplicaciÃ³n:[1], Nombre de asamblea:[2]">No publicar informaciÃ³n de la asamblea</ProgressText>
  
! <ProgressText Action="PatchFiles" Template="Archivo: [1], directorio: [2], tamaÃ±o: [3]">Revisando archivos</ProgressText>
  
! <ProgressText Action="ProcessComponents">Actualizando el registro de componentes</ProgressText>
  
  <ProgressText Action="PublishComponents" Template="Id. del componente: [1], capacitador: [2]">Publicar componentes aceptables</ProgressText>
  
! <ProgressText Action="PublishFeatures" Template="FunciÃ³n: [1]">Publicar funciones del producto</ProgressText>
  
! <ProgressText Action="PublishProduct">Publicar informaciÃ³n del producto</ProgressText>
  
  <ProgressText Action="RegisterClassInfo" Template="Id. de clase: [1]">Registrando servidores de clases</ProgressText>
  
  <ProgressText Action="RegisterComPlus" Template="IdApl: [1]{{, Tipo de apl.: [2], Usuarios: [3], RSN: [4]}}">Registrando aplicaciones y componentes COM+</ProgressText>
  
! <ProgressText Action="RegisterExtensionInfo" Template="ExtensiÃ³n: [1]">Registrando servidores de extensiones</ProgressText>
  
  <ProgressText Action="RegisterFonts" Template="Fuente: [1]">Registrando fuentes</ProgressText>
  
! <ProgressText Action="RegisterMIMEInfo" Template="Tipo de contenido MIME: [1], extensiÃ³n: [2]">Registrando informaciÃ³n MIME</ProgressText>
  
  <ProgressText Action="RegisterProduct" Template="[1]">Registrando el producto</ProgressText>
  
***************
*** 80,112 ****
  
  <ProgressText Action="RemoveDuplicateFiles" Template="Archivo: [1], directorio: [9]">Quitando archivos duplicados</ProgressText>
  
! <ProgressText Action="RemoveEnvironmentStrings" Template="Nombre: [1], valor: [2], acción [3]">Actualizando cadenas de entorno</ProgressText>
  
! <ProgressText Action="RemoveExistingProducts" Template="Aplicación: [1], Línea de comandos: [2]">Quitando aplicaciones</ProgressText>
  
  <ProgressText Action="RemoveFiles" Template="Archivo: [1], directorio: [9]">Quitando archivos</ProgressText>
  
  <ProgressText Action="RemoveFolders" Template="Carpeta: [1]">Quitando carpetas</ProgressText>
  
! <ProgressText Action="RemoveIniValues" Template="Archivo: [1], sección: [2], clave: [3], valor: [4]">Quitando entradas de archivos INI</ProgressText>
  
! <ProgressText Action="RemoveODBC" Template="">Quitando componentes ODBC</ProgressText>
  
  <ProgressText Action="RemoveRegistryValues" Template="Clave: [1], nombre: [2]">Quitando valores del registro del sistema</ProgressText>
  
  <ProgressText Action="RemoveShortcuts" Template="Acceso directo: [1]">Quitando accesos directos</ProgressText>
  
! <ProgressText Action="RMCCPSearch" Template="">Buscando productos necesarios</ProgressText>
  
! <ProgressText Action="Rollback" Template="[1]">Acción de restauración:</ProgressText>
  
  <ProgressText Action="RollbackCleanup" Template="Archivo: [1]">Quitando copias de seguridad</ProgressText>
  
! <ProgressText Action="SelfRegModules" Template="Archivo: [1], carpeta: [2]">Registrando módulos</ProgressText>
  
! <ProgressText Action="SelfUnregModules" Template="Archivo: [1], carpeta: [2]">Eliminando módulos del registro</ProgressText>
  
! <ProgressText Action="SetODBCFolders" Template="">Inicializando directorios ODBC</ProgressText>
  
  <ProgressText Action="StartServices" Template="Servicio: [1]">Iniciando servicios</ProgressText>
  
--- 80,112 ----
  
  <ProgressText Action="RemoveDuplicateFiles" Template="Archivo: [1], directorio: [9]">Quitando archivos duplicados</ProgressText>
  
! <ProgressText Action="RemoveEnvironmentStrings" Template="Nombre: [1], valor: [2], acciÃ³n [3]">Actualizando cadenas de entorno</ProgressText>
  
! <ProgressText Action="RemoveExistingProducts" Template="AplicaciÃ³n: [1], LÃ­nea de comandos: [2]">Quitando aplicaciones</ProgressText>
  
  <ProgressText Action="RemoveFiles" Template="Archivo: [1], directorio: [9]">Quitando archivos</ProgressText>
  
  <ProgressText Action="RemoveFolders" Template="Carpeta: [1]">Quitando carpetas</ProgressText>
  
! <ProgressText Action="RemoveIniValues" Template="Archivo: [1], secciÃ³n: [2], clave: [3], valor: [4]">Quitando entradas de archivos INI</ProgressText>
  
! <ProgressText Action="RemoveODBC">Quitando componentes ODBC</ProgressText>
  
  <ProgressText Action="RemoveRegistryValues" Template="Clave: [1], nombre: [2]">Quitando valores del registro del sistema</ProgressText>
  
  <ProgressText Action="RemoveShortcuts" Template="Acceso directo: [1]">Quitando accesos directos</ProgressText>
  
! <ProgressText Action="RMCCPSearch">Buscando productos necesarios</ProgressText>
  
! <ProgressText Action="Rollback" Template="[1]">AcciÃ³n de restauraciÃ³n:</ProgressText>
  
  <ProgressText Action="RollbackCleanup" Template="Archivo: [1]">Quitando copias de seguridad</ProgressText>
  
! <ProgressText Action="SelfRegModules" Template="Archivo: [1], carpeta: [2]">Registrando mÃ³dulos</ProgressText>
  
! <ProgressText Action="SelfUnregModules" Template="Archivo: [1], carpeta: [2]">Eliminando mÃ³dulos del registro</ProgressText>
  
! <ProgressText Action="SetODBCFolders">Inicializando directorios ODBC</ProgressText>
  
  <ProgressText Action="StartServices" Template="Servicio: [1]">Iniciando servicios</ProgressText>
  
***************
*** 114,142 ****
  
  <ProgressText Action="UnmoveFiles" Template="Archivo: [1], directorio: [9]">Quitando archivos movidos</ProgressText>
  
! <ProgressText Action="UnpublishComponents" Template="Id. del componente: [1], capacitador: [2]">Anular publicación de componentes aceptables</ProgressText>
  
! <ProgressText Action="UnpublishFeatures" Template="Función: [1]">Anular publicación de funciones del producto</ProgressText>
  
! <ProgressText Action="UnpublishProduct" Template="">Anular publicación de información del producto</ProgressText>
  
  <ProgressText Action="UnregisterClassInfo" Template="Id. de clase: [1]">Eliminar del registro los servidores de clases</ProgressText>
  
  <ProgressText Action="UnregisterComPlus" Template="IdApl: [1]{{, Tipo de apl.: [2]}}">Quitando aplicaciones y componentes COM+ del registro</ProgressText>
  
! <ProgressText Action="UnregisterExtensionInfo" Template="Extensión: [1]">Eliminando del registro los servidores de extensiones</ProgressText>
  
  <ProgressText Action="UnregisterFonts" Template="Fuente: [1]">Eliminando del registro las fuentes</ProgressText>
  
! <ProgressText Action="UnregisterMIMEInfo" Template="Tipo de contenido MIME: [1], extensión: [2]">Eliminando del registro información MIME</ProgressText>
  
  <ProgressText Action="UnregisterProgIdInfo" Template="IdProg: [1]">Eliminando identificadores de programa del registro</ProgressText>
  
  <ProgressText Action="UnregisterTypeLibraries" Template="Id. de la biblioteca: [1]">Eliminando del registro bibliotecas de tipos</ProgressText>
  
! <ProgressText Action="WriteEnvironmentStrings" Template="Nombre: [1], valor: [2], acción [3]">Actualizando cadenas de entorno</ProgressText>
  
! <ProgressText Action="WriteIniValues" Template="Archivo: [1], sección: [2], clave: [3], valor: [4]">Escribiendo valores de los archivos INI</ProgressText>
  
  <ProgressText Action="WriteRegistryValues" Template="Clave: [1], nombre: [2], valor: [3]">Escribiendo valores del registro del sistema</ProgressText>
  
--- 114,142 ----
  
  <ProgressText Action="UnmoveFiles" Template="Archivo: [1], directorio: [9]">Quitando archivos movidos</ProgressText>
  
! <ProgressText Action="UnpublishComponents" Template="Id. del componente: [1], capacitador: [2]">Anular publicaciÃ³n de componentes aceptables</ProgressText>
  
! <ProgressText Action="UnpublishFeatures" Template="FunciÃ³n: [1]">Anular publicaciÃ³n de funciones del producto</ProgressText>
  
! <ProgressText Action="UnpublishProduct">Anular publicaciÃ³n de informaciÃ³n del producto</ProgressText>
  
  <ProgressText Action="UnregisterClassInfo" Template="Id. de clase: [1]">Eliminar del registro los servidores de clases</ProgressText>
  
  <ProgressText Action="UnregisterComPlus" Template="IdApl: [1]{{, Tipo de apl.: [2]}}">Quitando aplicaciones y componentes COM+ del registro</ProgressText>
  
! <ProgressText Action="UnregisterExtensionInfo" Template="ExtensiÃ³n: [1]">Eliminando del registro los servidores de extensiones</ProgressText>
  
  <ProgressText Action="UnregisterFonts" Template="Fuente: [1]">Eliminando del registro las fuentes</ProgressText>
  
! <ProgressText Action="UnregisterMIMEInfo" Template="Tipo de contenido MIME: [1], extensiÃ³n: [2]">Eliminando del registro informaciÃ³n MIME</ProgressText>
  
  <ProgressText Action="UnregisterProgIdInfo" Template="IdProg: [1]">Eliminando identificadores de programa del registro</ProgressText>
  
  <ProgressText Action="UnregisterTypeLibraries" Template="Id. de la biblioteca: [1]">Eliminando del registro bibliotecas de tipos</ProgressText>
  
! <ProgressText Action="WriteEnvironmentStrings" Template="Nombre: [1], valor: [2], acciÃ³n [3]">Actualizando cadenas de entorno</ProgressText>
  
! <ProgressText Action="WriteIniValues" Template="Archivo: [1], secciÃ³n: [2], clave: [3], valor: [4]">Escribiendo valores de los archivos INI</ProgressText>
  
  <ProgressText Action="WriteRegistryValues" Template="Clave: [1], nombre: [2], valor: [3]">Escribiendo valores del registro del sistema</ProgressText>
  
Index: openafs/src/WINNT/install/wix/lang/ja_JP/ActionText.wxi
diff -c openafs/src/WINNT/install/wix/lang/ja_JP/ActionText.wxi:1.1 openafs/src/WINNT/install/wix/lang/ja_JP/ActionText.wxi:1.1.2.1
*** openafs/src/WINNT/install/wix/lang/ja_JP/ActionText.wxi:1.1	Mon Jun 21 01:21:51 2004
--- openafs/src/WINNT/install/wix/lang/ja_JP/ActionText.wxi	Tue Jul 18 12:10:23 2006
***************
*** 1,143 ****
  <Include>
  
! <ProgressText Action="Advertise" Template="">Œã‚ÅŽg—p‚·‚é‚½‚ß‚ÉƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚ðÝ’è‚µ‚Ä‚¢‚Ü‚·</ProgressText>
  
! <ProgressText Action="AllocateRegistrySpace" Template="‹ó‚«—Ìˆæ: [1]">ƒŒƒWƒXƒgƒŠ—Ìˆæ‚ðŠ„‚è“–‚Ä‚Ä‚¢‚Ü‚·</ProgressText>
  
! <ProgressText Action="AppSearch" Template="ƒvƒƒpƒeƒB: [1]A –¼: [2]">ƒCƒ“ƒXƒg[ƒ‹‚³‚ê‚Ä‚¢‚éƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚ðŒŸõ‚µ‚Ä‚¢‚Ü‚·</ProgressText>
  
! <ProgressText Action="BindImage" Template="ƒtƒ@ƒCƒ‹: [1]">ŽÀsƒtƒ@ƒCƒ‹‚ðƒoƒCƒ“ƒh‚µ‚Ä‚¢‚Ü‚·</ProgressText>
  
! <ProgressText Action="CCPSearch" Template="">ðŒ‚É‡‚¤»•i‚ðŒŸõ‚µ‚Ä‚¢‚Ü‚·</ProgressText>
  
! <ProgressText Action="CostFinalize" Template="">•K—v‚È—Ìˆæ‚ðŒvŽZ‚µ‚Ä‚¢‚Ü‚·</ProgressText>
  
! <ProgressText Action="CostInitialize" Template="">•K—v‚È—Ìˆæ‚ðŒvŽZ‚µ‚Ä‚¢‚Ü‚·</ProgressText>
  
! <ProgressText Action="CreateFolders" Template="ƒtƒHƒ‹ƒ_: [1]">ƒtƒHƒ‹ƒ_‚ðì¬‚µ‚Ä‚¢‚Ü‚·</ProgressText>
  
! <ProgressText Action="CreateShortcuts" Template="ƒVƒ‡[ƒgƒJƒbƒg: [1]">ƒVƒ‡[ƒgƒJƒbƒg‚ðì¬‚µ‚Ä‚¢‚Ü‚·</ProgressText>
  
! <ProgressText Action="DeleteServices" Template="ƒT[ƒrƒX: [1]">ƒT[ƒrƒX‚ðíœ‚µ‚Ä‚¢‚Ü‚·</ProgressText>
  
! <ProgressText Action="DuplicateFiles" Template="ƒtƒ@ƒCƒ‹: [1]A  ƒfƒBƒŒƒNƒgƒŠ: [9]A  ƒTƒCƒY: [6]">d•¡‚µ‚Ä‚¢‚éƒtƒ@ƒCƒ‹‚ðì¬‚µ‚Ä‚¢‚Ü‚·</ProgressText>
  
! <ProgressText Action="FileCost" Template="">•K—v‚È—Ìˆæ‚ðŒvŽZ‚µ‚Ä‚¢‚Ü‚·</ProgressText>
  
! <ProgressText Action="FindRelatedProducts" Template="Œ©‚Â‚©‚Á‚½ƒAƒvƒŠƒP[ƒVƒ‡ƒ“ : [1]">ŠÖ˜A‚ÌƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚ðŒŸõ‚µ‚Ä‚¢‚Ü‚·</ProgressText>
  
! <ProgressText Action="GenerateScript" Template="[1]">‘€ì‚Ì‚½‚ß‚ÌƒXƒNƒŠƒvƒg‘€ì‚ðì¬‚µ‚Ä‚¢‚Ü‚·:</ProgressText>
  
! <ProgressText Action="InstallAdminPackage" Template="ƒtƒ@ƒCƒ‹: [1]A ƒfƒBƒŒƒNƒgƒŠ: [9]A ƒTƒCƒY: [6]">ƒlƒbƒgƒ[ƒN ƒCƒ“ƒXƒg[ƒ‹ ƒtƒ@ƒCƒ‹‚ðƒRƒs[‚µ‚Ä‚¢‚Ü‚·</ProgressText>
  
! <ProgressText Action="InstallFiles" Template="ƒtƒ@ƒCƒ‹: [1]A  ƒfƒBƒŒƒNƒgƒŠ: [9]A  ƒTƒCƒY: [6]">V‚µ‚¢ƒtƒ@ƒCƒ‹‚ðƒRƒs[‚µ‚Ä‚¢‚Ü‚·</ProgressText>
  
! <ProgressText Action="InstallODBC" Template="">ODBC ƒRƒ“ƒ|[ƒlƒ“ƒg‚ðƒCƒ“ƒXƒg[ƒ‹‚µ‚Ä‚¢‚Ü‚·</ProgressText>
  
! <ProgressText Action="InstallServices" Template="ƒT[ƒrƒX: [2]">V‚µ‚¢ƒT[ƒrƒX‚ðƒCƒ“ƒXƒg[ƒ‹‚µ‚Ä‚¢‚Ü‚·</ProgressText>
  
! <ProgressText Action="InstallSFPCatalogFile" Template="ƒtƒ@ƒCƒ‹: [1],  ˆË‘¶ŠÖŒW: [2]">ƒVƒXƒeƒ€ ƒJƒ^ƒƒO‚ðƒCƒ“ƒXƒg[ƒ‹‚µ‚Ä‚¢‚Ü‚·</ProgressText>
  
! <ProgressText Action="InstallValidate" Template="">ƒCƒ“ƒXƒg[ƒ‹‚ðŒŸØ‚µ‚Ä‚¢‚Ü‚·</ProgressText>
  
! <ProgressText Action="LaunchConditions" Template="">‹N“®ó‘Ô‚ðŒŸØ‚µ‚Ä‚¢‚Ü‚·</ProgressText>
  
! <ProgressText Action="MigrateFeatureStates" Template="ƒAƒvƒŠƒP[ƒVƒ‡ƒ“ : [1]">ŠÖ˜A‚ÌƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚©‚ç‹@”\‚Ìó‘Ô‚ðˆÚs‚µ‚Ä‚¢‚Ü‚·</ProgressText>
  
! <ProgressText Action="MoveFiles" Template="ƒtƒ@ƒCƒ‹: [1]A  ƒfƒBƒŒƒNƒgƒŠ: [9]A  ƒTƒCƒY: [6]">ƒtƒ@ƒCƒ‹‚ðˆÚ“®‚µ‚Ä‚¢‚Ü‚·</ProgressText>
  
! <ProgressText Action="MsiPublishAssemblies" Template="ƒAƒvƒŠƒP[ƒVƒ‡ƒ“ ƒRƒ“ƒeƒLƒXƒg:[1], ƒAƒZƒ“ƒuƒŠ–¼:[2]">ƒAƒZƒ“ƒuƒŠî•ñ‚ðŒöŠJ‚µ‚Ä‚¢‚Ü‚·</ProgressText>
  
! <ProgressText Action="MsiUnpublishAssemblies" Template="ƒAƒvƒŠƒP[ƒVƒ‡ƒ“ ƒRƒ“ƒeƒLƒXƒg:[1], ƒAƒZƒ“ƒuƒŠ–¼:[2]">ƒAƒZƒ“ƒuƒŠî•ñ‚ð”ñŒöŠJ‚É‚µ‚Ä‚¢‚Ü‚·</ProgressText>
  
! <ProgressText Action="PatchFiles" Template="ƒtƒ@ƒCƒ‹: [1]A  ƒfƒBƒŒƒNƒgƒŠ: [2]A  ƒTƒCƒY: [3]">ƒtƒ@ƒCƒ‹‚ðC³‚µ‚Ä‚¢‚Ü‚·</ProgressText>
  
! <ProgressText Action="ProcessComponents" Template="">ƒRƒ“ƒ|[ƒlƒ“ƒg‚Ì“o˜^‚ðXV‚µ‚Ä‚¢‚Ü‚·</ProgressText>
  
! <ProgressText Action="PublishComponents" Template="ƒRƒ“ƒ|[ƒlƒ“ƒg ID: [1]ACüŽq: [2]">ðŒ‚É‡‚¤ƒRƒ“ƒ|[ƒlƒ“ƒg‚ðŒöŠJ‚µ‚Ä‚¢‚Ü‚·</ProgressText>
  
! <ProgressText Action="PublishFeatures" Template="‹@”\: [1]">»•i‹@”\‚ðŒöŠJ‚µ‚Ä‚¢‚Ü‚·</ProgressText>
  
! <ProgressText Action="PublishProduct" Template="">»•iî•ñ‚ðŒöŠJ‚µ‚Ä‚¢‚Ü‚·</ProgressText>
  
! <ProgressText Action="RegisterClassInfo" Template="ƒNƒ‰ƒX ID: [1]">ƒNƒ‰ƒX ƒT[ƒo[‚ð“o˜^‚µ‚Ä‚¢‚Ü‚·</ProgressText>
  
! <ProgressText Action="RegisterComPlus" Template="AppId : [1]{{, AppType : [2], Users : [3], RSN : [4]}}">COM+ ƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚ÆƒRƒ“ƒ|[ƒlƒ“ƒg‚ð“o˜^‚µ‚Ä‚¢‚Ü‚·</ProgressText>
  
! <ProgressText Action="RegisterExtensionInfo" Template="ƒGƒNƒXƒeƒ“ƒVƒ‡ƒ“: [1]">ƒGƒNƒXƒeƒ“ƒVƒ‡ƒ“ ƒT[ƒo[‚ð“o˜^‚µ‚Ä‚¢‚Ü‚·</ProgressText>
  
! <ProgressText Action="RegisterFonts" Template="ƒtƒHƒ“ƒg: [1]">ƒtƒHƒ“ƒg‚ð“o˜^‚µ‚Ä‚¢‚Ü‚·</ProgressText>
  
! <ProgressText Action="RegisterMIMEInfo" Template="MIME ƒRƒ“ƒeƒ“ƒg ƒ^ƒCƒv: [1]AƒGƒNƒXƒeƒ“ƒVƒ‡ƒ“: [2]">MIME î•ñ‚ð“o˜^‚µ‚Ä‚¢‚Ü‚·</ProgressText>
  
! <ProgressText Action="RegisterProduct" Template="[1]">»•i‚ð“o˜^‚µ‚Ä‚¢‚Ü‚·</ProgressText>
  
! <ProgressText Action="RegisterProgIdInfo" Template="ƒvƒƒOƒ‰ƒ€ ID: [1]">ƒvƒƒOƒ‰ƒ€Ž¯•ÊŽq‚ð“o˜^‚µ‚Ä‚¢‚Ü‚·</ProgressText>
  
! <ProgressText Action="RegisterTypeLibraries" Template="ƒ‰ƒCƒuƒ‰ƒŠ ID: [1]">Ží—Þ‚Ìƒ‰ƒCƒuƒ‰ƒŠ‚ð“o˜^‚µ‚Ä‚¢‚Ü‚·</ProgressText>
  
! <ProgressText Action="RegisterUser" Template="[1]">ƒ†[ƒU[‚ð“o˜^‚µ‚Ä‚¢‚Ü‚·</ProgressText>
  
! <ProgressText Action="RemoveDuplicateFiles" Template="ƒtƒ@ƒCƒ‹: [1]A ƒfƒBƒŒƒNƒgƒŠ: [9]">d•¡‚µ‚Ä‚¢‚éƒtƒ@ƒCƒ‹‚ðíœ‚µ‚Ä‚¢‚Ü‚·</ProgressText>
  
! <ProgressText Action="RemoveEnvironmentStrings" Template="–¼‘O: [1]A’l: [2]A‘€ì [3]">ŠÂ‹«ƒXƒgƒŠƒ“ƒO‚ðXV‚µ‚Ä‚¢‚Ü‚·</ProgressText>
  
! <ProgressText Action="RemoveExistingProducts" Template="ƒAƒvƒŠƒP[ƒVƒ‡ƒ“ : [1], ƒRƒ}ƒ“ƒh ƒ‰ƒCƒ“ : [2]">ƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚ðíœ‚µ‚Ä‚¢‚Ü‚·</ProgressText>
  
! <ProgressText Action="RemoveFiles" Template="ƒtƒ@ƒCƒ‹: [1]A ƒfƒBƒŒƒNƒgƒŠ: [9]">ƒtƒ@ƒCƒ‹‚ðíœ‚µ‚Ä‚¢‚Ü‚·</ProgressText>
  
! <ProgressText Action="RemoveFolders" Template="ƒtƒHƒ‹ƒ_: [1]">ƒtƒHƒ‹ƒ_‚ðíœ‚µ‚Ä‚¢‚Ü‚·</ProgressText>
  
! <ProgressText Action="RemoveIniValues" Template="ƒtƒ@ƒCƒ‹: [1]AƒZƒNƒVƒ‡ƒ“: [2]AƒL[: [3]A’l: [4]">INI ƒtƒ@ƒCƒ‹‚ÌƒGƒ“ƒgƒŠ‚ðíœ‚µ‚Ä‚¢‚Ü‚·</ProgressText>
  
! <ProgressText Action="RemoveODBC" Template="">ODBC ƒRƒ“ƒ|[ƒlƒ“ƒg‚ðíœ‚µ‚Ä‚¢‚Ü‚·</ProgressText>
  
! <ProgressText Action="RemoveRegistryValues" Template="ƒL[: [1]A–¼‘O: [2]">ƒVƒXƒeƒ€ ƒŒƒWƒXƒgƒŠ‚Ì’l‚ðíœ‚µ‚Ä‚¢‚Ü‚·</ProgressText>
  
! <ProgressText Action="RemoveShortcuts" Template="ƒVƒ‡[ƒgƒJƒbƒg: [1]">ƒVƒ‡[ƒgƒJƒbƒg‚ðíœ‚µ‚Ä‚¢‚Ü‚·</ProgressText>
  
! <ProgressText Action="RMCCPSearch" Template="">ðŒ‚É‡‚¤»•i‚ðŒŸõ‚µ‚Ä‚¢‚Ü‚·</ProgressText>
  
! <ProgressText Action="Rollback" Template="[1]">‘€ì‚ðŒ³‚É–ß‚µ‚Ä‚¢‚Ü‚·:</ProgressText>
  
! <ProgressText Action="RollbackCleanup" Template="ƒtƒ@ƒCƒ‹: [1]">ƒoƒbƒNƒAƒbƒv ƒtƒ@ƒCƒ‹‚ðíœ‚µ‚Ä‚¢‚Ü‚·</ProgressText>
  
! <ProgressText Action="SelfRegModules" Template="ƒtƒ@ƒCƒ‹: [1]AƒtƒHƒ‹ƒ_: [2]">ƒ‚ƒWƒ…[ƒ‹‚ð“o˜^‚µ‚Ä‚¢‚Ü‚·</ProgressText>
  
! <ProgressText Action="SelfUnregModules" Template="ƒtƒ@ƒCƒ‹: [1]AƒtƒHƒ‹ƒ_: [2]">ƒ‚ƒWƒ…[ƒ‹‚Ì“o˜^‚ð‰ðœ‚µ‚Ä‚¢‚Ü‚·</ProgressText>
  
! <ProgressText Action="SetODBCFolders" Template="">ODBC ƒfƒBƒŒƒNƒgƒŠ‚ð‰Šú‰»‚µ‚Ä‚¢‚Ü‚·</ProgressText>
  
! <ProgressText Action="StartServices" Template="ƒT[ƒrƒX: [1]">ƒT[ƒrƒX‚ðŠJŽn‚µ‚Ä‚¢‚Ü‚·</ProgressText>
  
! <ProgressText Action="StopServices" Template="ƒT[ƒrƒX: [1]">ƒT[ƒrƒX‚ð’âŽ~‚µ‚Ä‚¢‚Ü‚·</ProgressText>
  
! <ProgressText Action="UnmoveFiles" Template="ƒtƒ@ƒCƒ‹: [1]A ƒfƒBƒŒƒNƒgƒŠ: [9]">ˆÚ“®‚µ‚½ƒtƒ@ƒCƒ‹‚ðíœ‚µ‚Ä‚¢‚Ü‚·</ProgressText>
  
! <ProgressText Action="UnpublishComponents" Template="ƒRƒ“ƒ|[ƒlƒ“ƒg ID: [1]ACüŽq: [2]">ðŒ‚É‡‚¤ƒRƒ“ƒ|[ƒlƒ“ƒg‚ð”ñŒöŠJ‚É‚µ‚Ä‚¢‚Ü‚·</ProgressText>
  
! <ProgressText Action="UnpublishFeatures" Template="‹@”\: [1]">»•i‹@”\‚ð”ñŒöŠJ‚É‚µ‚Ä‚¢‚Ü‚·</ProgressText>
  
! <ProgressText Action="UnpublishProduct" Template="">»•iî•ñ‚ð”ñŒöŠJ‚É‚µ‚Ä‚¢‚Ü‚·</ProgressText>
  
! <ProgressText Action="UnregisterClassInfo" Template="ƒNƒ‰ƒX ID: [1]">ƒNƒ‰ƒX ƒT[ƒo[‚Ì“o˜^‚ð‰ðœ‚µ‚Ä‚¢‚Ü‚·</ProgressText>
  
! <ProgressText Action="UnregisterComPlus" Template="AppId : [1]{{, AppType : [2]}}">COM+ ƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚ÆƒRƒ“ƒ|[ƒlƒ“ƒg‚Ì“o˜^‚ð‰ðœ‚µ‚Ä‚¢‚Ü‚·</ProgressText>
  
! <ProgressText Action="UnregisterExtensionInfo" Template="ƒGƒNƒXƒeƒ“ƒVƒ‡ƒ“: [1]">ƒGƒNƒXƒeƒ“ƒVƒ‡ƒ“ ƒT[ƒo[‚Ì“o˜^‚ð‰ðœ‚µ‚Ä‚¢‚Ü‚·</ProgressText>
  
! <ProgressText Action="UnregisterFonts" Template="ƒtƒHƒ“ƒg: [1]">ƒtƒHƒ“ƒg‚Ì“o˜^‚ð‰ðœ‚µ‚Ä‚¢‚Ü‚·</ProgressText>
  
! <ProgressText Action="UnregisterMIMEInfo" Template="MIME ƒRƒ“ƒeƒ“ƒg ƒ^ƒCƒv: [1]AƒGƒNƒXƒeƒ“ƒVƒ‡ƒ“: [2]">MIME î•ñ‚Ì“o˜^‚ð‰ðœ‚µ‚Ä‚¢‚Ü‚·</ProgressText>
  
! <ProgressText Action="UnregisterProgIdInfo" Template="ƒvƒƒOƒ‰ƒ€ ID: [1]">ƒvƒƒOƒ‰ƒ€Ž¯•ÊŽq‚Ì“o˜^‚ð‰ðœ‚µ‚Ä‚¢‚Ü‚·</ProgressText>
  
! <ProgressText Action="UnregisterTypeLibraries" Template="ƒ‰ƒCƒuƒ‰ƒŠ ID: [1]">Ží—Þ‚Ìƒ‰ƒCƒuƒ‰ƒŠ‚Ì“o˜^‚ð‰ðœ‚µ‚Ä‚¢‚Ü‚·</ProgressText>
  
! <ProgressText Action="WriteEnvironmentStrings" Template="–¼‘O: [1]A’l: [2]A‘€ì [3]">ŠÂ‹«ƒXƒgƒŠƒ“ƒO‚ðXV‚µ‚Ä‚¢‚Ü‚·</ProgressText>
  
! <ProgressText Action="WriteIniValues" Template="ƒtƒ@ƒCƒ‹: [1]AƒZƒNƒVƒ‡ƒ“: [2]AƒL[: [3]A’l: [4]">INI ƒtƒ@ƒCƒ‹‚É’l‚ð‘‚«ž‚ñ‚Å‚¢‚Ü‚·</ProgressText>
  
! <ProgressText Action="WriteRegistryValues" Template="ƒL[: [1]A –¼‘O: [2]A ’l: [3]">Œã‚ÅŽg—p‚·‚é‚½‚ß‚ÉƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚ðÝ’è‚µ‚Ä‚¢‚Ü‚·</ProgressText>
  
  </Include>
--- 1,143 ----
  <Include>
  
! <ProgressText Action="Advertise">Å’Ã£â€šÃ…Å½gâ€”pâ€šÂ·â€šÃ©â€šÂ½â€šÃŸâ€šÃ‰Æ’AÆ’vÆ’Å Æ’PÂ[Æ’VÆ’â€¡Æ’â€œâ€šÃ°ÂÃâ€™Ã¨â€šÂµâ€šÃ„â€šÂ¢â€šÃœâ€šÂ·</ProgressText>
  
! <ProgressText Action="AllocateRegistrySpace" Template="â€¹Ã³â€šÂ«â€”ÃŒË†Ã¦: [1]">Æ’Å’Æ’WÆ’XÆ’gÆ’Å â€”ÃŒË†Ã¦â€šÃ°Å â€žâ€šÃ¨â€œâ€“â€šÃ„â€šÃ„â€šÂ¢â€šÃœâ€šÂ·</ProgressText>
  
! <ProgressText Action="AppSearch" Template="Æ’vÆ’ÂÆ’pÆ’eÆ’B: [1]ÂA ÂÂâ€“Â¼: [2]">Æ’CÆ’â€œÆ’XÆ’gÂ[Æ’â€¹â€šÂ³â€šÃªâ€šÃ„â€šÂ¢â€šÃ©Æ’AÆ’vÆ’Å Æ’PÂ[Æ’VÆ’â€¡Æ’â€œâ€šÃ°Å’Å¸ÂÃµâ€šÂµâ€šÃ„â€šÂ¢â€šÃœâ€šÂ·</ProgressText>
  
! <ProgressText Action="BindImage" Template="Æ’tÆ’@Æ’CÆ’â€¹: [1]">Å½Ã€ÂsÆ’tÆ’@Æ’CÆ’â€¹â€šÃ°Æ’oÆ’CÆ’â€œÆ’hâ€šÂµâ€šÃ„â€šÂ¢â€šÃœâ€šÂ·</ProgressText>
  
! <ProgressText Action="CCPSearch">ÂÃ°Å’Ââ€šÃ‰Ââ€¡â€šÂ¤ÂÂ»â€¢iâ€šÃ°Å’Å¸ÂÃµâ€šÂµâ€šÃ„â€šÂ¢â€šÃœâ€šÂ·</ProgressText>
  
! <ProgressText Action="CostFinalize">â€¢Kâ€”vâ€šÃˆâ€”ÃŒË†Ã¦â€šÃ°Å’vÅ½Zâ€šÂµâ€šÃ„â€šÂ¢â€šÃœâ€šÂ·</ProgressText>
  
! <ProgressText Action="CostInitialize">â€¢Kâ€”vâ€šÃˆâ€”ÃŒË†Ã¦â€šÃ°Å’vÅ½Zâ€šÂµâ€šÃ„â€šÂ¢â€šÃœâ€šÂ·</ProgressText>
  
! <ProgressText Action="CreateFolders" Template="Æ’tÆ’HÆ’â€¹Æ’_: [1]">Æ’tÆ’HÆ’â€¹Æ’_â€šÃ°ÂÃ¬ÂÂ¬â€šÂµâ€šÃ„â€šÂ¢â€šÃœâ€šÂ·</ProgressText>
  
! <ProgressText Action="CreateShortcuts" Template="Æ’VÆ’â€¡Â[Æ’gÆ’JÆ’bÆ’g: [1]">Æ’VÆ’â€¡Â[Æ’gÆ’JÆ’bÆ’gâ€šÃ°ÂÃ¬ÂÂ¬â€šÂµâ€šÃ„â€šÂ¢â€šÃœâ€šÂ·</ProgressText>
  
! <ProgressText Action="DeleteServices" Template="Æ’TÂ[Æ’rÆ’X: [1]">Æ’TÂ[Æ’rÆ’Xâ€šÃ°ÂÃ­ÂÅ“â€šÂµâ€šÃ„â€šÂ¢â€šÃœâ€šÂ·</ProgressText>
  
! <ProgressText Action="DuplicateFiles" Template="Æ’tÆ’@Æ’CÆ’â€¹: [1]ÂA  Æ’fÆ’BÆ’Å’Æ’NÆ’gÆ’Å : [9]ÂA  Æ’TÆ’CÆ’Y: [6]">Âdâ€¢Â¡â€šÂµâ€šÃ„â€šÂ¢â€šÃ©Æ’tÆ’@Æ’CÆ’â€¹â€šÃ°ÂÃ¬ÂÂ¬â€šÂµâ€šÃ„â€šÂ¢â€šÃœâ€šÂ·</ProgressText>
  
! <ProgressText Action="FileCost">â€¢Kâ€”vâ€šÃˆâ€”ÃŒË†Ã¦â€šÃ°Å’vÅ½Zâ€šÂµâ€šÃ„â€šÂ¢â€šÃœâ€šÂ·</ProgressText>
  
! <ProgressText Action="FindRelatedProducts" Template="Å’Â©â€šÃ‚â€šÂ©â€šÃâ€šÂ½Æ’AÆ’vÆ’Å Æ’PÂ[Æ’VÆ’â€¡Æ’â€œ : [1]">Å Ã–ËœAâ€šÃŒÆ’AÆ’vÆ’Å Æ’PÂ[Æ’VÆ’â€¡Æ’â€œâ€šÃ°Å’Å¸ÂÃµâ€šÂµâ€šÃ„â€šÂ¢â€šÃœâ€šÂ·</ProgressText>
  
! <ProgressText Action="GenerateScript" Template="[1]">â€˜â‚¬ÂÃ¬â€šÃŒâ€šÂ½â€šÃŸâ€šÃŒÆ’XÆ’NÆ’Å Æ’vÆ’gâ€˜â‚¬ÂÃ¬â€šÃ°ÂÃ¬ÂÂ¬â€šÂµâ€šÃ„â€šÂ¢â€šÃœâ€šÂ·:</ProgressText>
  
! <ProgressText Action="InstallAdminPackage" Template="Æ’tÆ’@Æ’CÆ’â€¹: [1]ÂA Æ’fÆ’BÆ’Å’Æ’NÆ’gÆ’Å : [9]ÂA Æ’TÆ’CÆ’Y: [6]">Æ’lÆ’bÆ’gÆ’ÂÂ[Æ’N Æ’CÆ’â€œÆ’XÆ’gÂ[Æ’â€¹ Æ’tÆ’@Æ’CÆ’â€¹â€šÃ°Æ’RÆ’sÂ[â€šÂµâ€šÃ„â€šÂ¢â€šÃœâ€šÂ·</ProgressText>
  
! <ProgressText Action="InstallFiles" Template="Æ’tÆ’@Æ’CÆ’â€¹: [1]ÂA  Æ’fÆ’BÆ’Å’Æ’NÆ’gÆ’Å : [9]ÂA  Æ’TÆ’CÆ’Y: [6]">ÂVâ€šÂµâ€šÂ¢Æ’tÆ’@Æ’CÆ’â€¹â€šÃ°Æ’RÆ’sÂ[â€šÂµâ€šÃ„â€šÂ¢â€šÃœâ€šÂ·</ProgressText>
  
! <ProgressText Action="InstallODBC">ODBC Æ’RÆ’â€œÆ’|Â[Æ’lÆ’â€œÆ’gâ€šÃ°Æ’CÆ’â€œÆ’XÆ’gÂ[Æ’â€¹â€šÂµâ€šÃ„â€šÂ¢â€šÃœâ€šÂ·</ProgressText>
  
! <ProgressText Action="InstallServices" Template="Æ’TÂ[Æ’rÆ’X: [2]">ÂVâ€šÂµâ€šÂ¢Æ’TÂ[Æ’rÆ’Xâ€šÃ°Æ’CÆ’â€œÆ’XÆ’gÂ[Æ’â€¹â€šÂµâ€šÃ„â€šÂ¢â€šÃœâ€šÂ·</ProgressText>
  
! <ProgressText Action="InstallSFPCatalogFile" Template="Æ’tÆ’@Æ’CÆ’â€¹: [1],  Ë†Ã‹â€˜Â¶Å Ã–Å’W: [2]">Æ’VÆ’XÆ’eÆ’â‚¬ Æ’JÆ’^Æ’ÂÆ’Oâ€šÃ°Æ’CÆ’â€œÆ’XÆ’gÂ[Æ’â€¹â€šÂµâ€šÃ„â€šÂ¢â€šÃœâ€šÂ·</ProgressText>
  
! <ProgressText Action="InstallValidate">Æ’CÆ’â€œÆ’XÆ’gÂ[Æ’â€¹â€šÃ°Å’Å¸ÂÃ˜â€šÂµâ€šÃ„â€šÂ¢â€šÃœâ€šÂ·</ProgressText>
  
! <ProgressText Action="LaunchConditions">â€¹Nâ€œÂ®ÂÃ³â€˜Ã”â€šÃ°Å’Å¸ÂÃ˜â€šÂµâ€šÃ„â€šÂ¢â€šÃœâ€šÂ·</ProgressText>
  
! <ProgressText Action="MigrateFeatureStates" Template="Æ’AÆ’vÆ’Å Æ’PÂ[Æ’VÆ’â€¡Æ’â€œ : [1]">Å Ã–ËœAâ€šÃŒÆ’AÆ’vÆ’Å Æ’PÂ[Æ’VÆ’â€¡Æ’â€œâ€šÂ©â€šÃ§â€¹@â€\â€šÃŒÂÃ³â€˜Ã”â€šÃ°Ë†ÃšÂsâ€šÂµâ€šÃ„â€šÂ¢â€šÃœâ€šÂ·</ProgressText>
  
! <ProgressText Action="MoveFiles" Template="Æ’tÆ’@Æ’CÆ’â€¹: [1]ÂA  Æ’fÆ’BÆ’Å’Æ’NÆ’gÆ’Å : [9]ÂA  Æ’TÆ’CÆ’Y: [6]">Æ’tÆ’@Æ’CÆ’â€¹â€šÃ°Ë†Ãšâ€œÂ®â€šÂµâ€šÃ„â€šÂ¢â€šÃœâ€šÂ·</ProgressText>
  
! <ProgressText Action="MsiPublishAssemblies" Template="Æ’AÆ’vÆ’Å Æ’PÂ[Æ’VÆ’â€¡Æ’â€œ Æ’RÆ’â€œÆ’eÆ’LÆ’XÆ’g:[1], Æ’AÆ’ZÆ’â€œÆ’uÆ’Å â€“Â¼:[2]">Æ’AÆ’ZÆ’â€œÆ’uÆ’Å ÂÃ®â€¢Ã±â€šÃ°Å’Ã¶Å Jâ€šÂµâ€šÃ„â€šÂ¢â€šÃœâ€šÂ·</ProgressText>
  
! <ProgressText Action="MsiUnpublishAssemblies" Template="Æ’AÆ’vÆ’Å Æ’PÂ[Æ’VÆ’â€¡Æ’â€œ Æ’RÆ’â€œÆ’eÆ’LÆ’XÆ’g:[1], Æ’AÆ’ZÆ’â€œÆ’uÆ’Å â€“Â¼:[2]">Æ’AÆ’ZÆ’â€œÆ’uÆ’Å ÂÃ®â€¢Ã±â€šÃ°â€Ã±Å’Ã¶Å Jâ€šÃ‰â€šÂµâ€šÃ„â€šÂ¢â€šÃœâ€šÂ·</ProgressText>
  
! <ProgressText Action="PatchFiles" Template="Æ’tÆ’@Æ’CÆ’â€¹: [1]ÂA  Æ’fÆ’BÆ’Å’Æ’NÆ’gÆ’Å : [2]ÂA  Æ’TÆ’CÆ’Y: [3]">Æ’tÆ’@Æ’CÆ’â€¹â€šÃ°ÂCÂÂ³â€šÂµâ€šÃ„â€šÂ¢â€šÃœâ€šÂ·</ProgressText>
  
! <ProgressText Action="ProcessComponents">Æ’RÆ’â€œÆ’|Â[Æ’lÆ’â€œÆ’gâ€šÃŒâ€œoËœ^â€šÃ°ÂXÂVâ€šÂµâ€šÃ„â€šÂ¢â€šÃœâ€šÂ·</ProgressText>
  
! <ProgressText Action="PublishComponents" Template="Æ’RÆ’â€œÆ’|Â[Æ’lÆ’â€œÆ’g ID: [1]ÂAÂCÂÃ¼Å½q: [2]">ÂÃ°Å’Ââ€šÃ‰Ââ€¡â€šÂ¤Æ’RÆ’â€œÆ’|Â[Æ’lÆ’â€œÆ’gâ€šÃ°Å’Ã¶Å Jâ€šÂµâ€šÃ„â€šÂ¢â€šÃœâ€šÂ·</ProgressText>
  
! <ProgressText Action="PublishFeatures" Template="â€¹@â€\: [1]">ÂÂ»â€¢iâ€¹@â€\â€šÃ°Å’Ã¶Å Jâ€šÂµâ€šÃ„â€šÂ¢â€šÃœâ€šÂ·</ProgressText>
  
! <ProgressText Action="PublishProduct">ÂÂ»â€¢iÂÃ®â€¢Ã±â€šÃ°Å’Ã¶Å Jâ€šÂµâ€šÃ„â€šÂ¢â€šÃœâ€šÂ·</ProgressText>
  
! <ProgressText Action="RegisterClassInfo" Template="Æ’NÆ’â€°Æ’X ID: [1]">Æ’NÆ’â€°Æ’X Æ’TÂ[Æ’oÂ[â€šÃ°â€œoËœ^â€šÂµâ€šÃ„â€šÂ¢â€šÃœâ€šÂ·</ProgressText>
  
! <ProgressText Action="RegisterComPlus" Template="AppId : [1]{{, AppType : [2], Users : [3], RSN : [4]}}">COM+ Æ’AÆ’vÆ’Å Æ’PÂ[Æ’VÆ’â€¡Æ’â€œâ€šÃ†Æ’RÆ’â€œÆ’|Â[Æ’lÆ’â€œÆ’gâ€šÃ°â€œoËœ^â€šÂµâ€šÃ„â€šÂ¢â€šÃœâ€šÂ·</ProgressText>
  
! <ProgressText Action="RegisterExtensionInfo" Template="Æ’GÆ’NÆ’XÆ’eÆ’â€œÆ’VÆ’â€¡Æ’â€œ: [1]">Æ’GÆ’NÆ’XÆ’eÆ’â€œÆ’VÆ’â€¡Æ’â€œ Æ’TÂ[Æ’oÂ[â€šÃ°â€œoËœ^â€šÂµâ€šÃ„â€šÂ¢â€šÃœâ€šÂ·</ProgressText>
  
! <ProgressText Action="RegisterFonts" Template="Æ’tÆ’HÆ’â€œÆ’g: [1]">Æ’tÆ’HÆ’â€œÆ’gâ€šÃ°â€œoËœ^â€šÂµâ€šÃ„â€šÂ¢â€šÃœâ€šÂ·</ProgressText>
  
! <ProgressText Action="RegisterMIMEInfo" Template="MIME Æ’RÆ’â€œÆ’eÆ’â€œÆ’g Æ’^Æ’CÆ’v: [1]ÂAÆ’GÆ’NÆ’XÆ’eÆ’â€œÆ’VÆ’â€¡Æ’â€œ: [2]">MIME ÂÃ®â€¢Ã±â€šÃ°â€œoËœ^â€šÂµâ€šÃ„â€šÂ¢â€šÃœâ€šÂ·</ProgressText>
  
! <ProgressText Action="RegisterProduct" Template="[1]">ÂÂ»â€¢iâ€šÃ°â€œoËœ^â€šÂµâ€šÃ„â€šÂ¢â€šÃœâ€šÂ·</ProgressText>
  
! <ProgressText Action="RegisterProgIdInfo" Template="Æ’vÆ’ÂÆ’OÆ’â€°Æ’â‚¬ ID: [1]">Æ’vÆ’ÂÆ’OÆ’â€°Æ’â‚¬Å½Â¯â€¢ÃŠÅ½qâ€šÃ°â€œoËœ^â€šÂµâ€šÃ„â€šÂ¢â€šÃœâ€šÂ·</ProgressText>
  
! <ProgressText Action="RegisterTypeLibraries" Template="Æ’â€°Æ’CÆ’uÆ’â€°Æ’Å  ID: [1]">Å½Ã­â€”Ãžâ€šÃŒÆ’â€°Æ’CÆ’uÆ’â€°Æ’Å â€šÃ°â€œoËœ^â€šÂµâ€šÃ„â€šÂ¢â€šÃœâ€šÂ·</ProgressText>
  
! <ProgressText Action="RegisterUser" Template="[1]">Æ’â€ Â[Æ’UÂ[â€šÃ°â€œoËœ^â€šÂµâ€šÃ„â€šÂ¢â€šÃœâ€šÂ·</ProgressText>
  
! <ProgressText Action="RemoveDuplicateFiles" Template="Æ’tÆ’@Æ’CÆ’â€¹: [1]ÂA Æ’fÆ’BÆ’Å’Æ’NÆ’gÆ’Å : [9]">Âdâ€¢Â¡â€šÂµâ€šÃ„â€šÂ¢â€šÃ©Æ’tÆ’@Æ’CÆ’â€¹â€šÃ°ÂÃ­ÂÅ“â€šÂµâ€šÃ„â€šÂ¢â€šÃœâ€šÂ·</ProgressText>
  
! <ProgressText Action="RemoveEnvironmentStrings" Template="â€“Â¼â€˜O: [1]ÂAâ€™l: [2]ÂAâ€˜â‚¬ÂÃ¬ [3]">Å Ã‚â€¹Â«Æ’XÆ’gÆ’Å Æ’â€œÆ’Oâ€šÃ°ÂXÂVâ€šÂµâ€šÃ„â€šÂ¢â€šÃœâ€šÂ·</ProgressText>
  
! <ProgressText Action="RemoveExistingProducts" Template="Æ’AÆ’vÆ’Å Æ’PÂ[Æ’VÆ’â€¡Æ’â€œ : [1], Æ’RÆ’}Æ’â€œÆ’h Æ’â€°Æ’CÆ’â€œ : [2]">Æ’AÆ’vÆ’Å Æ’PÂ[Æ’VÆ’â€¡Æ’â€œâ€šÃ°ÂÃ­ÂÅ“â€šÂµâ€šÃ„â€šÂ¢â€šÃœâ€šÂ·</ProgressText>
  
! <ProgressText Action="RemoveFiles" Template="Æ’tÆ’@Æ’CÆ’â€¹: [1]ÂA Æ’fÆ’BÆ’Å’Æ’NÆ’gÆ’Å : [9]">Æ’tÆ’@Æ’CÆ’â€¹â€šÃ°ÂÃ­ÂÅ“â€šÂµâ€šÃ„â€šÂ¢â€šÃœâ€šÂ·</ProgressText>
  
! <ProgressText Action="RemoveFolders" Template="Æ’tÆ’HÆ’â€¹Æ’_: [1]">Æ’tÆ’HÆ’â€¹Æ’_â€šÃ°ÂÃ­ÂÅ“â€šÂµâ€šÃ„â€šÂ¢â€šÃœâ€šÂ·</ProgressText>
  
! <ProgressText Action="RemoveIniValues" Template="Æ’tÆ’@Æ’CÆ’â€¹: [1]ÂAÆ’ZÆ’NÆ’VÆ’â€¡Æ’â€œ: [2]ÂAÆ’LÂ[: [3]ÂAâ€™l: [4]">INI Æ’tÆ’@Æ’CÆ’â€¹â€šÃŒÆ’GÆ’â€œÆ’gÆ’Å â€šÃ°ÂÃ­ÂÅ“â€šÂµâ€šÃ„â€šÂ¢â€šÃœâ€šÂ·</ProgressText>
  
! <ProgressText Action="RemoveODBC">ODBC Æ’RÆ’â€œÆ’|Â[Æ’lÆ’â€œÆ’gâ€šÃ°ÂÃ­ÂÅ“â€šÂµâ€šÃ„â€šÂ¢â€šÃœâ€šÂ·</ProgressText>
  
! <ProgressText Action="RemoveRegistryValues" Template="Æ’LÂ[: [1]ÂAâ€“Â¼â€˜O: [2]">Æ’VÆ’XÆ’eÆ’â‚¬ Æ’Å’Æ’WÆ’XÆ’gÆ’Å â€šÃŒâ€™lâ€šÃ°ÂÃ­ÂÅ“â€šÂµâ€šÃ„â€šÂ¢â€šÃœâ€šÂ·</ProgressText>
  
! <ProgressText Action="RemoveShortcuts" Template="Æ’VÆ’â€¡Â[Æ’gÆ’JÆ’bÆ’g: [1]">Æ’VÆ’â€¡Â[Æ’gÆ’JÆ’bÆ’gâ€šÃ°ÂÃ­ÂÅ“â€šÂµâ€šÃ„â€šÂ¢â€šÃœâ€šÂ·</ProgressText>
  
! <ProgressText Action="RMCCPSearch">ÂÃ°Å’Ââ€šÃ‰Ââ€¡â€šÂ¤ÂÂ»â€¢iâ€šÃ°Å’Å¸ÂÃµâ€šÂµâ€šÃ„â€šÂ¢â€šÃœâ€šÂ·</ProgressText>
  
! <ProgressText Action="Rollback" Template="[1]">â€˜â‚¬ÂÃ¬â€šÃ°Å’Â³â€šÃ‰â€“ÃŸâ€šÂµâ€šÃ„â€šÂ¢â€šÃœâ€šÂ·:</ProgressText>
  
! <ProgressText Action="RollbackCleanup" Template="Æ’tÆ’@Æ’CÆ’â€¹: [1]">Æ’oÆ’bÆ’NÆ’AÆ’bÆ’v Æ’tÆ’@Æ’CÆ’â€¹â€šÃ°ÂÃ­ÂÅ“â€šÂµâ€šÃ„â€šÂ¢â€šÃœâ€šÂ·</ProgressText>
  
! <ProgressText Action="SelfRegModules" Template="Æ’tÆ’@Æ’CÆ’â€¹: [1]ÂAÆ’tÆ’HÆ’â€¹Æ’_: [2]">Æ’â€šÆ’WÆ’â€¦Â[Æ’â€¹â€šÃ°â€œoËœ^â€šÂµâ€šÃ„â€šÂ¢â€šÃœâ€šÂ·</ProgressText>
  
! <ProgressText Action="SelfUnregModules" Template="Æ’tÆ’@Æ’CÆ’â€¹: [1]ÂAÆ’tÆ’HÆ’â€¹Æ’_: [2]">Æ’â€šÆ’WÆ’â€¦Â[Æ’â€¹â€šÃŒâ€œoËœ^â€šÃ°â€°Ã°ÂÅ“â€šÂµâ€šÃ„â€šÂ¢â€šÃœâ€šÂ·</ProgressText>
  
! <ProgressText Action="SetODBCFolders">ODBC Æ’fÆ’BÆ’Å’Æ’NÆ’gÆ’Å â€šÃ°Ââ€°Å Ãºâ€°Â»â€šÂµâ€šÃ„â€šÂ¢â€šÃœâ€šÂ·</ProgressText>
  
! <ProgressText Action="StartServices" Template="Æ’TÂ[Æ’rÆ’X: [1]">Æ’TÂ[Æ’rÆ’Xâ€šÃ°Å JÅ½nâ€šÂµâ€šÃ„â€šÂ¢â€šÃœâ€šÂ·</ProgressText>
  
! <ProgressText Action="StopServices" Template="Æ’TÂ[Æ’rÆ’X: [1]">Æ’TÂ[Æ’rÆ’Xâ€šÃ°â€™Ã¢Å½~â€šÂµâ€šÃ„â€šÂ¢â€šÃœâ€šÂ·</ProgressText>
  
! <ProgressText Action="UnmoveFiles" Template="Æ’tÆ’@Æ’CÆ’â€¹: [1]ÂA Æ’fÆ’BÆ’Å’Æ’NÆ’gÆ’Å : [9]">Ë†Ãšâ€œÂ®â€šÂµâ€šÂ½Æ’tÆ’@Æ’CÆ’â€¹â€šÃ°ÂÃ­ÂÅ“â€šÂµâ€šÃ„â€šÂ¢â€šÃœâ€šÂ·</ProgressText>
  
! <ProgressText Action="UnpublishComponents" Template="Æ’RÆ’â€œÆ’|Â[Æ’lÆ’â€œÆ’g ID: [1]ÂAÂCÂÃ¼Å½q: [2]">ÂÃ°Å’Ââ€šÃ‰Ââ€¡â€šÂ¤Æ’RÆ’â€œÆ’|Â[Æ’lÆ’â€œÆ’gâ€šÃ°â€Ã±Å’Ã¶Å Jâ€šÃ‰â€šÂµâ€šÃ„â€šÂ¢â€šÃœâ€šÂ·</ProgressText>
  
! <ProgressText Action="UnpublishFeatures" Template="â€¹@â€\: [1]">ÂÂ»â€¢iâ€¹@â€\â€šÃ°â€Ã±Å’Ã¶Å Jâ€šÃ‰â€šÂµâ€šÃ„â€šÂ¢â€šÃœâ€šÂ·</ProgressText>
  
! <ProgressText Action="UnpublishProduct">ÂÂ»â€¢iÂÃ®â€¢Ã±â€šÃ°â€Ã±Å’Ã¶Å Jâ€šÃ‰â€šÂµâ€šÃ„â€šÂ¢â€šÃœâ€šÂ·</ProgressText>
  
! <ProgressText Action="UnregisterClassInfo" Template="Æ’NÆ’â€°Æ’X ID: [1]">Æ’NÆ’â€°Æ’X Æ’TÂ[Æ’oÂ[â€šÃŒâ€œoËœ^â€šÃ°â€°Ã°ÂÅ“â€šÂµâ€šÃ„â€šÂ¢â€šÃœâ€šÂ·</ProgressText>
  
! <ProgressText Action="UnregisterComPlus" Template="AppId : [1]{{, AppType : [2]}}">COM+ Æ’AÆ’vÆ’Å Æ’PÂ[Æ’VÆ’â€¡Æ’â€œâ€šÃ†Æ’RÆ’â€œÆ’|Â[Æ’lÆ’â€œÆ’gâ€šÃŒâ€œoËœ^â€šÃ°â€°Ã°ÂÅ“â€šÂµâ€šÃ„â€šÂ¢â€šÃœâ€šÂ·</ProgressText>
  
! <ProgressText Action="UnregisterExtensionInfo" Template="Æ’GÆ’NÆ’XÆ’eÆ’â€œÆ’VÆ’â€¡Æ’â€œ: [1]">Æ’GÆ’NÆ’XÆ’eÆ’â€œÆ’VÆ’â€¡Æ’â€œ Æ’TÂ[Æ’oÂ[â€šÃŒâ€œoËœ^â€šÃ°â€°Ã°ÂÅ“â€šÂµâ€šÃ„â€šÂ¢â€šÃœâ€šÂ·</ProgressText>
  
! <ProgressText Action="UnregisterFonts" Template="Æ’tÆ’HÆ’â€œÆ’g: [1]">Æ’tÆ’HÆ’â€œÆ’gâ€šÃŒâ€œoËœ^â€šÃ°â€°Ã°ÂÅ“â€šÂµâ€šÃ„â€šÂ¢â€šÃœâ€šÂ·</ProgressText>
  
! <ProgressText Action="UnregisterMIMEInfo" Template="MIME Æ’RÆ’â€œÆ’eÆ’â€œÆ’g Æ’^Æ’CÆ’v: [1]ÂAÆ’GÆ’NÆ’XÆ’eÆ’â€œÆ’VÆ’â€¡Æ’â€œ: [2]">MIME ÂÃ®â€¢Ã±â€šÃŒâ€œoËœ^â€šÃ°â€°Ã°ÂÅ“â€šÂµâ€šÃ„â€šÂ¢â€šÃœâ€šÂ·</ProgressText>
  
! <ProgressText Action="UnregisterProgIdInfo" Template="Æ’vÆ’ÂÆ’OÆ’â€°Æ’â‚¬ ID: [1]">Æ’vÆ’ÂÆ’OÆ’â€°Æ’â‚¬Å½Â¯â€¢ÃŠÅ½qâ€šÃŒâ€œoËœ^â€šÃ°â€°Ã°ÂÅ“â€šÂµâ€šÃ„â€šÂ¢â€šÃœâ€šÂ·</ProgressText>
  
! <ProgressText Action="UnregisterTypeLibraries" Template="Æ’â€°Æ’CÆ’uÆ’â€°Æ’Å  ID: [1]">Å½Ã­â€”Ãžâ€šÃŒÆ’â€°Æ’CÆ’uÆ’â€°Æ’Å â€šÃŒâ€œoËœ^â€šÃ°â€°Ã°ÂÅ“â€šÂµâ€šÃ„â€šÂ¢â€šÃœâ€šÂ·</ProgressText>
  
! <ProgressText Action="WriteEnvironmentStrings" Template="â€“Â¼â€˜O: [1]ÂAâ€™l: [2]ÂAâ€˜â‚¬ÂÃ¬ [3]">Å Ã‚â€¹Â«Æ’XÆ’gÆ’Å Æ’â€œÆ’Oâ€šÃ°ÂXÂVâ€šÂµâ€šÃ„â€šÂ¢â€šÃœâ€šÂ·</ProgressText>
  
! <ProgressText Action="WriteIniValues" Template="Æ’tÆ’@Æ’CÆ’â€¹: [1]ÂAÆ’ZÆ’NÆ’VÆ’â€¡Æ’â€œ: [2]ÂAÆ’LÂ[: [3]ÂAâ€™l: [4]">INI Æ’tÆ’@Æ’CÆ’â€¹â€šÃ‰â€™lâ€šÃ°Ââ€˜â€šÂ«ÂÅ¾â€šÃ±â€šÃ…â€šÂ¢â€šÃœâ€šÂ·</ProgressText>
  
! <ProgressText Action="WriteRegistryValues" Template="Æ’LÂ[: [1]ÂA â€“Â¼â€˜O: [2]ÂA â€™l: [3]">Å’Ã£â€šÃ…Å½gâ€”pâ€šÂ·â€šÃ©â€šÂ½â€šÃŸâ€šÃ‰Æ’AÆ’vÆ’Å Æ’PÂ[Æ’VÆ’â€¡Æ’â€œâ€šÃ°ÂÃâ€™Ã¨â€šÂµâ€šÃ„â€šÂ¢â€šÃœâ€šÂ·</ProgressText>
  
  </Include>
Index: openafs/src/WINNT/install/wix/lang/ko_KR/ActionText.wxi
diff -c openafs/src/WINNT/install/wix/lang/ko_KR/ActionText.wxi:1.1 openafs/src/WINNT/install/wix/lang/ko_KR/ActionText.wxi:1.1.2.1
*** openafs/src/WINNT/install/wix/lang/ko_KR/ActionText.wxi:1.1	Mon Jun 21 01:21:51 2004
--- openafs/src/WINNT/install/wix/lang/ko_KR/ActionText.wxi	Tue Jul 18 12:10:24 2006
***************
*** 1,143 ****
  <Include>
  
! <ProgressText Action="Advertise" Template="">Ã³À½ »ç¿ë ½Ã ¼³Ä¡ÇÒ ÀÀ¿ë ÇÁ·Î±×·¥</ProgressText>
  
! <ProgressText Action="AllocateRegistrySpace" Template="³²Àº °ø°£: [1]">·¹Áö½ºÆ®¸® °ø°£ ÇÒ´ç Áß</ProgressText>
  
! <ProgressText Action="AppSearch" Template="¼Ó¼º: [1], ¼­¸í: [2]">¼³Ä¡ÇÑ ÀÀ¿ë ÇÁ·Î±×·¥ È®ÀÎ Áß</ProgressText>
  
! <ProgressText Action="BindImage" Template="ÆÄÀÏ: [1]">½ÇÇà ÆÄÀÏÀ» ¹ÙÀÎµùÇÏ´Â Áß</ProgressText>
  
! <ProgressText Action="CCPSearch" Template="">Á¦Ç°À» È®ÀÎÇÏ´Â Áß</ProgressText>
  
! <ProgressText Action="CostFinalize" Template="">ÇÊ¿äÇÑ °ø°£À» È®ÀÎÇÏ´Â Áß</ProgressText>
  
! <ProgressText Action="CostInitialize" Template="">ÇÊ¿äÇÑ °ø°£À» È®ÀÎÇÏ´Â Áß</ProgressText>
  
! <ProgressText Action="CreateFolders" Template="Æú´õ: [1]">Æú´õ ¸¸µå´Â Áß</ProgressText>
  
! <ProgressText Action="CreateShortcuts" Template="¹Ù·Î °¡±â: [1]">¹Ù·Î °¡±â ¸¸µå´Â Áß</ProgressText>
  
! <ProgressText Action="DeleteServices" Template="¼­ºñ½º: [1]">¼­ºñ½º »èÁ¦ Áß</ProgressText>
  
! <ProgressText Action="DuplicateFiles" Template="ÆÄÀÏ: [1],  µð·ºÅÍ¸®: [9],  Å©±â: [6]">Áßº¹ ÆÄÀÏÀ» ¸¸µå´Â Áß</ProgressText>
  
! <ProgressText Action="FileCost" Template="">ÇÊ¿äÇÑ °ø°£À» È®ÀÎÇÏ´Â Áß</ProgressText>
  
! <ProgressText Action="FindRelatedProducts" Template="´ÙÀ½ ÀÀ¿ë ÇÁ·Î±×·¥À» Ã£¾Ò½À´Ï´Ù: [1]">°ü·Ã ÀÀ¿ë ÇÁ·Î±×·¥À» °Ë»öÇÏ´Â Áß</ProgressText>
  
! <ProgressText Action="GenerateScript" Template="[1]">¼öÇàÇÒ ½ºÅ©¸³Æ® ÀÛ¾÷À» »ý¼ºÇÏ´Â Áß:</ProgressText>
  
! <ProgressText Action="InstallAdminPackage" Template="ÆÄÀÏ: [1], µð·ºÅÍ¸®: [9], Å©±â: [6]">³×Æ®¿öÅ© ¼³Ä¡ ÆÄÀÏÀ» º¹»çÇÏ´Â Áß</ProgressText>
  
! <ProgressText Action="InstallFiles" Template="ÆÄÀÏ: [1],  µð·ºÅÍ¸®: [9],  Å©±â: [6]">»õ ÆÄÀÏÀ» º¹»çÇÏ´Â Áß</ProgressText>
  
! <ProgressText Action="InstallODBC" Template="">ODBC ±¸¼º ¿ä¼Ò ¼³Ä¡ Áß</ProgressText>
  
! <ProgressText Action="InstallServices" Template="¼­ºñ½º: [2]">»õ ¼­ºñ½º ¼³Ä¡ Áß</ProgressText>
  
! <ProgressText Action="InstallSFPCatalogFile" Template="ÆÄÀÏ: [1],  Á¾¼Ó¼º: [2]">½Ã½ºÅÛ Ä«Å»·Î±× ¼³Ä¡ Áß</ProgressText>
  
! <ProgressText Action="InstallValidate" Template="">¼³Ä¡¸¦ À¯È¿È­ÇÏ´Â Áß</ProgressText>
  
! <ProgressText Action="LaunchConditions" Template="">½ÇÇà Á¶°Ç È®ÀÎ Áß</ProgressText>
  
! <ProgressText Action="MigrateFeatureStates" Template="ÀÀ¿ë ÇÁ·Î±×·¥: [1]">°ü·Ã ÀÀ¿ë ÇÁ·Î±×·¥¿¡¼­ ±â´ÉÀ» ÀÌµ¿ÇÏ´Â Áß</ProgressText>
  
! <ProgressText Action="MoveFiles" Template="ÆÄÀÏ: [1],  µð·ºÅÍ¸®: [9],  Å©±â: [6]">ÆÄÀÏÀ» ¿Å±â´Â Áß</ProgressText>
  
! <ProgressText Action="MsiPublishAssemblies" Template="ÀÀ¿ë ÇÁ·Î±×·¥ ÄÁÅØ½ºÆ®:[1], ¾î¼Àºí¸® ÀÌ¸§:[2]">¾î¼Àºí¸® Á¤º¸¸¦ °Ô½ÃÇÏ´Â Áß</ProgressText>
  
! <ProgressText Action="MsiUnpublishAssemblies" Template="ÀÀ¿ë ÇÁ·Î±×·¥ ÄÁÅØ½ºÆ®:[1], ¾î¼Àºí¸® ÀÌ¸§:[2]">¾î¼Àºí¸® Á¤º¸¸¦ °Ô½Ã Ãë¼ÒÇÏ´Â Áß</ProgressText>
  
! <ProgressText Action="PatchFiles" Template="ÆÄÀÏ: [1], µð·ºÅÍ¸®: [2], Å©±â: [3]">ÆÄÀÏ ÆÐÄ¡ Áß</ProgressText>
  
! <ProgressText Action="ProcessComponents" Template="">±¸¼º ¿ä¼Ò µî·ÏÀ» ¾÷µ¥ÀÌÆ®ÇÏ´Â Áß</ProgressText>
  
! <ProgressText Action="PublishComponents" Template="±¸¼º ¿ä¼Ò ID: [1], Á¦ÇÑÀÚ: [2]">ÇØ´ç ±¸¼º ¿ä¼Ò¸¦ °Ô½ÃÇÏ´Â Áß</ProgressText>
  
! <ProgressText Action="PublishFeatures" Template="±â´É: [1]">Á¦Ç° ±â´ÉÀ» °Ô½ÃÇÏ´Â Áß</ProgressText>
  
! <ProgressText Action="PublishProduct" Template="">Á¦Ç° Á¤º¸¸¦ °Ô½ÃÇÏ´Â Áß</ProgressText>
  
! <ProgressText Action="RegisterClassInfo" Template="Class Id: [1]">Class ¼­¹ö¸¦ µî·ÏÇÏ´Â Áß</ProgressText>
  
! <ProgressText Action="RegisterComPlus" Template="AppId: [1]{{, AppType: [2], Users: [3], RSN: [4]}}">COM+ ÀÀ¿ë ÇÁ·Î±×·¥°ú ±¸¼º ¿ä¼Ò¸¦ µî·ÏÇÏ´Â Áß</ProgressText>
  
! <ProgressText Action="RegisterExtensionInfo" Template="ÀÍ½ºÅÙ¼Ç: [1]">ÀÍ½ºÅÙ¼Ç ¼­¹ö¸¦ µî·ÏÇÏ´Â Áß</ProgressText>
  
! <ProgressText Action="RegisterFonts" Template="±Û²Ã: [1]">±Û²ÃÀ» µî·ÏÇÏ´Â Áß</ProgressText>
  
! <ProgressText Action="RegisterMIMEInfo" Template="MIME ÄÁÅÙÆ® À¯Çü: [1], ÀÍ½ºÅÙ¼Ç: [2]">MIME Á¤º¸¸¦ µî·ÏÇÏ´Â Áß</ProgressText>
  
! <ProgressText Action="RegisterProduct" Template="[1]">Á¦Ç°À» µî·ÏÇÏ´Â Áß</ProgressText>
  
! <ProgressText Action="RegisterProgIdInfo" Template="ProgId: [1]">ÇÁ·Î±×·¥ È®ÀÎÀÚ¸¦ µî·ÏÇÏ´Â Áß</ProgressText>
  
! <ProgressText Action="RegisterTypeLibraries" Template="LibID: [1]">Çü½Ä ¶óÀÌºê·¯¸®¸¦ µî·ÏÇÏ´Â Áß</ProgressText>
  
! <ProgressText Action="RegisterUser" Template="[1]">»ç¿ëÀÚ¸¦ µî·ÏÇÏ´Â Áß</ProgressText>
  
! <ProgressText Action="RemoveDuplicateFiles" Template="ÆÄÀÏ: [1], µð·ºÅÍ¸®: [9]">Áßº¹ ÆÄÀÏÀ» Á¦°ÅÇÏ´Â Áß</ProgressText>
  
! <ProgressText Action="RemoveEnvironmentStrings" Template="ÀÌ¸§: [1], °ª: [2], ¼öÇà [3]">È¯°æ ¹®ÀÚ¿­À» ¾÷µ¥ÀÌÆ®ÇÏ´Â Áß</ProgressText>
  
! <ProgressText Action="RemoveExistingProducts" Template="ÀÀ¿ë ÇÁ·Î±×·¥: [1], ¸í·ÉÁÙ: [2]">ÀÀ¿ë ÇÁ·Î±×·¥À» Á¦°ÅÇÏ´Â Áß</ProgressText>
  
! <ProgressText Action="RemoveFiles" Template="ÆÄÀÏ: [1], µð·ºÅÍ¸®: [9]">ÆÄÀÏÀ» Á¦°ÅÇÏ´Â Áß</ProgressText>
  
! <ProgressText Action="RemoveFolders" Template="Æú´õ: [1]">Æú´õ¸¦ Á¦°ÅÇÏ´Â Áß</ProgressText>
  
! <ProgressText Action="RemoveIniValues" Template="Å°: [1],  ¼½¼Ç: [2],  Å°: [3], °ª: [4]">INI ÆÄÀÏ Ç×¸ñÀ» Á¦°ÅÇÏ´Â Áß</ProgressText>
  
! <ProgressText Action="RemoveODBC" Template="">ODBC ±¸¼º ¿ä¼Ò Á¦°ÅÇÏ´Â Áß</ProgressText>
  
! <ProgressText Action="RemoveRegistryValues" Template="Å°: [1], ÀÌ¸§: [2]">½Ã½ºÅÛ ·¹Áö½ºÆ®¸® °ªÀ» Á¦°ÅÇÏ´Â Áß</ProgressText>
  
! <ProgressText Action="RemoveShortcuts" Template="¹Ù·Î °¡±â: [1]">¹Ù·Î °¡±â¸¦ Á¦°ÅÇÏ´Â Áß</ProgressText>
  
! <ProgressText Action="RMCCPSearch" Template="">Á¦Ç°À» È®ÀÎÇÏ´Â Áß</ProgressText>
  
! <ProgressText Action="Rollback" Template="[1]">·Ñ¹éÀ» ¼öÇàÇÏ´Â Áß:</ProgressText>
  
! <ProgressText Action="RollbackCleanup" Template="ÆÄÀÏ: [1]">¹é¾÷ ÆÄÀÏÀ» Á¦°ÅÇÏ´Â Áß</ProgressText>
  
! <ProgressText Action="SelfRegModules" Template="ÆÄÀÏ: [1], Æú´õ: [2]">¸ðµâÀ» µî·ÏÇÏ´Â Áß</ProgressText>
  
! <ProgressText Action="SelfUnregModules" Template="ÆÄÀÏ: [1], Æú´õ: [2]">¸ðµâ µî·ÏÀ» ÇØÁ¦ÇÏ´Â Áß</ProgressText>
  
! <ProgressText Action="SetODBCFolders" Template="">ODBC µð·ºÅÍ¸®¸¦ ÃÊ±âÈ­ÇÏ´Â Áß</ProgressText>
  
! <ProgressText Action="StartServices" Template="¼­ºñ½º: [1]">¼­ºñ½º¸¦ ½ÃÀÛÇÏ´Â Áß</ProgressText>
  
! <ProgressText Action="StopServices" Template="¼­ºñ½º: [1]">¼­ºñ½º¸¦ ÁßÁöÇÏ´Â Áß</ProgressText>
  
! <ProgressText Action="UnmoveFiles" Template="ÆÄÀÏ: [1], µð·ºÅÍ¸®: [9]">ÀÌµ¿ÇÑ ÆÄÀÏÀ» Á¦°ÅÇÏ´Â Áß</ProgressText>
  
! <ProgressText Action="UnpublishComponents" Template="±¸¼º ¿ä¼Ò ID: [1], Á¦ÇÑÀÚ: [2]">ÇØ´ç ±¸¼º ¿ä¼ÒÀÇ °Ô½Ã¸¦ ÇØÁ¦ÇÏ´Â Áß</ProgressText>
  
! <ProgressText Action="UnpublishFeatures" Template="±â´É: [1]">Á¦Ç° ±â´ÉÀÇ µî·ÏÀ» ÇØÁ¦ÇÏ´Â Áß</ProgressText>
  
! <ProgressText Action="UnpublishProduct" Template="">Á¦Ç° Á¤º¸ÀÇ °Ô½Ã¸¦ ÇØÁ¦ÇÏ´Â Áß</ProgressText>
  
! <ProgressText Action="UnregisterClassInfo" Template="Class Id: [1]">Class ¼­¹öÀÇ µî·ÏÀ» ÇØÁ¦ÇÏ´Â Áß</ProgressText>
  
! <ProgressText Action="UnregisterComPlus" Template="AppId: [1]{{, AppType: [2]}}">COM+ ÀÀ¿ë ÇÁ·Î±×·¥°ú ±¸¼º ¿ä¼ÒÀÇ µî·ÏÀ» ÇØÁ¦ÇÏ´Â Áß</ProgressText>
  
! <ProgressText Action="UnregisterExtensionInfo" Template="ÀÍ½ºÅÙ¼Ç: [1]">extension ¼­¹öÀÇ µî·ÏÀ» ÇØÁ¦ÇÏ´Â Áß</ProgressText>
  
! <ProgressText Action="UnregisterFonts" Template="±Û²Ã: [1]">±Û²Ã µî·ÏÀ» ÇØÁ¦ÇÏ´Â Áß</ProgressText>
  
! <ProgressText Action="UnregisterMIMEInfo" Template="MIME ÄÁÅÙÆ® À¯Çü: [1], ÀÍ½ºÅÙ¼Ç: [2]">MIME Á¤º¸ÀÇ µî·ÏÀ» ÇØÁ¦ÇÏ´Â Áß</ProgressText>
  
! <ProgressText Action="UnregisterProgIdInfo" Template="ProgId: [1]">ÇÁ·Î±×·¥ È®ÀÎÀÚÀÇ µî·ÏÀ» ÇØÁ¦ÇÏ´Â Áß</ProgressText>
  
! <ProgressText Action="UnregisterTypeLibraries" Template="LibID: [1]">Çü½Ä ¶óÀÌºê·¯¸®ÀÇ µî·ÏÀ» ÇØÁ¦ÇÏ´Â Áß</ProgressText>
  
! <ProgressText Action="WriteEnvironmentStrings" Template="ÀÌ¸§: [1], °ª: [2], ¼öÇà [3]">È¯°æ ¹®ÀÚ¿­À» ¾÷µ¥ÀÌÆ®ÇÏ´Â Áß</ProgressText>
  
! <ProgressText Action="WriteIniValues" Template="Å°: [1],  ¼½¼Ç: [2],  Å°: [3], °ª: [4]">INI ÆÄÀÏ °ªÀ» ¾²´Â Áß</ProgressText>
  
! <ProgressText Action="WriteRegistryValues" Template="Å°: [1], ÀÌ¸§: [2], °ª: [3]">½Ã½ºÅÛ ·¹Áö½ºÆ®¸® °ªÀ» ¾²´Â Áß</ProgressText>
  
  </Include>
--- 1,143 ----
  <Include>
  
! <ProgressText Action="Advertise">ÃƒÂ³Ã€Â½ Â»Ã§Â¿Ã« Â½Ãƒ Â¼Â³Ã„Â¡Ã‡Ã’ Ã€Ã€Â¿Ã« Ã‡ÃÂ·ÃŽÂ±Ã—Â·Â¥</ProgressText>
  
! <ProgressText Action="AllocateRegistrySpace" Template="Â³Â²Ã€Âº Â°Ã¸Â°Â£: [1]">Â·Â¹ÃÃ¶Â½ÂºÃ†Â®Â¸Â® Â°Ã¸Â°Â£ Ã‡Ã’Â´Ã§ ÃÃŸ</ProgressText>
  
! <ProgressText Action="AppSearch" Template="Â¼Ã“Â¼Âº: [1], Â¼Â­Â¸Ã­: [2]">Â¼Â³Ã„Â¡Ã‡Ã‘ Ã€Ã€Â¿Ã« Ã‡ÃÂ·ÃŽÂ±Ã—Â·Â¥ ÃˆÂ®Ã€ÃŽ ÃÃŸ</ProgressText>
  
! <ProgressText Action="BindImage" Template="Ã†Ã„Ã€Ã: [1]">Â½Ã‡Ã‡Ã  Ã†Ã„Ã€ÃÃ€Â» Â¹Ã™Ã€ÃŽÂµÃ¹Ã‡ÃÂ´Ã‚ ÃÃŸ</ProgressText>
  
! <ProgressText Action="CCPSearch">ÃÂ¦Ã‡Â°Ã€Â» ÃˆÂ®Ã€ÃŽÃ‡ÃÂ´Ã‚ ÃÃŸ</ProgressText>
  
! <ProgressText Action="CostFinalize">Ã‡ÃŠÂ¿Ã¤Ã‡Ã‘ Â°Ã¸Â°Â£Ã€Â» ÃˆÂ®Ã€ÃŽÃ‡ÃÂ´Ã‚ ÃÃŸ</ProgressText>
  
! <ProgressText Action="CostInitialize">Ã‡ÃŠÂ¿Ã¤Ã‡Ã‘ Â°Ã¸Â°Â£Ã€Â» ÃˆÂ®Ã€ÃŽÃ‡ÃÂ´Ã‚ ÃÃŸ</ProgressText>
  
! <ProgressText Action="CreateFolders" Template="Ã†ÃºÂ´Ãµ: [1]">Ã†ÃºÂ´Ãµ Â¸Â¸ÂµÃ¥Â´Ã‚ ÃÃŸ</ProgressText>
  
! <ProgressText Action="CreateShortcuts" Template="Â¹Ã™Â·ÃŽ Â°Â¡Â±Ã¢: [1]">Â¹Ã™Â·ÃŽ Â°Â¡Â±Ã¢ Â¸Â¸ÂµÃ¥Â´Ã‚ ÃÃŸ</ProgressText>
  
! <ProgressText Action="DeleteServices" Template="Â¼Â­ÂºÃ±Â½Âº: [1]">Â¼Â­ÂºÃ±Â½Âº Â»Ã¨ÃÂ¦ ÃÃŸ</ProgressText>
  
! <ProgressText Action="DuplicateFiles" Template="Ã†Ã„Ã€Ã: [1],  ÂµÃ°Â·ÂºÃ…ÃÂ¸Â®: [9],  Ã…Â©Â±Ã¢: [6]">ÃÃŸÂºÂ¹ Ã†Ã„Ã€ÃÃ€Â» Â¸Â¸ÂµÃ¥Â´Ã‚ ÃÃŸ</ProgressText>
  
! <ProgressText Action="FileCost">Ã‡ÃŠÂ¿Ã¤Ã‡Ã‘ Â°Ã¸Â°Â£Ã€Â» ÃˆÂ®Ã€ÃŽÃ‡ÃÂ´Ã‚ ÃÃŸ</ProgressText>
  
! <ProgressText Action="FindRelatedProducts" Template="Â´Ã™Ã€Â½ Ã€Ã€Â¿Ã« Ã‡ÃÂ·ÃŽÂ±Ã—Â·Â¥Ã€Â» ÃƒÂ£Â¾Ã’Â½Ã€Â´ÃÂ´Ã™: [1]">Â°Ã¼Â·Ãƒ Ã€Ã€Â¿Ã« Ã‡ÃÂ·ÃŽÂ±Ã—Â·Â¥Ã€Â» Â°Ã‹Â»Ã¶Ã‡ÃÂ´Ã‚ ÃÃŸ</ProgressText>
  
! <ProgressText Action="GenerateScript" Template="[1]">Â¼Ã¶Ã‡Ã Ã‡Ã’ Â½ÂºÃ…Â©Â¸Â³Ã†Â® Ã€Ã›Â¾Ã·Ã€Â» Â»Ã½Â¼ÂºÃ‡ÃÂ´Ã‚ ÃÃŸ:</ProgressText>
  
! <ProgressText Action="InstallAdminPackage" Template="Ã†Ã„Ã€Ã: [1], ÂµÃ°Â·ÂºÃ…ÃÂ¸Â®: [9], Ã…Â©Â±Ã¢: [6]">Â³Ã—Ã†Â®Â¿Ã¶Ã…Â© Â¼Â³Ã„Â¡ Ã†Ã„Ã€ÃÃ€Â» ÂºÂ¹Â»Ã§Ã‡ÃÂ´Ã‚ ÃÃŸ</ProgressText>
  
! <ProgressText Action="InstallFiles" Template="Ã†Ã„Ã€Ã: [1],  ÂµÃ°Â·ÂºÃ…ÃÂ¸Â®: [9],  Ã…Â©Â±Ã¢: [6]">Â»Ãµ Ã†Ã„Ã€ÃÃ€Â» ÂºÂ¹Â»Ã§Ã‡ÃÂ´Ã‚ ÃÃŸ</ProgressText>
  
! <ProgressText Action="InstallODBC">ODBC Â±Â¸Â¼Âº Â¿Ã¤Â¼Ã’ Â¼Â³Ã„Â¡ ÃÃŸ</ProgressText>
  
! <ProgressText Action="InstallServices" Template="Â¼Â­ÂºÃ±Â½Âº: [2]">Â»Ãµ Â¼Â­ÂºÃ±Â½Âº Â¼Â³Ã„Â¡ ÃÃŸ</ProgressText>
  
! <ProgressText Action="InstallSFPCatalogFile" Template="Ã†Ã„Ã€Ã: [1],  ÃÂ¾Â¼Ã“Â¼Âº: [2]">Â½ÃƒÂ½ÂºÃ…Ã› Ã„Â«Ã…Â»Â·ÃŽÂ±Ã— Â¼Â³Ã„Â¡ ÃÃŸ</ProgressText>
  
! <ProgressText Action="InstallValidate">Â¼Â³Ã„Â¡Â¸Â¦ Ã€Â¯ÃˆÂ¿ÃˆÂ­Ã‡ÃÂ´Ã‚ ÃÃŸ</ProgressText>
  
! <ProgressText Action="LaunchConditions">Â½Ã‡Ã‡Ã  ÃÂ¶Â°Ã‡ ÃˆÂ®Ã€ÃŽ ÃÃŸ</ProgressText>
  
! <ProgressText Action="MigrateFeatureStates" Template="Ã€Ã€Â¿Ã« Ã‡ÃÂ·ÃŽÂ±Ã—Â·Â¥: [1]">Â°Ã¼Â·Ãƒ Ã€Ã€Â¿Ã« Ã‡ÃÂ·ÃŽÂ±Ã—Â·Â¥Â¿Â¡Â¼Â­ Â±Ã¢Â´Ã‰Ã€Â» Ã€ÃŒÂµÂ¿Ã‡ÃÂ´Ã‚ ÃÃŸ</ProgressText>
  
! <ProgressText Action="MoveFiles" Template="Ã†Ã„Ã€Ã: [1],  ÂµÃ°Â·ÂºÃ…ÃÂ¸Â®: [9],  Ã…Â©Â±Ã¢: [6]">Ã†Ã„Ã€ÃÃ€Â» Â¿Ã…Â±Ã¢Â´Ã‚ ÃÃŸ</ProgressText>
  
! <ProgressText Action="MsiPublishAssemblies" Template="Ã€Ã€Â¿Ã« Ã‡ÃÂ·ÃŽÂ±Ã—Â·Â¥ Ã„ÃÃ…Ã˜Â½ÂºÃ†Â®:[1], Â¾Ã®Â¼Ã€ÂºÃ­Â¸Â® Ã€ÃŒÂ¸Â§:[2]">Â¾Ã®Â¼Ã€ÂºÃ­Â¸Â® ÃÂ¤ÂºÂ¸Â¸Â¦ Â°Ã”Â½ÃƒÃ‡ÃÂ´Ã‚ ÃÃŸ</ProgressText>
  
! <ProgressText Action="MsiUnpublishAssemblies" Template="Ã€Ã€Â¿Ã« Ã‡ÃÂ·ÃŽÂ±Ã—Â·Â¥ Ã„ÃÃ…Ã˜Â½ÂºÃ†Â®:[1], Â¾Ã®Â¼Ã€ÂºÃ­Â¸Â® Ã€ÃŒÂ¸Â§:[2]">Â¾Ã®Â¼Ã€ÂºÃ­Â¸Â® ÃÂ¤ÂºÂ¸Â¸Â¦ Â°Ã”Â½Ãƒ ÃƒÃ«Â¼Ã’Ã‡ÃÂ´Ã‚ ÃÃŸ</ProgressText>
  
! <ProgressText Action="PatchFiles" Template="Ã†Ã„Ã€Ã: [1], ÂµÃ°Â·ÂºÃ…ÃÂ¸Â®: [2], Ã…Â©Â±Ã¢: [3]">Ã†Ã„Ã€Ã Ã†ÃÃ„Â¡ ÃÃŸ</ProgressText>
  
! <ProgressText Action="ProcessComponents">Â±Â¸Â¼Âº Â¿Ã¤Â¼Ã’ ÂµÃ®Â·ÃÃ€Â» Â¾Ã·ÂµÂ¥Ã€ÃŒÃ†Â®Ã‡ÃÂ´Ã‚ ÃÃŸ</ProgressText>
  
! <ProgressText Action="PublishComponents" Template="Â±Â¸Â¼Âº Â¿Ã¤Â¼Ã’ ID: [1], ÃÂ¦Ã‡Ã‘Ã€Ãš: [2]">Ã‡Ã˜Â´Ã§ Â±Â¸Â¼Âº Â¿Ã¤Â¼Ã’Â¸Â¦ Â°Ã”Â½ÃƒÃ‡ÃÂ´Ã‚ ÃÃŸ</ProgressText>
  
! <ProgressText Action="PublishFeatures" Template="Â±Ã¢Â´Ã‰: [1]">ÃÂ¦Ã‡Â° Â±Ã¢Â´Ã‰Ã€Â» Â°Ã”Â½ÃƒÃ‡ÃÂ´Ã‚ ÃÃŸ</ProgressText>
  
! <ProgressText Action="PublishProduct">ÃÂ¦Ã‡Â° ÃÂ¤ÂºÂ¸Â¸Â¦ Â°Ã”Â½ÃƒÃ‡ÃÂ´Ã‚ ÃÃŸ</ProgressText>
  
! <ProgressText Action="RegisterClassInfo" Template="Class Id: [1]">Class Â¼Â­Â¹Ã¶Â¸Â¦ ÂµÃ®Â·ÃÃ‡ÃÂ´Ã‚ ÃÃŸ</ProgressText>
  
! <ProgressText Action="RegisterComPlus" Template="AppId: [1]{{, AppType: [2], Users: [3], RSN: [4]}}">COM+ Ã€Ã€Â¿Ã« Ã‡ÃÂ·ÃŽÂ±Ã—Â·Â¥Â°Ãº Â±Â¸Â¼Âº Â¿Ã¤Â¼Ã’Â¸Â¦ ÂµÃ®Â·ÃÃ‡ÃÂ´Ã‚ ÃÃŸ</ProgressText>
  
! <ProgressText Action="RegisterExtensionInfo" Template="Ã€ÃÂ½ÂºÃ…Ã™Â¼Ã‡: [1]">Ã€ÃÂ½ÂºÃ…Ã™Â¼Ã‡ Â¼Â­Â¹Ã¶Â¸Â¦ ÂµÃ®Â·ÃÃ‡ÃÂ´Ã‚ ÃÃŸ</ProgressText>
  
! <ProgressText Action="RegisterFonts" Template="Â±Ã›Â²Ãƒ: [1]">Â±Ã›Â²ÃƒÃ€Â» ÂµÃ®Â·ÃÃ‡ÃÂ´Ã‚ ÃÃŸ</ProgressText>
  
! <ProgressText Action="RegisterMIMEInfo" Template="MIME Ã„ÃÃ…Ã™Ã†Â® Ã€Â¯Ã‡Ã¼: [1], Ã€ÃÂ½ÂºÃ…Ã™Â¼Ã‡: [2]">MIME ÃÂ¤ÂºÂ¸Â¸Â¦ ÂµÃ®Â·ÃÃ‡ÃÂ´Ã‚ ÃÃŸ</ProgressText>
  
! <ProgressText Action="RegisterProduct" Template="[1]">ÃÂ¦Ã‡Â°Ã€Â» ÂµÃ®Â·ÃÃ‡ÃÂ´Ã‚ ÃÃŸ</ProgressText>
  
! <ProgressText Action="RegisterProgIdInfo" Template="ProgId: [1]">Ã‡ÃÂ·ÃŽÂ±Ã—Â·Â¥ ÃˆÂ®Ã€ÃŽÃ€ÃšÂ¸Â¦ ÂµÃ®Â·ÃÃ‡ÃÂ´Ã‚ ÃÃŸ</ProgressText>
  
! <ProgressText Action="RegisterTypeLibraries" Template="LibID: [1]">Ã‡Ã¼Â½Ã„ Â¶Ã³Ã€ÃŒÂºÃªÂ·Â¯Â¸Â®Â¸Â¦ ÂµÃ®Â·ÃÃ‡ÃÂ´Ã‚ ÃÃŸ</ProgressText>
  
! <ProgressText Action="RegisterUser" Template="[1]">Â»Ã§Â¿Ã«Ã€ÃšÂ¸Â¦ ÂµÃ®Â·ÃÃ‡ÃÂ´Ã‚ ÃÃŸ</ProgressText>
  
! <ProgressText Action="RemoveDuplicateFiles" Template="Ã†Ã„Ã€Ã: [1], ÂµÃ°Â·ÂºÃ…ÃÂ¸Â®: [9]">ÃÃŸÂºÂ¹ Ã†Ã„Ã€ÃÃ€Â» ÃÂ¦Â°Ã…Ã‡ÃÂ´Ã‚ ÃÃŸ</ProgressText>
  
! <ProgressText Action="RemoveEnvironmentStrings" Template="Ã€ÃŒÂ¸Â§: [1], Â°Âª: [2], Â¼Ã¶Ã‡Ã  [3]">ÃˆÂ¯Â°Ã¦ Â¹Â®Ã€ÃšÂ¿Â­Ã€Â» Â¾Ã·ÂµÂ¥Ã€ÃŒÃ†Â®Ã‡ÃÂ´Ã‚ ÃÃŸ</ProgressText>
  
! <ProgressText Action="RemoveExistingProducts" Template="Ã€Ã€Â¿Ã« Ã‡ÃÂ·ÃŽÂ±Ã—Â·Â¥: [1], Â¸Ã­Â·Ã‰ÃÃ™: [2]">Ã€Ã€Â¿Ã« Ã‡ÃÂ·ÃŽÂ±Ã—Â·Â¥Ã€Â» ÃÂ¦Â°Ã…Ã‡ÃÂ´Ã‚ ÃÃŸ</ProgressText>
  
! <ProgressText Action="RemoveFiles" Template="Ã†Ã„Ã€Ã: [1], ÂµÃ°Â·ÂºÃ…ÃÂ¸Â®: [9]">Ã†Ã„Ã€ÃÃ€Â» ÃÂ¦Â°Ã…Ã‡ÃÂ´Ã‚ ÃÃŸ</ProgressText>
  
! <ProgressText Action="RemoveFolders" Template="Ã†ÃºÂ´Ãµ: [1]">Ã†ÃºÂ´ÃµÂ¸Â¦ ÃÂ¦Â°Ã…Ã‡ÃÂ´Ã‚ ÃÃŸ</ProgressText>
  
! <ProgressText Action="RemoveIniValues" Template="Ã…Â°: [1],  Â¼Â½Â¼Ã‡: [2],  Ã…Â°: [3], Â°Âª: [4]">INI Ã†Ã„Ã€Ã Ã‡Ã—Â¸Ã±Ã€Â» ÃÂ¦Â°Ã…Ã‡ÃÂ´Ã‚ ÃÃŸ</ProgressText>
  
! <ProgressText Action="RemoveODBC">ODBC Â±Â¸Â¼Âº Â¿Ã¤Â¼Ã’ ÃÂ¦Â°Ã…Ã‡ÃÂ´Ã‚ ÃÃŸ</ProgressText>
  
! <ProgressText Action="RemoveRegistryValues" Template="Ã…Â°: [1], Ã€ÃŒÂ¸Â§: [2]">Â½ÃƒÂ½ÂºÃ…Ã› Â·Â¹ÃÃ¶Â½ÂºÃ†Â®Â¸Â® Â°ÂªÃ€Â» ÃÂ¦Â°Ã…Ã‡ÃÂ´Ã‚ ÃÃŸ</ProgressText>
  
! <ProgressText Action="RemoveShortcuts" Template="Â¹Ã™Â·ÃŽ Â°Â¡Â±Ã¢: [1]">Â¹Ã™Â·ÃŽ Â°Â¡Â±Ã¢Â¸Â¦ ÃÂ¦Â°Ã…Ã‡ÃÂ´Ã‚ ÃÃŸ</ProgressText>
  
! <ProgressText Action="RMCCPSearch">ÃÂ¦Ã‡Â°Ã€Â» ÃˆÂ®Ã€ÃŽÃ‡ÃÂ´Ã‚ ÃÃŸ</ProgressText>
  
! <ProgressText Action="Rollback" Template="[1]">Â·Ã‘Â¹Ã©Ã€Â» Â¼Ã¶Ã‡Ã Ã‡ÃÂ´Ã‚ ÃÃŸ:</ProgressText>
  
! <ProgressText Action="RollbackCleanup" Template="Ã†Ã„Ã€Ã: [1]">Â¹Ã©Â¾Ã· Ã†Ã„Ã€ÃÃ€Â» ÃÂ¦Â°Ã…Ã‡ÃÂ´Ã‚ ÃÃŸ</ProgressText>
  
! <ProgressText Action="SelfRegModules" Template="Ã†Ã„Ã€Ã: [1], Ã†ÃºÂ´Ãµ: [2]">Â¸Ã°ÂµÃ¢Ã€Â» ÂµÃ®Â·ÃÃ‡ÃÂ´Ã‚ ÃÃŸ</ProgressText>
  
! <ProgressText Action="SelfUnregModules" Template="Ã†Ã„Ã€Ã: [1], Ã†ÃºÂ´Ãµ: [2]">Â¸Ã°ÂµÃ¢ ÂµÃ®Â·ÃÃ€Â» Ã‡Ã˜ÃÂ¦Ã‡ÃÂ´Ã‚ ÃÃŸ</ProgressText>
  
! <ProgressText Action="SetODBCFolders">ODBC ÂµÃ°Â·ÂºÃ…ÃÂ¸Â®Â¸Â¦ ÃƒÃŠÂ±Ã¢ÃˆÂ­Ã‡ÃÂ´Ã‚ ÃÃŸ</ProgressText>
  
! <ProgressText Action="StartServices" Template="Â¼Â­ÂºÃ±Â½Âº: [1]">Â¼Â­ÂºÃ±Â½ÂºÂ¸Â¦ Â½ÃƒÃ€Ã›Ã‡ÃÂ´Ã‚ ÃÃŸ</ProgressText>
  
! <ProgressText Action="StopServices" Template="Â¼Â­ÂºÃ±Â½Âº: [1]">Â¼Â­ÂºÃ±Â½ÂºÂ¸Â¦ ÃÃŸÃÃ¶Ã‡ÃÂ´Ã‚ ÃÃŸ</ProgressText>
  
! <ProgressText Action="UnmoveFiles" Template="Ã†Ã„Ã€Ã: [1], ÂµÃ°Â·ÂºÃ…ÃÂ¸Â®: [9]">Ã€ÃŒÂµÂ¿Ã‡Ã‘ Ã†Ã„Ã€ÃÃ€Â» ÃÂ¦Â°Ã…Ã‡ÃÂ´Ã‚ ÃÃŸ</ProgressText>
  
! <ProgressText Action="UnpublishComponents" Template="Â±Â¸Â¼Âº Â¿Ã¤Â¼Ã’ ID: [1], ÃÂ¦Ã‡Ã‘Ã€Ãš: [2]">Ã‡Ã˜Â´Ã§ Â±Â¸Â¼Âº Â¿Ã¤Â¼Ã’Ã€Ã‡ Â°Ã”Â½ÃƒÂ¸Â¦ Ã‡Ã˜ÃÂ¦Ã‡ÃÂ´Ã‚ ÃÃŸ</ProgressText>
  
! <ProgressText Action="UnpublishFeatures" Template="Â±Ã¢Â´Ã‰: [1]">ÃÂ¦Ã‡Â° Â±Ã¢Â´Ã‰Ã€Ã‡ ÂµÃ®Â·ÃÃ€Â» Ã‡Ã˜ÃÂ¦Ã‡ÃÂ´Ã‚ ÃÃŸ</ProgressText>
  
! <ProgressText Action="UnpublishProduct">ÃÂ¦Ã‡Â° ÃÂ¤ÂºÂ¸Ã€Ã‡ Â°Ã”Â½ÃƒÂ¸Â¦ Ã‡Ã˜ÃÂ¦Ã‡ÃÂ´Ã‚ ÃÃŸ</ProgressText>
  
! <ProgressText Action="UnregisterClassInfo" Template="Class Id: [1]">Class Â¼Â­Â¹Ã¶Ã€Ã‡ ÂµÃ®Â·ÃÃ€Â» Ã‡Ã˜ÃÂ¦Ã‡ÃÂ´Ã‚ ÃÃŸ</ProgressText>
  
! <ProgressText Action="UnregisterComPlus" Template="AppId: [1]{{, AppType: [2]}}">COM+ Ã€Ã€Â¿Ã« Ã‡ÃÂ·ÃŽÂ±Ã—Â·Â¥Â°Ãº Â±Â¸Â¼Âº Â¿Ã¤Â¼Ã’Ã€Ã‡ ÂµÃ®Â·ÃÃ€Â» Ã‡Ã˜ÃÂ¦Ã‡ÃÂ´Ã‚ ÃÃŸ</ProgressText>
  
! <ProgressText Action="UnregisterExtensionInfo" Template="Ã€ÃÂ½ÂºÃ…Ã™Â¼Ã‡: [1]">extension Â¼Â­Â¹Ã¶Ã€Ã‡ ÂµÃ®Â·ÃÃ€Â» Ã‡Ã˜ÃÂ¦Ã‡ÃÂ´Ã‚ ÃÃŸ</ProgressText>
  
! <ProgressText Action="UnregisterFonts" Template="Â±Ã›Â²Ãƒ: [1]">Â±Ã›Â²Ãƒ ÂµÃ®Â·ÃÃ€Â» Ã‡Ã˜ÃÂ¦Ã‡ÃÂ´Ã‚ ÃÃŸ</ProgressText>
  
! <ProgressText Action="UnregisterMIMEInfo" Template="MIME Ã„ÃÃ…Ã™Ã†Â® Ã€Â¯Ã‡Ã¼: [1], Ã€ÃÂ½ÂºÃ…Ã™Â¼Ã‡: [2]">MIME ÃÂ¤ÂºÂ¸Ã€Ã‡ ÂµÃ®Â·ÃÃ€Â» Ã‡Ã˜ÃÂ¦Ã‡ÃÂ´Ã‚ ÃÃŸ</ProgressText>
  
! <ProgressText Action="UnregisterProgIdInfo" Template="ProgId: [1]">Ã‡ÃÂ·ÃŽÂ±Ã—Â·Â¥ ÃˆÂ®Ã€ÃŽÃ€ÃšÃ€Ã‡ ÂµÃ®Â·ÃÃ€Â» Ã‡Ã˜ÃÂ¦Ã‡ÃÂ´Ã‚ ÃÃŸ</ProgressText>
  
! <ProgressText Action="UnregisterTypeLibraries" Template="LibID: [1]">Ã‡Ã¼Â½Ã„ Â¶Ã³Ã€ÃŒÂºÃªÂ·Â¯Â¸Â®Ã€Ã‡ ÂµÃ®Â·ÃÃ€Â» Ã‡Ã˜ÃÂ¦Ã‡ÃÂ´Ã‚ ÃÃŸ</ProgressText>
  
! <ProgressText Action="WriteEnvironmentStrings" Template="Ã€ÃŒÂ¸Â§: [1], Â°Âª: [2], Â¼Ã¶Ã‡Ã  [3]">ÃˆÂ¯Â°Ã¦ Â¹Â®Ã€ÃšÂ¿Â­Ã€Â» Â¾Ã·ÂµÂ¥Ã€ÃŒÃ†Â®Ã‡ÃÂ´Ã‚ ÃÃŸ</ProgressText>
  
! <ProgressText Action="WriteIniValues" Template="Ã…Â°: [1],  Â¼Â½Â¼Ã‡: [2],  Ã…Â°: [3], Â°Âª: [4]">INI Ã†Ã„Ã€Ã Â°ÂªÃ€Â» Â¾Â²Â´Ã‚ ÃÃŸ</ProgressText>
  
! <ProgressText Action="WriteRegistryValues" Template="Ã…Â°: [1], Ã€ÃŒÂ¸Â§: [2], Â°Âª: [3]">Â½ÃƒÂ½ÂºÃ…Ã› Â·Â¹ÃÃ¶Â½ÂºÃ†Â®Â¸Â® Â°ÂªÃ€Â» Â¾Â²Â´Ã‚ ÃÃŸ</ProgressText>
  
  </Include>
Index: openafs/src/WINNT/install/wix/lang/pt_BR/ActionText.wxi
diff -c openafs/src/WINNT/install/wix/lang/pt_BR/ActionText.wxi:1.1 openafs/src/WINNT/install/wix/lang/pt_BR/ActionText.wxi:1.1.2.1
*** openafs/src/WINNT/install/wix/lang/pt_BR/ActionText.wxi:1.1	Mon Jun 21 01:21:52 2004
--- openafs/src/WINNT/install/wix/lang/pt_BR/ActionText.wxi	Tue Jul 18 12:10:24 2006
***************
*** 1,74 ****
  <Include>
  
! <ProgressText Action="Advertise" Template="">Aplicativo de anúncio</ProgressText>
  
! <ProgressText Action="AllocateRegistrySpace" Template="Espaço livre: [1]">Alocando espaço no Registro</ProgressText>
  
  <ProgressText Action="AppSearch" Template="Propriedade: [1], Assinatura: [2]">Procurando aplicativos instalados</ProgressText>
  
! <ProgressText Action="BindImage" Template="Arquivo: [1]">Vinculando executáveis</ProgressText>
  
! <ProgressText Action="CCPSearch" Template="">Procurando produtos qualificados</ProgressText>
  
! <ProgressText Action="CostFinalize" Template="">Calculando requisitos de espaço</ProgressText>
  
! <ProgressText Action="CostInitialize" Template="">Calculando requisitos de espaço</ProgressText>
  
  <ProgressText Action="CreateFolders" Template="Pasta: [1]">Criando pastas</ProgressText>
  
  <ProgressText Action="CreateShortcuts" Template="Atalho: [1]">Criando atalhos</ProgressText>
  
! <ProgressText Action="DeleteServices" Template="Serviço: [1]">Excluindo serviços</ProgressText>
  
! <ProgressText Action="DuplicateFiles" Template="Arquivo: [1], Diretório: [9], Tamanho: [6]">Criando arquivos duplicados</ProgressText>
  
! <ProgressText Action="FileCost" Template="">Calculando requisitos de espaço</ProgressText>
  
  <ProgressText Action="FindRelatedProducts" Template="Aplicativo localizado: [1]">Procurando por aplicativos relacionados</ProgressText>
  
! <ProgressText Action="GenerateScript" Template="[1]">Gerando operações de script para ação:</ProgressText>
  
! <ProgressText Action="InstallAdminPackage" Template="Arquivo: [1], Diretório: [9], Tamanho: [6]">Copiando arquivos de instalação em rede</ProgressText>
  
! <ProgressText Action="InstallFiles" Template="Arquivo: [1], Diretório: [9], Tamanho: [6]">Copiando novos arquivos</ProgressText>
  
! <ProgressText Action="InstallODBC" Template="">Instalando componentes de ODBC</ProgressText>
  
! <ProgressText Action="InstallServices" Template="Serviço: [2]">Instalando novos serviços</ProgressText>
  
! <ProgressText Action="InstallSFPCatalogFile" Template="Arquivo: [1],  dependências: [2]">Instalando catálogo do sistema</ProgressText>
  
! <ProgressText Action="InstallValidate" Template="">Validando instalação</ProgressText>
  
! <ProgressText Action="LaunchConditions" Template="">Avaliando condições de inicialização</ProgressText>
  
  <ProgressText Action="MigrateFeatureStates" Template="Aplicativo: [1]">Migrando estados do recurso de aplicativos relacionados</ProgressText>
  
! <ProgressText Action="MoveFiles" Template="Arquivo: [1], Diretório: [9], Tamanho: [6]">Movendo arquivos</ProgressText>
  
! <ProgressText Action="MsiPublishAssemblies" Template="Contexto do aplicativo:[1], Nome de montagem:[2]">Publicando informações de montagem</ProgressText>
  
! <ProgressText Action="MsiUnpublishAssemblies" Template="Contexto do aplicativo:[1], Nome de montagem:[2]">Cancelando publicação de informações de montagem</ProgressText>
  
! <ProgressText Action="PatchFiles" Template="Arquivo: [1], Diretório: [2], Tamanho: [3]">Corrigindo arquivos</ProgressText>
  
! <ProgressText Action="ProcessComponents" Template="">Atualizando registro do componente</ProgressText>
  
! <ProgressText Action="PublishComponents" Template="Identificação do componente: [1], Qualificador: [2]">Publicando componentes qualificados</ProgressText>
  
  <ProgressText Action="PublishFeatures" Template="Recurso: [1]">Publicando recursos do produto</ProgressText>
  
! <ProgressText Action="PublishProduct" Template="">Publicando informações sobre o produto</ProgressText>
  
  <ProgressText Action="RegisterClassInfo" Template="Class Id: [1]">Registrando servidores de classes</ProgressText>
  
! <ProgressText Action="RegisterComPlus" Template="AppId: [1]{{, AppType: [2], Usuários: [3], RSN: [4]}}">Registrando componentes e aplicativos do COM+</ProgressText>
  
! <ProgressText Action="RegisterExtensionInfo" Template="Extensão: [1]">Registrando servidores de extensão</ProgressText>
  
  <ProgressText Action="RegisterFonts" Template="Fonte: [1]">Registrando fontes</ProgressText>
  
! <ProgressText Action="RegisterMIMEInfo" Template="Tipo de conteúdo MIME: [1], Extensão: [2]">Registrando informações sobre MIME</ProgressText>
  
  <ProgressText Action="RegisterProduct" Template="[1]">Registrando produto</ProgressText>
  
--- 1,74 ----
  <Include>
  
! <ProgressText Action="Advertise">Aplicativo de anÃºncio</ProgressText>
  
! <ProgressText Action="AllocateRegistrySpace" Template="EspaÃ§o livre: [1]">Alocando espaÃ§o no Registro</ProgressText>
  
  <ProgressText Action="AppSearch" Template="Propriedade: [1], Assinatura: [2]">Procurando aplicativos instalados</ProgressText>
  
! <ProgressText Action="BindImage" Template="Arquivo: [1]">Vinculando executÃ¡veis</ProgressText>
  
! <ProgressText Action="CCPSearch">Procurando produtos qualificados</ProgressText>
  
! <ProgressText Action="CostFinalize">Calculando requisitos de espaÃ§o</ProgressText>
  
! <ProgressText Action="CostInitialize">Calculando requisitos de espaÃ§o</ProgressText>
  
  <ProgressText Action="CreateFolders" Template="Pasta: [1]">Criando pastas</ProgressText>
  
  <ProgressText Action="CreateShortcuts" Template="Atalho: [1]">Criando atalhos</ProgressText>
  
! <ProgressText Action="DeleteServices" Template="ServiÃ§o: [1]">Excluindo serviÃ§os</ProgressText>
  
! <ProgressText Action="DuplicateFiles" Template="Arquivo: [1], DiretÃ³rio: [9], Tamanho: [6]">Criando arquivos duplicados</ProgressText>
  
! <ProgressText Action="FileCost">Calculando requisitos de espaÃ§o</ProgressText>
  
  <ProgressText Action="FindRelatedProducts" Template="Aplicativo localizado: [1]">Procurando por aplicativos relacionados</ProgressText>
  
! <ProgressText Action="GenerateScript" Template="[1]">Gerando operaÃ§Ãµes de script para aÃ§Ã£o:</ProgressText>
  
! <ProgressText Action="InstallAdminPackage" Template="Arquivo: [1], DiretÃ³rio: [9], Tamanho: [6]">Copiando arquivos de instalaÃ§Ã£o em rede</ProgressText>
  
! <ProgressText Action="InstallFiles" Template="Arquivo: [1], DiretÃ³rio: [9], Tamanho: [6]">Copiando novos arquivos</ProgressText>
  
! <ProgressText Action="InstallODBC">Instalando componentes de ODBC</ProgressText>
  
! <ProgressText Action="InstallServices" Template="ServiÃ§o: [2]">Instalando novos serviÃ§os</ProgressText>
  
! <ProgressText Action="InstallSFPCatalogFile" Template="Arquivo: [1],  dependÃªncias: [2]">Instalando catÃ¡logo do sistema</ProgressText>
  
! <ProgressText Action="InstallValidate">Validando instalaÃ§Ã£o</ProgressText>
  
! <ProgressText Action="LaunchConditions">Avaliando condiÃ§Ãµes de inicializaÃ§Ã£o</ProgressText>
  
  <ProgressText Action="MigrateFeatureStates" Template="Aplicativo: [1]">Migrando estados do recurso de aplicativos relacionados</ProgressText>
  
! <ProgressText Action="MoveFiles" Template="Arquivo: [1], DiretÃ³rio: [9], Tamanho: [6]">Movendo arquivos</ProgressText>
  
! <ProgressText Action="MsiPublishAssemblies" Template="Contexto do aplicativo:[1], Nome de montagem:[2]">Publicando informaÃ§Ãµes de montagem</ProgressText>
  
! <ProgressText Action="MsiUnpublishAssemblies" Template="Contexto do aplicativo:[1], Nome de montagem:[2]">Cancelando publicaÃ§Ã£o de informaÃ§Ãµes de montagem</ProgressText>
  
! <ProgressText Action="PatchFiles" Template="Arquivo: [1], DiretÃ³rio: [2], Tamanho: [3]">Corrigindo arquivos</ProgressText>
  
! <ProgressText Action="ProcessComponents">Atualizando registro do componente</ProgressText>
  
! <ProgressText Action="PublishComponents" Template="IdentificaÃ§Ã£o do componente: [1], Qualificador: [2]">Publicando componentes qualificados</ProgressText>
  
  <ProgressText Action="PublishFeatures" Template="Recurso: [1]">Publicando recursos do produto</ProgressText>
  
! <ProgressText Action="PublishProduct">Publicando informaÃ§Ãµes sobre o produto</ProgressText>
  
  <ProgressText Action="RegisterClassInfo" Template="Class Id: [1]">Registrando servidores de classes</ProgressText>
  
! <ProgressText Action="RegisterComPlus" Template="AppId: [1]{{, AppType: [2], UsuÃ¡rios: [3], RSN: [4]}}">Registrando componentes e aplicativos do COM+</ProgressText>
  
! <ProgressText Action="RegisterExtensionInfo" Template="ExtensÃ£o: [1]">Registrando servidores de extensÃ£o</ProgressText>
  
  <ProgressText Action="RegisterFonts" Template="Fonte: [1]">Registrando fontes</ProgressText>
  
! <ProgressText Action="RegisterMIMEInfo" Template="Tipo de conteÃºdo MIME: [1], ExtensÃ£o: [2]">Registrando informaÃ§Ãµes sobre MIME</ProgressText>
  
  <ProgressText Action="RegisterProduct" Template="[1]">Registrando produto</ProgressText>
  
***************
*** 76,142 ****
  
  <ProgressText Action="RegisterTypeLibraries" Template="LibID: [1]">Registrando bibliotecas de tipos</ProgressText>
  
! <ProgressText Action="RegisterUser" Template="[1]">Registrando usuário</ProgressText>
  
! <ProgressText Action="RemoveDuplicateFiles" Template="Arquivo: [1], Diretório: [9]">Removendo arquivos duplicados</ProgressText>
  
! <ProgressText Action="RemoveEnvironmentStrings" Template="Nome: [1], Valor: [2], Ação [3]">Atualizando seqüências de ambiente</ProgressText>
  
  <ProgressText Action="RemoveExistingProducts" Template="Aplicativo: [1], Linha de comando: [2]">Removendo aplicativos</ProgressText>
  
! <ProgressText Action="RemoveFiles" Template="Arquivo: [1], Diretório: [9]">Removendo arquivos</ProgressText>
  
  <ProgressText Action="RemoveFolders" Template="Pasta: [1]">Removendo pastas</ProgressText>
  
! <ProgressText Action="RemoveIniValues" Template="Arquivo: [1], Seção: [2], Chave: [3], Valor: [4]">Removendo entradas dos arquivos INI</ProgressText>
  
! <ProgressText Action="RemoveODBC" Template="">Removendo componentes de ODBC</ProgressText>
  
  <ProgressText Action="RemoveRegistryValues" Template="Chave: [1], Nome: [2]">Removendo valores do Registro do sistema</ProgressText>
  
  <ProgressText Action="RemoveShortcuts" Template="Atalho: [1]">Removendo atalhos</ProgressText>
  
! <ProgressText Action="RMCCPSearch" Template="">Procurando produtos qualificados</ProgressText>
  
! <ProgressText Action="Rollback" Template="[1]">Repetindo a ação:</ProgressText>
  
  <ProgressText Action="RollbackCleanup" Template="Arquivo: [1]">Removendo arquivos de backup</ProgressText>
  
! <ProgressText Action="SelfRegModules" Template="Arquivo: [1], Pasta: [2]">Registrando módulos</ProgressText>
  
! <ProgressText Action="SelfUnregModules" Template="Arquivo: [1], Pasta: [2]">Removendo registro de módulos</ProgressText>
  
! <ProgressText Action="SetODBCFolders" Template="">Inicializando diretórios de ODBC</ProgressText>
  
! <ProgressText Action="StartServices" Template="Serviço: [1]">Iniciando serviços</ProgressText>
  
! <ProgressText Action="StopServices" Template="Serviço: [1]">Interrompendo serviços</ProgressText>
  
! <ProgressText Action="UnmoveFiles" Template="Arquivo: [1], Diretório: [9]">Removendo arquivos movidos</ProgressText>
  
! <ProgressText Action="UnpublishComponents" Template="Identificação do componente: [1], Qualificador: [2]">Cancelando publicação de componentes qualificados</ProgressText>
  
! <ProgressText Action="UnpublishFeatures" Template="Recurso: [1]">Cancelando publicação de recursos do produto</ProgressText>
  
! <ProgressText Action="UnpublishProduct" Template="">Cancelando publicação de informações sobre o produto</ProgressText>
  
  <ProgressText Action="UnregisterClassInfo" Template="Class Id: [1]">Remover o registro de servidores de classes</ProgressText>
  
  <ProgressText Action="UnregisterComPlus" Template="AppId: [1]{{, AppType: [2]}}">Removendo registro de componentes e aplicativos do COM+</ProgressText>
  
! <ProgressText Action="UnregisterExtensionInfo" Template="Extensão: [1]">Removendo o registro de servidores de extensão</ProgressText>
  
  <ProgressText Action="UnregisterFonts" Template="Fonte: [1]">Removendo o registro de fontes</ProgressText>
  
! <ProgressText Action="UnregisterMIMEInfo" Template="Tipo de conteúdo MIME: [1], Extensão: [2]">Removendo registro de informações sobre MIME</ProgressText>
  
  <ProgressText Action="UnregisterProgIdInfo" Template="ProgId: [1]">Removendo registro de identificadores de programas</ProgressText>
  
  <ProgressText Action="UnregisterTypeLibraries" Template="LibID: [1]">Removendo registro de bibliotecas de tipos</ProgressText>
  
! <ProgressText Action="WriteEnvironmentStrings" Template="Nome: [1], Valor: [2], Ação [3]">Atualizando seqüências de ambiente</ProgressText>
  
! <ProgressText Action="WriteIniValues" Template="Arquivo: [1], Seção: [2], Chave: [3], Valor: [4]">Gravando valores de arquivos INI</ProgressText>
  
  <ProgressText Action="WriteRegistryValues" Template="Chave: [1], Nome: [2], Valor: [3]">Gravando valores de Registro do sistema</ProgressText>
  
--- 76,142 ----
  
  <ProgressText Action="RegisterTypeLibraries" Template="LibID: [1]">Registrando bibliotecas de tipos</ProgressText>
  
! <ProgressText Action="RegisterUser" Template="[1]">Registrando usuÃ¡rio</ProgressText>
  
! <ProgressText Action="RemoveDuplicateFiles" Template="Arquivo: [1], DiretÃ³rio: [9]">Removendo arquivos duplicados</ProgressText>
  
! <ProgressText Action="RemoveEnvironmentStrings" Template="Nome: [1], Valor: [2], AÃ§Ã£o [3]">Atualizando seqÃ¼Ãªncias de ambiente</ProgressText>
  
  <ProgressText Action="RemoveExistingProducts" Template="Aplicativo: [1], Linha de comando: [2]">Removendo aplicativos</ProgressText>
  
! <ProgressText Action="RemoveFiles" Template="Arquivo: [1], DiretÃ³rio: [9]">Removendo arquivos</ProgressText>
  
  <ProgressText Action="RemoveFolders" Template="Pasta: [1]">Removendo pastas</ProgressText>
  
! <ProgressText Action="RemoveIniValues" Template="Arquivo: [1], SeÃ§Ã£o: [2], Chave: [3], Valor: [4]">Removendo entradas dos arquivos INI</ProgressText>
  
! <ProgressText Action="RemoveODBC">Removendo componentes de ODBC</ProgressText>
  
  <ProgressText Action="RemoveRegistryValues" Template="Chave: [1], Nome: [2]">Removendo valores do Registro do sistema</ProgressText>
  
  <ProgressText Action="RemoveShortcuts" Template="Atalho: [1]">Removendo atalhos</ProgressText>
  
! <ProgressText Action="RMCCPSearch">Procurando produtos qualificados</ProgressText>
  
! <ProgressText Action="Rollback" Template="[1]">Repetindo a aÃ§Ã£o:</ProgressText>
  
  <ProgressText Action="RollbackCleanup" Template="Arquivo: [1]">Removendo arquivos de backup</ProgressText>
  
! <ProgressText Action="SelfRegModules" Template="Arquivo: [1], Pasta: [2]">Registrando mÃ³dulos</ProgressText>
  
! <ProgressText Action="SelfUnregModules" Template="Arquivo: [1], Pasta: [2]">Removendo registro de mÃ³dulos</ProgressText>
  
! <ProgressText Action="SetODBCFolders">Inicializando diretÃ³rios de ODBC</ProgressText>
  
! <ProgressText Action="StartServices" Template="ServiÃ§o: [1]">Iniciando serviÃ§os</ProgressText>
  
! <ProgressText Action="StopServices" Template="ServiÃ§o: [1]">Interrompendo serviÃ§os</ProgressText>
  
! <ProgressText Action="UnmoveFiles" Template="Arquivo: [1], DiretÃ³rio: [9]">Removendo arquivos movidos</ProgressText>
  
! <ProgressText Action="UnpublishComponents" Template="IdentificaÃ§Ã£o do componente: [1], Qualificador: [2]">Cancelando publicaÃ§Ã£o de componentes qualificados</ProgressText>
  
! <ProgressText Action="UnpublishFeatures" Template="Recurso: [1]">Cancelando publicaÃ§Ã£o de recursos do produto</ProgressText>
  
! <ProgressText Action="UnpublishProduct">Cancelando publicaÃ§Ã£o de informaÃ§Ãµes sobre o produto</ProgressText>
  
  <ProgressText Action="UnregisterClassInfo" Template="Class Id: [1]">Remover o registro de servidores de classes</ProgressText>
  
  <ProgressText Action="UnregisterComPlus" Template="AppId: [1]{{, AppType: [2]}}">Removendo registro de componentes e aplicativos do COM+</ProgressText>
  
! <ProgressText Action="UnregisterExtensionInfo" Template="ExtensÃ£o: [1]">Removendo o registro de servidores de extensÃ£o</ProgressText>
  
  <ProgressText Action="UnregisterFonts" Template="Fonte: [1]">Removendo o registro de fontes</ProgressText>
  
! <ProgressText Action="UnregisterMIMEInfo" Template="Tipo de conteÃºdo MIME: [1], ExtensÃ£o: [2]">Removendo registro de informaÃ§Ãµes sobre MIME</ProgressText>
  
  <ProgressText Action="UnregisterProgIdInfo" Template="ProgId: [1]">Removendo registro de identificadores de programas</ProgressText>
  
  <ProgressText Action="UnregisterTypeLibraries" Template="LibID: [1]">Removendo registro de bibliotecas de tipos</ProgressText>
  
! <ProgressText Action="WriteEnvironmentStrings" Template="Nome: [1], Valor: [2], AÃ§Ã£o [3]">Atualizando seqÃ¼Ãªncias de ambiente</ProgressText>
  
! <ProgressText Action="WriteIniValues" Template="Arquivo: [1], SeÃ§Ã£o: [2], Chave: [3], Valor: [4]">Gravando valores de arquivos INI</ProgressText>
  
  <ProgressText Action="WriteRegistryValues" Template="Chave: [1], Nome: [2], Valor: [3]">Gravando valores de Registro do sistema</ProgressText>
  
Index: openafs/src/WINNT/install/wix/lang/zh_CN/ActionText.wxi
diff -c openafs/src/WINNT/install/wix/lang/zh_CN/ActionText.wxi:1.1 openafs/src/WINNT/install/wix/lang/zh_CN/ActionText.wxi:1.1.2.1
*** openafs/src/WINNT/install/wix/lang/zh_CN/ActionText.wxi:1.1	Mon Jun 21 01:21:52 2004
--- openafs/src/WINNT/install/wix/lang/zh_CN/ActionText.wxi	Tue Jul 18 12:10:24 2006
***************
*** 1,143 ****
  <Include>
  
! <ProgressText Action="Advertise" Template="">Í¨ÖªÓ¦ÓÃ³ÌÐò</ProgressText>
  
! <ProgressText Action="AllocateRegistrySpace" Template="×ÔÓÉ¿Õ¼ä: [1]">ÕýÔÚ·ÖÅä×¢²á±í¿Õ¼ä</ProgressText>
  
! <ProgressText Action="AppSearch" Template="ÊôÐÔ: [1]£¬Ç©Ãû: [2]">ÕýÔÚËÑË÷ÒÑ°²×°µÄÓ¦ÓÃ³ÌÐò</ProgressText>
  
! <ProgressText Action="BindImage" Template="ÎÄ¼þ: [1]">°ó¶¨¿ÉÖ´ÐÐÎÄ¼þ</ProgressText>
  
! <ProgressText Action="CCPSearch" Template="">ÕýÔÚËÑË÷·ûºÏ×Ê¸ñµÄ²úÆ·</ProgressText>
  
! <ProgressText Action="CostFinalize" Template="">ÕýÔÚ¼ÆËã¿Õ¼äÐèÇó</ProgressText>
  
! <ProgressText Action="CostInitialize" Template="">ÕýÔÚ¼ÆËã¿Õ¼äÐèÇó</ProgressText>
  
! <ProgressText Action="CreateFolders" Template="ÎÄ¼þ¼Ð: [1]">ÕýÔÚ´´½¨ÎÄ¼þ¼Ð</ProgressText>
  
! <ProgressText Action="CreateShortcuts" Template="¿ì½Ý·½Ê½: [1]">ÕýÔÚ´´½¨¿ì½Ý·½Ê½</ProgressText>
  
! <ProgressText Action="DeleteServices" Template="·þÎñ: [1]">ÕýÔÚÉ¾³ý·þÎñ</ProgressText>
  
! <ProgressText Action="DuplicateFiles" Template="ÎÄ¼þ: [1]£¬Ä¿Â¼: [9]£¬´óÐ¡: [6]">ÕýÔÚ´´½¨ÖØ¸´ÎÄ¼þ</ProgressText>
  
! <ProgressText Action="FileCost" Template="">ÕýÔÚ¼ÆËã¿Õ¼äÐèÇó</ProgressText>
  
! <ProgressText Action="FindRelatedProducts" Template="ÕÒµ½Ó¦ÓÃ³ÌÐò: [1]">ÕýÔÚËÑË÷Ïà¹Ø²úÆ·</ProgressText>
  
! <ProgressText Action="GenerateScript" Template="[1]">ÕýÔÚÉú³É½Å±¾²Ù×÷£¬ÓÃÓÚ£º</ProgressText>
  
! <ProgressText Action="InstallAdminPackage" Template="ÎÄ¼þ: [1]£¬Ä¿Â¼: [9]£¬´óÐ¡: [6]">ÕýÔÚ¸´ÖÆÍøÂç°²×°ÎÄ¼þ</ProgressText>
  
! <ProgressText Action="InstallFiles" Template="ÎÄ¼þ: [1]£¬Ä¿Â¼: [9]£¬´óÐ¡: [6]">ÕýÔÚ¸´ÖÆÐÂÎÄ¼þ</ProgressText>
  
! <ProgressText Action="InstallODBC" Template="">ÕýÔÚ°²×° ODBC ×é¼þ</ProgressText>
  
! <ProgressText Action="InstallServices" Template="·þÎñ: [2]">ÕýÔÚ°²×°ÐÂ·þÎñ</ProgressText>
  
! <ProgressText Action="InstallSFPCatalogFile" Template="ÎÄ¼þ: [1]£¬ ÒÀ´æ¹ØÏµ: [2]">ÕýÔÚ°²×°ÏµÍ³Ä¿Â¼</ProgressText>
  
! <ProgressText Action="InstallValidate" Template="">ÕýÔÚÑéÖ¤°²×°</ProgressText>
  
! <ProgressText Action="LaunchConditions" Template="">ÕýÔÚÆÀ¹ÀÆô¶¯Ìõ¼þ</ProgressText>
  
! <ProgressText Action="MigrateFeatureStates" Template="Ó¦ÓÃ³ÌÐò: [1]">ÕýÔÚ´ÓÏà¹ØÓ¦ÓÃ³ÌÐòÇ¨ÒÆ¹¦ÄÜ</ProgressText>
  
! <ProgressText Action="MoveFiles" Template="ÎÄ¼þ: [1]£¬Ä¿Â¼: [9]£¬´óÐ¡: [6]">ÕýÔÚÒÆ¶¯ÎÄ¼þ</ProgressText>
  
! <ProgressText Action="MsiPublishAssemblies" Template="Ó¦ÓÃ³ÌÐò»·¾³:[1], »ã±àÃû:[2]">·¢ÐÐ»ã±àÐÅÏ¢</ProgressText>
  
! <ProgressText Action="MsiUnpublishAssemblies" Template="Ó¦ÓÃ³ÌÐò»·¾³:[1], »ã±àÃû:[2]">Í£Ö¹·¢ÐÐ»ã±àÐÅÏ¢</ProgressText>
  
! <ProgressText Action="PatchFiles" Template="ÎÄ¼þ: [1]£¬Ä¿Â¼: [2]£¬´óÐ¡: [3]">ÕýÔÚÐÞ²¹ÎÄ¼þ</ProgressText>
  
! <ProgressText Action="ProcessComponents" Template="">ÕýÔÚ¸üÐÂ×é¼þ×¢²á±í</ProgressText>
  
! <ProgressText Action="PublishComponents" Template="×é¼þ ID: [1]£¬×Ê¸ñÈÏÖ¤Õß: [2]">ÕýÔÚ·¢²¼ºÏ¸ñµÄ×é¼þ</ProgressText>
  
! <ProgressText Action="PublishFeatures" Template="¹¦ÄÜ: [1]">ÕýÔÚ·¢²¼²úÆ·¹¦ÄÜ</ProgressText>
  
! <ProgressText Action="PublishProduct" Template="">ÕýÔÚ·¢²¼²úÆ·ÐÅÏ¢</ProgressText>
  
! <ProgressText Action="RegisterClassInfo" Template="Class Id: [1]">ÕýÔÚ×¢²áÀà·þÎñÆ÷</ProgressText>
  
! <ProgressText Action="RegisterComPlus" Template="AppId: [1]{{, AppType: [2], Users: [3], RSN: [4]}}">ÕýÔÚ×¢²á COM+ Ó¦ÓÃ³ÌÐòºÍ×é¼þ</ProgressText>
  
! <ProgressText Action="RegisterExtensionInfo" Template="À©Õ¹: [1]">ÕýÔÚ×¢²áÀ©Õ¹·þÎñÆ÷</ProgressText>
  
! <ProgressText Action="RegisterFonts" Template="×ÖÌå: [1]">ÕýÔÚ×¢²á×ÖÌå</ProgressText>
  
! <ProgressText Action="RegisterMIMEInfo" Template="MIME ÄÚÈÝÀàÐÍ: [1]£¬À©Õ¹: [2]">ÕýÔÚ×¢²á MIME ÐÅÏ¢</ProgressText>
  
! <ProgressText Action="RegisterProduct" Template="[1]">ÕýÔÚ×¢²á²úÆ·</ProgressText>
  
! <ProgressText Action="RegisterProgIdInfo" Template="ProgId: [1]">ÕýÔÚ×¢²á³ÌÐò±êÊ¶·û</ProgressText>
  
! <ProgressText Action="RegisterTypeLibraries" Template="LibID: [1]">ÕýÔÚ×¢²áÀàÐÍ¿â</ProgressText>
  
! <ProgressText Action="RegisterUser" Template="[1]">ÕýÔÚ×¢²áÓÃ»§</ProgressText>
  
! <ProgressText Action="RemoveDuplicateFiles" Template="ÎÄ¼þ: [1]£¬Ä¿Â¼: [9]">ÕýÔÚÉ¾³ýÖØ¸´µÄÎÄ¼þ</ProgressText>
  
! <ProgressText Action="RemoveEnvironmentStrings" Template="Ãû³Æ: [1]£¬ÊýÖµ: [2]£¬¶¯×÷ [3]">ÕýÔÚ¸üÐÂ»·¾³×Ö·û´®</ProgressText>
  
! <ProgressText Action="RemoveExistingProducts" Template="Ó¦ÓÃ³ÌÐò: [1]£¬ÃüÁîÐÐ: [2]">ÕýÔÚÉ¾³ýÓ¦ÓÃ³ÌÐò</ProgressText>
  
! <ProgressText Action="RemoveFiles" Template="ÎÄ¼þ: [1]£¬Ä¿Â¼: [9]">ÕýÔÚÉ¾³ýÎÄ¼þ</ProgressText>
  
! <ProgressText Action="RemoveFolders" Template="ÎÄ¼þ¼Ð: [1]">ÕýÔÚÉ¾³ýÎÄ¼þ¼Ð</ProgressText>
  
! <ProgressText Action="RemoveIniValues" Template="ÎÄ¼þ: [1]£¬½Ú: [2]£¬¼ü: [3]£¬ÊýÖµ: [4]">ÕýÔÚÉ¾³ý INI ÎÄ¼þÌõÄ¿</ProgressText>
  
! <ProgressText Action="RemoveODBC" Template="">ÕýÔÚÉ¾³ý ODBC ×é¼þ</ProgressText>
  
! <ProgressText Action="RemoveRegistryValues" Template="¼üÖµ: [1]£¬Ãû³Æ: [2]">ÕýÔÚÉ¾³ýÏµÍ³×¢²á±íÖµ</ProgressText>
  
! <ProgressText Action="RemoveShortcuts" Template="¿ì½Ý·½Ê½: [1]">ÕýÔÚÉ¾³ý¿ì½Ý·½Ê½</ProgressText>
  
! <ProgressText Action="RMCCPSearch" Template="">ÕýÔÚËÑË÷·ûºÏ×Ê¸ñµÄ²úÆ·</ProgressText>
  
! <ProgressText Action="Rollback" Template="[1]">»Ø¹ö²Ù×÷: </ProgressText>
  
! <ProgressText Action="RollbackCleanup" Template="ÎÄ¼þ: [1]">ÕýÔÚÉ¾³ý±¸·ÝÎÄ¼þ</ProgressText>
  
! <ProgressText Action="SelfRegModules" Template="ÎÄ¼þ: [1]£¬ÎÄ¼þ¼Ð: [2]">ÕýÔÚ×¢²áÄ£¿é</ProgressText>
  
! <ProgressText Action="SelfUnregModules" Template="ÎÄ¼þ: [1]£¬ÎÄ¼þ¼Ð: [2]">ÕýÔÚ³·ÏúÄ£¿éµÄ×¢²á</ProgressText>
  
! <ProgressText Action="SetODBCFolders" Template="">ÕýÔÚ³õÊ¼»¯ ODBC Ä¿Â¼</ProgressText>
  
! <ProgressText Action="StartServices" Template="·þÎñ: [1]">ÕýÔÚÆô¶¯·þÎñ</ProgressText>
  
! <ProgressText Action="StopServices" Template="·þÎñ: [1]">ÕýÔÚÍ£Ö¹·þÎñ</ProgressText>
  
! <ProgressText Action="UnmoveFiles" Template="ÎÄ¼þ: [1]£¬Ä¿Â¼: [9]">ÕýÔÚÉ¾³ýÒÆ¶¯¹ýµÄÎÄ¼þ</ProgressText>
  
! <ProgressText Action="UnpublishComponents" Template="×é¼þ ID: [1]£¬×Ê¸ñÈÏÖ¤Õß: [2]">ÕýÔÚÈ¡ÏûºÏ¸ñ×é¼þµÄ·¢²¼</ProgressText>
  
! <ProgressText Action="UnpublishFeatures" Template="¹¦ÄÜ: [1]">ÕýÔÚÈ¡Ïû²úÆ·¹¦ÄÜµÄ·¢²¼</ProgressText>
  
! <ProgressText Action="UnpublishProduct" Template="">ÕýÔÚÈ¡Ïû²úÆ·ÐÅÏ¢µÄ·¢²¼</ProgressText>
  
! <ProgressText Action="UnregisterClassInfo" Template="Class Id: [1]">ÕýÔÚ³·ÏúÀà·þÎñÆ÷µÄ×¢²á</ProgressText>
  
! <ProgressText Action="UnregisterComPlus" Template="AppId: [1]{{, AppType: [2]}}">ÕýÔÚ³·Ïú COM+ Ó¦ÓÃ³ÌÐòºÍ×é¼þµÄ×¢²á</ProgressText>
  
! <ProgressText Action="UnregisterExtensionInfo" Template="À©Õ¹: [1]">ÕýÔÚ³·ÏúÀ©Õ¹·þÎñÆ÷µÄ×¢²á</ProgressText>
  
! <ProgressText Action="UnregisterFonts" Template="×ÖÌå: [1]">ÕýÔÚ³·Ïú×ÖÌåµÄ×¢²á</ProgressText>
  
! <ProgressText Action="UnregisterMIMEInfo" Template="MIME ÄÚÈÝÀàÐÍ: [1]£¬À©Õ¹: [2]">ÕýÔÚ³·Ïú MIME ÐÅÏ¢µÄ×¢²á</ProgressText>
  
! <ProgressText Action="UnregisterProgIdInfo" Template="ProgId: [1]">ÕýÔÚ³·Ïú³ÌÐò±êÊ¶·ûµÄ×¢²á</ProgressText>
  
! <ProgressText Action="UnregisterTypeLibraries" Template="LibID: [1]">ÕýÔÚ³·ÏúÀàÐÍ¿âµÄ×¢²á</ProgressText>
  
! <ProgressText Action="WriteEnvironmentStrings" Template="Ãû³Æ: [1]£¬ÊýÖµ: [2]£¬¶¯×÷ [3]">ÕýÔÚ¸üÐÂ»·¾³×Ö·û´®</ProgressText>
  
! <ProgressText Action="WriteIniValues" Template="ÎÄ¼þ: [1]£¬½Ú: [2]£¬¼ü: [3]£¬ÊýÖµ: [4]">ÕýÔÚÐ´Èë INI ÎÄ¼þÊýÖµ</ProgressText>
  
! <ProgressText Action="WriteRegistryValues" Template="¼ü: [1]£¬Ãû³Æ: [2]£¬ÊýÖµ: [3]">ÕýÔÚÐ´ÈëÏµÍ³×¢²á±íÖµ</ProgressText>
  
  </Include>
--- 1,143 ----
  <Include>
  
! <ProgressText Action="Advertise">ÃÂ¨Ã–ÂªÃ“Â¦Ã“ÃƒÂ³ÃŒÃÃ²</ProgressText>
  
! <ProgressText Action="AllocateRegistrySpace" Template="Ã—Ã”Ã“Ã‰Â¿Ã•Â¼Ã¤: [1]">Ã•Ã½Ã”ÃšÂ·Ã–Ã…Ã¤Ã—Â¢Â²Ã¡Â±Ã­Â¿Ã•Â¼Ã¤</ProgressText>
  
! <ProgressText Action="AppSearch" Template="ÃŠÃ´ÃÃ”: [1]Â£Â¬Ã‡Â©ÃƒÃ»: [2]">Ã•Ã½Ã”ÃšÃ‹Ã‘Ã‹Ã·Ã’Ã‘Â°Â²Ã—Â°ÂµÃ„Ã“Â¦Ã“ÃƒÂ³ÃŒÃÃ²</ProgressText>
  
! <ProgressText Action="BindImage" Template="ÃŽÃ„Â¼Ã¾: [1]">Â°Ã³Â¶Â¨Â¿Ã‰Ã–Â´ÃÃÃŽÃ„Â¼Ã¾</ProgressText>
  
! <ProgressText Action="CCPSearch">Ã•Ã½Ã”ÃšÃ‹Ã‘Ã‹Ã·Â·Ã»ÂºÃÃ—ÃŠÂ¸Ã±ÂµÃ„Â²ÃºÃ†Â·</ProgressText>
  
! <ProgressText Action="CostFinalize">Ã•Ã½Ã”ÃšÂ¼Ã†Ã‹Ã£Â¿Ã•Â¼Ã¤ÃÃ¨Ã‡Ã³</ProgressText>
  
! <ProgressText Action="CostInitialize">Ã•Ã½Ã”ÃšÂ¼Ã†Ã‹Ã£Â¿Ã•Â¼Ã¤ÃÃ¨Ã‡Ã³</ProgressText>
  
! <ProgressText Action="CreateFolders" Template="ÃŽÃ„Â¼Ã¾Â¼Ã: [1]">Ã•Ã½Ã”ÃšÂ´Â´Â½Â¨ÃŽÃ„Â¼Ã¾Â¼Ã</ProgressText>
  
! <ProgressText Action="CreateShortcuts" Template="Â¿Ã¬Â½ÃÂ·Â½ÃŠÂ½: [1]">Ã•Ã½Ã”ÃšÂ´Â´Â½Â¨Â¿Ã¬Â½ÃÂ·Â½ÃŠÂ½</ProgressText>
  
! <ProgressText Action="DeleteServices" Template="Â·Ã¾ÃŽÃ±: [1]">Ã•Ã½Ã”ÃšÃ‰Â¾Â³Ã½Â·Ã¾ÃŽÃ±</ProgressText>
  
! <ProgressText Action="DuplicateFiles" Template="ÃŽÃ„Â¼Ã¾: [1]Â£Â¬Ã„Â¿Ã‚Â¼: [9]Â£Â¬Â´Ã³ÃÂ¡: [6]">Ã•Ã½Ã”ÃšÂ´Â´Â½Â¨Ã–Ã˜Â¸Â´ÃŽÃ„Â¼Ã¾</ProgressText>
  
! <ProgressText Action="FileCost">Ã•Ã½Ã”ÃšÂ¼Ã†Ã‹Ã£Â¿Ã•Â¼Ã¤ÃÃ¨Ã‡Ã³</ProgressText>
  
! <ProgressText Action="FindRelatedProducts" Template="Ã•Ã’ÂµÂ½Ã“Â¦Ã“ÃƒÂ³ÃŒÃÃ²: [1]">Ã•Ã½Ã”ÃšÃ‹Ã‘Ã‹Ã·ÃÃ Â¹Ã˜Â²ÃºÃ†Â·</ProgressText>
  
! <ProgressText Action="GenerateScript" Template="[1]">Ã•Ã½Ã”ÃšÃ‰ÃºÂ³Ã‰Â½Ã…Â±Â¾Â²Ã™Ã—Ã·Â£Â¬Ã“ÃƒÃ“ÃšÂ£Âº</ProgressText>
  
! <ProgressText Action="InstallAdminPackage" Template="ÃŽÃ„Â¼Ã¾: [1]Â£Â¬Ã„Â¿Ã‚Â¼: [9]Â£Â¬Â´Ã³ÃÂ¡: [6]">Ã•Ã½Ã”ÃšÂ¸Â´Ã–Ã†ÃÃ¸Ã‚Ã§Â°Â²Ã—Â°ÃŽÃ„Â¼Ã¾</ProgressText>
  
! <ProgressText Action="InstallFiles" Template="ÃŽÃ„Â¼Ã¾: [1]Â£Â¬Ã„Â¿Ã‚Â¼: [9]Â£Â¬Â´Ã³ÃÂ¡: [6]">Ã•Ã½Ã”ÃšÂ¸Â´Ã–Ã†ÃÃ‚ÃŽÃ„Â¼Ã¾</ProgressText>
  
! <ProgressText Action="InstallODBC">Ã•Ã½Ã”ÃšÂ°Â²Ã—Â° ODBC Ã—Ã©Â¼Ã¾</ProgressText>
  
! <ProgressText Action="InstallServices" Template="Â·Ã¾ÃŽÃ±: [2]">Ã•Ã½Ã”ÃšÂ°Â²Ã—Â°ÃÃ‚Â·Ã¾ÃŽÃ±</ProgressText>
  
! <ProgressText Action="InstallSFPCatalogFile" Template="ÃŽÃ„Â¼Ã¾: [1]Â£Â¬ Ã’Ã€Â´Ã¦Â¹Ã˜ÃÂµ: [2]">Ã•Ã½Ã”ÃšÂ°Â²Ã—Â°ÃÂµÃÂ³Ã„Â¿Ã‚Â¼</ProgressText>
  
! <ProgressText Action="InstallValidate">Ã•Ã½Ã”ÃšÃ‘Ã©Ã–Â¤Â°Â²Ã—Â°</ProgressText>
  
! <ProgressText Action="LaunchConditions">Ã•Ã½Ã”ÃšÃ†Ã€Â¹Ã€Ã†Ã´Â¶Â¯ÃŒÃµÂ¼Ã¾</ProgressText>
  
! <ProgressText Action="MigrateFeatureStates" Template="Ã“Â¦Ã“ÃƒÂ³ÃŒÃÃ²: [1]">Ã•Ã½Ã”ÃšÂ´Ã“ÃÃ Â¹Ã˜Ã“Â¦Ã“ÃƒÂ³ÃŒÃÃ²Ã‡Â¨Ã’Ã†Â¹Â¦Ã„Ãœ</ProgressText>
  
! <ProgressText Action="MoveFiles" Template="ÃŽÃ„Â¼Ã¾: [1]Â£Â¬Ã„Â¿Ã‚Â¼: [9]Â£Â¬Â´Ã³ÃÂ¡: [6]">Ã•Ã½Ã”ÃšÃ’Ã†Â¶Â¯ÃŽÃ„Â¼Ã¾</ProgressText>
  
! <ProgressText Action="MsiPublishAssemblies" Template="Ã“Â¦Ã“ÃƒÂ³ÃŒÃÃ²Â»Â·Â¾Â³:[1], Â»Ã£Â±Ã ÃƒÃ»:[2]">Â·Â¢ÃÃÂ»Ã£Â±Ã ÃÃ…ÃÂ¢</ProgressText>
  
! <ProgressText Action="MsiUnpublishAssemblies" Template="Ã“Â¦Ã“ÃƒÂ³ÃŒÃÃ²Â»Â·Â¾Â³:[1], Â»Ã£Â±Ã ÃƒÃ»:[2]">ÃÂ£Ã–Â¹Â·Â¢ÃÃÂ»Ã£Â±Ã ÃÃ…ÃÂ¢</ProgressText>
  
! <ProgressText Action="PatchFiles" Template="ÃŽÃ„Â¼Ã¾: [1]Â£Â¬Ã„Â¿Ã‚Â¼: [2]Â£Â¬Â´Ã³ÃÂ¡: [3]">Ã•Ã½Ã”ÃšÃÃžÂ²Â¹ÃŽÃ„Â¼Ã¾</ProgressText>
  
! <ProgressText Action="ProcessComponents">Ã•Ã½Ã”ÃšÂ¸Ã¼ÃÃ‚Ã—Ã©Â¼Ã¾Ã—Â¢Â²Ã¡Â±Ã­</ProgressText>
  
! <ProgressText Action="PublishComponents" Template="Ã—Ã©Â¼Ã¾ ID: [1]Â£Â¬Ã—ÃŠÂ¸Ã±ÃˆÃÃ–Â¤Ã•ÃŸ: [2]">Ã•Ã½Ã”ÃšÂ·Â¢Â²Â¼ÂºÃÂ¸Ã±ÂµÃ„Ã—Ã©Â¼Ã¾</ProgressText>
  
! <ProgressText Action="PublishFeatures" Template="Â¹Â¦Ã„Ãœ: [1]">Ã•Ã½Ã”ÃšÂ·Â¢Â²Â¼Â²ÃºÃ†Â·Â¹Â¦Ã„Ãœ</ProgressText>
  
! <ProgressText Action="PublishProduct">Ã•Ã½Ã”ÃšÂ·Â¢Â²Â¼Â²ÃºÃ†Â·ÃÃ…ÃÂ¢</ProgressText>
  
! <ProgressText Action="RegisterClassInfo" Template="Class Id: [1]">Ã•Ã½Ã”ÃšÃ—Â¢Â²Ã¡Ã€Ã Â·Ã¾ÃŽÃ±Ã†Ã·</ProgressText>
  
! <ProgressText Action="RegisterComPlus" Template="AppId: [1]{{, AppType: [2], Users: [3], RSN: [4]}}">Ã•Ã½Ã”ÃšÃ—Â¢Â²Ã¡ COM+ Ã“Â¦Ã“ÃƒÂ³ÃŒÃÃ²ÂºÃÃ—Ã©Â¼Ã¾</ProgressText>
  
! <ProgressText Action="RegisterExtensionInfo" Template="Ã€Â©Ã•Â¹: [1]">Ã•Ã½Ã”ÃšÃ—Â¢Â²Ã¡Ã€Â©Ã•Â¹Â·Ã¾ÃŽÃ±Ã†Ã·</ProgressText>
  
! <ProgressText Action="RegisterFonts" Template="Ã—Ã–ÃŒÃ¥: [1]">Ã•Ã½Ã”ÃšÃ—Â¢Â²Ã¡Ã—Ã–ÃŒÃ¥</ProgressText>
  
! <ProgressText Action="RegisterMIMEInfo" Template="MIME Ã„ÃšÃˆÃÃ€Ã ÃÃ: [1]Â£Â¬Ã€Â©Ã•Â¹: [2]">Ã•Ã½Ã”ÃšÃ—Â¢Â²Ã¡ MIME ÃÃ…ÃÂ¢</ProgressText>
  
! <ProgressText Action="RegisterProduct" Template="[1]">Ã•Ã½Ã”ÃšÃ—Â¢Â²Ã¡Â²ÃºÃ†Â·</ProgressText>
  
! <ProgressText Action="RegisterProgIdInfo" Template="ProgId: [1]">Ã•Ã½Ã”ÃšÃ—Â¢Â²Ã¡Â³ÃŒÃÃ²Â±ÃªÃŠÂ¶Â·Ã»</ProgressText>
  
! <ProgressText Action="RegisterTypeLibraries" Template="LibID: [1]">Ã•Ã½Ã”ÃšÃ—Â¢Â²Ã¡Ã€Ã ÃÃÂ¿Ã¢</ProgressText>
  
! <ProgressText Action="RegisterUser" Template="[1]">Ã•Ã½Ã”ÃšÃ—Â¢Â²Ã¡Ã“ÃƒÂ»Â§</ProgressText>
  
! <ProgressText Action="RemoveDuplicateFiles" Template="ÃŽÃ„Â¼Ã¾: [1]Â£Â¬Ã„Â¿Ã‚Â¼: [9]">Ã•Ã½Ã”ÃšÃ‰Â¾Â³Ã½Ã–Ã˜Â¸Â´ÂµÃ„ÃŽÃ„Â¼Ã¾</ProgressText>
  
! <ProgressText Action="RemoveEnvironmentStrings" Template="ÃƒÃ»Â³Ã†: [1]Â£Â¬ÃŠÃ½Ã–Âµ: [2]Â£Â¬Â¶Â¯Ã—Ã· [3]">Ã•Ã½Ã”ÃšÂ¸Ã¼ÃÃ‚Â»Â·Â¾Â³Ã—Ã–Â·Ã»Â´Â®</ProgressText>
  
! <ProgressText Action="RemoveExistingProducts" Template="Ã“Â¦Ã“ÃƒÂ³ÃŒÃÃ²: [1]Â£Â¬ÃƒÃ¼ÃÃ®ÃÃ: [2]">Ã•Ã½Ã”ÃšÃ‰Â¾Â³Ã½Ã“Â¦Ã“ÃƒÂ³ÃŒÃÃ²</ProgressText>
  
! <ProgressText Action="RemoveFiles" Template="ÃŽÃ„Â¼Ã¾: [1]Â£Â¬Ã„Â¿Ã‚Â¼: [9]">Ã•Ã½Ã”ÃšÃ‰Â¾Â³Ã½ÃŽÃ„Â¼Ã¾</ProgressText>
  
! <ProgressText Action="RemoveFolders" Template="ÃŽÃ„Â¼Ã¾Â¼Ã: [1]">Ã•Ã½Ã”ÃšÃ‰Â¾Â³Ã½ÃŽÃ„Â¼Ã¾Â¼Ã</ProgressText>
  
! <ProgressText Action="RemoveIniValues" Template="ÃŽÃ„Â¼Ã¾: [1]Â£Â¬Â½Ãš: [2]Â£Â¬Â¼Ã¼: [3]Â£Â¬ÃŠÃ½Ã–Âµ: [4]">Ã•Ã½Ã”ÃšÃ‰Â¾Â³Ã½ INI ÃŽÃ„Â¼Ã¾ÃŒÃµÃ„Â¿</ProgressText>
  
! <ProgressText Action="RemoveODBC">Ã•Ã½Ã”ÃšÃ‰Â¾Â³Ã½ ODBC Ã—Ã©Â¼Ã¾</ProgressText>
  
! <ProgressText Action="RemoveRegistryValues" Template="Â¼Ã¼Ã–Âµ: [1]Â£Â¬ÃƒÃ»Â³Ã†: [2]">Ã•Ã½Ã”ÃšÃ‰Â¾Â³Ã½ÃÂµÃÂ³Ã—Â¢Â²Ã¡Â±Ã­Ã–Âµ</ProgressText>
  
! <ProgressText Action="RemoveShortcuts" Template="Â¿Ã¬Â½ÃÂ·Â½ÃŠÂ½: [1]">Ã•Ã½Ã”ÃšÃ‰Â¾Â³Ã½Â¿Ã¬Â½ÃÂ·Â½ÃŠÂ½</ProgressText>
  
! <ProgressText Action="RMCCPSearch">Ã•Ã½Ã”ÃšÃ‹Ã‘Ã‹Ã·Â·Ã»ÂºÃÃ—ÃŠÂ¸Ã±ÂµÃ„Â²ÃºÃ†Â·</ProgressText>
  
! <ProgressText Action="Rollback" Template="[1]">Â»Ã˜Â¹Ã¶Â²Ã™Ã—Ã·: </ProgressText>
  
! <ProgressText Action="RollbackCleanup" Template="ÃŽÃ„Â¼Ã¾: [1]">Ã•Ã½Ã”ÃšÃ‰Â¾Â³Ã½Â±Â¸Â·ÃÃŽÃ„Â¼Ã¾</ProgressText>
  
! <ProgressText Action="SelfRegModules" Template="ÃŽÃ„Â¼Ã¾: [1]Â£Â¬ÃŽÃ„Â¼Ã¾Â¼Ã: [2]">Ã•Ã½Ã”ÃšÃ—Â¢Â²Ã¡Ã„Â£Â¿Ã©</ProgressText>
  
! <ProgressText Action="SelfUnregModules" Template="ÃŽÃ„Â¼Ã¾: [1]Â£Â¬ÃŽÃ„Â¼Ã¾Â¼Ã: [2]">Ã•Ã½Ã”ÃšÂ³Â·ÃÃºÃ„Â£Â¿Ã©ÂµÃ„Ã—Â¢Â²Ã¡</ProgressText>
  
! <ProgressText Action="SetODBCFolders">Ã•Ã½Ã”ÃšÂ³ÃµÃŠÂ¼Â»Â¯ ODBC Ã„Â¿Ã‚Â¼</ProgressText>
  
! <ProgressText Action="StartServices" Template="Â·Ã¾ÃŽÃ±: [1]">Ã•Ã½Ã”ÃšÃ†Ã´Â¶Â¯Â·Ã¾ÃŽÃ±</ProgressText>
  
! <ProgressText Action="StopServices" Template="Â·Ã¾ÃŽÃ±: [1]">Ã•Ã½Ã”ÃšÃÂ£Ã–Â¹Â·Ã¾ÃŽÃ±</ProgressText>
  
! <ProgressText Action="UnmoveFiles" Template="ÃŽÃ„Â¼Ã¾: [1]Â£Â¬Ã„Â¿Ã‚Â¼: [9]">Ã•Ã½Ã”ÃšÃ‰Â¾Â³Ã½Ã’Ã†Â¶Â¯Â¹Ã½ÂµÃ„ÃŽÃ„Â¼Ã¾</ProgressText>
  
! <ProgressText Action="UnpublishComponents" Template="Ã—Ã©Â¼Ã¾ ID: [1]Â£Â¬Ã—ÃŠÂ¸Ã±ÃˆÃÃ–Â¤Ã•ÃŸ: [2]">Ã•Ã½Ã”ÃšÃˆÂ¡ÃÃ»ÂºÃÂ¸Ã±Ã—Ã©Â¼Ã¾ÂµÃ„Â·Â¢Â²Â¼</ProgressText>
  
! <ProgressText Action="UnpublishFeatures" Template="Â¹Â¦Ã„Ãœ: [1]">Ã•Ã½Ã”ÃšÃˆÂ¡ÃÃ»Â²ÃºÃ†Â·Â¹Â¦Ã„ÃœÂµÃ„Â·Â¢Â²Â¼</ProgressText>
  
! <ProgressText Action="UnpublishProduct">Ã•Ã½Ã”ÃšÃˆÂ¡ÃÃ»Â²ÃºÃ†Â·ÃÃ…ÃÂ¢ÂµÃ„Â·Â¢Â²Â¼</ProgressText>
  
! <ProgressText Action="UnregisterClassInfo" Template="Class Id: [1]">Ã•Ã½Ã”ÃšÂ³Â·ÃÃºÃ€Ã Â·Ã¾ÃŽÃ±Ã†Ã·ÂµÃ„Ã—Â¢Â²Ã¡</ProgressText>
  
! <ProgressText Action="UnregisterComPlus" Template="AppId: [1]{{, AppType: [2]}}">Ã•Ã½Ã”ÃšÂ³Â·ÃÃº COM+ Ã“Â¦Ã“ÃƒÂ³ÃŒÃÃ²ÂºÃÃ—Ã©Â¼Ã¾ÂµÃ„Ã—Â¢Â²Ã¡</ProgressText>
  
! <ProgressText Action="UnregisterExtensionInfo" Template="Ã€Â©Ã•Â¹: [1]">Ã•Ã½Ã”ÃšÂ³Â·ÃÃºÃ€Â©Ã•Â¹Â·Ã¾ÃŽÃ±Ã†Ã·ÂµÃ„Ã—Â¢Â²Ã¡</ProgressText>
  
! <ProgressText Action="UnregisterFonts" Template="Ã—Ã–ÃŒÃ¥: [1]">Ã•Ã½Ã”ÃšÂ³Â·ÃÃºÃ—Ã–ÃŒÃ¥ÂµÃ„Ã—Â¢Â²Ã¡</ProgressText>
  
! <ProgressText Action="UnregisterMIMEInfo" Template="MIME Ã„ÃšÃˆÃÃ€Ã ÃÃ: [1]Â£Â¬Ã€Â©Ã•Â¹: [2]">Ã•Ã½Ã”ÃšÂ³Â·ÃÃº MIME ÃÃ…ÃÂ¢ÂµÃ„Ã—Â¢Â²Ã¡</ProgressText>
  
! <ProgressText Action="UnregisterProgIdInfo" Template="ProgId: [1]">Ã•Ã½Ã”ÃšÂ³Â·ÃÃºÂ³ÃŒÃÃ²Â±ÃªÃŠÂ¶Â·Ã»ÂµÃ„Ã—Â¢Â²Ã¡</ProgressText>
  
! <ProgressText Action="UnregisterTypeLibraries" Template="LibID: [1]">Ã•Ã½Ã”ÃšÂ³Â·ÃÃºÃ€Ã ÃÃÂ¿Ã¢ÂµÃ„Ã—Â¢Â²Ã¡</ProgressText>
  
! <ProgressText Action="WriteEnvironmentStrings" Template="ÃƒÃ»Â³Ã†: [1]Â£Â¬ÃŠÃ½Ã–Âµ: [2]Â£Â¬Â¶Â¯Ã—Ã· [3]">Ã•Ã½Ã”ÃšÂ¸Ã¼ÃÃ‚Â»Â·Â¾Â³Ã—Ã–Â·Ã»Â´Â®</ProgressText>
  
! <ProgressText Action="WriteIniValues" Template="ÃŽÃ„Â¼Ã¾: [1]Â£Â¬Â½Ãš: [2]Â£Â¬Â¼Ã¼: [3]Â£Â¬ÃŠÃ½Ã–Âµ: [4]">Ã•Ã½Ã”ÃšÃÂ´ÃˆÃ« INI ÃŽÃ„Â¼Ã¾ÃŠÃ½Ã–Âµ</ProgressText>
  
! <ProgressText Action="WriteRegistryValues" Template="Â¼Ã¼: [1]Â£Â¬ÃƒÃ»Â³Ã†: [2]Â£Â¬ÃŠÃ½Ã–Âµ: [3]">Ã•Ã½Ã”ÃšÃÂ´ÃˆÃ«ÃÂµÃÂ³Ã—Â¢Â²Ã¡Â±Ã­Ã–Âµ</ProgressText>
  
  </Include>
Index: openafs/src/WINNT/install/wix/lang/zh_TW/ActionText.wxi
diff -c openafs/src/WINNT/install/wix/lang/zh_TW/ActionText.wxi:1.1 openafs/src/WINNT/install/wix/lang/zh_TW/ActionText.wxi:1.1.2.1
*** openafs/src/WINNT/install/wix/lang/zh_TW/ActionText.wxi:1.1	Mon Jun 21 01:21:54 2004
--- openafs/src/WINNT/install/wix/lang/zh_TW/ActionText.wxi	Tue Jul 18 12:10:24 2006
***************
*** 1,143 ****
  <Include>
  
! <ProgressText Action="Advertise" Template="">¥¿¦b«Å¶ÇÀ³¥Îµ{¦¡</ProgressText>
  
! <ProgressText Action="AllocateRegistrySpace" Template="¥i¥ÎªÅ¶¡: [1]">¾ã²zµn¿ý­ÈªÅ¶¡</ProgressText>
  
! <ProgressText Action="AppSearch" Template="ÄÝ©Ê: [1], Ã±¦W: [2]">·j´M¤w¦w¸ËªºÀ³¥Îµ{¦¡</ProgressText>
  
! <ProgressText Action="BindImage" Template="ÀÉ®×: [1]">¥¿¦bµ²¦X¥i°õÀÉ</ProgressText>
  
! <ProgressText Action="CCPSearch" Template="">¥¿¦b·j´M²Å¦X±ø¥óªº²£«~</ProgressText>
  
! <ProgressText Action="CostFinalize" Template="">­pºâ©Ò»ÝªÅ¶¡</ProgressText>
  
! <ProgressText Action="CostInitialize" Template="">­pºâ©Ò»ÝªÅ¶¡</ProgressText>
  
! <ProgressText Action="CreateFolders" Template="¸ê®Æ§¨: [1]">¥¿¦b«Ø¥ß¸ê®Æ§¨</ProgressText>
  
! <ProgressText Action="CreateShortcuts" Template="±¶®|: [1]">¥¿¦b«Ø¥ß±¶®|</ProgressText>
  
! <ProgressText Action="DeleteServices" Template="ªA°È: [1]">§R°£ªA°È</ProgressText>
  
! <ProgressText Action="DuplicateFiles" Template="ÀÉ®×: [1], ¥Ø¿ý: [9],  ¤j¤p: [6]">«Ø¥ß­«½ÆÀÉ®×</ProgressText>
  
! <ProgressText Action="FileCost" Template="">­pºâ©Ò»ÝªÅ¶¡</ProgressText>
  
! <ProgressText Action="FindRelatedProducts" Template="¤w§ä¨ì¤§À³¥Îµ{¦¡: [1]">·j´M¬ÛÃöÀ³¥Îµ{¦¡</ProgressText>
  
! <ProgressText Action="GenerateScript" Template="[1]">¥¿¦b¬°°Ê§@²£¥Í script ¾Þ§@:</ProgressText>
  
! <ProgressText Action="InstallAdminPackage" Template="ÀÉ®×: [1], ¥Ø¿ý: [9], ¤j¤p: [6]">¥¿¦b½Æ»sºô¸ô¦w¸ËÀÉ®×</ProgressText>
  
! <ProgressText Action="InstallFiles" Template="ÀÉ®×: [1], ¥Ø¿ý: [9],  ¤j¤p: [6]">¥¿¦b½Æ»s·sªºÀÉ®×</ProgressText>
  
! <ProgressText Action="InstallODBC" Template="">¦w¸Ë ODBC ¤¸¥ó</ProgressText>
  
! <ProgressText Action="InstallServices" Template="ªA°È: [2]">¦w¸Ë</ProgressText>
  
! <ProgressText Action="InstallSFPCatalogFile" Template="ÀÉ®×: [1]¡A¨Ì¦s©Ê: [2]">¥¿¦b¦w¸Ë¨t²ÎÃþ§O¥Ø¿ý</ProgressText>
  
! <ProgressText Action="InstallValidate" Template="">ÅçÃÒ¦w¸Ë</ProgressText>
  
! <ProgressText Action="LaunchConditions" Template="">ÀËÅç°õ¦æ±ø¥ó</ProgressText>
  
! <ProgressText Action="MigrateFeatureStates" Template="À³¥Îµ{¦¡: [1]">±q¬ÛÃöÀ³¥Îµ{¦¡Âà´«¥\¯àª¬ºA</ProgressText>
  
! <ProgressText Action="MoveFiles" Template="ÀÉ®×: [1], ¥Ø¿ý: [9],  ¤j¤p: [6]">¥¿¦b²¾°ÊÀÉ®×</ProgressText>
  
! <ProgressText Action="MsiPublishAssemblies" Template="À³¥Îµ{¦¡¤º®e:[1], ²Õ¦X¦WºÙ:[2]">¥¿¦b¤½§G²Õ¦X¸ê°T</ProgressText>
  
! <ProgressText Action="MsiUnpublishAssemblies" Template="À³¥Îµ{¦¡¤º®e:[1], ²Õ¦X¦WºÙ:[2]">¥¿¦b¸Ñ°£¤½§G²Õ¦X¸ê°T</ProgressText>
  
! <ProgressText Action="PatchFiles" Template="ÀÉ®×: [1],  ¥Ø¿ý: [2],  ¤j¤p: [3]">­×¸ÉÀÉ®×</ProgressText>
  
! <ProgressText Action="ProcessComponents" Template="">§ó·s¤¸¥óµn¿ý</ProgressText>
  
! <ProgressText Action="PublishComponents" Template="¤¸¥ó ID: [1], Qualifier: [2]">µo§G¦X®æ¤¸¥ó</ProgressText>
  
! <ProgressText Action="PublishFeatures" Template="¥\¯à: [1]">µo§G²£«~¥\¯à</ProgressText>
  
! <ProgressText Action="PublishProduct" Template="">µo§G²£«~¸ê°T</ProgressText>
  
! <ProgressText Action="RegisterClassInfo" Template="Class Id: [1]">µn¿ý Class ¦øªA¾¹</ProgressText>
  
! <ProgressText Action="RegisterComPlus" Template="AppId: [1]{{, AppType: [2], Users: [3], RSN: [4]}}">µn¿ý COM+ À³¥Îµ{¦¡¤Î¤¸¥ó</ProgressText>
  
! <ProgressText Action="RegisterExtensionInfo" Template="©µ¦ù: [1]">µn¿ý©µ¦ù¦øªA¾¹</ProgressText>
  
! <ProgressText Action="RegisterFonts" Template="¦r«¬: [1]">µn¿ý¦r«¬</ProgressText>
  
! <ProgressText Action="RegisterMIMEInfo" Template="MIME Content Type: [1], Extension: [2]">µn¿ý MIME ¸ê°T</ProgressText>
  
! <ProgressText Action="RegisterProduct" Template="[1]">¥¿¦bµn¿ý²£«~</ProgressText>
  
! <ProgressText Action="RegisterProgIdInfo" Template="ProgId: [1]">µn¿ýµ{¦¡ÃÑ§O</ProgressText>
  
! <ProgressText Action="RegisterTypeLibraries" Template="LibID: [1]">µn¿ý type libraries</ProgressText>
  
! <ProgressText Action="RegisterUser" Template="[1]">¥¿¦bµn¿ý¨Ï¥ÎªÌ</ProgressText>
  
! <ProgressText Action="RemoveDuplicateFiles" Template="ÀÉ®×: [1], ¥Ø¿ý: [9]">²¾°£­«½ÆÀÉ®×</ProgressText>
  
! <ProgressText Action="RemoveEnvironmentStrings" Template="¦W¼µ: [1], ­È: [2], °Ê§@ [3]">§ó·sÀô¹Ò¦r¦ê</ProgressText>
  
! <ProgressText Action="RemoveExistingProducts" Template="À³¥Îµ{¦¡: [1], ©R¥O¦C: [2]">²¾°£À³¥Îµ{¦¡</ProgressText>
  
! <ProgressText Action="RemoveFiles" Template="ÀÉ®×: [1], ¥Ø¿ý: [9]">¥¿¦b²¾°£ÀÉ®×</ProgressText>
  
! <ProgressText Action="RemoveFolders" Template="¸ê®Æ§¨: [1]">¥¿¦b²¾°£¸ê®Æ§¨</ProgressText>
  
! <ProgressText Action="RemoveIniValues" Template="ÀÉ®×: [1],  Section: [2],  Key: [3], Value: [4]">¥¿¦b²¾°£ INI ÀÉ®×</ProgressText>
  
! <ProgressText Action="RemoveODBC" Template="">¥¿¦b²¾°£ ODBC ¤¸¥ó</ProgressText>
  
! <ProgressText Action="RemoveRegistryValues" Template="¾÷½X: [1], ¦WºÙ: [2]">¥¿¦b²¾°£¨t²Îµn¿ý­È</ProgressText>
  
! <ProgressText Action="RemoveShortcuts" Template="±¶®|: [1]">¥¿¦b²¾°£±¶®|</ProgressText>
  
! <ProgressText Action="RMCCPSearch" Template="">¥¿¦b·j´M²Å¦X±ø¥óªº²£«~</ProgressText>
  
! <ProgressText Action="Rollback" Template="[1]">´_­ì°Ê§@:</ProgressText>
  
! <ProgressText Action="RollbackCleanup" Template="ÀÉ®×: [1]">¥¿¦b²¾°£³Æ¥÷ÀÉ®×</ProgressText>
  
! <ProgressText Action="SelfRegModules" Template="ÀÉ®×: [1], ¸ê®Æ§¨: [2]">¥¿¦bµn¿ý¼Ò²Õ</ProgressText>
  
! <ProgressText Action="SelfUnregModules" Template="ÀÉ®×: [1], ¸ê®Æ§¨: [2]">¸Ñ°£µn¿ý¼Ò²Õ</ProgressText>
  
! <ProgressText Action="SetODBCFolders" Template="">±Ò°Ê ODBC ¥Ø¿ý</ProgressText>
  
! <ProgressText Action="StartServices" Template="ªA°È: [1]">±Ò°ÊªA°È</ProgressText>
  
! <ProgressText Action="StopServices" Template="ªA°È: [1]">°±¤îªA°È</ProgressText>
  
! <ProgressText Action="UnmoveFiles" Template="ÀÉ®×: [1], ¥Ø¿ý: [9]">¥¿¦b²¾°£³Q²¾°ÊªºÀÉ®×</ProgressText>
  
! <ProgressText Action="UnpublishComponents" Template="¤¸¥ó ID: [1], Qualifier: [2]">¸Ñ°£µo§G¦X®æ¤¸¥ó</ProgressText>
  
! <ProgressText Action="UnpublishFeatures" Template="¥\¯à: [1]">¸Ñ°£µo§G²£«~¥\¯à</ProgressText>
  
! <ProgressText Action="UnpublishProduct" Template="">¸Ñ°£µo§G²£«~¸ê°T</ProgressText>
  
! <ProgressText Action="UnregisterClassInfo" Template="Class Id: [1]">¸Ñ°£µn¿ý Class ¦øªA¾¹</ProgressText>
  
! <ProgressText Action="UnregisterComPlus" Template="AppId: [1]{{, AppType: [2]}}">¸Ñ°£µn¿ý COM+ À³¥Îµ{¦¡¤Î¤¸¥ó</ProgressText>
  
! <ProgressText Action="UnregisterExtensionInfo" Template="©µ¦ù: [1]">¸Ñ°£µn¿ý©µ¦ù¦øªA¾¹</ProgressText>
  
! <ProgressText Action="UnregisterFonts" Template="¦r«¬: [1]">¸Ñ°£µn¿ý¦r«¬</ProgressText>
  
! <ProgressText Action="UnregisterMIMEInfo" Template="MIME Content Type: [1], Extension: [2]">¸Ñ°£µn¿ý MIME ¸ê°T</ProgressText>
  
! <ProgressText Action="UnregisterProgIdInfo" Template="ProgId: [1]">¸Ñ°£µn¿ýµ{¦¡ÃÑ§O</ProgressText>
  
! <ProgressText Action="UnregisterTypeLibraries" Template="LibID: [1]">¸Ñ°£µn¿ý type libraries</ProgressText>
  
! <ProgressText Action="WriteEnvironmentStrings" Template="¦W¼µ: [1], ­È: [2], °Ê§@ [3]">§ó·sÀô¹Ò¦r¦ê</ProgressText>
  
! <ProgressText Action="WriteIniValues" Template="ÀÉ®×: [1],  Section: [2],  Key: [3], Value: [4]">¼g¤J INI ÀÉ®×</ProgressText>
  
! <ProgressText Action="WriteRegistryValues" Template="¾÷½X: [1], ¦WºÙ: [2], ­È: [3]">¥¿¦b¼g¤J¨t²Îµn¿ý</ProgressText>
  
  </Include>
--- 1,143 ----
  <Include>
  
! <ProgressText Action="Advertise">Â¥Â¿Â¦bÂ«Ã…Â¶Ã‡Ã€Â³Â¥ÃŽÂµ{Â¦Â¡</ProgressText>
  
! <ProgressText Action="AllocateRegistrySpace" Template="Â¥iÂ¥ÃŽÂªÃ…Â¶Â¡: [1]">Â¾Ã£Â²zÂµnÂ¿Ã½Â­ÃˆÂªÃ…Â¶Â¡</ProgressText>
  
! <ProgressText Action="AppSearch" Template="Ã„ÃÂ©ÃŠ: [1], ÃƒÂ±Â¦W: [2]">Â·jÂ´MÂ¤wÂ¦wÂ¸Ã‹ÂªÂºÃ€Â³Â¥ÃŽÂµ{Â¦Â¡</ProgressText>
  
! <ProgressText Action="BindImage" Template="Ã€Ã‰Â®Ã—: [1]">Â¥Â¿Â¦bÂµÂ²Â¦XÂ¥iÂ°ÃµÃ€Ã‰</ProgressText>
  
! <ProgressText Action="CCPSearch">Â¥Â¿Â¦bÂ·jÂ´MÂ²Ã…Â¦XÂ±Ã¸Â¥Ã³ÂªÂºÂ²Â£Â«~</ProgressText>
  
! <ProgressText Action="CostFinalize">Â­pÂºÃ¢Â©Ã’Â»ÃÂªÃ…Â¶Â¡</ProgressText>
  
! <ProgressText Action="CostInitialize">Â­pÂºÃ¢Â©Ã’Â»ÃÂªÃ…Â¶Â¡</ProgressText>
  
! <ProgressText Action="CreateFolders" Template="Â¸ÃªÂ®Ã†Â§Â¨: [1]">Â¥Â¿Â¦bÂ«Ã˜Â¥ÃŸÂ¸ÃªÂ®Ã†Â§Â¨</ProgressText>
  
! <ProgressText Action="CreateShortcuts" Template="Â±Â¶Â®|: [1]">Â¥Â¿Â¦bÂ«Ã˜Â¥ÃŸÂ±Â¶Â®|</ProgressText>
  
! <ProgressText Action="DeleteServices" Template="ÂªAÂ°Ãˆ: [1]">Â§RÂ°Â£ÂªAÂ°Ãˆ</ProgressText>
  
! <ProgressText Action="DuplicateFiles" Template="Ã€Ã‰Â®Ã—: [1], Â¥Ã˜Â¿Ã½: [9],  Â¤jÂ¤p: [6]">Â«Ã˜Â¥ÃŸÂ­Â«Â½Ã†Ã€Ã‰Â®Ã—</ProgressText>
  
! <ProgressText Action="FileCost">Â­pÂºÃ¢Â©Ã’Â»ÃÂªÃ…Â¶Â¡</ProgressText>
  
! <ProgressText Action="FindRelatedProducts" Template="Â¤wÂ§Ã¤Â¨Ã¬Â¤Â§Ã€Â³Â¥ÃŽÂµ{Â¦Â¡: [1]">Â·jÂ´MÂ¬Ã›ÃƒÃ¶Ã€Â³Â¥ÃŽÂµ{Â¦Â¡</ProgressText>
  
! <ProgressText Action="GenerateScript" Template="[1]">Â¥Â¿Â¦bÂ¬Â°Â°ÃŠÂ§@Â²Â£Â¥Ã script Â¾ÃžÂ§@:</ProgressText>
  
! <ProgressText Action="InstallAdminPackage" Template="Ã€Ã‰Â®Ã—: [1], Â¥Ã˜Â¿Ã½: [9], Â¤jÂ¤p: [6]">Â¥Â¿Â¦bÂ½Ã†Â»sÂºÃ´Â¸Ã´Â¦wÂ¸Ã‹Ã€Ã‰Â®Ã—</ProgressText>
  
! <ProgressText Action="InstallFiles" Template="Ã€Ã‰Â®Ã—: [1], Â¥Ã˜Â¿Ã½: [9],  Â¤jÂ¤p: [6]">Â¥Â¿Â¦bÂ½Ã†Â»sÂ·sÂªÂºÃ€Ã‰Â®Ã—</ProgressText>
  
! <ProgressText Action="InstallODBC">Â¦wÂ¸Ã‹ ODBC Â¤Â¸Â¥Ã³</ProgressText>
  
! <ProgressText Action="InstallServices" Template="ÂªAÂ°Ãˆ: [2]">Â¦wÂ¸Ã‹</ProgressText>
  
! <ProgressText Action="InstallSFPCatalogFile" Template="Ã€Ã‰Â®Ã—: [1]Â¡AÂ¨ÃŒÂ¦sÂ©ÃŠ: [2]">Â¥Â¿Â¦bÂ¦wÂ¸Ã‹Â¨tÂ²ÃŽÃƒÃ¾Â§OÂ¥Ã˜Â¿Ã½</ProgressText>
  
! <ProgressText Action="InstallValidate">Ã…Ã§ÃƒÃ’Â¦wÂ¸Ã‹</ProgressText>
  
! <ProgressText Action="LaunchConditions">Ã€Ã‹Ã…Ã§Â°ÃµÂ¦Ã¦Â±Ã¸Â¥Ã³</ProgressText>
  
! <ProgressText Action="MigrateFeatureStates" Template="Ã€Â³Â¥ÃŽÂµ{Â¦Â¡: [1]">Â±qÂ¬Ã›ÃƒÃ¶Ã€Â³Â¥ÃŽÂµ{Â¦Â¡Ã‚Ã Â´Â«Â¥\Â¯Ã ÂªÂ¬ÂºA</ProgressText>
  
! <ProgressText Action="MoveFiles" Template="Ã€Ã‰Â®Ã—: [1], Â¥Ã˜Â¿Ã½: [9],  Â¤jÂ¤p: [6]">Â¥Â¿Â¦bÂ²Â¾Â°ÃŠÃ€Ã‰Â®Ã—</ProgressText>
  
! <ProgressText Action="MsiPublishAssemblies" Template="Ã€Â³Â¥ÃŽÂµ{Â¦Â¡Â¤ÂºÂ®e:[1], Â²Ã•Â¦XÂ¦WÂºÃ™:[2]">Â¥Â¿Â¦bÂ¤Â½Â§GÂ²Ã•Â¦XÂ¸ÃªÂ°T</ProgressText>
  
! <ProgressText Action="MsiUnpublishAssemblies" Template="Ã€Â³Â¥ÃŽÂµ{Â¦Â¡Â¤ÂºÂ®e:[1], Â²Ã•Â¦XÂ¦WÂºÃ™:[2]">Â¥Â¿Â¦bÂ¸Ã‘Â°Â£Â¤Â½Â§GÂ²Ã•Â¦XÂ¸ÃªÂ°T</ProgressText>
  
! <ProgressText Action="PatchFiles" Template="Ã€Ã‰Â®Ã—: [1],  Â¥Ã˜Â¿Ã½: [2],  Â¤jÂ¤p: [3]">Â­Ã—Â¸Ã‰Ã€Ã‰Â®Ã—</ProgressText>
  
! <ProgressText Action="ProcessComponents">Â§Ã³Â·sÂ¤Â¸Â¥Ã³ÂµnÂ¿Ã½</ProgressText>
  
! <ProgressText Action="PublishComponents" Template="Â¤Â¸Â¥Ã³ ID: [1], Qualifier: [2]">ÂµoÂ§GÂ¦XÂ®Ã¦Â¤Â¸Â¥Ã³</ProgressText>
  
! <ProgressText Action="PublishFeatures" Template="Â¥\Â¯Ã : [1]">ÂµoÂ§GÂ²Â£Â«~Â¥\Â¯Ã </ProgressText>
  
! <ProgressText Action="PublishProduct">ÂµoÂ§GÂ²Â£Â«~Â¸ÃªÂ°T</ProgressText>
  
! <ProgressText Action="RegisterClassInfo" Template="Class Id: [1]">ÂµnÂ¿Ã½ Class Â¦Ã¸ÂªAÂ¾Â¹</ProgressText>
  
! <ProgressText Action="RegisterComPlus" Template="AppId: [1]{{, AppType: [2], Users: [3], RSN: [4]}}">ÂµnÂ¿Ã½ COM+ Ã€Â³Â¥ÃŽÂµ{Â¦Â¡Â¤ÃŽÂ¤Â¸Â¥Ã³</ProgressText>
  
! <ProgressText Action="RegisterExtensionInfo" Template="Â©ÂµÂ¦Ã¹: [1]">ÂµnÂ¿Ã½Â©ÂµÂ¦Ã¹Â¦Ã¸ÂªAÂ¾Â¹</ProgressText>
  
! <ProgressText Action="RegisterFonts" Template="Â¦rÂ«Â¬: [1]">ÂµnÂ¿Ã½Â¦rÂ«Â¬</ProgressText>
  
! <ProgressText Action="RegisterMIMEInfo" Template="MIME Content Type: [1], Extension: [2]">ÂµnÂ¿Ã½ MIME Â¸ÃªÂ°T</ProgressText>
  
! <ProgressText Action="RegisterProduct" Template="[1]">Â¥Â¿Â¦bÂµnÂ¿Ã½Â²Â£Â«~</ProgressText>
  
! <ProgressText Action="RegisterProgIdInfo" Template="ProgId: [1]">ÂµnÂ¿Ã½Âµ{Â¦Â¡ÃƒÃ‘Â§O</ProgressText>
  
! <ProgressText Action="RegisterTypeLibraries" Template="LibID: [1]">ÂµnÂ¿Ã½ type libraries</ProgressText>
  
! <ProgressText Action="RegisterUser" Template="[1]">Â¥Â¿Â¦bÂµnÂ¿Ã½Â¨ÃÂ¥ÃŽÂªÃŒ</ProgressText>
  
! <ProgressText Action="RemoveDuplicateFiles" Template="Ã€Ã‰Â®Ã—: [1], Â¥Ã˜Â¿Ã½: [9]">Â²Â¾Â°Â£Â­Â«Â½Ã†Ã€Ã‰Â®Ã—</ProgressText>
  
! <ProgressText Action="RemoveEnvironmentStrings" Template="Â¦WÂ¼Âµ: [1], Â­Ãˆ: [2], Â°ÃŠÂ§@ [3]">Â§Ã³Â·sÃ€Ã´Â¹Ã’Â¦rÂ¦Ãª</ProgressText>
  
! <ProgressText Action="RemoveExistingProducts" Template="Ã€Â³Â¥ÃŽÂµ{Â¦Â¡: [1], Â©RÂ¥OÂ¦C: [2]">Â²Â¾Â°Â£Ã€Â³Â¥ÃŽÂµ{Â¦Â¡</ProgressText>
  
! <ProgressText Action="RemoveFiles" Template="Ã€Ã‰Â®Ã—: [1], Â¥Ã˜Â¿Ã½: [9]">Â¥Â¿Â¦bÂ²Â¾Â°Â£Ã€Ã‰Â®Ã—</ProgressText>
  
! <ProgressText Action="RemoveFolders" Template="Â¸ÃªÂ®Ã†Â§Â¨: [1]">Â¥Â¿Â¦bÂ²Â¾Â°Â£Â¸ÃªÂ®Ã†Â§Â¨</ProgressText>
  
! <ProgressText Action="RemoveIniValues" Template="Ã€Ã‰Â®Ã—: [1],  Section: [2],  Key: [3], Value: [4]">Â¥Â¿Â¦bÂ²Â¾Â°Â£ INI Ã€Ã‰Â®Ã—</ProgressText>
  
! <ProgressText Action="RemoveODBC">Â¥Â¿Â¦bÂ²Â¾Â°Â£ ODBC Â¤Â¸Â¥Ã³</ProgressText>
  
! <ProgressText Action="RemoveRegistryValues" Template="Â¾Ã·Â½X: [1], Â¦WÂºÃ™: [2]">Â¥Â¿Â¦bÂ²Â¾Â°Â£Â¨tÂ²ÃŽÂµnÂ¿Ã½Â­Ãˆ</ProgressText>
  
! <ProgressText Action="RemoveShortcuts" Template="Â±Â¶Â®|: [1]">Â¥Â¿Â¦bÂ²Â¾Â°Â£Â±Â¶Â®|</ProgressText>
  
! <ProgressText Action="RMCCPSearch">Â¥Â¿Â¦bÂ·jÂ´MÂ²Ã…Â¦XÂ±Ã¸Â¥Ã³ÂªÂºÂ²Â£Â«~</ProgressText>
  
! <ProgressText Action="Rollback" Template="[1]">Â´_Â­Ã¬Â°ÃŠÂ§@:</ProgressText>
  
! <ProgressText Action="RollbackCleanup" Template="Ã€Ã‰Â®Ã—: [1]">Â¥Â¿Â¦bÂ²Â¾Â°Â£Â³Ã†Â¥Ã·Ã€Ã‰Â®Ã—</ProgressText>
  
! <ProgressText Action="SelfRegModules" Template="Ã€Ã‰Â®Ã—: [1], Â¸ÃªÂ®Ã†Â§Â¨: [2]">Â¥Â¿Â¦bÂµnÂ¿Ã½Â¼Ã’Â²Ã•</ProgressText>
  
! <ProgressText Action="SelfUnregModules" Template="Ã€Ã‰Â®Ã—: [1], Â¸ÃªÂ®Ã†Â§Â¨: [2]">Â¸Ã‘Â°Â£ÂµnÂ¿Ã½Â¼Ã’Â²Ã•</ProgressText>
  
! <ProgressText Action="SetODBCFolders">Â±Ã’Â°ÃŠ ODBC Â¥Ã˜Â¿Ã½</ProgressText>
  
! <ProgressText Action="StartServices" Template="ÂªAÂ°Ãˆ: [1]">Â±Ã’Â°ÃŠÂªAÂ°Ãˆ</ProgressText>
  
! <ProgressText Action="StopServices" Template="ÂªAÂ°Ãˆ: [1]">Â°Â±Â¤Ã®ÂªAÂ°Ãˆ</ProgressText>
  
! <ProgressText Action="UnmoveFiles" Template="Ã€Ã‰Â®Ã—: [1], Â¥Ã˜Â¿Ã½: [9]">Â¥Â¿Â¦bÂ²Â¾Â°Â£Â³QÂ²Â¾Â°ÃŠÂªÂºÃ€Ã‰Â®Ã—</ProgressText>
  
! <ProgressText Action="UnpublishComponents" Template="Â¤Â¸Â¥Ã³ ID: [1], Qualifier: [2]">Â¸Ã‘Â°Â£ÂµoÂ§GÂ¦XÂ®Ã¦Â¤Â¸Â¥Ã³</ProgressText>
  
! <ProgressText Action="UnpublishFeatures" Template="Â¥\Â¯Ã : [1]">Â¸Ã‘Â°Â£ÂµoÂ§GÂ²Â£Â«~Â¥\Â¯Ã </ProgressText>
  
! <ProgressText Action="UnpublishProduct">Â¸Ã‘Â°Â£ÂµoÂ§GÂ²Â£Â«~Â¸ÃªÂ°T</ProgressText>
  
! <ProgressText Action="UnregisterClassInfo" Template="Class Id: [1]">Â¸Ã‘Â°Â£ÂµnÂ¿Ã½ Class Â¦Ã¸ÂªAÂ¾Â¹</ProgressText>
  
! <ProgressText Action="UnregisterComPlus" Template="AppId: [1]{{, AppType: [2]}}">Â¸Ã‘Â°Â£ÂµnÂ¿Ã½ COM+ Ã€Â³Â¥ÃŽÂµ{Â¦Â¡Â¤ÃŽÂ¤Â¸Â¥Ã³</ProgressText>
  
! <ProgressText Action="UnregisterExtensionInfo" Template="Â©ÂµÂ¦Ã¹: [1]">Â¸Ã‘Â°Â£ÂµnÂ¿Ã½Â©ÂµÂ¦Ã¹Â¦Ã¸ÂªAÂ¾Â¹</ProgressText>
  
! <ProgressText Action="UnregisterFonts" Template="Â¦rÂ«Â¬: [1]">Â¸Ã‘Â°Â£ÂµnÂ¿Ã½Â¦rÂ«Â¬</ProgressText>
  
! <ProgressText Action="UnregisterMIMEInfo" Template="MIME Content Type: [1], Extension: [2]">Â¸Ã‘Â°Â£ÂµnÂ¿Ã½ MIME Â¸ÃªÂ°T</ProgressText>
  
! <ProgressText Action="UnregisterProgIdInfo" Template="ProgId: [1]">Â¸Ã‘Â°Â£ÂµnÂ¿Ã½Âµ{Â¦Â¡ÃƒÃ‘Â§O</ProgressText>
  
! <ProgressText Action="UnregisterTypeLibraries" Template="LibID: [1]">Â¸Ã‘Â°Â£ÂµnÂ¿Ã½ type libraries</ProgressText>
  
! <ProgressText Action="WriteEnvironmentStrings" Template="Â¦WÂ¼Âµ: [1], Â­Ãˆ: [2], Â°ÃŠÂ§@ [3]">Â§Ã³Â·sÃ€Ã´Â¹Ã’Â¦rÂ¦Ãª</ProgressText>
  
! <ProgressText Action="WriteIniValues" Template="Ã€Ã‰Â®Ã—: [1],  Section: [2],  Key: [3], Value: [4]">Â¼gÂ¤J INI Ã€Ã‰Â®Ã—</ProgressText>
  
! <ProgressText Action="WriteRegistryValues" Template="Â¾Ã·Â½X: [1], Â¦WÂºÃ™: [2], Â­Ãˆ: [3]">Â¥Â¿Â¦bÂ¼gÂ¤JÂ¨tÂ²ÃŽÂµnÂ¿Ã½</ProgressText>
  
  </Include>
Index: openafs/src/afs/afs_call.c
diff -c openafs/src/afs/afs_call.c:1.74.2.13 openafs/src/afs/afs_call.c:1.74.2.14
*** openafs/src/afs/afs_call.c:1.74.2.13	Mon May 22 15:08:45 2006
--- openafs/src/afs/afs_call.c	Wed Aug  2 15:06:58 2006
***************
*** 11,17 ****
  #include "afs/param.h"
  
  RCSID
!     ("$Header: /cvs/openafs/src/afs/afs_call.c,v 1.74.2.13 2006/05/22 19:08:45 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.74.2.14 2006/08/02 19:06:58 shadow Exp $");
  
  #include "afs/sysincludes.h"	/* Standard vendor system headers */
  #include "afsincludes.h"	/* Afs-based standard headers */
***************
*** 2393,2399 ****
  	    ICL_APPENDINT32(logp,
  			    (afs_int32) ((struct afs_hyper_t *)p1)->low);
  	} else if (t1 == ICL_TYPE_INT64) {
! #ifdef AFSLITTLE_ENDIAN
  #ifdef AFS_64BIT_CLIENT
  	    ICL_APPENDINT32(logp, (afs_int32) ((afs_int32 *) p1)[1]);
  	    ICL_APPENDINT32(logp, (afs_int32) ((afs_int32 *) p1)[0]);
--- 2393,2399 ----
  	    ICL_APPENDINT32(logp,
  			    (afs_int32) ((struct afs_hyper_t *)p1)->low);
  	} else if (t1 == ICL_TYPE_INT64) {
! #ifndef WORDS_BIGENDIAN
  #ifdef AFS_64BIT_CLIENT
  	    ICL_APPENDINT32(logp, (afs_int32) ((afs_int32 *) p1)[1]);
  	    ICL_APPENDINT32(logp, (afs_int32) ((afs_int32 *) p1)[0]);
***************
*** 2433,2439 ****
  	    ICL_APPENDINT32(logp,
  			    (afs_int32) ((struct afs_hyper_t *)p2)->low);
  	} else if (t2 == ICL_TYPE_INT64) {
! #ifdef AFSLITTLE_ENDIAN
  #ifdef AFS_64BIT_CLIENT
  	    ICL_APPENDINT32(logp, (afs_int32) ((afs_int32 *) p2)[1]);
  	    ICL_APPENDINT32(logp, (afs_int32) ((afs_int32 *) p2)[0]);
--- 2433,2439 ----
  	    ICL_APPENDINT32(logp,
  			    (afs_int32) ((struct afs_hyper_t *)p2)->low);
  	} else if (t2 == ICL_TYPE_INT64) {
! #ifndef WORDS_BIGENDIAN
  #ifdef AFS_64BIT_CLIENT
  	    ICL_APPENDINT32(logp, (afs_int32) ((afs_int32 *) p2)[1]);
  	    ICL_APPENDINT32(logp, (afs_int32) ((afs_int32 *) p2)[0]);
***************
*** 2473,2479 ****
  	    ICL_APPENDINT32(logp,
  			    (afs_int32) ((struct afs_hyper_t *)p3)->low);
  	} else if (t3 == ICL_TYPE_INT64) {
! #ifdef AFSLITTLE_ENDIAN
  #ifdef AFS_64BIT_CLIENT
  	    ICL_APPENDINT32(logp, (afs_int32) ((afs_int32 *) p3)[1]);
  	    ICL_APPENDINT32(logp, (afs_int32) ((afs_int32 *) p3)[0]);
--- 2473,2479 ----
  	    ICL_APPENDINT32(logp,
  			    (afs_int32) ((struct afs_hyper_t *)p3)->low);
  	} else if (t3 == ICL_TYPE_INT64) {
! #ifndef WORDS_BIGENDIAN
  #ifdef AFS_64BIT_CLIENT
  	    ICL_APPENDINT32(logp, (afs_int32) ((afs_int32 *) p3)[1]);
  	    ICL_APPENDINT32(logp, (afs_int32) ((afs_int32 *) p3)[0]);
***************
*** 2513,2519 ****
  	    ICL_APPENDINT32(logp,
  			    (afs_int32) ((struct afs_hyper_t *)p4)->low);
  	} else if (t4 == ICL_TYPE_INT64) {
! #ifdef AFSLITTLE_ENDIAN
  #ifdef AFS_64BIT_CLIENT
  	    ICL_APPENDINT32(logp, (afs_int32) ((afs_int32 *) p4)[1]);
  	    ICL_APPENDINT32(logp, (afs_int32) ((afs_int32 *) p4)[0]);
--- 2513,2519 ----
  	    ICL_APPENDINT32(logp,
  			    (afs_int32) ((struct afs_hyper_t *)p4)->low);
  	} else if (t4 == ICL_TYPE_INT64) {
! #ifndef WORDS_BIGENDIAN
  #ifdef AFS_64BIT_CLIENT
  	    ICL_APPENDINT32(logp, (afs_int32) ((afs_int32 *) p4)[1]);
  	    ICL_APPENDINT32(logp, (afs_int32) ((afs_int32 *) p4)[0]);
Index: openafs/src/afs/FBSD/osi_machdep.h
diff -c openafs/src/afs/FBSD/osi_machdep.h:1.9.2.4 openafs/src/afs/FBSD/osi_machdep.h:1.9.2.5
*** openafs/src/afs/FBSD/osi_machdep.h:1.9.2.4	Mon May 22 15:08:46 2006
--- openafs/src/afs/FBSD/osi_machdep.h	Mon Jul 31 12:16:18 2006
***************
*** 121,124 ****
--- 121,126 ----
  #define USERPRI splx(splvar)
  #endif /* KERNEL */
  
+ #define ifnet_flags(x) (x?(x)->if_flags:0)
+ 
  #endif /* _OSI_MACHDEP_H_ */
Index: openafs/src/afs/LINUX/osi_vnodeops.c
diff -c openafs/src/afs/LINUX/osi_vnodeops.c:1.81.2.41 openafs/src/afs/LINUX/osi_vnodeops.c:1.81.2.42
*** openafs/src/afs/LINUX/osi_vnodeops.c:1.81.2.41	Tue Jun 13 12:00:38 2006
--- openafs/src/afs/LINUX/osi_vnodeops.c	Fri Jul 14 10:56:02 2006
***************
*** 22,28 ****
  #include "afs/param.h"
  
  RCSID
!     ("$Header: /cvs/openafs/src/afs/LINUX/osi_vnodeops.c,v 1.81.2.41 2006/06/13 16:00:38 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.81.2.42 2006/07/14 14:56:02 shadow Exp $");
  
  #include "afs/sysincludes.h"
  #include "afsincludes.h"
***************
*** 465,476 ****
  
  #ifdef AFS_LINUX24_ENV
      if (code == 0 && (cmd == F_SETLK || cmd == F_SETLKW)) {
         struct file_lock flp2;
         flp2 = *flp;
- #ifdef AFS_LINUX26_ENV
         flp2.fl_flags &=~ FL_SLEEP;
- #endif
         code = posix_lock_file(fp, &flp2);
         osi_Assert(code != -EAGAIN); /* there should be no conflicts */
         if (code) {
             struct AFS_FLOCK flock2;
--- 465,478 ----
  
  #ifdef AFS_LINUX24_ENV
      if (code == 0 && (cmd == F_SETLK || cmd == F_SETLKW)) {
+ #ifdef AFS_LINUX26_ENV
         struct file_lock flp2;
         flp2 = *flp;
         flp2.fl_flags &=~ FL_SLEEP;
         code = posix_lock_file(fp, &flp2);
+ #else
+        code = posix_lock_file(fp, flp, 0);
+ #endif 
         osi_Assert(code != -EAGAIN); /* there should be no conflicts */
         if (code) {
             struct AFS_FLOCK flock2;
Index: openafs/src/afsweb/weblog.c
diff -c openafs/src/afsweb/weblog.c:1.8 openafs/src/afsweb/weblog.c:1.8.2.1
*** openafs/src/afsweb/weblog.c:1.8	Tue Jul 15 19:14:35 2003
--- openafs/src/afsweb/weblog.c	Mon Jul 31 13:07:47 2006
***************
*** 25,31 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/afsweb/weblog.c,v 1.8 2003/07/15 23:14:35 shadow Exp $");
  
  #include <afs/stds.h>
  #include <sys/types.h>
--- 25,31 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/afsweb/weblog.c,v 1.8.2.1 2006/07/31 17:07:47 shadow Exp $");
  
  #include <afs/stds.h>
  #include <sys/types.h>
***************
*** 666,672 ****
       */
      reply_p = (adk_reply_ptr) 0;
      error_p = (adk_error_ptr) 0;
!     code = ubik_Call(ADK_GetTicket, ubik_handle, 0,	/* Ubik flags */
  		     name,	/* IN:  Principal: must be exact DCE principal */
  		     nonce,	/* IN:  Input nonce */
  		     lifetime,	/* IN:  lifetime */
--- 666,672 ----
       */
      reply_p = (adk_reply_ptr) 0;
      error_p = (adk_error_ptr) 0;
!     code = ubik_ADK_GetTicket(ubik_handle, 0,	/* Ubik flags */
  		     name,	/* IN:  Principal: must be exact DCE principal */
  		     nonce,	/* IN:  Input nonce */
  		     lifetime,	/* IN:  lifetime */
Index: openafs/src/aklog/aklog.1
diff -c openafs/src/aklog/aklog.1:1.1.2.1 openafs/src/aklog/aklog.1:removed
*** openafs/src/aklog/aklog.1:1.1.2.1	Fri Dec 17 10:39:45 2004
--- openafs/src/aklog/aklog.1	Thu Aug  3 00:50:59 2006
***************
*** 1,189 ****
- .\" 
- .\" $Id: aklog.1,v 1.1.2.1 2004/12/17 15:39:45 shadow Exp $
- .\"
- .\" Copyright 1990,1991 by the Massachusetts Institute of Technology
- .\" For distribution and copying rights, see the file "mit-copyright.h"
- .\"
- .TH AKLOG 1 "August 1, 1990"
- .UC 4
- .SH NAME
- aklog \- Obtain tokens for authentication to AFS
- 
- .SH SYNOPSIS
- .B aklog 
- [ 
- .B \-d 
- ] [ 
- .B \-hosts
- ] [ 
- .B \-zsubs 
- ] [ 
- .B \-noprdb 
- ] [ [
- .B \-cell | \-c 
- ] cell [
- .B \-k 
- kerberos-realm
- ] ] [ [ 
- .B \-path | \-p 
- ] pathname ]
- 
- .SH DESCRIPTION
- The 
- .I aklog
- program is used to authenticate to a cell or directory in 
- .I AFS,
- the Andrew Filesystem, by obtaining AFS 
- .I tokens.  
- Ordinarily, aklog is not used directly but called by
- .IR attach (1).
- 
- If 
- .I aklog
- is invoked with no command line arguments, it will obtain tokens 
- for the workstation's local cell.  It is possible to invoke
- .I aklog
- with arbitrarily many cells and pathnames
- specified on the command line.  
- .I aklog 
- knows how to expand cell name abbreviations, so short
- forms of cell names can be use used.  In addition, 
- .I aklog
- understands the following command line options:
- 
- .TP 4 
- .B  \-cell | \-c \fRcell
- This flag is not ordinarily necessary since 
- .I aklog
- can usually figure out when an argument is a cell.  It can be
- used to introduce a cell name that would ordinarily be mistaken
- for a path name if this should be required.  If this flag is
- omitted, an argument will be treated as a cell name if it
- contains no slashes (/) and is neither "." nor ".." .
- 
- .TP
- .B \-k \fRkerberos-realm
- This flag is valid only when immediately following the name of a
- cell.  It is used to tell 
- .I aklog
- what kerberos realm should be used while authenticating to the
- preceding cell.  This argument is unnecessary except when the
- workstation is not properly configured.  Ordinarily, 
- .I aklog
- can determine this information on its own.
- 
- .TP
- .B \-path | \-p \fRpathname
- Like the \-cell flag, this flag is usually unnecessary.  When it
- appears, the next command line argument is always treated as a
- path name.  Ordinarily, an argument is treated as a path name
- if it is "." or ".." or if it contains a slash (/).  
- 
- .TP
- .B \-hosts
- Prints all the server addresses which may act as a single point of
- failure in accessing the specified directory path.  Each element of the
- path is examined, and as new volumes are traversed, if they are not
- replicated, the server's IP address containing the volume will be
- displayed.
- .IR Attach (1)
- invokes 
- .I aklog
- with this option.  The output is of the form
- 
- host: 
- .I IP address
- 
- .TP
- .B \-zsubs
- Causes the printing of the zephyr subscription information that a
- person using a given path or cell would want.  
- .IR Attach (1)
- invokes 
- .I aklog
- with this option.  The output is of the form
- 
- zsub: 
- .I instance
- 
- where 
- .I instance
- is the instance of a class filsrv zephyr subscription.
- 
- .TP
- .B \-noprdb
- Ordinarily, aklog looks up the AFS ID corresponding to the name
- of the person invoking the command.  Specifying this flag turns
- off this functionality.  This may be desirable if the protection
- database is unavailable for some reason and tokens are desired
- anyway.  
- 
- .TP
- .B \-d
- Turns on printing of debugging information.  This option is not
- intended for general users.
- 
- .SH EXIT CODES
- The exit status of
- .I aklog
- will be one of the following:
- .TP 5
- 0
- Success -- No error occurred.
- .TP 5
- 1
- Usage -- Bad command syntax; accompanied by a usage message.
- .TP 5
- 2
- Something failed -- More than one cell or pathname was given on
- the command line and at least one failure occurred.
- A more specific error status is returned when only one directive
- is given.
- .TP 5
- 3
- AFS -- Unable to get AFS configuration or unable to get
- information about a specific cell.
- .TP 5
- 4
- Kerberos -- Unable to get tickets for authentication.
- .TP 5
- 5
- Token -- Unable to get tokens.
- .TP 5
- 6
- Bad pathname -- The path given was not a directory or 
- .I lstat(2)
- failed on some component of the pathname.
- .TP 5
- 7
- Miscellaneous -- An internal failure occurred.  For example, 
- .I aklog
- returns this if it runs out of memory.
- 
- .SH EXAMPLES
- .br
- To get tokens for the local cell:
- .br
- % aklog
- 
- To get tokens for the athena.mit.edu cell:
- .br
- % aklog athena.mit.edu
- .br
- or
- .br
- % aklog athena
- 
- To get tokens adequate to read /afs/athena.mit.edu/user/p/potato:
- .br
- % aklog /afs/athena.mit.edu/user/p/potato
- 
- To get tokens for a test cell that is in a test Kerberos realm:
- .br
- % aklog testcell.mit.edu -k TESTREALM.MIT.EDU
- 
- .SH SEE ALSO
- attach(1), tokens(1), unlog(1)
- 
- .SH AUTHOR
- Emanuel Jay Berkenbilt (MIT-Project Athena)
--- 0 ----
Index: openafs/src/aklog/aklog_main.c
diff -c openafs/src/aklog/aklog_main.c:1.1.2.12 openafs/src/aklog/aklog_main.c:1.1.2.13
*** openafs/src/aklog/aklog_main.c:1.1.2.12	Wed Apr  5 11:42:13 2006
--- openafs/src/aklog/aklog_main.c	Wed Aug  2 15:53:20 2006
***************
*** 1,5 ****
  /* 
!  * $Id: aklog_main.c,v 1.1.2.12 2006/04/05 15:42:13 shadow Exp $
   *
   * Copyright 1990,1991 by the Massachusetts Institute of Technology
   * For distribution and copying rights, see the file "mit-copyright.h"
--- 1,5 ----
  /* 
!  * $Id: aklog_main.c,v 1.1.2.13 2006/08/02 19:53:20 shadow Exp $
   *
   * Copyright 1990,1991 by the Massachusetts Institute of Technology
   * For distribution and copying rights, see the file "mit-copyright.h"
***************
*** 7,13 ****
  
  #if !defined(lint) && !defined(SABER)
  static char *rcsid =
! 	"$Id: aklog_main.c,v 1.1.2.12 2006/04/05 15:42:13 shadow Exp $";
  #endif /* lint || SABER */
  
  #include <afsconfig.h>
--- 7,13 ----
  
  #if !defined(lint) && !defined(SABER)
  static char *rcsid =
! 	"$Id: aklog_main.c,v 1.1.2.13 2006/08/02 19:53:20 shadow Exp $";
  #endif /* lint || SABER */
  
  #include <afsconfig.h>
***************
*** 60,76 ****
  /* #include <krb.h> */
  #endif /* 0 */
  
  #include <krb5.h>
  
  #ifdef WINDOWS
  
- #include <afs/stds.h>
  #include <afs/auth.h>
  #include <rx/rxkad.h>
  #include <afs/dirpath.h>
  
  #else /* !WINDOWS */
- #include <afs/stds.h>
  #ifndef HAVE_KERBEROSV_HEIM_ERR_H
  #include <afs/com_err.h>
  #endif
--- 60,75 ----
  /* #include <krb.h> */
  #endif /* 0 */
  
+ #include <afs/stds.h>
  #include <krb5.h>
  
  #ifdef WINDOWS
  
  #include <afs/auth.h>
  #include <rx/rxkad.h>
  #include <afs/dirpath.h>
  
  #else /* !WINDOWS */
  #ifndef HAVE_KERBEROSV_HEIM_ERR_H
  #include <afs/com_err.h>
  #endif
Index: openafs/src/aklog/asetkey.c
diff -c openafs/src/aklog/asetkey.c:1.4.2.4 openafs/src/aklog/asetkey.c:1.4.2.5
*** openafs/src/aklog/asetkey.c:1.4.2.4	Mon Apr  3 15:45:26 2006
--- openafs/src/aklog/asetkey.c	Wed Aug  2 15:53:20 2006
***************
*** 1,5 ****
  /*
!  * $Id: asetkey.c,v 1.4.2.4 2006/04/03 19:45:26 shadow Exp $
   *
   * asetkey - Manipulates an AFS KeyFile
   *
--- 1,5 ----
  /*
!  * $Id: asetkey.c,v 1.4.2.5 2006/08/02 19:53:20 shadow Exp $
   *
   * asetkey - Manipulates an AFS KeyFile
   *
***************
*** 22,30 ****
  #endif /* HAVE_STRINGS_H */
  #endif /* HAVE_STRING_H */
  
  #include <krb5.h>
  
- #include <afs/stds.h>
  #include <afs/com_err.h>
  #include <afs/cellconfig.h>
  #include <afs/keys.h>
--- 22,30 ----
  #endif /* HAVE_STRINGS_H */
  #endif /* HAVE_STRING_H */
  
+ #include <afs/stds.h>
  #include <krb5.h>
  
  #include <afs/com_err.h>
  #include <afs/cellconfig.h>
  #include <afs/keys.h>
Index: openafs/src/audit/audit.c
diff -c openafs/src/audit/audit.c:1.8.2.8 openafs/src/audit/audit.c:1.8.2.9
*** openafs/src/audit/audit.c:1.8.2.8	Mon Feb 13 12:57:26 2006
--- openafs/src/audit/audit.c	Mon Jul 31 14:15:34 2006
***************
*** 11,17 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/audit/audit.c,v 1.8.2.8 2006/02/13 17:57:26 jaltman Exp $");
  
  #include <fcntl.h>
  #include <stdarg.h>
--- 11,17 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/audit/audit.c,v 1.8.2.9 2006/07/31 18:15:34 shadow Exp $");
  
  #include <fcntl.h>
  #include <stdarg.h>
***************
*** 37,42 ****
--- 37,52 ----
  #endif
  #include <afs/afsutil.h>
  
+ /* C99 requires va_copy.  Older versions of GCC provide __va_copy.  Per t
+    Autoconf manual, memcpy is a generally portable fallback. */          
+ #ifndef va_copy              
+ # ifdef __va_copy
+ #  define va_copy(d, s)         __va_copy((d), (s))             
+ # else
+ #  define va_copy(d, s)         memcpy(&(d), &(s), sizeof(va_list)) 
+ # endif
+ #endif      
+ 
  char *bufferPtr;
  int bufferLen;
  int osi_audit_all = (-1);	/* Not determined yet */
***************
*** 88,95 ****
  	    bufferPtr += sizeof(vaLong);
  	    break;
  	case AUD_LST:		/* Ptr to another list */
! 	    vaLst = va_arg(vaList, va_list);
  	    audmakebuf(audEvent, vaLst);
  	    break;
  	case AUD_FID:		/* AFSFid - contains 3 entries */
  	    vaFid = (struct AFSFid *)va_arg(vaList, struct AFSFid *);
--- 98,106 ----
  	    bufferPtr += sizeof(vaLong);
  	    break;
  	case AUD_LST:		/* Ptr to another list */
! 	    va_copy(vaLst, vaList);
  	    audmakebuf(audEvent, vaLst);
+ 	    va_end(vaLst);
  	    break;
  	case AUD_FID:		/* AFSFid - contains 3 entries */
  	    vaFid = (struct AFSFid *)va_arg(vaList, struct AFSFid *);
***************
*** 213,220 ****
  	    fprintf(out, "LONG %d ", vaLong);
  	    break;
  	case AUD_LST:		/* Ptr to another list */
! 	    vaLst = va_arg(vaList, va_list);
  	    printbuf(out, 1, "VALST", 0, vaLst);
  	    break;
  	case AUD_FID:		/* AFSFid - contains 3 entries */
  	    vaFid = va_arg(vaList, struct AFSFid *);
--- 224,232 ----
  	    fprintf(out, "LONG %d ", vaLong);
  	    break;
  	case AUD_LST:		/* Ptr to another list */
! 	    va_copy(vaLst, vaList);
  	    printbuf(out, 1, "VALST", 0, vaLst);
+ 	    va_end(vaLst);
  	    break;
  	case AUD_FID:		/* AFSFid - contains 3 entries */
  	    vaFid = va_arg(vaList, struct AFSFid *);
Index: openafs/src/auth/Makefile.in
diff -c openafs/src/auth/Makefile.in:1.12.2.1 openafs/src/auth/Makefile.in:1.12.2.2
*** openafs/src/auth/Makefile.in:1.12.2.1	Mon Oct 18 03:11:49 2004
--- openafs/src/auth/Makefile.in	Thu Jul 13 13:19:39 2006
***************
*** 22,30 ****
  UKSRCS=${KSRCS} cellconfig.h acfg_errors.c keys.h cellconfig.c \
         ktc.c authcon.c ktc_errors.c
  
! all: ${TOP_LIBDIR}/libauth.a ${TOP_LIBDIR}/libauth.krb.a depinstall copyauth setkey
! 
! depinstall: ${TOP_INCDIR}/afs/keys.h ${TOP_INCDIR}/afs/cellconfig.h ${TOP_INCDIR}/afs/auth.h
  
  cellconfig.o: cellconfig.c ${INCLS}
  ktc.o: ktc.c ${INCLS} ${TOP_INCDIR}/afs/vice.h
--- 22,39 ----
  UKSRCS=${KSRCS} cellconfig.h acfg_errors.c keys.h cellconfig.c \
         ktc.c authcon.c ktc_errors.c
  
! all: \
! 	${TOP_LIBDIR}/libauth.a \
! 	${TOP_LIBDIR}/libauth.krb.a \
! 	depinstall \
! 	copyauth \
! 	setkey
! 
! depinstall: \
! 	${TOP_INCDIR}/afs/keys.h \
! 	${TOP_INCDIR}/afs/cellconfig.h \
! 	${TOP_INCDIR}/afs/auth.h \
! 	${TOP_INCDIR}/afs/ktc.h
  
  cellconfig.o: cellconfig.c ${INCLS}
  ktc.o: ktc.c ${INCLS} ${TOP_INCDIR}/afs/vice.h
***************
*** 69,93 ****
  #
  # Install targets
  #
! install:   ${DESTDIR}${libdir}/afs/libauth.a ${DESTDIR}${libdir}/afs/libauth.krb.a ${DESTDIR}${includedir}/afs/keys.h ${DESTDIR}${includedir}/afs/cellconfig.h ${DESTDIR}${includedir}/afs/auth.h ${DESTDIR}${sbindir}/copyauth 
! 
! ${DEST}/lib/afs/libauth.a: libauth.a
! 	${INSTALL} $? $@
! 
! ${DEST}/lib/afs/libauth.krb.a: libauth.krb.a
! 	${INSTALL} $? $@
! 
! ${DEST}/etc/copyauth: copyauth
! 	${INSTALL} $? $@
! 
! ${DEST}/include/afs/keys.h: keys.h
! 	${INSTALL} $? $@
! 
! ${DEST}/include/afs/cellconfig.h: cellconfig.h
! 	${INSTALL} $? $@
! 
! ${DEST}/include/afs/auth.h: auth.h
! 	${INSTALL} $? $@
  
  #
  # Misc. targets
--- 78,91 ----
  #
  # Install targets
  #
! install: \
! 	${DESTDIR}${libdir}/afs/libauth.a \
! 	${DESTDIR}${libdir}/afs/libauth.krb.a \
! 	${DESTDIR}${includedir}/afs/keys.h \
! 	${DESTDIR}${includedir}/afs/cellconfig.h \
! 	${DESTDIR}${includedir}/afs/auth.h \
! 	${DESTDIR}${includedir}/afs/ktc.h \
! 	${DESTDIR}${sbindir}/copyauth 
  
  #
  # Misc. targets
***************
*** 96,137 ****
  	cd test; $(MAKE)
  
  clean:
! 	$(RM) -f *.o *.a copyauth setkey auth.h cellconfig.h acfg_errors.c ktc_errors.c core\
! 	AFS_component_version_number.c
  
  include ../config/Makefile.version
  ${DESTDIR}${libdir}/afs/libauth.a: libauth.a
  	${INSTALL} $? $@
  
  ${TOP_LIBDIR}/libauth.a: libauth.a
  	${INSTALL} $? $@
  
  ${DESTDIR}${libdir}/afs/libauth.krb.a: libauth.krb.a
  	${INSTALL} $? $@
  
  ${TOP_LIBDIR}/libauth.krb.a: libauth.krb.a
  	${INSTALL} $? $@
  
  ${DESTDIR}${includedir}/afs/keys.h: keys.h
  	${INSTALL} $? $@
  
  ${TOP_INCDIR}/afs/keys.h: keys.h
  	${INSTALL} $? $@
  
  ${DESTDIR}${includedir}/afs/cellconfig.h: cellconfig.h
  	${INSTALL} $? $@
  
  ${TOP_INCDIR}/afs/cellconfig.h: cellconfig.h
  	${INSTALL} $? $@
  
  ${DESTDIR}${includedir}/afs/auth.h: auth.h
  	${INSTALL} $? $@
  
  ${TOP_INCDIR}/afs/auth.h: auth.h
  	${INSTALL} $? $@
  
  ${DESTDIR}${sbindir}/copyauth: copyauth
  	${INSTALL} $? $@
  
! dest:   ${DEST}/lib/afs/libauth.a ${DEST}/lib/afs/libauth.krb.a ${DEST}/include/afs/keys.h ${DEST}/include/afs/cellconfig.h ${DEST}/include/afs/auth.h ${DEST}/etc/copyauth 
  
--- 94,175 ----
  	cd test; $(MAKE)
  
  clean:
! 	$(RM) -f *.o *.a \
! 		copyauth setkey auth.h cellconfig.h acfg_errors.c \
! 		ktc_errors.c core AFS_component_version_number.c
  
  include ../config/Makefile.version
+ 
+ 
  ${DESTDIR}${libdir}/afs/libauth.a: libauth.a
  	${INSTALL} $? $@
  
  ${TOP_LIBDIR}/libauth.a: libauth.a
  	${INSTALL} $? $@
  
+ ${DEST}/lib/afs/libauth.a: libauth.a
+ 	${INSTALL} $? $@
+ 
  ${DESTDIR}${libdir}/afs/libauth.krb.a: libauth.krb.a
  	${INSTALL} $? $@
  
  ${TOP_LIBDIR}/libauth.krb.a: libauth.krb.a
  	${INSTALL} $? $@
  
+ ${DEST}/lib/afs/libauth.krb.a: libauth.krb.a
+ 	${INSTALL} $? $@
+ 
  ${DESTDIR}${includedir}/afs/keys.h: keys.h
  	${INSTALL} $? $@
  
  ${TOP_INCDIR}/afs/keys.h: keys.h
  	${INSTALL} $? $@
  
+ ${DEST}/include/afs/keys.h: keys.h
+ 	${INSTALL} $? $@
+ 
  ${DESTDIR}${includedir}/afs/cellconfig.h: cellconfig.h
  	${INSTALL} $? $@
  
  ${TOP_INCDIR}/afs/cellconfig.h: cellconfig.h
  	${INSTALL} $? $@
  
+ ${DEST}/include/afs/cellconfig.h: cellconfig.h
+ 	${INSTALL} $? $@
+ 
  ${DESTDIR}${includedir}/afs/auth.h: auth.h
  	${INSTALL} $? $@
  
  ${TOP_INCDIR}/afs/auth.h: auth.h
  	${INSTALL} $? $@
  
+ ${DEST}/include/afs/auth.h: auth.h
+ 	${INSTALL} $? $@
+ 
+ ${DESTDIR}${includedir}/afs/ktc.h: ktc.h
+ 	${INSTALL} $? $@
+ 
+ ${TOP_INCDIR}/afs/ktc.h: ktc.h
+ 	${INSTALL} $? $@
+ 
+ ${DEST}/include/afs/ktc.h: ktc.h
+ 	${INSTALL} $? $@
+ 
  ${DESTDIR}${sbindir}/copyauth: copyauth
  	${INSTALL} $? $@
  
! ${DEST}/etc/copyauth: copyauth
! 	${INSTALL} $? $@
! 
! 
! 
! 
! dest: \
! 	${DEST}/lib/afs/libauth.a \
! 	${DEST}/lib/afs/libauth.krb.a \
! 	${DEST}/include/afs/keys.h \
! 	${DEST}/include/afs/cellconfig.h \
! 	${DEST}/include/afs/auth.h \
! 	${DEST}/include/afs/ktc.h \
! 	${DEST}/etc/copyauth 
  
Index: openafs/src/auth/ktc.c
diff -c openafs/src/auth/ktc.c:1.15.2.1 openafs/src/auth/ktc.c:1.15.2.5
*** openafs/src/auth/ktc.c:1.15.2.1	Wed Aug 25 03:09:36 2004
--- openafs/src/auth/ktc.c	Thu Jul 20 19:35:43 2006
***************
*** 17,23 ****
  #endif
  
  RCSID
!     ("$Header: /cvs/openafs/src/auth/ktc.c,v 1.15.2.1 2004/08/25 07:09:36 shadow Exp $");
  
  #if defined(UKERNEL)
  #include "afs/sysincludes.h"
--- 17,23 ----
  #endif
  
  RCSID
!     ("$Header: /cvs/openafs/src/auth/ktc.c,v 1.15.2.5 2006/07/20 23:35:43 shadow Exp $");
  
  #if defined(UKERNEL)
  #include "afs/sysincludes.h"
***************
*** 59,64 ****
--- 59,67 ----
  #include <afs/vice.h>
  #ifdef	AFS_AIX_ENV
  #include <sys/lockf.h>
+ #ifdef AFS_AIX51_ENV
+ #include <sys/cred.h>
+ #endif
  #endif
  #ifdef HAVE_UNISTD_H
  #include <unistd.h>
***************
*** 71,77 ****
  
  /* For malloc() */
  #include <stdlib.h>
! 
  
  #ifdef	notdef
  /* AFS_KERBEROS_ENV is now conditionally defined in the Makefile */
--- 74,80 ----
  
  /* For malloc() */
  #include <stdlib.h>
! #include "ktc.h"
  
  #ifdef	notdef
  /* AFS_KERBEROS_ENV is now conditionally defined in the Makefile */
***************
*** 132,138 ****
  int afs_tf_save_cred(), afs_tf_close(), afs_tf_create();
  int afs_tf_dest_tkt();
  static void ktc_LocalCell();
- char *ktc_tkt_string();
  #endif /* AFS_KERBEROS_ENV */
  
  #ifdef AFS_DUX40_ENV
--- 135,140 ----
***************
*** 1437,1443 ****
  static char krb_ticket_string[4096] = "";
  
  char *
! ktc_tkt_string()
  {
      char *env;
  
--- 1439,1451 ----
  static char krb_ticket_string[4096] = "";
  
  char *
! ktc_tkt_string(void)
! {
!     return ktc_tkt_string_uid(getuid());
! }
! 
! char *
! ktc_tkt_string_uid(afs_uint32 uid)
  {
      char *env;
  
***************
*** 1450,1456 ****
  	} else {
  	    /* 32 bits of signed integer will always fit in 11 characters
  	     * (including the sign), so no need to worry about overflow */
! 	    (void)sprintf(krb_ticket_string, "%s%d", TKT_ROOT, getuid());
  	}
      }
      UNLOCK_GLOBAL_MUTEX;
--- 1458,1464 ----
  	} else {
  	    /* 32 bits of signed integer will always fit in 11 characters
  	     * (including the sign), so no need to worry about overflow */
! 	    (void)sprintf(krb_ticket_string, "%s%d", TKT_ROOT, uid);
  	}
      }
      UNLOCK_GLOBAL_MUTEX;
***************
*** 1469,1476 ****
   */
  
  void
! ktc_set_tkt_string(val)
!      char *val;
  {
  
      LOCK_GLOBAL_MUTEX;
--- 1477,1483 ----
   */
  
  void
! ktc_set_tkt_string(char * val)
  {
  
      LOCK_GLOBAL_MUTEX;
***************
*** 1608,1613 ****
--- 1615,1627 ----
  static afs_uint32
  curpag()
  {
+ #if defined(AFS_AIX51_ENV)
+     afs_int32 pag;
+ 
+     if (get_pag(PAG_AFS, &pag) < 0 || pag == 0)
+         pag = NOPAG;
+     return pag;
+ #else
      gid_t groups[NGROUPS_MAX];
      afs_uint32 g0, g1;
      afs_uint32 h, l, ret;
***************
*** 1631,1636 ****
--- 1645,1651 ----
  	    return -1;
      }
      return -1;
+ #endif
  }
  
  
Index: openafs/src/auth/ktc.h
diff -c /dev/null openafs/src/auth/ktc.h:1.1.4.3
*** /dev/null	Thu Aug  3 00:50:59 2006
--- openafs/src/auth/ktc.h	Thu Jul 13 13:39:44 2006
***************
*** 0 ****
--- 1,18 ----
+ /*
+  * Copyright 2000, International Business Machines Corporation and others.
+  * All Rights Reserved.
+  * 
+  * This software has been released under the terms of the IBM Public
+  * License.  For details, see the LICENSE file in the top-level source
+  * directory or online at http://www.openafs.org/dl/license10.html
+  */
+ 
+ #ifndef _AFS_AUTH_KTC_H
+ #define _AFS_AUTH_KTC_H
+ 
+ extern char * ktc_tkt_string(void);
+ extern char * ktc_tkt_string_uid(afs_uint32);
+ extern void ktc_set_tkt_string(char *);
+ 
+ 
+ #endif /* _AFS_AUTH_KTC_H */
Index: openafs/src/bozo/NTMakefile
diff -c openafs/src/bozo/NTMakefile:1.8.2.1 openafs/src/bozo/NTMakefile:1.8.2.2
*** openafs/src/bozo/NTMakefile:1.8.2.1	Fri Mar 11 02:03:09 2005
--- openafs/src/bozo/NTMakefile	Mon Jul 31 17:51:19 2006
***************
*** 116,124 ****
  ############################################################################
  # Definitions for generating files via RXGEN
  
! bosint.h bosint.cs.c bosint.ss.c bosint.xdr.c: bosint.xg
! 	$(RXGEN) -x $**
  
  
  ############################################################################
  # Definitions for generating files via COMPILE_ET
--- 116,132 ----
  ############################################################################
  # Definitions for generating files via RXGEN
  
! bosint.cs.c: bosint.xg bosint.h
! 	$(RXGEN) -x -C -o $@ bosint.xg
  
+ bosint.ss.c: bosint.xg bosint.h
+ 	$(RXGEN) -x -S -o $@ bosint.xg
+ 
+ bosint.xdr.c: bosint.xg bosint.h
+ 	$(RXGEN) -x -c -o $@ bosint.xg
+ 
+ bosint.h: bosint.xg
+ 	$(RXGEN) -x -h -o $@ bosint.xg
  
  ############################################################################
  # Definitions for generating files via COMPILE_ET
Index: openafs/src/bubasics/NTMakefile
diff -c openafs/src/bubasics/NTMakefile:1.4 openafs/src/bubasics/NTMakefile:1.4.2.1
*** openafs/src/bubasics/NTMakefile:1.4	Fri Nov 21 03:00:24 2003
--- openafs/src/bubasics/NTMakefile	Mon Jul 31 17:51:19 2006
***************
*** 46,57 ****
  ############################################################################
  # rxgen on butc.xg and bumon.xg
  
! butc.h butc.xdr.c butc.ss.c butc.cs.c: butc.xg
! 	$(RXGEN) $**
  
! bumon.h bumon.xdr.c bumon.ss.c bumon.cs.c: bumon.xg
! 	$(RXGEN) $**
  
  
  ############################################################################
  # compile_et on butm_errs.et and butc_errs.et 
--- 46,74 ----
  ############################################################################
  # rxgen on butc.xg and bumon.xg
  
! butc.xdr.c: butc.xg butc.h
! 	$(RXGEN) -c -o $@ butc.xg
  
! butc.ss.c: butc.xg butc.h
! 	$(RXGEN) -S -o $@ butc.xg
  
+ butc.cs.c: butc.xg butc.h
+ 	$(RXGEN) -C -o $@ butc.xg
+ 
+ butc.h: butc.xg
+ 	$(RXGEN) -h -o $@ butc.xg
+ 
+ bumon.xdr.c: bumon.xg bumon.h
+ 	$(RXGEN) -c -o $@ bumon.xg
+ 
+ bumon.ss.c: bumon.xg bumon.h
+ 	$(RXGEN) -S -o $@ bumon.xg
+ 
+ bumon.cs.c: bumon.xg bumon.h
+ 	$(RXGEN) -C -o $@ bumon.xg
+ 
+ bumon.h: bumon.xg
+ 	$(RXGEN) -h -o $@ bumon.xg
  
  ############################################################################
  # compile_et on butm_errs.et and butc_errs.et 
Index: openafs/src/bucoord/commands.c
diff -c openafs/src/bucoord/commands.c:1.14.2.5 openafs/src/bucoord/commands.c:1.14.2.6
*** openafs/src/bucoord/commands.c:1.14.2.5	Sat Jul  1 11:24:35 2006
--- openafs/src/bucoord/commands.c	Mon Jul 31 12:36:32 2006
***************
*** 11,17 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/bucoord/commands.c,v 1.14.2.5 2006/07/01 15:24:35 shadow Exp $");
  
  #include <afs/stds.h>
  #if defined(AFS_LINUX24_ENV)
--- 11,17 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/bucoord/commands.c,v 1.14.2.6 2006/07/31 16:36:32 shadow Exp $");
  
  #include <afs/stds.h>
  #if defined(AFS_LINUX24_ENV)
***************
*** 1564,1570 ****
  
      /* Perform the call to start the restore */
      code = bc_StartDmpRst(bc_globalConfig, "disk", "restore", volsToRestore,
! 			  /*destserver */ 0, /*destpartition */ 0, fromDate,
  			  newExt, oldFlag,
  			  /*parentDump */ 0, /*dumpLevel */ 0,
  			  bc_Restorer, ports, portCount,
--- 1564,1570 ----
  
      /* Perform the call to start the restore */
      code = bc_StartDmpRst(bc_globalConfig, "disk", "restore", volsToRestore,
! 			  /*destserver */ NULL, /*destpartition */ 0, fromDate,
  			  newExt, oldFlag,
  			  /*parentDump */ 0, /*dumpLevel */ 0,
  			  bc_Restorer, ports, portCount,
Index: openafs/src/bucoord/dump_sched.c
diff -c openafs/src/bucoord/dump_sched.c:1.7.2.2 openafs/src/bucoord/dump_sched.c:1.7.2.3
*** openafs/src/bucoord/dump_sched.c:1.7.2.2	Sun Apr  3 14:48:29 2005
--- openafs/src/bucoord/dump_sched.c	Mon Jul 31 13:07:49 2006
***************
*** 17,23 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/bucoord/dump_sched.c,v 1.7.2.2 2005/04/03 18:48:29 shadow Exp $");
  
  #ifdef AFS_NT40_ENV
  #include <winsock2.h>
--- 17,23 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/bucoord/dump_sched.c,v 1.7.2.3 2006/07/31 17:07:49 shadow Exp $");
  
  #ifdef AFS_NT40_ENV
  #include <winsock2.h>
***************
*** 579,585 ****
  
      /* fetch the version number */
      code =
! 	ubik_Call(BUDB_GetTextVersion, uhptr->uh_client, 0, ctPtr->textType,
  		  &ctPtr->textVersion);
      if (code)
  	ERROR(code);
--- 579,585 ----
  
      /* fetch the version number */
      code =
! 	ubik_BUDB_GetTextVersion(uhptr->uh_client, 0, ctPtr->textType,
  		  &ctPtr->textVersion);
      if (code)
  	ERROR(code);
Index: openafs/src/bucoord/tape_hosts.c
diff -c openafs/src/bucoord/tape_hosts.c:1.7 openafs/src/bucoord/tape_hosts.c:1.7.2.1
*** openafs/src/bucoord/tape_hosts.c:1.7	Tue Jul 15 19:14:47 2003
--- openafs/src/bucoord/tape_hosts.c	Mon Jul 31 13:07:49 2006
***************
*** 11,17 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/bucoord/tape_hosts.c,v 1.7 2003/07/15 23:14:47 shadow Exp $");
  
  #include <afs/stds.h>
  #include <sys/types.h>
--- 11,17 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/bucoord/tape_hosts.c,v 1.7.2.1 2006/07/31 17:07:49 shadow Exp $");
  
  #include <afs/stds.h>
  #include <sys/types.h>
***************
*** 397,403 ****
  
      /* fetch the version number */
      code =
! 	ubik_Call(BUDB_GetTextVersion, uhptr->uh_client, 0, ctPtr->textType,
  		  &ctPtr->textVersion);
      if (code)
  	ERROR(code);
--- 397,403 ----
  
      /* fetch the version number */
      code =
! 	ubik_BUDB_GetTextVersion(uhptr->uh_client, 0, ctPtr->textType,
  		  &ctPtr->textVersion);
      if (code)
  	ERROR(code);
Index: openafs/src/bucoord/vol_sets.c
diff -c openafs/src/bucoord/vol_sets.c:1.10.2.1 openafs/src/bucoord/vol_sets.c:1.10.2.2
*** openafs/src/bucoord/vol_sets.c:1.10.2.1	Sun Apr  3 14:48:29 2005
--- openafs/src/bucoord/vol_sets.c	Mon Jul 31 13:07:49 2006
***************
*** 11,17 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/bucoord/vol_sets.c,v 1.10.2.1 2005/04/03 18:48:29 shadow Exp $");
  
  #include <afs/stds.h>
  #include <sys/types.h>
--- 11,17 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/bucoord/vol_sets.c,v 1.10.2.2 2006/07/31 17:07:49 shadow Exp $");
  
  #include <afs/stds.h>
  #include <sys/types.h>
***************
*** 708,714 ****
  
      /* fetch the version number */
      code =
! 	ubik_Call(BUDB_GetTextVersion, uhptr->uh_client, 0, ctPtr->textType,
  		  &ctPtr->textVersion);
      if (code)
  	ERROR(code);
--- 708,714 ----
  
      /* fetch the version number */
      code =
! 	ubik_BUDB_GetTextVersion(uhptr->uh_client, 0, ctPtr->textType,
  		  &ctPtr->textVersion);
      if (code)
  	ERROR(code);
Index: openafs/src/bucoord/volstub.c
diff -c openafs/src/bucoord/volstub.c:1.6 openafs/src/bucoord/volstub.c:1.6.2.1
*** openafs/src/bucoord/volstub.c:1.6	Sun Dec  7 17:49:19 2003
--- openafs/src/bucoord/volstub.c	Mon Jul 31 13:07:49 2006
***************
*** 11,17 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/bucoord/volstub.c,v 1.6 2003/12/07 22:49:19 jaltman Exp $");
  
  #include <sys/types.h>
  #include <stdio.h>
--- 11,17 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/bucoord/volstub.c,v 1.6.2.1 2006/07/31 17:07:49 shadow Exp $");
  
  #include <sys/types.h>
  #include <stdio.h>
***************
*** 45,51 ****
      afs_int32 code = 0;
  
      code =
! 	ubik_Call(VL_GetEntryByID, uclient, 0, volID, volType, vldbEntryPtr);
      return (code);
  }
  
--- 45,51 ----
      afs_int32 code = 0;
  
      code =
! 	ubik_VL_GetEntryByID(uclient, 0, volID, volType, vldbEntryPtr);
      return (code);
  }
  
Index: openafs/src/budb/Makefile.in
diff -c openafs/src/budb/Makefile.in:1.10 openafs/src/budb/Makefile.in:1.10.2.1
*** openafs/src/budb/Makefile.in:1.10	Tue Jul  1 15:14:29 2003
--- openafs/src/budb/Makefile.in	Mon Jul 31 13:07:49 2006
***************
*** 74,80 ****
  	${CC} ${LDFLAGS} -o budb_server $(SERVER_OBJS) ${LIBS} ${XLIBS}
  
  budb.cs.c: budb.rg
! 	${RXGEN} -C -o $@ ${srcdir}/budb.rg
  
  budb.ss.c: budb.rg
  	${RXGEN} -S -o $@ ${srcdir}/budb.rg
--- 74,80 ----
  	${CC} ${LDFLAGS} -o budb_server $(SERVER_OBJS) ${LIBS} ${XLIBS}
  
  budb.cs.c: budb.rg
! 	${RXGEN} -u -C -o $@ ${srcdir}/budb.rg
  
  budb.ss.c: budb.rg
  	${RXGEN} -S -o $@ ${srcdir}/budb.rg
***************
*** 83,89 ****
  	${RXGEN} -c -o $@ ${srcdir}/budb.rg
  
  budb.h: budb.rg
! 	${RXGEN} -h -o $@ ${srcdir}/budb.rg
  
  budb.cs.c: budb.h
  budb.xdr.c: budb.h
--- 83,89 ----
  	${RXGEN} -c -o $@ ${srcdir}/budb.rg
  
  budb.h: budb.rg
! 	${RXGEN} -u -h -o $@ ${srcdir}/budb.rg
  
  budb.cs.c: budb.h
  budb.xdr.c: budb.h
Index: openafs/src/budb/NTMakefile
diff -c openafs/src/budb/NTMakefile:1.8.2.1 openafs/src/budb/NTMakefile:1.8.2.2
*** openafs/src/budb/NTMakefile:1.8.2.1	Fri Mar 11 02:03:14 2005
--- openafs/src/budb/NTMakefile	Mon Jul 31 17:51:19 2006
***************
*** 91,98 ****
  
  ############################################################################
  # rxgen budb.rg
! budb.xdr.c budb.cs.c budb.ss.c 	$(INCFILEDIR)\budb.h: budb.rg
! 	$(RXGEN) $**
  	$(COPY) budb.h $(INCFILEDIR)\budb.h 
  
  ############################################################################
--- 91,110 ----
  
  ############################################################################
  # rxgen budb.rg
! 
! budb.cs.c: budb.rg budb.h
! 	$(RXGEN) -u -C -o $@ budb.rg
! 
! budb.ss.c: budb.rg budb.h
! 	$(RXGEN) -S -o $@ budb.rg
! 
! budb.xdr.c: budb.rg budb.h
! 	$(RXGEN) -c -o $@ budb.rg
! 
! budb.h: budb.rg
! 	$(RXGEN) -u -h -o budb.h budb.rg
! 
! $(INCFILEDIR)\budb.h: budb.h
  	$(COPY) budb.h $(INCFILEDIR)\budb.h 
  
  ############################################################################
Index: openafs/src/butc/tcudbprocs.c
diff -c openafs/src/butc/tcudbprocs.c:1.14.2.1 openafs/src/butc/tcudbprocs.c:1.14.2.2
*** openafs/src/butc/tcudbprocs.c:1.14.2.1	Sun Apr  3 14:48:29 2005
--- openafs/src/butc/tcudbprocs.c	Mon Jul 31 13:07:50 2006
***************
*** 11,17 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/butc/tcudbprocs.c,v 1.14.2.1 2005/04/03 18:48:29 shadow Exp $");
  
  #include <sys/types.h>
  #ifdef AFS_NT40_ENV
--- 11,17 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/butc/tcudbprocs.c,v 1.14.2.2 2006/07/31 17:07:50 shadow Exp $");
  
  #include <sys/types.h>
  #ifdef AFS_NT40_ENV
***************
*** 1168,1174 ****
  
      /* Add the database header to the database */
      code =
! 	ubik_Call(BUDB_RestoreDbHeader, udbHandle.uh_client, 0,
  		  &hostDbHeader);
      if (code) {
  	ErrorLog(0, rstTapeInfoPtr->taskId, code, 0,
--- 1168,1174 ----
  
      /* Add the database header to the database */
      code =
! 	ubik_BUDB_RestoreDbHeader(udbHandle.uh_client, 0,
  		  &hostDbHeader);
      if (code) {
  	ErrorLog(0, rstTapeInfoPtr->taskId, code, 0,
Index: openafs/src/butc/test_budb.c
diff -c openafs/src/butc/test_budb.c:1.5 openafs/src/butc/test_budb.c:1.5.2.1
*** openafs/src/butc/test_budb.c:1.5	Tue Jul 15 19:14:49 2003
--- openafs/src/butc/test_budb.c	Mon Jul 31 13:07:50 2006
***************
*** 14,20 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/butc/test_budb.c,v 1.5 2003/07/15 23:14:49 shadow Exp $");
  
  #include <afs/auth.h>
  #include <afs/budb_client.h>
--- 14,20 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/butc/test_budb.c,v 1.5.2.1 2006/07/31 17:07:50 shadow Exp $");
  
  #include <afs/auth.h>
  #include <afs/budb_client.h>
***************
*** 55,61 ****
      }
  
      /* Get the versin */
!     code = ubik_Call(BUDB_T_GetVersion, udbHandle.uh_client, 0, &version);
      if (code) {
  	printf("Error in ubik_Call to BUDB_T_GetVersion\n");
  	ERROR(code);
--- 55,61 ----
      }
  
      /* Get the versin */
!     code = ubik_BUDB_T_GetVersion(udbHandle.uh_client, 0, &version);
      if (code) {
  	printf("Error in ubik_Call to BUDB_T_GetVersion\n");
  	ERROR(code);
***************
*** 73,79 ****
      afs_int32 status, orphans, host;
  
      code =
! 	ubik_Call(BUDB_DbVerify, udbHandle.uh_client, 0, &status, &orphans,
  		  &host);
      if (code) {
  	printf("Error in ubik_Call to BUDB_DbVerify\n");
--- 73,79 ----
      afs_int32 status, orphans, host;
  
      code =
! 	ubik_BUDB_DbVerify(udbHandle.uh_client, 0, &status, &orphans,
  		  &host);
      if (code) {
  	printf("Error in ubik_Call to BUDB_DbVerify\n");
Index: openafs/src/cf/bigendian.m4
diff -c openafs/src/cf/bigendian.m4:1.3 openafs/src/cf/bigendian.m4:1.3.2.1
*** openafs/src/cf/bigendian.m4:1.3	Thu Jun  3 01:13:29 2004
--- openafs/src/cf/bigendian.m4	Wed Aug  2 15:07:03 2006
***************
*** 1,5 ****
  dnl
! dnl $Id: bigendian.m4,v 1.3 2004/06/03 05:13:29 shadow Exp $
  dnl
  
  dnl check if this computer is little or big-endian
--- 1,5 ----
  dnl
! dnl $Id: bigendian.m4,v 1.3.2.1 2006/08/02 19:07:03 shadow Exp $
  dnl
  
  dnl check if this computer is little or big-endian
***************
*** 45,51 ****
    fi
  ])
  if test "$openafs_cv_c_bigendian" = "yes"; then
!   AC_DEFINE(WORDS_BIGENDIAN, 1, [define if target is big endian])dnl
  fi
  if test "$openafs_cv_c_bigendian_compile" = "yes"; then
    AC_DEFINE(ENDIANESS_IN_SYS_PARAM_H, 1, [define if sys/param.h defines the endiness])dnl
--- 45,51 ----
    fi
  ])
  if test "$openafs_cv_c_bigendian" = "yes"; then
!   AC_DEFINE(AUTOCONF_FOUND_BIGENDIAN, 1, [define if target is big endian])dnl
  fi
  if test "$openafs_cv_c_bigendian_compile" = "yes"; then
    AC_DEFINE(ENDIANESS_IN_SYS_PARAM_H, 1, [define if sys/param.h defines the endiness])dnl
Index: openafs/src/config/NTMakefile.amd64_w2k
diff -c openafs/src/config/NTMakefile.amd64_w2k:1.1.2.37 openafs/src/config/NTMakefile.amd64_w2k:1.1.2.38
*** openafs/src/config/NTMakefile.amd64_w2k:1.1.2.37	Wed Jul  5 13:11:16 2006
--- openafs/src/config/NTMakefile.amd64_w2k	Fri Jul 28 12:34:26 2006
***************
*** 80,86 ****
  #define used in WinNT/2000 installation and program version display
  AFSPRODUCT_VER_MAJOR=1
  AFSPRODUCT_VER_MINOR=4
! AFSPRODUCT_VER_PATCH=0152
  AFSPRODUCT_VER_BUILD=0
  
  AFSPRODUCT_VERSION=$(AFSPRODUCT_VER_MAJOR).$(AFSPRODUCT_VER_MINOR).$(AFSPRODUCT_VER_PATCH)
--- 80,86 ----
  #define used in WinNT/2000 installation and program version display
  AFSPRODUCT_VER_MAJOR=1
  AFSPRODUCT_VER_MINOR=4
! AFSPRODUCT_VER_PATCH=0153
  AFSPRODUCT_VER_BUILD=0
  
  AFSPRODUCT_VERSION=$(AFSPRODUCT_VER_MAJOR).$(AFSPRODUCT_VER_MINOR).$(AFSPRODUCT_VER_PATCH)
Index: openafs/src/config/NTMakefile.i386_nt40
diff -c openafs/src/config/NTMakefile.i386_nt40:1.46.2.52 openafs/src/config/NTMakefile.i386_nt40:1.46.2.53
*** openafs/src/config/NTMakefile.i386_nt40:1.46.2.52	Wed Jul  5 13:11:16 2006
--- openafs/src/config/NTMakefile.i386_nt40	Fri Jul 28 12:34:26 2006
***************
*** 80,86 ****
  #define used in WinNT/2000 installation and program version display
  AFSPRODUCT_VER_MAJOR=1
  AFSPRODUCT_VER_MINOR=4
! AFSPRODUCT_VER_PATCH=0152
  AFSPRODUCT_VER_BUILD=0
  
  AFSPRODUCT_VERSION=$(AFSPRODUCT_VER_MAJOR).$(AFSPRODUCT_VER_MINOR).$(AFSPRODUCT_VER_PATCH)
--- 80,86 ----
  #define used in WinNT/2000 installation and program version display
  AFSPRODUCT_VER_MAJOR=1
  AFSPRODUCT_VER_MINOR=4
! AFSPRODUCT_VER_PATCH=0153
  AFSPRODUCT_VER_BUILD=0
  
  AFSPRODUCT_VERSION=$(AFSPRODUCT_VER_MAJOR).$(AFSPRODUCT_VER_MINOR).$(AFSPRODUCT_VER_PATCH)
Index: openafs/src/config/NTMakefile.i386_w2k
diff -c openafs/src/config/NTMakefile.i386_w2k:1.1.2.39 openafs/src/config/NTMakefile.i386_w2k:1.1.2.40
*** openafs/src/config/NTMakefile.i386_w2k:1.1.2.39	Wed Jul  5 13:11:16 2006
--- openafs/src/config/NTMakefile.i386_w2k	Fri Jul 28 12:34:26 2006
***************
*** 80,86 ****
  #define used in WinNT/2000 installation and program version display
  AFSPRODUCT_VER_MAJOR=1
  AFSPRODUCT_VER_MINOR=4
! AFSPRODUCT_VER_PATCH=0152
  AFSPRODUCT_VER_BUILD=0
  
  AFSPRODUCT_VERSION=$(AFSPRODUCT_VER_MAJOR).$(AFSPRODUCT_VER_MINOR).$(AFSPRODUCT_VER_PATCH)
--- 80,86 ----
  #define used in WinNT/2000 installation and program version display
  AFSPRODUCT_VER_MAJOR=1
  AFSPRODUCT_VER_MINOR=4
! AFSPRODUCT_VER_PATCH=0153
  AFSPRODUCT_VER_BUILD=0
  
  AFSPRODUCT_VERSION=$(AFSPRODUCT_VER_MAJOR).$(AFSPRODUCT_VER_MINOR).$(AFSPRODUCT_VER_PATCH)
Index: openafs/src/config/param.i386_fbsd_61.h
diff -c /dev/null openafs/src/config/param.i386_fbsd_61.h:1.1.6.2
*** /dev/null	Thu Aug  3 00:50:59 2006
--- openafs/src/config/param.i386_fbsd_61.h	Mon Jul 31 12:06:33 2006
***************
*** 0 ****
--- 1,198 ----
+ #ifndef	AFS_PARAM_H
+ #define	AFS_PARAM_H
+ 
+ /* Machine / Operating system information */
+ #define SYS_NAME	"i386_fbsd_61"
+ #define SYS_NAME_ID	SYS_NAME_ID_i386_fbsd_61
+ 
+ #define AFSLITTLE_ENDIAN    1
+ #define AFS_HAVE_FFS        1	/* Use system's ffs. */
+ #define AFS_HAVE_STATVFS    1	/* System doesn't support statvfs */
+ #define AFS_VM_RDWR_ENV	    1	/* read/write implemented via VM */
+ 
+ #ifndef UKERNEL
+ /* This section for kernel libafs compiles only */
+ 
+ #ifndef IGNORE_STDS_H
+ #include <sys/param.h>
+ #endif
+ 
+ #define AFS_XBSD_ENV 1		/* {Free,Open,Net}BSD */
+ #define AFS_X86_XBSD_ENV 1
+ 
+ #define AFS_NAMEI_ENV     1	/* User space interface to file system */
+ #define AFS_64BIT_ENV 1
+ #define AFS_64BIT_CLIENT 1
+ #define AFS_64BIT_IOPS_ENV 1	/* Needed for NAMEI */
+ #define AFS_FBSD_ENV 1
+ #define AFS_FBSD40_ENV 1
+ #define AFS_FBSD42_ENV 1
+ #define AFS_FBSD43_ENV 1
+ #define AFS_FBSD44_ENV 1
+ #define AFS_FBSD45_ENV 1
+ #define AFS_FBSD46_ENV 1
+ #define AFS_FBSD47_ENV 1
+ #define AFS_FBSD50_ENV 1
+ #define AFS_FBSD51_ENV 1
+ #define AFS_FBSD52_ENV 1
+ #define AFS_FBSD53_ENV 1
+ #define AFS_FBSD60_ENV 1
+ #define AFS_FBSD61_ENV 1
+ #define AFS_X86_FBSD_ENV 1
+ #define AFS_X86_FBSD40_ENV 1
+ #define AFS_X86_FBSD42_ENV 1
+ #define AFS_X86_FBSD43_ENV 1
+ #define AFS_X86_FBSD46_ENV 1
+ #define AFS_X86_FBSD47_ENV 1
+ #define AFS_X86_FBSD50_ENV 1
+ #define AFS_X86_ENV 1
+ #define AFS_NONFSTRANS 1
+ #define FTRUNC O_TRUNC
+ 
+ #define IUPD 0x0010
+ #define IACC 0x0020
+ #define ICHG 0x0040
+ #define IMOD 0x0080
+ 
+ #define IN_LOCK(ip)     lockmgr(&ip->i_lock, LK_EXCLUSIVE, \
+                                 NULL, curproc)
+ #define IN_UNLOCK(ip)   lockmgr(&ip->i_lock, LK_RELEASE, \
+                                 NULL, curproc)
+ 
+ #include <afs/afs_sysnames.h>
+ 
+ #define AFS_VFS_ENV	1
+ #define AFS_VFSINCL_ENV 1
+ #define AFS_GREEDY43_ENV	1
+ #define AFS_ENV  	1
+ 
+ #define AFS_SYSCALL	339
+ #define AFS_MOUNT_AFS	"afs"
+ 
+ #ifndef MOUNT_UFS
+ #define MOUNT_UFS "ufs"
+ #endif
+ 
+ #ifndef	MOUNT_AFS
+ #define	MOUNT_AFS AFS_MOUNT_AFS
+ #endif
+ 
+ #define RXK_LISTENER_ENV 1
+ #define AFS_GCPAGS	        0	/* if nonzero, garbage collect PAGs */
+ #define AFS_USE_GETTIMEOFDAY    1	/* use gettimeofday to implement rx clock */
+ 
+ /* Extra kernel definitions (from kdefs file) */
+ #ifdef _KERNEL
+ #define AFS_GLOBAL_SUNLOCK        1
+ #define	AFS_VFS34	1	/* What is VFS34??? */
+ #define	AFS_SHORTGID	0	/* are group id's short? */
+ #define	afsio_iov	uio_iov
+ #define	afsio_iovcnt	uio_iovcnt
+ #define	afsio_offset	uio_offset
+ #define	afsio_seg	uio_segflg
+ #define	afsio_resid	uio_resid
+ #define	AFS_UIOSYS	UIO_SYSSPACE
+ #define	AFS_UIOUSER	UIO_USERSPACE
+ #define	AFS_CLBYTES	CLBYTES
+ #define	osi_GetTime(x)	microtime(x)
+ #define AFS_KALLOC(x)   osi_fbsd_alloc((x), 1)
+ #undef	AFS_KALLOC_NOSLEEP
+ #define	AFS_KALLOC_NOSLEEP(x) osi_fbsd_alloc((x), 0)
+ #define AFS_KFREE(x,y)  osi_fbsd_free((x))
+ #define	v_count		v_usecount
+ #define v_vfsp		v_mount
+ #define vfs_bsize	mnt_stat.f_bsize
+ #define vfs_fsid	mnt_stat.f_fsid
+ #define va_nodeid	va_fileid
+ #define vfs_vnodecovered mnt_vnodecovered
+ #define direct		dirent
+ #define vnode_t		struct vnode
+ 
+ #ifndef MUTEX_DEFAULT
+ #define MUTEX_DEFAULT   0
+ #endif /* MUTEX_DEFAULT */
+ 
+ #ifndef SSYS
+ #define SSYS            0x00002
+ #endif /* SSYS */
+ 
+ #define p_rcred         p_ucred
+ 
+ #if	!defined(ASSEMBLER) && !defined(__LANGUAGE_ASSEMBLY__)
+ enum vcexcl { NONEXCL, EXCL };
+ 
+ #ifdef KERNEL
+ #ifndef MIN
+ #define MIN(A,B) ((A) < (B) ? (A) : (B))
+ #endif
+ #ifndef MAX
+ #define MAX(A,B) ((A) > (B) ? (A) : (B))
+ #endif
+ #endif /* KERNEL */
+ 
+ #endif /* ! ASSEMBLER & ! __LANGUAGE_ASSEMBLY__ */
+ #endif /* _KERNEL */
+ 
+ #else /* !defined(UKERNEL) */
+ 
+ /* This section for user space compiles only */
+ 
+ #define UKERNEL			1	/* user space kernel */
+ #define AFS_ENV			1
+ #define AFS_VFSINCL_ENV         1
+ #define AFS_USR_FBSD40_ENV	1
+ #define AFS_USR_FBSD42_ENV	1
+ #define AFS_USR_FBSD43_ENV	1
+ #define AFS_USR_FBSD44_ENV	1
+ #define AFS_USR_FBSD45_ENV	1
+ #define AFS_USR_FBSD46_ENV	1
+ #define AFS_USR_FBSD47_ENV	1
+ #define AFS_USR_FBSD50_ENV	1
+ #define AFS_USR_FBSD51_ENV	1
+ #define AFS_USR_FBSD52_ENV	1
+ #define AFS_USR_FBSD53_ENV	1
+ #define AFS_USR_FBSD60_ENV	1
+ #define AFS_USR_FBSD61_ENV	1
+ #define AFS_USR_FBSD_ENV	1
+ #define AFS_NONFSTRANS 1
+ 
+ #define AFS_MOUNT_AFS "afs"	/* The name of the filesystem type. */
+ #define AFS_SYSCALL 339
+ #define AFS_NAMEI_ENV         1	/* User space interface to file system */
+ #define AFS_64BIT_ENV 1
+ #define AFS_64BIT_IOPS_ENV    1	/* Needed for NAMEI */
+ #define AFS_USERSPACE_IP_ADDR 1
+ #define RXK_LISTENER_ENV      1
+ #define AFS_GCPAGS	      0	/* if nonzero, garbage collect PAGs */
+ 
+ #include <afs/afs_sysnames.h>
+ 
+ #define	afsio_iov	uio_iov
+ #define	afsio_iovcnt	uio_iovcnt
+ #define	afsio_offset	uio_offset
+ #define	afsio_seg	uio_segflg
+ #define	afsio_fmode	uio_fmode
+ #define	afsio_resid	uio_resid
+ #define	AFS_UIOSYS	1
+ #define	AFS_UIOUSER	UIO_USERSPACE
+ #define	AFS_CLBYTES	MCLBYTES
+ #define	AFS_MINCHANGE	2
+ #define	VATTR_NULL	usr_vattr_null
+ 
+ #define AFS_DIRENT
+ #ifndef CMSERVERPREF
+ #define CMSERVERPREF
+ #endif
+ 
+ #include <sys/param.h>
+ #include <sys/types.h>
+ #include <sys/mount.h>
+ #include <sys/fcntl.h>
+ #include <sys/uio.h>
+ #include <sys/socket.h>
+ #include <netinet/in.h>
+ #include <limits.h>
+ 
+ #endif /* !defined(UKERNEL) */
+ 
+ #endif /* AFS_PARAM_H */
Index: openafs/src/dauth/Makefile.in
diff -c openafs/src/dauth/Makefile.in:1.9 openafs/src/dauth/Makefile.in:1.9.2.1
*** openafs/src/dauth/Makefile.in:1.9	Sat Jan 11 02:34:05 2003
--- openafs/src/dauth/Makefile.in	Mon Jul 31 13:07:50 2006
***************
*** 46,58 ****
  adkint.xdr.o:	adkint.xdr.c adkint.h
  
  adkint.cs.c: adkint.xg
! 	${RXGEN} -C -o $@ ${srcdir}/adkint.xg
  
  adkint.xdr.c: adkint.xg
  	${RXGEN} -c -o $@ ${srcdir}/adkint.xg
  
  adkint.h: adkint.xg
! 	${RXGEN} -h -o $@ ${srcdir}/adkint.xg
  
  dlog:		dlog.o $(VERS) $(OBJS) $(LIBS)
  		$(CC) ${LDFLAGS} -o dlog dlog.o $(VERS) $(OBJS) ${LIBS} \
--- 46,58 ----
  adkint.xdr.o:	adkint.xdr.c adkint.h
  
  adkint.cs.c: adkint.xg
! 	${RXGEN} -C -u -o $@ ${srcdir}/adkint.xg
  
  adkint.xdr.c: adkint.xg
  	${RXGEN} -c -o $@ ${srcdir}/adkint.xg
  
  adkint.h: adkint.xg
! 	${RXGEN} -h -u -o $@ ${srcdir}/adkint.xg
  
  dlog:		dlog.o $(VERS) $(OBJS) $(LIBS)
  		$(CC) ${LDFLAGS} -o dlog dlog.o $(VERS) $(OBJS) ${LIBS} \
Index: openafs/src/dauth/dlog.c
diff -c openafs/src/dauth/dlog.c:1.9 openafs/src/dauth/dlog.c:1.9.2.1
*** openafs/src/dauth/dlog.c:1.9	Tue Jul 15 19:14:58 2003
--- openafs/src/dauth/dlog.c	Mon Jul 31 13:07:50 2006
***************
*** 20,32 ****
   * to decode the decrypted result. As a side-effect of using the AFS/DFS
   * translator as the intermediary, this program also does not have to access
   * any KRB5 location/configuration information--it just contacts the servers
!  * listed in the CellServDB in the usual manner (via ubik_Call).
   *
   * This works as follows:
   * 
   * 1. dlog sends a GetTickets request to the intermediary.
   *
!  * 2. The intermediary reformats the request as an KRB5 AS request, asking
   *    for a ticket made out to the specified principal, suitable for contacting
   *    the AFS/DFS translator principal. This is determined by the server, and
   *    is by default "afs".
--- 20,32 ----
   * to decode the decrypted result. As a side-effect of using the AFS/DFS
   * translator as the intermediary, this program also does not have to access
   * any KRB5 location/configuration information--it just contacts the servers
!  * listed in the CellServDB in the usual manner (via ubik_.
   *
   * This works as follows:
   * 
   * 1. dlog sends a GetTickets request to the intermediary.
   *
!  * 2. The intermediary reformats the request as an KRB5 AS request(asking
   *    for a ticket made out to the specified principal, suitable for contacting
   *    the AFS/DFS translator principal. This is determined by the server, and
   *    is by default "afs".
***************
*** 72,78 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/dauth/Attic/dlog.c,v 1.9 2003/07/15 23:14:58 shadow Exp $");
  
  #include <afs/stds.h>
  #include <sys/types.h>
--- 72,78 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/dauth/Attic/dlog.c,v 1.9.2.1 2006/07/31 17:07:50 shadow Exp $");
  
  #include <afs/stds.h>
  #include <sys/types.h>
***************
*** 665,671 ****
       */
      reply_p = (adk_reply_ptr) 0;
      error_p = (adk_error_ptr) 0;
!     code = ubik_Call(ADK_GetTicket, ubik_handle, 0,	/* Ubik flags */
  		     name,	/* IN:  Principal: must be exact DCE principal */
  		     nonce,	/* IN:  Input nonce */
  		     lifetime,	/* IN:  lifetime */
--- 665,671 ----
       */
      reply_p = (adk_reply_ptr) 0;
      error_p = (adk_error_ptr) 0;
!     code = ubik_ADK_GetTicket(ubik_handle, 0,	/* Ubik flags */
  		     name,	/* IN:  Principal: must be exact DCE principal */
  		     nonce,	/* IN:  Input nonce */
  		     lifetime,	/* IN:  lifetime */
Index: openafs/src/des/crypt.c
diff -c openafs/src/des/crypt.c:1.13.2.1 openafs/src/des/crypt.c:1.13.2.2
*** openafs/src/des/crypt.c:1.13.2.1	Wed Aug 25 03:03:38 2004
--- openafs/src/des/crypt.c	Tue Jul 25 10:46:18 2006
***************
*** 38,44 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/des/crypt.c,v 1.13.2.1 2004/08/25 07:03:38 shadow Exp $");
  
  #ifdef AFS_NT40_ENV
  #include <windows.h>
--- 38,44 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/des/crypt.c,v 1.13.2.2 2006/07/25 14:46:18 shadow Exp $");
  
  #ifdef AFS_NT40_ENV
  #include <windows.h>
***************
*** 963,968 ****
--- 963,969 ----
  }
  #endif
  
+ #if 0
  /*
   * "encrypt" routine (for backwards compatibility)
   */
***************
*** 993,998 ****
--- 994,1000 ----
      }
      return (0);
  }
+ #endif
  
  #ifdef CRYPT_DEBUG
  STATIC
Index: openafs/src/fsint/NTMakefile
diff -c openafs/src/fsint/NTMakefile:1.5 openafs/src/fsint/NTMakefile:1.5.2.1
*** openafs/src/fsint/NTMakefile:1.5	Fri Nov 21 03:00:47 2003
--- openafs/src/fsint/NTMakefile	Mon Jul 31 17:51:19 2006
***************
*** 37,47 ****
  	$(LIBARCH)  
  
  # use rxgen on afscbint.xg and afsint.xg
! afscbint.cs.c afscbint.ss.c afscbint.xdr.c afscbint.h : afscbint.xg common.xg
! 	$(RXGEN) -x -y afscbint.xg
  
- afsint.cs.c afsint.ss.c afsint.xdr.c afsint.h: afsint.xg common.xg
- 	$(RXGEN) -x afsint.xg
  
  # mtafsint.lib
  
--- 37,66 ----
  	$(LIBARCH)  
  
  # use rxgen on afscbint.xg and afsint.xg
! afscbint.cs.c: common.xg afscbint.xg afsint.h afscbint.h 
! 	$(RXGEN) -x -C -o afscbint.cs.c afscbint.xg
! 
! afscbint.ss.c: common.xg afscbint.xg afsint.h afscbint.h
! 	$(RXGEN) -x -S -o afscbint.ss.c afscbint.xg
! 
! afscbint.xdr.c: common.xg afscbint.xg afsint.h afscbint.h
! 	$(RXGEN) -x -y -c -o afscbint.xdr.c afscbint.xg
! 
! afscbint.h: common.xg afscbint.xg
! 	$(RXGEN) -x -h -o afscbint.h afscbint.xg
! 
! afsint.cs.c: common.xg afsint.xg afsint.h
! 	$(RXGEN) -x -C -o afsint.cs.c afsint.xg
! 
! afsint.ss.c: common.xg afsint.xg afsint.h
! 	$(RXGEN) -x -S -o afsint.ss.c afsint.xg
! 
! afsint.xdr.c: common.xg afsint.xg
! 	$(RXGEN) -x -c -o afsint.xdr.c afsint.xg
! 
! afsint.h: common.xg afsint.xg
! 	$(RXGEN) -x -h -o afsint.h afsint.xg
  
  
  # mtafsint.lib
  
Index: openafs/src/kauth/Makefile.in
diff -c openafs/src/kauth/Makefile.in:1.11.2.1 openafs/src/kauth/Makefile.in:1.11.2.2
*** openafs/src/kauth/Makefile.in:1.11.2.1	Mon Oct 18 03:11:57 2004
--- openafs/src/kauth/Makefile.in	Mon Jul 31 13:07:50 2006
***************
*** 96,102 ****
  $(UKSRCS): kauth.h
  
  kauth.cs.c: kauth.rg
! 	${RXGEN} -x -C -o $@ ${srcdir}/kauth.rg
  
  kauth.ss.c: kauth.rg
  	${RXGEN} -x -S -o $@ ${srcdir}/kauth.rg
--- 96,102 ----
  $(UKSRCS): kauth.h
  
  kauth.cs.c: kauth.rg
! 	${RXGEN} -u -x -C -o $@ ${srcdir}/kauth.rg
  
  kauth.ss.c: kauth.rg
  	${RXGEN} -x -S -o $@ ${srcdir}/kauth.rg
***************
*** 105,111 ****
  	${RXGEN} -x -c -o $@ ${srcdir}/kauth.rg
  
  kauth.h: kauth.rg
! 	${RXGEN} -x -h -o $@ ${srcdir}/kauth.rg
  
  kauth.xdr.c: kauth.h
  kauth.cs.c: kauth.h
--- 105,111 ----
  	${RXGEN} -x -c -o $@ ${srcdir}/kauth.rg
  
  kauth.h: kauth.rg
! 	${RXGEN} -u -x -h -o $@ ${srcdir}/kauth.rg
  
  kauth.xdr.c: kauth.h
  kauth.cs.c: kauth.h
Index: openafs/src/kauth/NTMakefile
diff -c openafs/src/kauth/NTMakefile:1.9.2.1 openafs/src/kauth/NTMakefile:1.9.2.2
*** openafs/src/kauth/NTMakefile:1.9.2.1	Fri Mar 11 02:03:22 2005
--- openafs/src/kauth/NTMakefile	Mon Jul 31 17:51:20 2006
***************
*** 192,199 ****
  ############################################################################
  # rxgen on kauth.rg
  
! kauth.ss.c kauth.cs.c kauth.xdr.c kauth.h: kauth.rg
! 	$(RXGEN) -x $**
  
  ############################################################################
  # compile_et on kaerrors.c 
--- 192,208 ----
  ############################################################################
  # rxgen on kauth.rg
  
! kauth.cs.c: kauth.rg kauth.h
! 	$(RXGEN) -u -x -C -o $@ kauth.rg
! 
! kauth.ss.c: kauth.rg kauth.h
! 	$(RXGEN) -x -S -o $@ kauth.rg
! 
! kauth.xdr.c: kauth.rg kauth.h
! 	$(RXGEN) -x -c -o $@ kauth.rg
! 
! kauth.h: kauth.rg
! 	$(RXGEN) -u -x -h -o $@ kauth.rg
  
  ############################################################################
  # compile_et on kaerrors.c 
Index: openafs/src/libadmin/kas/NTMakefile
diff -c openafs/src/libadmin/kas/NTMakefile:1.5 openafs/src/libadmin/kas/NTMakefile:1.5.2.1
*** openafs/src/libadmin/kas/NTMakefile:1.5	Fri Nov 21 03:01:00 2003
--- openafs/src/libadmin/kas/NTMakefile	Mon Jul 31 17:51:20 2006
***************
*** 35,41 ****
  	$(DESTDIR)\lib\afs\afsadminutil.lib \
  	$(DESTDIR)\lib\afsauthent.lib \
  	$(DESTDIR)\lib\afsrpc.lib \
! 	$(DESTDIR)\lib\afspthread.lib
  
  $(DLLFILE): $(DLLOBJS) $(DLLLIBS)
  	$(DLLCONLINK) /DEF:kasadmin.def
--- 35,42 ----
  	$(DESTDIR)\lib\afs\afsadminutil.lib \
  	$(DESTDIR)\lib\afsauthent.lib \
  	$(DESTDIR)\lib\afsrpc.lib \
! 	$(DESTDIR)\lib\afspthread.lib \
! 	$(DESTDIR)\lib\afs\afsutil.lib
  
  $(DLLFILE): $(DLLOBJS) $(DLLLIBS)
  	$(DLLCONLINK) /DEF:kasadmin.def
Index: openafs/src/libadmin/pts/NTMakefile
diff -c openafs/src/libadmin/pts/NTMakefile:1.5 openafs/src/libadmin/pts/NTMakefile:1.5.2.1
*** openafs/src/libadmin/pts/NTMakefile:1.5	Fri Nov 21 03:01:02 2003
--- openafs/src/libadmin/pts/NTMakefile	Mon Jul 31 17:51:20 2006
***************
*** 38,44 ****
  	$(DESTDIR)\lib\afs\afsadminutil.lib \
  	$(DESTDIR)\lib\afsauthent.lib \
  	$(DESTDIR)\lib\afsrpc.lib \
! 	$(DESTDIR)\lib\afspthread.lib
  
  $(DLLFILE): $(DLLOBJS) $(DLLLIBS)
  	$(DLLCONLINK) /DEF:ptsadmin.def
--- 38,45 ----
  	$(DESTDIR)\lib\afs\afsadminutil.lib \
  	$(DESTDIR)\lib\afsauthent.lib \
  	$(DESTDIR)\lib\afsrpc.lib \
! 	$(DESTDIR)\lib\afspthread.lib \
! 	$(DESTDIR)\lib\afs\afsutil.lib
  
  $(DLLFILE): $(DLLOBJS) $(DLLLIBS)
  	$(DLLCONLINK) /DEF:ptsadmin.def
Index: openafs/src/libadmin/vos/NTMakefile
diff -c openafs/src/libadmin/vos/NTMakefile:1.5 openafs/src/libadmin/vos/NTMakefile:1.5.2.1
*** openafs/src/libadmin/vos/NTMakefile:1.5	Fri Nov 21 03:01:04 2003
--- openafs/src/libadmin/vos/NTMakefile	Mon Jul 31 17:51:20 2006
***************
*** 59,65 ****
  	$(DESTDIR)\lib\afspthread.lib \
  	$(DESTDIR)\lib\afs\afsadminutil.lib \
  	$(DESTDIR)\lib\afsauthent.lib \
! 	$(DESTDIR)\lib\afsrpc.lib
  
  $(DLLFILE): $(DLLOBJS) $(DLLLIBS)
  	$(DLLCONLINK) /DEF:vosadmin.def
--- 59,66 ----
  	$(DESTDIR)\lib\afspthread.lib \
  	$(DESTDIR)\lib\afs\afsadminutil.lib \
  	$(DESTDIR)\lib\afsauthent.lib \
! 	$(DESTDIR)\lib\afsrpc.lib \
! 	$(DESTDIR)\lib\afs\afsutil.lib
  
  $(DLLFILE): $(DLLOBJS) $(DLLLIBS)
  	$(DLLCONLINK) /DEF:vosadmin.def
Index: openafs/src/libafs/afs.ppc_darwin_70.plist.in
diff -c openafs/src/libafs/afs.ppc_darwin_70.plist.in:1.2.2.10 openafs/src/libafs/afs.ppc_darwin_70.plist.in:1.2.2.11
*** openafs/src/libafs/afs.ppc_darwin_70.plist.in:1.2.2.10	Wed Jul  5 16:42:39 2006
--- openafs/src/libafs/afs.ppc_darwin_70.plist.in	Tue Aug  1 18:42:42 2006
***************
*** 15,25 ****
  	<key>CFBundlePackageType</key>
  	<string>KEXT</string>
  	<key>CFBundleShortVersionString</key>
! 	<string>1.4.2b2</string>
  	<key>CFBundleSignature</key>
  	<string>????</string>
  	<key>CFBundleVersion</key>
! 	<string>1.4.2b2</string>
  	<key>OSBundleLibraries</key>
  	<dict>
  		<key>com.apple.kernel.bsd</key>
--- 15,25 ----
  	<key>CFBundlePackageType</key>
  	<string>KEXT</string>
  	<key>CFBundleShortVersionString</key>
! 	<string>1.4.2b3</string>
  	<key>CFBundleSignature</key>
  	<string>????</string>
  	<key>CFBundleVersion</key>
! 	<string>1.4.2b3</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.1.2.5 openafs/src/libafs/afs.ppc_darwin_80.plist.in:1.1.2.6
*** openafs/src/libafs/afs.ppc_darwin_80.plist.in:1.1.2.5	Wed Jul  5 16:42:39 2006
--- openafs/src/libafs/afs.ppc_darwin_80.plist.in	Tue Aug  1 18:42:42 2006
***************
*** 15,25 ****
  	<key>CFBundlePackageType</key>
  	<string>KEXT</string>
  	<key>CFBundleShortVersionString</key>
! 	<string>1.4.2b2</string>
  	<key>CFBundleSignature</key>
  	<string>????</string>
  	<key>CFBundleVersion</key>
! 	<string>1.4.2b2</string>
  	<key>OSBundleLibraries</key>
  	<dict>
  		<key>com.apple.kpi.bsd</key>
--- 15,25 ----
  	<key>CFBundlePackageType</key>
  	<string>KEXT</string>
  	<key>CFBundleShortVersionString</key>
! 	<string>1.4.2b3</string>
  	<key>CFBundleSignature</key>
  	<string>????</string>
  	<key>CFBundleVersion</key>
! 	<string>1.4.2b3</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.2.4 openafs/src/libafs/afs.ppc_darwin_90.plist.in:1.1.2.5
*** openafs/src/libafs/afs.ppc_darwin_90.plist.in:1.1.2.4	Wed Jul  5 16:42:39 2006
--- openafs/src/libafs/afs.ppc_darwin_90.plist.in	Tue Aug  1 18:42:42 2006
***************
*** 15,25 ****
  	<key>CFBundlePackageType</key>
  	<string>KEXT</string>
  	<key>CFBundleShortVersionString</key>
! 	<string>1.4.2b2</string>
  	<key>CFBundleSignature</key>
  	<string>????</string>
  	<key>CFBundleVersion</key>
! 	<string>1.4.2b2</string>
  	<key>OSBundleLibraries</key>
  	<dict>
  		<key>com.apple.kpi.bsd</key>
--- 15,25 ----
  	<key>CFBundlePackageType</key>
  	<string>KEXT</string>
  	<key>CFBundleShortVersionString</key>
! 	<string>1.4.2b3</string>
  	<key>CFBundleSignature</key>
  	<string>????</string>
  	<key>CFBundleVersion</key>
! 	<string>1.4.2b3</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.2.4 openafs/src/libafs/afs.x86_darwin_80.plist.in:1.1.2.5
*** openafs/src/libafs/afs.x86_darwin_80.plist.in:1.1.2.4	Wed Jul  5 16:42:39 2006
--- openafs/src/libafs/afs.x86_darwin_80.plist.in	Tue Aug  1 18:42:42 2006
***************
*** 15,25 ****
  	<key>CFBundlePackageType</key>
  	<string>KEXT</string>
  	<key>CFBundleShortVersionString</key>
! 	<string>1.4.2b2</string>
  	<key>CFBundleSignature</key>
  	<string>????</string>
  	<key>CFBundleVersion</key>
! 	<string>1.4.2b2</string>
  	<key>OSBundleLibraries</key>
  	<dict>
  		<key>com.apple.kpi.bsd</key>
--- 15,25 ----
  	<key>CFBundlePackageType</key>
  	<string>KEXT</string>
  	<key>CFBundleShortVersionString</key>
! 	<string>1.4.2b3</string>
  	<key>CFBundleSignature</key>
  	<string>????</string>
  	<key>CFBundleVersion</key>
! 	<string>1.4.2b3</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.2.4 openafs/src/libafs/afs.x86_darwin_90.plist.in:1.1.2.5
*** openafs/src/libafs/afs.x86_darwin_90.plist.in:1.1.2.4	Wed Jul  5 16:42:39 2006
--- openafs/src/libafs/afs.x86_darwin_90.plist.in	Tue Aug  1 18:42:42 2006
***************
*** 15,25 ****
  	<key>CFBundlePackageType</key>
  	<string>KEXT</string>
  	<key>CFBundleShortVersionString</key>
! 	<string>1.4.2b2</string>
  	<key>CFBundleSignature</key>
  	<string>????</string>
  	<key>CFBundleVersion</key>
! 	<string>1.4.2b2</string>
  	<key>OSBundleLibraries</key>
  	<dict>
  		<key>com.apple.kpi.bsd</key>
--- 15,25 ----
  	<key>CFBundlePackageType</key>
  	<string>KEXT</string>
  	<key>CFBundleShortVersionString</key>
! 	<string>1.4.2b3</string>
  	<key>CFBundleSignature</key>
  	<string>????</string>
  	<key>CFBundleVersion</key>
! 	<string>1.4.2b3</string>
  	<key>OSBundleLibraries</key>
  	<dict>
  		<key>com.apple.kpi.bsd</key>
Index: openafs/src/libafsauthent/afsauthent.def
diff -c openafs/src/libafsauthent/afsauthent.def:1.3.2.1 openafs/src/libafsauthent/afsauthent.def:1.3.2.2
*** openafs/src/libafsauthent/afsauthent.def:1.3.2.1	Sun Jul  2 21:16:35 2006
--- openafs/src/libafsauthent/afsauthent.def	Mon Jul 31 17:51:20 2006
***************
*** 86,88 ****
--- 86,90 ----
  	VOTE_function_names				@84 DATA
  	rx_Finalize					@85
  	pr_End						@86
+         VOTE_GetSyncSite                                @87
+         ubik_RefreshConn                                @88
Index: openafs/src/libafsrpc/NTMakefile
diff -c openafs/src/libafsrpc/NTMakefile:1.9.2.1 openafs/src/libafsrpc/NTMakefile:1.9.2.2
*** openafs/src/libafsrpc/NTMakefile:1.9.2.1	Fri Mar 11 02:03:24 2005
--- openafs/src/libafsrpc/NTMakefile	Mon Jul 31 17:51:20 2006
***************
*** 30,36 ****
  	$(OUT)\xdr_rec.obj  $(OUT)\xdr_refernce.obj $(OUT)\xdr_rx.obj $(OUT)\xdr_update.obj \
  	$(OUT)\xdr_afsuuid.obj $(OUT)\xdr_int64.obj $(OUT)\xdr_int32.obj
  
! RXOBJS = $(OUT)\rx_event.obj $(OUT)\rx_user.obj $(OUT)\rx_pthread.obj $(OUT)\rx.obj \
  	$(OUT)\rx_null.obj $(OUT)\rx_globals.obj $(OUT)\rx_getaddr.obj $(OUT)\rx_misc.obj $(OUT)\rx_packet.obj \
  	$(OUT)\rx_rdwr.obj $(OUT)\rx_trace.obj $(OUT)\rx_xmit_nt.obj $(OUT)\rx_conncache.obj
  
--- 30,36 ----
  	$(OUT)\xdr_rec.obj  $(OUT)\xdr_refernce.obj $(OUT)\xdr_rx.obj $(OUT)\xdr_update.obj \
  	$(OUT)\xdr_afsuuid.obj $(OUT)\xdr_int64.obj $(OUT)\xdr_int32.obj
  
! RXOBJS = $(OUT)\rx_event.obj $(OUT)\rx_user.obj $(OUT)\rx_pthread.obj $(OUT)\rx.obj $(OUT)\rx_clock_nt.obj \
  	$(OUT)\rx_null.obj $(OUT)\rx_globals.obj $(OUT)\rx_getaddr.obj $(OUT)\rx_misc.obj $(OUT)\rx_packet.obj \
  	$(OUT)\rx_rdwr.obj $(OUT)\rx_trace.obj $(OUT)\rx_xmit_nt.obj $(OUT)\rx_conncache.obj
  
Index: openafs/src/packaging/MacOS/DS_Store
Index: openafs/src/packaging/MacOS/OpenAFS.Info.plist
diff -c openafs/src/packaging/MacOS/OpenAFS.Info.plist:1.2.2.19 openafs/src/packaging/MacOS/OpenAFS.Info.plist:1.2.2.21
*** openafs/src/packaging/MacOS/OpenAFS.Info.plist:1.2.2.19	Wed Jul  5 16:42:40 2006
--- openafs/src/packaging/MacOS/OpenAFS.Info.plist	Tue Aug  1 18:42:42 2006
***************
*** 3,15 ****
  <plist version="1.0">
  <dict>
  	<key>CFBundleGetInfoString</key>
! 	<string>OpenAFS 1.4.2b2</string>
  	<key>CFBundleIdentifier</key>
  	<string>org.openafs.OpenAFS.pkg</string>
  	<key>CFBundleName</key>
  	<string>OpenAFS</string>
  	<key>CFBundleShortVersionString</key>
! 	<string>1.4.2b2</string>
  	<key>IFMajorVersion</key>
  	<integer>1</integer>
  	<key>IFMinorVersion</key>
--- 3,15 ----
  <plist version="1.0">
  <dict>
  	<key>CFBundleGetInfoString</key>
! 	<string>OpenAFS 1.4.2b3</string>
  	<key>CFBundleIdentifier</key>
  	<string>org.openafs.OpenAFS.pkg</string>
  	<key>CFBundleName</key>
  	<string>OpenAFS</string>
  	<key>CFBundleShortVersionString</key>
! 	<string>1.4.2b3</string>
  	<key>IFMajorVersion</key>
  	<integer>1</integer>
  	<key>IFMinorVersion</key>
***************
*** 18,23 ****
--- 18,27 ----
  	<false/>
  	<key>IFPkgFlagAuthorizationAction</key>
  	<string>RootAuthorization</string>
+ 	<key>IFPkgFlagBackgroundAlignment</key>
+ 	<string>bottomright</string>
+ 	<key>IfPkgFlagBackgroundScaling</key>
+ 	<string>proportional</string>
  	<key>IFPkgFlagDefaultLocation</key>
  	<string>/</string>
  	<key>IFPkgFlagInstallFat</key>
***************
*** 27,33 ****
  	<key>IFPkgFlagRelocatable</key>
  	<false/>
  	<key>IFPkgFlagRestartAction</key>
! 	<string>RecommendedRestart</string>
  	<key>IFPkgFlagRootVolumeOnly</key>
  	<true/>
  	<key>IFPkgFlagUpdateInstalledLanguages</key>
--- 31,37 ----
  	<key>IFPkgFlagRelocatable</key>
  	<false/>
  	<key>IFPkgFlagRestartAction</key>
! 	<string>NoRestart</string>
  	<key>IFPkgFlagRootVolumeOnly</key>
  	<true/>
  	<key>IFPkgFlagUpdateInstalledLanguages</key>
Index: openafs/src/packaging/MacOS/OpenAFS.info
diff -c openafs/src/packaging/MacOS/OpenAFS.info:1.1.4.33 openafs/src/packaging/MacOS/OpenAFS.info:1.1.4.34
*** openafs/src/packaging/MacOS/OpenAFS.info:1.1.4.33	Wed Jul  5 16:42:40 2006
--- openafs/src/packaging/MacOS/OpenAFS.info	Tue Aug  1 18:42:42 2006
***************
*** 1,5 ****
  Title OpenAFS
! Version 1.4.2b2
  Description The OpenAFS distributed filesystem. This package installs an almost-ready-to-run client for OpenAFS. see http://www.openafs.org for more information.
  DefaultLocation /
  Diskname (null)
--- 1,5 ----
  Title OpenAFS
! Version 1.4.2b3
  Description The OpenAFS distributed filesystem. This package installs an almost-ready-to-run client for OpenAFS. see http://www.openafs.org for more information.
  DefaultLocation /
  Diskname (null)
Index: openafs/src/packaging/MacOS/OpenAFS.post_install
diff -c openafs/src/packaging/MacOS/OpenAFS.post_install:1.3.2.3 openafs/src/packaging/MacOS/OpenAFS.post_install:1.3.2.6
*** openafs/src/packaging/MacOS/OpenAFS.post_install:1.3.2.3	Thu Mar 23 11:08:34 2006
--- openafs/src/packaging/MacOS/OpenAFS.post_install	Tue Aug  1 23:37:56 2006
***************
*** 47,53 ****
  fi
  
  # upgrading between 2 post-1.2.7 releases (or the testing case)
! if [ -f CellServDB.master.last -a  -f CellServDB ]; then
    if cmp -s CellServDB.master.last CellServDB.master ; then
      echo No CellServDB updates
      done=1
--- 47,53 ----
  fi
  
  # upgrading between 2 post-1.2.7 releases (or the testing case)
! if [ -f CellServDB.master.last ]; then
    if cmp -s CellServDB.master.last CellServDB.master ; then
      echo No CellServDB updates
      done=1
***************
*** 59,64 ****
--- 59,67 ----
    if cmp -s CellServDB CellServDB.master ; then
      echo CellServDB is up to date.
      cp CellServDB.master CellServDB.master.last
+     if [ ! -f CellServDB ]; then
+       cp CellServDB.master CellServDB
+     fi
      done=1
    fi
  fi
***************
*** 73,79 ****
      # this is a new install, or an upgrade from pre-1.2.7
      echo "Installing new CellServDB"
      cp CellServDB.master CellServDB.master.last
!     if [ ! -e CellServDB ]; then
  	cp CellServDB.master CellServDB
      fi
    fi
--- 76,82 ----
      # this is a new install, or an upgrade from pre-1.2.7
      echo "Installing new CellServDB"
      cp CellServDB.master CellServDB.master.last
!     if [ ! -f CellServDB ]; then
  	cp CellServDB.master CellServDB
      fi
    fi
***************
*** 89,91 ****
--- 92,97 ----
    chmod a-x config/afssettings
  fi
  
+ #here we should run tools which configure the client, and then if it's enabled:
+ /Library/StartupItems/OpenAFS/OpenAFS start
+ 
Index: openafs/src/packaging/MacOS/Uninstall
diff -c /dev/null openafs/src/packaging/MacOS/Uninstall:1.1.2.2
*** /dev/null	Thu Aug  3 00:50:59 2006
--- openafs/src/packaging/MacOS/Uninstall	Tue Aug  1 18:13:34 2006
***************
*** 0 ****
--- 1,397 ----
+ #!/usr/bin/perl -w
+ # real Perl code begins here
+ #
+ # Adapted from Apple's uninstall-devtools.pl (Version 7 for Xcode Tools 1.2)
+ #
+ # BSD License: c.f. <http://www.opensource.org/licenses/bsd-license>
+ #
+ 
+ use strict;
+ use File::Basename;
+ 
+ use vars qw ($do_nothing $print_donothing_removals $receipts_dir $verbose $noisy_warnings);
+ use vars qw ($suppress_spin $spin_counter $spin_state $spin_slower_downer);
+ use vars qw (%exception_list $gen_dirs @gen_files @rmfiles @rmdirs @rmpkg);
+ 
+ #----------------------------------------------------------------------------------------
+ 
+ $do_nothing = 0;
+ $print_donothing_removals = 1;
+ $verbose = 1;
+ $noisy_warnings = 0;
+ 
+ # One of rm -rf in this script uses $receipts_dir -- change with care.
+ $receipts_dir = "/Library/Receipts";
+ 
+ %exception_list = (
+ #  '/usr/bin/aklog', '',
+ );
+ 
+ $gen_dirs = { };
+ #$gen_dirs->{"/"}->{"Library"}->{"OpenAFS"}->{"Tools"} = {};
+ 
+ @gen_files = (
+     "/var/db/openafs/etc/cacheinfo",
+     "/var/db/openafs/etc/ThisCell",
+     "/var/db/openafs/etc/config/afsd.options",
+     "/var/db/openafs/etc/CellServDB.save",
+     "/var/db/openafs/etc/CellServDB.master.last",
+     "/var/db/openafs/etc/CellServDB",
+     "/var/db/openafs/etc/config/settings.plist",
+ );
+ 
+ #----------------------------------------------------------------------------------------
+ 
+ $| = 1;
+ #if ($do_nothing == 0 && $< != 0)
+ #  {
+ #    die "ERROR: Must be run with root permissions--prefix command with 'sudo'.\n";
+ #  }
+ 
+ sub main
+   {
+     # commandline args: 
+     #     0: dir of packages to remove
+     #     1: flag indicating whether to keep package receipts
+     #     2: flag indicating whether to supress spin indicator
+ 
+     if (!@ARGV) {
+ 	use FindBin qw($Bin);
+ 	@ARGV = ("$Bin/..", 0, 0);
+     }
+     $suppress_spin = defined ($ARGV[2]) && $ARGV[2];
+ 
+     $spin_counter = 0;
+     $spin_state = 0;
+     spin_rate_slow ();
+ 
+     pre_print ();
+     print "Uninstalling OpenAFS package:\n\n";
+ 
+     remove_generated_files ();
+     remove_main_packages ();
+     remove_generated_directories ();
+ 
+     if ($do_nothing == 0) {
+     my @rmcmd = ('osascript', '-e', "do shell script \"/bin/rm -f @rmfiles; /bin/rmdir @rmdirs; /bin/rm -rf @rmpkg\" with administrator privileges");
+     system @rmcmd;
+     my $retcode = $? >> 8;
+     if ($retcode != 0) {
+            print_warning ("Warning:  There may have been a problem uninstalling\n");
+     }
+     }
+ 
+     pre_print ();
+     print "\nFinished uninstalling.\n";
+   }
+ 
+ sub remove_main_packages
+   {
+ #    opendir (DIR, $ARGV[0]) or die "ERROR: package directory $ARGV[0] not found\n";
+ #    my @pkglist = grep /\.pkg$/, readdir DIR;
+ #    closedir DIR;
+      my @pkglist = ("OpenAFS",
+ 		    );
+     
+     foreach (@pkglist)
+       {
+         s/\.pkg$//;
+         my $pkgname = $_;
+         my $pkgname_fullpath = "$receipts_dir/$pkgname.pkg";
+         my $pkgname_bom_fullpath = undef;
+ 
+         next if (! -d "$pkgname_fullpath" );
+         
+         print_verbose ("Removing package $pkgname.pkg\n");
+ 
+         my $f  = "$pkgname_fullpath/Contents/Resources/$pkgname.bom";
+         if (-f $f && -r $f) {
+             $pkgname_bom_fullpath = $f;
+         }
+ 
+         next if (!defined ($pkgname_bom_fullpath));
+         
+         my $bomroot = "";
+         open (INFO, "$pkgname_fullpath/Contents/Info.plist") or next;
+         while (<INFO>) {
+             m/IFPkgFlagDefaultLocation/ or next;
+             $bomroot = <INFO>;
+         }
+         close (INFO);
+ 
+         $bomroot =~ />(.*)</;
+ 	$bomroot = $1;
+         $bomroot =~ s/^\/$//;
+ 
+         spin_rate_slow ();
+ 
+         open (LSBOM, "/usr/bin/lsbom -l -f -p f '$pkgname_bom_fullpath' |") or next;
+         while (<LSBOM>)
+           {
+             chomp;
+             m#^\.(/.*)$#;
+             next if (!defined ($1) || $1 eq "");
+             my $filename = $bomroot . $1;
+ 
+             remove_a_file ($filename);
+           }
+         close (LSBOM);
+ 
+         my $rooth = { };
+ 
+         open (LSBOM, "/usr/bin/lsbom -d -p f '$pkgname_bom_fullpath' |") or next;
+         while (<LSBOM>)
+           {
+             chomp;
+             m#^\.(/.*)$#;
+             next if (!defined ($1) || $1 eq "");
+             my $directory = $bomroot . $1;
+             if (-d $directory)
+               {
+                 $rooth = add_directory_to_tree ($directory, $rooth);
+               }
+             else
+               {
+                 if ($noisy_warnings)
+                   {
+                     print_warning ("Warning: \"$directory\" listed in BOM but not present on system.\n");
+                   }
+               }
+           }
+         close (LSBOM);
+ 
+         spin_rate_fast ();
+         remove_empty_directories ($rooth, "/");
+ 
+         remove_package_receipts ("$pkgname.pkg") if (!defined ($ARGV[1]) || !$ARGV[1]) ;
+       }
+   }
+ 
+ sub remove_generated_files
+   {
+    foreach (@gen_files)
+      {
+        remove_a_file ($_);
+      }
+   }
+ 
+ sub remove_generated_directories
+   {
+     remove_empty_directories ($gen_dirs, "/");
+   }
+ 
+ sub add_directory_to_tree
+   {
+     my $dir = shift;
+     my $rooth = shift;
+     my $p = $rooth;
+ 
+     my @pathcomp = split /\//, $dir;
+ 
+     progress_point ();
+     foreach (@pathcomp)
+       {
+         my $cur_name = $_;
+         if ($cur_name eq "" || !defined ($cur_name))
+           {
+             $cur_name = "/";
+           }
+         if (!defined ($p->{"$cur_name"}))
+           {
+             $p->{$cur_name} = { };
+           }
+         $p = $p->{$cur_name};
+       }
+     return $rooth;
+   }
+ 
+ sub remove_empty_directories
+   {
+     my $rooth = shift;
+     my $path = shift;
+     my $children = (scalar (keys %{$rooth}));
+     my $dirs_remain = 0;
+ 
+     if ($children > 0)
+       {
+         foreach my $dirname (sort keys %{$rooth})
+           {
+             my $printpath;
+             $printpath = "$path/$dirname";
+             $printpath =~ s#^/*#/#;
+             remove_empty_directories ($rooth->{$dirname}, "$printpath");
+             $dirs_remain = 1 if (-d "$printpath");
+           } 
+       }
+ 
+      if ($dirs_remain == 0)
+        {
+          maybe_remove_ds_store ("$path");
+        }
+ 
+      remove_a_dir ("$path");
+   }
+ 
+ sub remove_a_file
+   {
+     my $fn = shift;
+     my $dirname = dirname ($fn);
+     my $basename = basename ($fn);
+     my $ufs_rsrc_file = "$dirname/._$basename";
+ 
+     progress_point ();
+     return if (!defined ($fn) || $fn eq "");
+ 
+     # Leave any files that are shared between packages alone.
+     if (defined($exception_list{$fn}))
+       {
+         if ($noisy_warnings)
+           {
+             print_warning ("Warning: file \"$fn\" intentionally not removed, even though it's in the BOM.\n");
+           }
+         return;
+       }
+ 
+     if (! -f $fn && ! -l $fn)
+       {
+         if ($noisy_warnings)
+           {
+             print_warning ("Warning: file \"$fn\" present in BOM but not found on disc.\n");
+           }
+         return;
+       }
+ 
+     if ($do_nothing == 1) 
+       {
+         print_donothing ("rm $fn\n");
+         print_donothing ("rm $ufs_rsrc_file\n") if ( -f $ufs_rsrc_file);
+       }
+     else
+       {
+ 	  unshift(@rmfiles, "$fn");
+ 	  unshift(@rmfiles, "$fn") if ( -f $ufs_rsrc_file);
+       }
+   }
+ 
+ sub remove_a_dir
+   {
+     my $dir = shift;
+ 
+     progress_point ();
+     return if (!defined ($dir) || $dir eq "" || $dir eq "/" || $dir eq "/usr");
+     if (! -d $dir)
+       {
+         if ($noisy_warnings)
+           {
+             print_warning ("Warning: directory \"$dir\" present in BOM but not found on disc.\n");
+           }
+         return;
+       }
+ 
+     if ($do_nothing == 1) 
+       {
+         print_donothing ("rmdir $dir\n");
+       }
+     else
+       {
+         push(@rmdirs, "$dir");
+       }
+   }
+ 
+ sub remove_package_receipts
+   {
+     my $pkgname = shift;
+     $pkgname =~ s#/##g;  # There shouldn't be any path seps in the pkg name...
+     return if (!defined ($pkgname) || $pkgname eq "" 
+                || $pkgname eq "." || $pkgname eq "..");
+ 
+     my $pkgdir = "$receipts_dir/$pkgname";
+     return if (!defined ($pkgdir) || $pkgdir eq "" || ! -d $pkgdir);
+ 
+     push(@rmpkg, "$pkgdir");
+   }
+ 
+ 
+ sub maybe_remove_ds_store
+   {
+     my $path = shift;
+     my $filecount = 0;
+     return if (!defined ($path) || $path eq "" || $path eq "/" || $path eq "/usr");
+     return if (! -f "$path/.DS_Store");
+ 
+     open (LS, "/bin/ls -a '$path' |");
+     while (<LS>)
+       {
+         chomp;
+         next if (m#^\.$# || m#^\.\.$#);
+         $filecount++;
+       }
+     close (LS);
+ 
+     if ($filecount == 1 && -f "$path/.DS_Store")
+       {
+         remove_a_file ("$path/.DS_Store");
+       }
+   }
+ 
+ sub print_donothing
+   {
+     my $msg = shift;
+     return if ($print_donothing_removals != 1);
+     pre_print ();
+     print $msg;
+   }
+ 
+ sub print_verbose
+   {
+     my $msg = shift;
+     return if ($verbose != 1);
+     pre_print ();
+     print $msg;
+   }
+ 
+ sub print_warning
+   {
+     my $msg = shift;
+     pre_print ();
+     print STDERR $msg;
+   }
+ 
+ sub print_error
+   {
+     my $msg = shift;
+     pre_print ();
+     print STDERR $msg;
+   }
+ 
+ sub pre_print 
+   {
+     print " " unless ($suppress_spin);
+   }
+ 
+ sub spin_rate_slow
+   {
+     $spin_slower_downer = 150;
+   }
+ 
+ sub spin_rate_fast
+   {
+     $spin_slower_downer = 75;
+   }
+ 
+ sub progress_point
+   {
+     return if ($suppress_spin);
+     $spin_counter++;
+     if (($spin_counter % $spin_slower_downer) == 0)
+       {
+         my $spin_chars = "|/-\\";
+         my $c = substr ($spin_chars, $spin_state % 4, 1);
+         $spin_state++;
+         print "[7m$c[m";
+       }
+   }
+ 
+ main ();
+ 
+ #----------------------------------------------------------------------------------------
Index: openafs/src/packaging/MacOS/afslogo.jpg
Index: openafs/src/packaging/MacOS/background.jpg
Index: openafs/src/packaging/MacOS/buildpkg.sh
diff -c openafs/src/packaging/MacOS/buildpkg.sh:1.4.2.10 openafs/src/packaging/MacOS/buildpkg.sh:1.4.2.13
*** openafs/src/packaging/MacOS/buildpkg.sh:1.4.2.10	Mon May  8 15:28:08 2006
--- openafs/src/packaging/MacOS/buildpkg.sh	Wed Aug  2 00:02:17 2006
***************
*** 53,65 ****
  
  if [ $firstpass = yes ]; then
      if [ -x /usr/bin/curl ]; then
- #    /usr/bin/curl -f -O http://www.central.org/dl/cellservdb/CellServDB
  	/usr/bin/curl -f -O http://dl.central.org/dl/cellservdb/CellServDB
      fi
  
      if [ ! -f CellServDB ]; then
         echo "A CellServDB file must be placed in the working directory"
         die=1
      fi
      FILES="ReadMe.rtf License.rtf CellServDB.list OpenAFS.info OpenAFS.post_install OpenAFS.pre_upgrade csrvdbmerge.pl 2.0.txt"
      for f in $FILES; do
--- 53,71 ----
  
  if [ $firstpass = yes ]; then
      if [ -x /usr/bin/curl ]; then
  	/usr/bin/curl -f -O http://dl.central.org/dl/cellservdb/CellServDB
      fi
  
      if [ ! -f CellServDB ]; then
         echo "A CellServDB file must be placed in the working directory"
         die=1
+     else
+        if grep -q 'GCO Public CellServDB' CellServDB ; then
+          touch CellServDB
+        else
+           echo "A proper CellServDB file must be placed in the working directory"
+           die=1
+        fi
      fi
      FILES="ReadMe.rtf License.rtf CellServDB.list OpenAFS.info OpenAFS.post_install OpenAFS.pre_upgrade csrvdbmerge.pl 2.0.txt"
      for f in $FILES; do
***************
*** 111,118 ****
      echo openafs.org > $PKGROOT/private/var/db/openafs/etc/ThisCell.sample
      if [ $majorvers -ge 7 ]; then
  	echo /afs:/var/db/openafs/cache:30000 > $PKGROOT/private/var/db/openafs/etc/cacheinfo.sample
! 	(cd $CURDIR && \
! 	cp afssettings $PKGROOT/private/var/db/openafs/etc/config )
  	cp settings.plist $PKGROOT/private/var/db/openafs/etc/config/settings.plist.orig
      else
  	echo /Network/afs:/var/db/openafs/cache:30000 > $PKGROOT/private/var/db/openafs/etc/cacheinfo.sample
--- 117,123 ----
      echo openafs.org > $PKGROOT/private/var/db/openafs/etc/ThisCell.sample
      if [ $majorvers -ge 7 ]; then
  	echo /afs:/var/db/openafs/cache:30000 > $PKGROOT/private/var/db/openafs/etc/cacheinfo.sample
!         cp -RP $PKGROOT/Library/OpenAFS/Tools/etc/afssettings $PKGROOT/private/var/db/openafs/etc/config
  	cp settings.plist $PKGROOT/private/var/db/openafs/etc/config/settings.plist.orig
      else
  	echo /Network/afs:/var/db/openafs/cache:30000 > $PKGROOT/private/var/db/openafs/etc/cacheinfo.sample
***************
*** 159,164 ****
--- 164,170 ----
  	cp OpenAFS.post_install $PKGRES/postinstall
  	cp OpenAFS.pre_upgrade $PKGRES/preupgrade
  	cp OpenAFS.post_install $PKGRES/postupgrade
+ 	cp background.jpg $PKGRES/background.jpg
  	if [ $majorvers -ge 8 ]; then
  	    cp InstallationCheck $PKGRES
  	    mkdir -p $PKGRES/English.lproj
***************
*** 199,205 ****
      mkdir $CURDIR/dmg
      mv $CURDIR/OpenAFS.pkg $CURDIR/dmg
      rm -rf $CURDIR/OpenAFS.dmg
!     hdiutil create -srcfolder $CURDIR/dmg -volname OpenAFS -anyowners $CURDIR/OpenAFS.dmg
      rm -rf $CURDIR/dmg
      # Unfortunately, sudo sets $USER to root, so I can't chown the 
      #.pkg dir back to myself
--- 205,218 ----
      mkdir $CURDIR/dmg
      mv $CURDIR/OpenAFS.pkg $CURDIR/dmg
      rm -rf $CURDIR/OpenAFS.dmg
!     cp Uninstall $CURDIR/dmg/Uninstall.command
!     cp DS_Store $CURDIR/dmg/.DS_Store
!     mkdir $CURDIR/dmg/.background
!     cp afslogo.jpg $CURDIR/dmg/.background
! #    hdiutil create -srcfolder $CURDIR/dmg -volname OpenAFS -anyowners $CURDIR/OpenAFS.dmg
!     hdiutil makehybrid -hfs -hfs-volume-name OpenAFS -hfs-openfolder $CURDIR/dmg $CURDIR/dmg -o $CURDIR/TMP.dmg
!     hdiutil convert -format UDZO TMP.dmg -o $CURDIR/OpenAFS.dmg
!     rm $CURDIR/TMP.dmg
      rm -rf $CURDIR/dmg
      # Unfortunately, sudo sets $USER to root, so I can't chown the 
      #.pkg dir back to myself
Index: openafs/src/pam/afs_util.c
diff -c openafs/src/pam/afs_util.c:1.12 openafs/src/pam/afs_util.c:1.12.2.2
*** openafs/src/pam/afs_util.c:1.12	Tue Jul 15 19:15:57 2003
--- openafs/src/pam/afs_util.c	Thu Jul 20 19:35:44 2006
***************
*** 25,33 ****
  #endif
  #endif
  #include <stdlib.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/pam/afs_util.c,v 1.12 2003/07/15 23:15:57 shadow Exp $");
  
  #include "afs_util.h"
  
--- 25,36 ----
  #endif
  #endif
  #include <stdlib.h>
+ #ifdef AFS_AIX51_ENV
+ #include <sys/cred.h>
+ #endif
  
  RCSID
!     ("$Header: /cvs/openafs/src/pam/afs_util.c,v 1.12.2.2 2006/07/20 23:35:44 shadow Exp $");
  
  #include "afs_util.h"
  
***************
*** 180,185 ****
--- 183,195 ----
  static afs_int32
  curpag(void)
  {
+ #if defined(AFS_AIX51_ENV)
+     afs_int32 pag;
+ 
+     if (get_pag(PAG_AFS, &pag) < 0 || pag == 0)
+         pag = NOPAG;
+     return pag;
+ #else
      gid_t groups[NGROUPS_MAX];
      afs_uint32 g0, g1;
      afs_uint32 h, l, ret;
***************
*** 203,208 ****
--- 213,219 ----
  	    return -1;
      }
      return -1;
+ #endif
  }
  
  /* Returns the AFS pag number, if any, otherwise return -1 */
Index: openafs/src/platform/Makefile.in
diff -c /dev/null openafs/src/platform/Makefile.in:1.2.4.2
*** /dev/null	Thu Aug  3 00:50:59 2006
--- openafs/src/platform/Makefile.in	Tue Aug  1 17:54:19 2006
***************
*** 0 ****
--- 1,26 ----
+ # Copyright 2000, International Business Machines Corporation and others.
+ # All Rights Reserved.
+ # 
+ # This software has been released under the terms of the IBM Public
+ # License.  For details, see the LICENSE file in the top-level source
+ # directory or online at http://www.openafs.org/dl/license10.html
+ 
+ # Common elements for Makefiles for all system types.
+ 
+ srcdir=@srcdir@
+ include @TOP_OBJDIR@/src/config/Makefile.config
+ include ../config/Makefile.version
+ 
+ all:
+ 	cd $(MKAFS_OSTYPE) ; \
+ 	echo $(MAKE) all; \
+ 	$(MAKE) all
+ dest:
+ 	cd $(MKAFS_OSTYPE) ; \
+ 	echo $(MAKE) DEST=${DEST} dest; \
+ 	$(MAKE) DEST=${DEST} dest
+ install:
+ 	cd $(MKAFS_OSTYPE) ; \
+ 	echo $(MAKE) DESTDIR=${DESTDIR} install; \
+ 	$(MAKE) DESTDIR=${DESTDIR} install
+ 
Index: openafs/src/platform/AIX/Makefile.in
diff -c /dev/null openafs/src/platform/AIX/Makefile.in:1.1.4.2
*** /dev/null	Thu Aug  3 00:50:59 2006
--- openafs/src/platform/AIX/Makefile.in	Tue Aug  1 17:54:24 2006
***************
*** 0 ****
--- 1,14 ----
+ # Copyright 2000, International Business Machines Corporation and others.
+ # All Rights Reserved.
+ # 
+ # This software has been released under the terms of the IBM Public
+ # License.  For details, see the LICENSE file in the top-level source
+ # directory or online at http://www.openafs.org/dl/license10.html
+ 
+ SHELL=/bin/sh
+ 
+ # We have no platform-specific stuff for this platform (yet).
+ all:
+ install:
+ dest:
+ clean:
Index: openafs/src/platform/DARWIN/Makefile.in
diff -c /dev/null openafs/src/platform/DARWIN/Makefile.in:1.2.4.5
*** /dev/null	Thu Aug  3 00:50:59 2006
--- openafs/src/platform/DARWIN/Makefile.in	Tue Aug  1 23:48:48 2006
***************
*** 0 ****
--- 1,30 ----
+ # Copyright 2000, International Business Machines Corporation and others.
+ # All Rights Reserved.
+ # 
+ # This software has been released under the terms of the IBM Public
+ # License.  For details, see the LICENSE file in the top-level source
+ # directory or online at http://www.openafs.org/dl/license10.html
+ 
+ srcdir=@srcdir@
+ include @TOP_OBJDIR@/src/config/Makefile.config
+ include ../../config/Makefile.version
+ 
+ all: afssettings
+ 
+ afssettings: afssettings.m 
+ 	${CC} ${CFLAGS} -o afssettings afssettings.m -framework Foundation
+ 
+ install: \
+ 	${DESTDIR}${sbindir}/afssettings
+ 
+ dest: \
+ 	${DEST}/etc/afssettings
+ 
+ ${DESTDIR}${sbindir}/afssettings: afssettings
+ 	${INSTALL} -s $? $@
+ 
+ ${DEST}/etc/afssettings: afssettings
+ 	${INSTALL} -s $? $@
+ 
+ clean:
+ 	$(RM) -f *.o core afssettings AFS_component_version_number.c 
Index: openafs/src/platform/DARWIN/afssettings.m
diff -c /dev/null openafs/src/platform/DARWIN/afssettings.m:1.1.6.2
*** /dev/null	Thu Aug  3 00:50:59 2006
--- openafs/src/platform/DARWIN/afssettings.m	Tue Aug  1 17:42:23 2006
***************
*** 0 ****
--- 1,173 ----
+ /*
+  * Copyright (c) 2003, 2006 Apple Computer, Inc. All rights reserved.
+  *
+  * @APPLE_LICENSE_HEADER_START@
+  * 
+  * This file contains Original Code and/or Modifications of Original Code
+  * as defined in and that are subject to the Apple Public Source License
+  * Version 2.0 (the 'License'). You may not use this file except in
+  * compliance with the License. Please obtain a copy of the License at
+  * http://www.opensource.apple.com/apsl/ and read it before using this
+  * file.
+  * 
+  * The Original Code and all software distributed under the License are
+  * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+  * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+  * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+  * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+  * Please see the License for the specific language governing rights and
+  * limitations under the License.
+  * 
+  * @APPLE_LICENSE_HEADER_END@
+  */
+ #import <Foundation/Foundation.h>
+ #import <stdio.h>
+ #import <err.h>
+ #import <sys/types.h>
+ #import <sys/mount.h>
+ #import <sys/sysctl.h>
+ #import <afs/sysctl.h>
+ 
+ enum Type {
+     TypeNode = 0,
+     TypeNum,
+     TypeStr
+ };
+ 
+ typedef struct _setting {
+     NSString *key;
+     int selector;
+     enum Type type;
+     struct _setting *children;
+ } Setting;
+ 
+ Setting s_darwin_all[] = {
+     {@"RealModes", AFS_SC_DARWIN_ALL_REALMODES, TypeNum, NULL},
+     {NULL, 0, 0, NULL}
+ };
+ Setting s_darwin[] = {
+     {@"All", AFS_SC_DARWIN_ALL, TypeNode, s_darwin_all},
+     {@"Darwin12", AFS_SC_DARWIN_12, TypeNode, NULL},
+     {@"Darwin13", AFS_SC_DARWIN_13, TypeNode, NULL},
+     {@"Darwin14", AFS_SC_DARWIN_14, TypeNode, NULL},
+     {@"Darwin60", AFS_SC_DARWIN_60, TypeNode, NULL},
+     {@"Darwin70", AFS_SC_DARWIN_70, TypeNode, NULL},
+     {@"Darwin80", AFS_SC_DARWIN_80, TypeNode, NULL},
+     {@"Darwin90", AFS_SC_DARWIN_90, TypeNode, NULL},
+     {NULL, 0, 0, NULL}
+ };
+ Setting s_first[] = {
+     {@"All", AFS_SC_ALL, TypeNode, NULL},
+     {@"Darwin", AFS_SC_DARWIN, TypeNode, s_darwin},
+     {NULL, 0, 0, NULL}
+ };
+ Setting s_top = {NULL, -1, TypeNode, s_first};
+ 
+ int oid[CTL_MAXNAME] = {CTL_VFS};
+ NSString *path = @"/var/db/openafs/etc/config/settings.plist";
+ 
+ char *oidString(int *oid, int len);
+ void init(void);
+ void walk(id obj, Setting *s, int level);
+ 
+ void
+ init(void)
+ {
+     int oidmax[] = {CTL_VFS, VFS_GENERIC, VFS_MAXTYPENUM};
+     int oidvfs[] = {CTL_VFS, VFS_GENERIC, VFS_CONF, 0};
+     int max;
+     struct vfsconf conf;
+     size_t len;
+     int i;
+ 
+     len = sizeof(max);
+     if(sysctl(oidmax, 3, &max, &len, NULL, 0) < 0)
+ 	err(1, "sysctl VFS_MAXTYPENUM");
+     for(i = max; --i >= 0; ) {
+ 	oidvfs[3] = i;
+ 	len = sizeof(conf);
+ 	if(sysctl(oidvfs, 4, &conf, &len, NULL, 0) < 0)
+ 	    continue;
+ 	if(strcmp("afs", conf.vfc_name) == 0) {
+ 	    s_top.selector = conf.vfc_typenum;
+ 	    break;
+ 	}
+     }
+     if(s_top.selector < 0)
+ 	errx(1, "AFS is not loaded");
+ }
+ 
+ char *
+ oidString(int *oid, int len)
+ {
+     static char buf[256];
+     char *cp = buf;
+ 
+     for(;;) {
+ 	sprintf(cp, "%d", *oid++);
+ 	if(--len <= 0)
+ 	    break;
+ 	cp += strlen(cp);
+ 	*cp++ = '.';
+     }
+     return buf;
+ }
+ 
+ void
+ walk(id obj, Setting *s, int level)
+ {
+     Setting *child;
+     id newobj;
+     int intval;
+     const char *cp;
+     int level1 = level + 1;
+ 
+     oid[level] = s->selector;
+     switch(s->type) {
+       case TypeNode:
+ 	for(child = s->children; child->key; child++) {
+ 	    if(child->type == TypeNode && !child->children)
+ 		continue;
+ 	    newobj = [obj objectForKey: child->key];
+ 	    if(newobj)
+ 		walk(newobj, child, level1);
+ 	}
+ 	break;
+       case TypeNum:
+ 	intval = [obj intValue];
+ 	if(sysctl(oid, level1, NULL, NULL, &intval, sizeof(intval)) < 0)
+ 	    err(1, "sysctl %s => %d", oidString(oid, level1), intval);
+ 	break;
+       case TypeStr:
+ 	cp = [obj UTF8String];
+ 	if(sysctl(oid, level1, NULL, NULL, (void *)cp, strlen(cp)) < 0)
+ 	    err(1, "sysctl %s => %s", oidString(oid, level1), cp);
+ 	break;
+     }
+ }
+ 
+ main()
+ {
+     NSData *plistData;
+     id plist;
+     NSString *error;
+     NSPropertyListFormat format;
+     NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
+ 
+     init();
+     plistData = [NSData dataWithContentsOfFile: path];
+     if(plistData) {
+ 	plist = [NSPropertyListSerialization propertyListFromData: plistData
+ 	  mutabilityOption: NSPropertyListImmutable
+ 	  format: &format
+ 	  errorDescription: &error
+ 	];
+ 	if(plist)
+ 	    walk(plist, &s_top, 1);
+ 	else
+ 	    errx(1, "%s: %s", [path UTF8String], [error UTF8String]);
+     }
+ 
+     [pool release];
+     return 0;
+ }
Index: openafs/src/platform/FBSD/Makefile.in
diff -c /dev/null openafs/src/platform/FBSD/Makefile.in:1.1.4.2
*** /dev/null	Thu Aug  3 00:50:59 2006
--- openafs/src/platform/FBSD/Makefile.in	Tue Aug  1 17:54:24 2006
***************
*** 0 ****
--- 1,14 ----
+ # Copyright 2000, International Business Machines Corporation and others.
+ # All Rights Reserved.
+ # 
+ # This software has been released under the terms of the IBM Public
+ # License.  For details, see the LICENSE file in the top-level source
+ # directory or online at http://www.openafs.org/dl/license10.html
+ 
+ SHELL=/bin/sh
+ 
+ # We have no platform-specific stuff for this platform (yet).
+ all:
+ install:
+ dest:
+ clean:
Index: openafs/src/platform/HPUX/Makefile.in
diff -c /dev/null openafs/src/platform/HPUX/Makefile.in:1.1.4.2
*** /dev/null	Thu Aug  3 00:50:59 2006
--- openafs/src/platform/HPUX/Makefile.in	Tue Aug  1 17:54:24 2006
***************
*** 0 ****
--- 1,14 ----
+ # Copyright 2000, International Business Machines Corporation and others.
+ # All Rights Reserved.
+ # 
+ # This software has been released under the terms of the IBM Public
+ # License.  For details, see the LICENSE file in the top-level source
+ # directory or online at http://www.openafs.org/dl/license10.html
+ 
+ SHELL=/bin/sh
+ 
+ # We have no platform-specific stuff for this platform (yet).
+ all:
+ install:
+ dest:
+ clean:
Index: openafs/src/platform/IRIX/Makefile.in
diff -c /dev/null openafs/src/platform/IRIX/Makefile.in:1.1.4.2
*** /dev/null	Thu Aug  3 00:50:59 2006
--- openafs/src/platform/IRIX/Makefile.in	Tue Aug  1 17:54:25 2006
***************
*** 0 ****
--- 1,14 ----
+ # Copyright 2000, International Business Machines Corporation and others.
+ # All Rights Reserved.
+ # 
+ # This software has been released under the terms of the IBM Public
+ # License.  For details, see the LICENSE file in the top-level source
+ # directory or online at http://www.openafs.org/dl/license10.html
+ 
+ SHELL=/bin/sh
+ 
+ # We have no platform-specific stuff for this platform (yet).
+ all:
+ install:
+ dest:
+ clean:
Index: openafs/src/platform/LINUX/Makefile.in
diff -c /dev/null openafs/src/platform/LINUX/Makefile.in:1.1.4.2
*** /dev/null	Thu Aug  3 00:50:59 2006
--- openafs/src/platform/LINUX/Makefile.in	Tue Aug  1 17:54:25 2006
***************
*** 0 ****
--- 1,14 ----
+ # Copyright 2000, International Business Machines Corporation and others.
+ # All Rights Reserved.
+ # 
+ # This software has been released under the terms of the IBM Public
+ # License.  For details, see the LICENSE file in the top-level source
+ # directory or online at http://www.openafs.org/dl/license10.html
+ 
+ SHELL=/bin/sh
+ 
+ # We have no platform-specific stuff for this platform (yet).
+ all:
+ install:
+ dest:
+ clean:
Index: openafs/src/platform/NBSD/Makefile.in
diff -c /dev/null openafs/src/platform/NBSD/Makefile.in:1.1.4.2
*** /dev/null	Thu Aug  3 00:50:59 2006
--- openafs/src/platform/NBSD/Makefile.in	Tue Aug  1 17:54:25 2006
***************
*** 0 ****
--- 1,14 ----
+ # Copyright 2000, International Business Machines Corporation and others.
+ # All Rights Reserved.
+ # 
+ # This software has been released under the terms of the IBM Public
+ # License.  For details, see the LICENSE file in the top-level source
+ # directory or online at http://www.openafs.org/dl/license10.html
+ 
+ SHELL=/bin/sh
+ 
+ # We have no platform-specific stuff for this platform (yet).
+ all:
+ install:
+ dest:
+ clean:
Index: openafs/src/platform/OBSD/Makefile.in
diff -c /dev/null openafs/src/platform/OBSD/Makefile.in:1.1.4.2
*** /dev/null	Thu Aug  3 00:50:59 2006
--- openafs/src/platform/OBSD/Makefile.in	Tue Aug  1 17:54:26 2006
***************
*** 0 ****
--- 1,14 ----
+ # Copyright 2000, International Business Machines Corporation and others.
+ # All Rights Reserved.
+ # 
+ # This software has been released under the terms of the IBM Public
+ # License.  For details, see the LICENSE file in the top-level source
+ # directory or online at http://www.openafs.org/dl/license10.html
+ 
+ SHELL=/bin/sh
+ 
+ # We have no platform-specific stuff for this platform (yet).
+ all:
+ install:
+ dest:
+ clean:
Index: openafs/src/platform/SOLARIS/Makefile.in
diff -c /dev/null openafs/src/platform/SOLARIS/Makefile.in:1.1.4.2
*** /dev/null	Thu Aug  3 00:50:59 2006
--- openafs/src/platform/SOLARIS/Makefile.in	Tue Aug  1 17:54:26 2006
***************
*** 0 ****
--- 1,14 ----
+ # Copyright 2000, International Business Machines Corporation and others.
+ # All Rights Reserved.
+ # 
+ # This software has been released under the terms of the IBM Public
+ # License.  For details, see the LICENSE file in the top-level source
+ # directory or online at http://www.openafs.org/dl/license10.html
+ 
+ SHELL=/bin/sh
+ 
+ # We have no platform-specific stuff for this platform (yet).
+ all:
+ install:
+ dest:
+ clean:
Index: openafs/src/ptserver/Makefile.in
diff -c openafs/src/ptserver/Makefile.in:1.14.2.2 openafs/src/ptserver/Makefile.in:1.14.2.3
*** openafs/src/ptserver/Makefile.in:1.14.2.2	Tue Apr 26 21:55:54 2005
--- openafs/src/ptserver/Makefile.in	Mon Jul 31 13:07:50 2006
***************
*** 75,81 ****
  ptint.xdr.o: ptint.xdr.c ptint.h ptint.xg
  
  ptint.cs.c: ptint.xg
! 	${RXGEN} -x -C -o $@ ${srcdir}/ptint.xg
  
  ptint.ss.c: ptint.xg
  	${RXGEN} -x -S -o $@ ${srcdir}/ptint.xg
--- 75,81 ----
  ptint.xdr.o: ptint.xdr.c ptint.h ptint.xg
  
  ptint.cs.c: ptint.xg
! 	${RXGEN} -x -C -u -o $@ ${srcdir}/ptint.xg
  
  ptint.ss.c: ptint.xg
  	${RXGEN} -x -S -o $@ ${srcdir}/ptint.xg
***************
*** 84,90 ****
  	${RXGEN} -x -c -o $@ ${srcdir}/ptint.xg
  
  ptint.h: ptint.xg
! 	${RXGEN} -x -h -o $@ ${srcdir}/ptint.xg
  
  ptint.cs.c: ptint.h
  ptint.ss.c: ptint.h
--- 84,90 ----
  	${RXGEN} -x -c -o $@ ${srcdir}/ptint.xg
  
  ptint.h: ptint.xg
! 	${RXGEN} -x -h -u -o $@ ${srcdir}/ptint.xg
  
  ptint.cs.c: ptint.h
  ptint.ss.c: ptint.h
Index: openafs/src/ptserver/NTMakefile
diff -c openafs/src/ptserver/NTMakefile:1.9.2.3 openafs/src/ptserver/NTMakefile:1.9.2.4
*** openafs/src/ptserver/NTMakefile:1.9.2.3	Mon Jul 11 15:02:35 2005
--- openafs/src/ptserver/NTMakefile	Mon Jul 31 17:51:21 2006
***************
*** 10,15 ****
--- 10,16 ----
  RELDIR=ptserver
  !INCLUDE ..\config\NTMakefile.$(SYS_NAME)
  !include ..\config\NTMakefile.version
+ AFSDEV_AUXCDEFINES = -DAFS_USE_GETTIMEOFDAY
  
  ############################################################################
  # Definitions for installing header files
***************
*** 132,139 ****
  
  $(INCFILEDIR)\afs\ptint.h : ptint.h
  
! ptint.ss.c ptint.cs.c ptint.xdr.c ptint.h: ptint.xg
! 	$(RXGEN) -x $**
  
  ############################################################################
  # Definitions for generating files via COMPILE_ET
--- 133,149 ----
  
  $(INCFILEDIR)\afs\ptint.h : ptint.h
  
! ptint.cs.c: ptint.xg ptint.h
! 	$(RXGEN) -x -C -u -o $@ ptint.xg
! 
! ptint.ss.c: ptint.xg ptint.h
! 	$(RXGEN) -x -S -o $@ ptint.xg
! 
! ptint.xdr.c: ptint.xg ptint.h
! 	$(RXGEN) -x -c -o $@ ptint.xg
! 
! ptint.h: ptint.xg
! 	$(RXGEN) -x -h -u -o $@ ptint.xg
  
  ############################################################################
  # Definitions for generating files via COMPILE_ET
Index: openafs/src/ptserver/ptclient.c
diff -c openafs/src/ptserver/ptclient.c:1.12 openafs/src/ptserver/ptclient.c:1.12.2.2
*** openafs/src/ptserver/ptclient.c:1.12	Sun Dec  7 17:49:35 2003
--- openafs/src/ptserver/ptclient.c	Mon Jul 31 17:51:21 2006
***************
*** 11,17 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/ptserver/ptclient.c,v 1.12 2003/12/07 22:49:35 jaltman Exp $");
  
  #ifdef	AFS_AIX32_ENV
  #include <signal.h>
--- 11,17 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/ptserver/ptclient.c,v 1.12.2.2 2006/07/31 21:51:21 shadow Exp $");
  
  #ifdef	AFS_AIX32_ENV
  #include <signal.h>
***************
*** 171,177 ****
      register afs_int32 code;
      char op[8];
      char name[PR_MAXNAMELEN];
!     afs_int32 id, oid, gid;
      afs_int32 pos;
      int i;
      struct prentry entry;
--- 171,177 ----
      register afs_int32 code;
      char op[8];
      char name[PR_MAXNAMELEN];
!     afs_int32 id, oid = ANONYMOUSID, gid;
      afs_int32 pos;
      int i;
      struct prentry entry;
***************
*** 267,273 ****
  	    /* use ubik_Call to do the work, finding an up server and handling
  	     * the job of finding a sync site, if need be */
  	    else
! 		code = ubik_Call(PR_INewEntry, pruclient, 0, name, id, oid);
  	    if (CodeOk(code))
  		com_err(whoami, code, "on %s %s %d %d", op, name, id, oid);
  	} else if (!strcmp(op, "sf")) {
--- 267,273 ----
  	    /* use ubik_Call to do the work, finding an up server and handling
  	     * the job of finding a sync site, if need be */
  	    else
! 		code = ubik_PR_INewEntry(pruclient, 0, name, id, oid);
  	    if (CodeOk(code))
  		com_err(whoami, code, "on %s %s %d %d", op, name, id, oid);
  	} else if (!strcmp(op, "sf")) {
***************
*** 277,283 ****
  		code = PRBADARG;
  	    else
  		code =
! 		    ubik_Call(PR_SetFieldsEntry, pruclient, 0, id, mask,
  			      access, gq, uq, 0, 0);
  	    if (CodeOk(code))
  		com_err(whoami, code, "on %s %d %x %x %d %d", op, id, mask,
--- 277,283 ----
  		code = PRBADARG;
  	    else
  		code =
! 		    ubik_PR_SetFieldsEntry(pruclient, 0, id, mask,
  			      access, gq, uq, 0, 0);
  	    if (CodeOk(code))
  		com_err(whoami, code, "on %s %d %x %x %d %d", op, id, mask,
***************
*** 290,296 ****
  		code = PRBADARG;
  	    else
  		code =
! 		    ubik_Call(PR_ChangeEntry, pruclient, 0, id, newname, oid,
  			      newid);
  	    if (CodeOk(code))
  		com_err(whoami, code, "on %s %d %s %d %d", op, id, newname,
--- 290,296 ----
  		code = PRBADARG;
  	    else
  		code =
! 		    ubik_PR_ChangeEntry(pruclient, 0, id, newname, oid,
  			      newid);
  	    if (CodeOk(code))
  		com_err(whoami, code, "on %s %d %s %d %d", op, id, newname,
***************
*** 300,306 ****
  	    if (GetInt32(&id))
  		code = PRBADARG;
  	    else
! 		code = ubik_Call(PR_WhereIsIt, pruclient, 0, id, &pos);
  	    if (CodeOk(code))
  		printf("%s\n", pr_ErrorMsg(code));
  	    else
--- 300,306 ----
  	    if (GetInt32(&id))
  		code = PRBADARG;
  	    else
! 		code = ubik_PR_WhereIsIt(pruclient, 0, id, &pos);
  	    if (CodeOk(code))
  		printf("%s\n", pr_ErrorMsg(code));
  	    else
***************
*** 311,317 ****
  	    if (GetInt32(&pos))
  		code = PRBADARG;
  	    else
! 		code = ubik_Call(PR_DumpEntry, pruclient, 0, pos, &entry);
  	    if (CodeOk(code))
  		printf("%s\n", pr_ErrorMsg(code));
  	    if (code == PRSUCCESS) {
--- 311,317 ----
  	    if (GetInt32(&pos))
  		code = PRBADARG;
  	    else
! 		code = ubik_PR_DumpEntry(pruclient, 0, pos, &entry);
  	    if (CodeOk(code))
  		printf("%s\n", pr_ErrorMsg(code));
  	    if (code == PRSUCCESS) {
***************
*** 332,338 ****
  	    if (GetInt32(&id) || GetInt32(&gid))
  		code = PRBADARG;
  	    else
! 		code = ubik_Call(PR_AddToGroup, pruclient, 0, id, gid);
  	    if (CodeOk(code))
  		com_err(whoami, code, "on %s %d %d", op, id, gid);
  	} else if (!strcmp(op, "iton")) {
--- 332,338 ----
  	    if (GetInt32(&id) || GetInt32(&gid))
  		code = PRBADARG;
  	    else
! 		code = ubik_PR_AddToGroup(pruclient, 0, id, gid);
  	    if (CodeOk(code))
  		com_err(whoami, code, "on %s %d %d", op, id, gid);
  	} else if (!strcmp(op, "iton")) {
***************
*** 351,357 ****
  	    }
  	    lnames.namelist_val = 0;
  	    lnames.namelist_len = 0;
! 	    code = ubik_Call(PR_IDToName, pruclient, 0, &lid, &lnames);
  	    if (CodeOk(code))
  		printf("%s\n", pr_ErrorMsg(code));
  	    if (code == PRSUCCESS) {
--- 351,357 ----
  	    }
  	    lnames.namelist_val = 0;
  	    lnames.namelist_len = 0;
! 	    code = ubik_PR_IDToName(pruclient, 0, &lid, &lnames);
  	    if (CodeOk(code))
  		printf("%s\n", pr_ErrorMsg(code));
  	    if (code == PRSUCCESS) {
***************
*** 382,388 ****
  	    }
  	    lid.idlist_val = 0;
  	    lid.idlist_len = 0;
! 	    code = ubik_Call(PR_NameToID, pruclient, 0, &lnames, &lid);
  	    if (CodeOk(code))
  		printf("%s\n", pr_ErrorMsg(code));
  	    if (code == PRSUCCESS) {
--- 382,388 ----
  	    }
  	    lid.idlist_val = 0;
  	    lid.idlist_len = 0;
! 	    code = ubik_PR_NameToID(pruclient, 0, &lnames, &lid);
  	    if (CodeOk(code))
  		printf("%s\n", pr_ErrorMsg(code));
  	    if (code == PRSUCCESS) {
***************
*** 399,405 ****
  	    if (GetInt32(&id))
  		code = PRBADARG;
  	    else
! 		code = ubik_Call(PR_Delete, pruclient, 0, id);
  	    if (CodeOk(code))
  		printf("%s\n", pr_ErrorMsg(code));
  	} else if (!strcmp(op, "dg")) {
--- 399,405 ----
  	    if (GetInt32(&id))
  		code = PRBADARG;
  	    else
! 		code = ubik_PR_Delete(pruclient, 0, id);
  	    if (CodeOk(code))
  		printf("%s\n", pr_ErrorMsg(code));
  	} else if (!strcmp(op, "dg")) {
***************
*** 407,413 ****
  	    if (GetInt32(&id))
  		code = PRBADARG;
  	    else
! 		code = ubik_Call(PR_Delete, pruclient, 0, id);
  	    if (CodeOk(code))
  		printf("%s\n", pr_ErrorMsg(code));
  	} else if (!strcmp(op, "rm")) {
--- 407,413 ----
  	    if (GetInt32(&id))
  		code = PRBADARG;
  	    else
! 		code = ubik_PR_Delete(pruclient, 0, id);
  	    if (CodeOk(code))
  		printf("%s\n", pr_ErrorMsg(code));
  	} else if (!strcmp(op, "rm")) {
***************
*** 415,421 ****
  	    if (GetInt32(&id) || GetInt32(&gid))
  		code = PRBADARG;
  	    else
! 		code = ubik_Call(PR_RemoveFromGroup, pruclient, 0, id, gid);
  	    if (CodeOk(code))
  		printf("%s\n", pr_ErrorMsg(code));
  	}
--- 415,421 ----
  	    if (GetInt32(&id) || GetInt32(&gid))
  		code = PRBADARG;
  	    else
! 		code = ubik_PR_RemoveFromGroup(pruclient, 0, id, gid);
  	    if (CodeOk(code))
  		printf("%s\n", pr_ErrorMsg(code));
  	}
***************
*** 428,434 ****
  		code = PRBADARG;
  	    else
  		code =
! 		    ubik_Call(PR_ListSuperGroups, pruclient, 0, id, &alist,
  			      &over);
  	    if (CodeOk(code))
  		printf("%s\n", pr_ErrorMsg(code));
--- 428,434 ----
  		code = PRBADARG;
  	    else
  		code =
! 		    ubik_PR_ListSuperGroups(pruclient, 0, id, &alist,
  			      &over);
  	    if (CodeOk(code))
  		printf("%s\n", pr_ErrorMsg(code));
***************
*** 453,459 ****
  	    if (GetInt32(&id))
  		code = PRBADARG;
  	    else
! 		code = ubik_Call(PR_GetCPS, pruclient, 0, id, &alist, &over);
  	    if (CodeOk(code))
  		printf("%s\n", pr_ErrorMsg(code));
  	    if (code == PRSUCCESS) {
--- 453,459 ----
  	    if (GetInt32(&id))
  		code = PRBADARG;
  	    else
! 		code = ubik_PR_GetCPS(pruclient, 0, id, &alist, &over);
  	    if (CodeOk(code))
  		printf("%s\n", pr_ErrorMsg(code));
  	    if (code == PRSUCCESS) {
***************
*** 480,486 ****
  		hostaddr = hostinfo->h_addr_list[0];
  		id = ntohl(hostaddr->s_addr);
  		code =
! 		    ubik_Call(PR_GetHostCPS, pruclient, 0, id, &alist, &over);
  	    }
  	    if (CodeOk(code))
  		printf("%s\n", pr_ErrorMsg(code));
--- 480,486 ----
  		hostaddr = hostinfo->h_addr_list[0];
  		id = ntohl(hostaddr->s_addr);
  		code =
! 		    ubik_PR_GetHostCPS(pruclient, 0, id, &alist, &over);
  	    }
  	    if (CodeOk(code))
  		printf("%s\n", pr_ErrorMsg(code));
***************
*** 506,512 ****
  		code = PRBADARG;
  	    else
  		code =
! 		    ubik_Call(PR_ListElements, pruclient, 0, id, &alist,
  			      &over);
  	    if (CodeOk(code))
  		printf("%s\n", pr_ErrorMsg(code));
--- 506,512 ----
  		code = PRBADARG;
  	    else
  		code =
! 		    ubik_PR_ListElements(pruclient, 0, id, &alist,
  			      &over);
  	    if (CodeOk(code))
  		printf("%s\n", pr_ErrorMsg(code));
***************
*** 539,551 ****
  	    if (GetString(name, sizeof(name)))
  		code = PRBADARG;
  	    else
! 		code = ubik_Call(PR_NewEntry, pruclient, 0, name, 1, &id);
  	    if (CodeOk(code))
  		printf("%s\n", pr_ErrorMsg(code));
  	    if (code == PRSUCCESS)
  		printf("Id is %d.\n", id);
  	} else if (!strcmp(op, "lm")) {
! 	    code = ubik_Call(PR_ListMax, pruclient, 0, &id, &gid);
  	    if (CodeOk(code))
  		printf("%s\n", pr_ErrorMsg(code));
  	    if (code == PRSUCCESS)
--- 539,551 ----
  	    if (GetString(name, sizeof(name)))
  		code = PRBADARG;
  	    else
! 		code = ubik_PR_NewEntry(pruclient, 0, name, 1, oid, &id);
  	    if (CodeOk(code))
  		printf("%s\n", pr_ErrorMsg(code));
  	    if (code == PRSUCCESS)
  		printf("Id is %d.\n", id);
  	} else if (!strcmp(op, "lm")) {
! 	    code = ubik_PR_ListMax(pruclient, 0, &id, &gid);
  	    if (CodeOk(code))
  		printf("%s\n", pr_ErrorMsg(code));
  	    if (code == PRSUCCESS)
***************
*** 556,562 ****
  	    if (GetInt32(&id))
  		code = PRBADARG;
  	    else
! 		code = ubik_Call(PR_SetMax, pruclient, 0, id, 0);
  	    if (CodeOk(code))
  		printf("%s\n", pr_ErrorMsg(code));
  	} else if (!strcmp(op, "smg")) {
--- 556,562 ----
  	    if (GetInt32(&id))
  		code = PRBADARG;
  	    else
! 		code = ubik_PR_SetMax(pruclient, 0, id, 0);
  	    if (CodeOk(code))
  		printf("%s\n", pr_ErrorMsg(code));
  	} else if (!strcmp(op, "smg")) {
***************
*** 564,570 ****
  	    if (GetInt32(&id))
  		code = PRBADARG;
  	    else
! 		code = ubik_Call(PR_SetMax, pruclient, 0, id, 1);
  	    if (CodeOk(code))
  		printf("%s\n", pr_ErrorMsg(code));
  	} else if (!strcmp(op, "sin")) {
--- 564,570 ----
  	    if (GetInt32(&id))
  		code = PRBADARG;
  	    else
! 		code = ubik_PR_SetMax(pruclient, 0, id, 1);
  	    if (CodeOk(code))
  		printf("%s\n", pr_ErrorMsg(code));
  	} else if (!strcmp(op, "sin")) {
***************
*** 609,615 ****
  /*		continue;*/
  	    }
  	    uentry.Mask = PRUPDATE_IDHASH;
! 	    code = ubik_Call(PR_UpdateEntry, pruclient, 0, 0, name, &uentry);
  	    if (code) {
  		printf("Failed to update entry %s (err=%d)\n", name, code);
  		continue;
--- 609,615 ----
  /*		continue;*/
  	    }
  	    uentry.Mask = PRUPDATE_IDHASH;
! 	    code = ubik_PR_UpdateEntry(pruclient, 0, 0, name, &uentry);
  	    if (code) {
  		printf("Failed to update entry %s (err=%d)\n", name, code);
  		continue;
***************
*** 637,643 ****
  	    }
  	    uentry.Mask = PRUPDATE_NAMEHASH;
  	    code =
! 		ubik_Call(PR_UpdateEntry, pruclient, 0, id, "_foo_", &uentry);
  	    if (code) {
  		printf("Failed to update entry with id %d (err=%d)\n", id,
  		       code);
--- 637,643 ----
  	    }
  	    uentry.Mask = PRUPDATE_NAMEHASH;
  	    code =
! 		ubik_PR_UpdateEntry(pruclient, 0, id, "_foo_", &uentry);
  	    if (code) {
  		printf("Failed to update entry with id %d (err=%d)\n", id,
  		       code);
***************
*** 667,673 ****
  /*		continue;*/
  	    }
  	    uentry.Mask = PRUPDATE_IDHASH;
! 	    code = ubik_Call(PR_UpdateEntry, pruclient, 0, 0, name, &uentry);
  	    if (code) {
  		printf("Failed to update entry %s (err=%d)\n", name, code);
  		continue;
--- 667,673 ----
  /*		continue;*/
  	    }
  	    uentry.Mask = PRUPDATE_IDHASH;
! 	    code = ubik_PR_UpdateEntry(pruclient, 0, 0, name, &uentry);
  	    if (code) {
  		printf("Failed to update entry %s (err=%d)\n", name, code);
  		continue;
***************
*** 695,701 ****
  	    }
  	    uentry.Mask = PRUPDATE_NAMEHASH;
  	    code =
! 		ubik_Call(PR_UpdateEntry, pruclient, 0, id, "_foo_", &uentry);
  	    if (code) {
  		printf("Failed to update entry with id %d (err=%d)\n", id,
  		       code);
--- 695,701 ----
  	    }
  	    uentry.Mask = PRUPDATE_NAMEHASH;
  	    code =
! 		ubik_PR_UpdateEntry(pruclient, 0, id, "_foo_", &uentry);
  	    if (code) {
  		printf("Failed to update entry with id %d (err=%d)\n", id,
  		       code);
Index: openafs/src/ptserver/ptprocs.c
diff -c openafs/src/ptserver/ptprocs.c:1.21.2.7 openafs/src/ptserver/ptprocs.c:1.21.2.8
*** openafs/src/ptserver/ptprocs.c:1.21.2.7	Mon Jul 11 15:54:50 2005
--- openafs/src/ptserver/ptprocs.c	Mon Jul 31 13:15:48 2006
***************
*** 51,57 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/ptserver/ptprocs.c,v 1.21.2.7 2005/07/11 19:54:50 shadow Exp $");
  
  #include <afs/stds.h>
  #include <ctype.h>
--- 51,57 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/ptserver/ptprocs.c,v 1.21.2.8 2006/07/31 17:15:48 shadow Exp $");
  
  #include <afs/stds.h>
  #include <ctype.h>
***************
*** 103,109 ****
  afs_int32 listSuperGroups();
  #endif
  
- static stolower();
  extern int IDCmp();
  
  extern int prp_group_default;
--- 103,108 ----
***************
*** 2229,2247 ****
      return code;
  }
  
- 
- static
- stolower(s)
-      register char *s;
- {
-     register int tc;
-     while ((tc = *s)) {
- 	if (isupper(tc))
- 	    *s = tolower(tc);
- 	s++;
-     }
- }
- 
  #if IP_WILDCARDS
  afs_int32
  addWildCards(tt, alist, host)
--- 2228,2233 ----
Index: openafs/src/ptserver/ptuser.c
diff -c openafs/src/ptserver/ptuser.c:1.16.2.6 openafs/src/ptserver/ptuser.c:1.16.2.8
*** openafs/src/ptserver/ptuser.c:1.16.2.6	Mon Jul 11 15:28:43 2005
--- openafs/src/ptserver/ptuser.c	Mon Jul 31 13:15:48 2006
***************
*** 15,21 ****
  #endif
  
  RCSID
!     ("$Header: /cvs/openafs/src/ptserver/ptuser.c,v 1.16.2.6 2005/07/11 19:28:43 shadow Exp $");
  
  #if defined(UKERNEL)
  #include "afs/sysincludes.h"
--- 15,21 ----
  #endif
  
  RCSID
!     ("$Header: /cvs/openafs/src/ptserver/ptuser.c,v 1.16.2.8 2006/07/31 17:15:48 shadow Exp $");
  
  #if defined(UKERNEL)
  #include "afs/sysincludes.h"
***************
*** 263,272 ****
  
      stolower(name);
      if (*id) {
! 	code = ubik_Call(PR_INewEntry, pruclient, 0, name, *id, 0);
  	return code;
      } else {
! 	code = ubik_Call(PR_NewEntry, pruclient, 0, name, 0, 0, id);
  	return code;
      }
  
--- 263,272 ----
  
      stolower(name);
      if (*id) {
! 	code = ubik_PR_INewEntry(pruclient, 0, name, *id, 0);
  	return code;
      } else {
! 	code = ubik_PR_NewEntry(pruclient, 0, name, 0, 0, id);
  	return code;
      }
  
***************
*** 289,298 ****
      }
      flags |= PRGRP;
      if (*id) {
! 	code = ubik_Call(PR_INewEntry, pruclient, 0, name, *id, oid);
  	return code;
      } else {
! 	code = ubik_Call(PR_NewEntry, pruclient, 0, name, flags, oid, id);
  	return code;
      }
  }
--- 289,298 ----
      }
      flags |= PRGRP;
      if (*id) {
! 	code = ubik_PR_INewEntry(pruclient, 0, name, *id, oid);
  	return code;
      } else {
! 	code = ubik_PR_NewEntry(pruclient, 0, name, flags, oid, id);
  	return code;
      }
  }
***************
*** 309,315 ****
  	return code;
      if (id == ANONYMOUSID)
  	return PRNOENT;
!     code = ubik_Call(PR_Delete, pruclient, 0, id);
      return code;
  }
  
--- 309,315 ----
  	return code;
      if (id == ANONYMOUSID)
  	return PRNOENT;
!     code = ubik_PR_Delete(pruclient, 0, id);
      return code;
  }
  
***************
*** 318,324 ****
  {
      register afs_int32 code;
  
!     code = ubik_Call(PR_Delete, pruclient, 0, id);
      return code;
  }
  
--- 318,324 ----
  {
      register afs_int32 code;
  
!     code = ubik_PR_Delete(pruclient, 0, id);
      return code;
  }
  
***************
*** 345,351 ****
  	goto done;
      }
      code =
! 	ubik_Call(PR_AddToGroup, pruclient, 0, lids.idlist_val[0],
  		  lids.idlist_val[1]);
    done:
      if (lnames.namelist_val)
--- 345,351 ----
  	goto done;
      }
      code =
! 	ubik_PR_AddToGroup(pruclient, 0, lids.idlist_val[0],
  		  lids.idlist_val[1]);
    done:
      if (lnames.namelist_val)
***************
*** 378,384 ****
  	goto done;
      }
      code =
! 	ubik_Call(PR_RemoveFromGroup, pruclient, 0, lids.idlist_val[0],
  		  lids.idlist_val[1]);
    done:
      if (lnames.namelist_val)
--- 378,384 ----
  	goto done;
      }
      code =
! 	ubik_PR_RemoveFromGroup(pruclient, 0, lids.idlist_val[0],
  		  lids.idlist_val[1]);
    done:
      if (lnames.namelist_val)
***************
*** 397,403 ****
  
      for (i = 0; i < names->namelist_len; i++)
  	stolower(names->namelist_val[i]);
!     code = ubik_Call(PR_NameToID, pruclient, 0, names, ids);
      return code;
  }
  
--- 397,403 ----
  
      for (i = 0; i < names->namelist_len; i++)
  	stolower(names->namelist_val[i]);
!     code = ubik_PR_NameToID(pruclient, 0, names, ids);
      return code;
  }
  
***************
*** 414,420 ****
      lnames.namelist_val = (prname *) malloc(PR_MAXNAMELEN);
      stolower(name);
      strncpy(lnames.namelist_val[0], name, PR_MAXNAMELEN);
!     code = ubik_Call(PR_NameToID, pruclient, 0, &lnames, &lids);
      if (lids.idlist_val) {
  	*id = *lids.idlist_val;
  	free(lids.idlist_val);
--- 414,420 ----
      lnames.namelist_val = (prname *) malloc(PR_MAXNAMELEN);
      stolower(name);
      strncpy(lnames.namelist_val[0], name, PR_MAXNAMELEN);
!     code = ubik_PR_NameToID(pruclient, 0, &lnames, &lids);
      if (lids.idlist_val) {
  	*id = *lids.idlist_val;
  	free(lids.idlist_val);
***************
*** 429,435 ****
  {
      register afs_int32 code;
  
!     code = ubik_Call(PR_IDToName, pruclient, 0, ids, names);
      return code;
  }
  
--- 429,435 ----
  {
      register afs_int32 code;
  
!     code = ubik_PR_IDToName(pruclient, 0, ids, names);
      return code;
  }
  
***************
*** 445,451 ****
      *lids.idlist_val = id;
      lnames.namelist_len = 0;
      lnames.namelist_val = 0;
!     code = ubik_Call(PR_IDToName, pruclient, 0, &lids, &lnames);
      if (lnames.namelist_val) {
  	strncpy(name, lnames.namelist_val[0], PR_MAXNAMELEN);
  	free(lnames.namelist_val);
--- 445,451 ----
      *lids.idlist_val = id;
      lnames.namelist_len = 0;
      lnames.namelist_val = 0;
!     code = ubik_PR_IDToName(pruclient, 0, &lids, &lnames);
      if (lnames.namelist_val) {
  	strncpy(name, lnames.namelist_val[0], PR_MAXNAMELEN);
  	free(lnames.namelist_val);
***************
*** 462,468 ****
      afs_int32 over;
  
      over = 0;
!     code = ubik_Call(PR_GetCPS, pruclient, 0, id, CPS, &over);
      if (code != PRSUCCESS)
  	return code;
      if (over) {
--- 462,468 ----
      afs_int32 over;
  
      over = 0;
!     code = ubik_PR_GetCPS(pruclient, 0, id, CPS, &over);
      if (code != PRSUCCESS)
  	return code;
      if (over) {
***************
*** 481,487 ****
      afs_int32 over;
  
      over = 0;
!     code = ubik_Call(PR_GetCPS2, pruclient, 0, id, host, CPS, &over);
      if (code != PRSUCCESS)
  	return code;
      if (over) {
--- 481,487 ----
      afs_int32 over;
  
      over = 0;
!     code = ubik_PR_GetCPS2(pruclient, 0, id, host, CPS, &over);
      if (code != PRSUCCESS)
  	return code;
      if (over) {
***************
*** 500,506 ****
      afs_int32 over;
  
      over = 0;
!     code = ubik_Call(PR_GetHostCPS, pruclient, 0, host, CPS, &over);
      if (code != PRSUCCESS)
  	return code;
      if (over) {
--- 500,506 ----
      afs_int32 over;
  
      over = 0;
!     code = ubik_PR_GetHostCPS(pruclient, 0, host, CPS, &over);
      if (code != PRSUCCESS)
  	return code;
      if (over) {
***************
*** 537,543 ****
  
      alist.prlist_len = 0;
      alist.prlist_val = 0;
!     code = ubik_Call(PR_ListOwned, pruclient, 0, oid, &alist, moreP);
      if (code)
  	return code;
      if (*moreP == 1) {
--- 537,543 ----
  
      alist.prlist_len = 0;
      alist.prlist_val = 0;
!     code = ubik_PR_ListOwned(pruclient, 0, oid, &alist, moreP);
      if (code)
  	return code;
      if (*moreP == 1) {
***************
*** 565,571 ****
  
      alist.prlist_len = 0;
      alist.prlist_val = 0;
!     code = ubik_Call(PR_ListElements, pruclient, 0, gid, &alist, &over);
      if (code)
  	return code;
      if (over) {
--- 565,571 ----
  
      alist.prlist_len = 0;
      alist.prlist_val = 0;
!     code = ubik_PR_ListElements(pruclient, 0, gid, &alist, &over);
      if (code)
  	return code;
      if (over) {
***************
*** 586,592 ****
  {
      register afs_int32 code;
  
!     code = ubik_Call(PR_ListEntry, pruclient, 0, id, aentry);
      return code;
  }
  
--- 586,592 ----
  {
      register afs_int32 code;
  
!     code = ubik_PR_ListEntry(pruclient, 0, id, aentry);
      return code;
  }
  
***************
*** 603,609 ****
      bulkentries.prentries_len = 0;
  
      code =
! 	ubik_Call(PR_ListEntries, pruclient, 0, flag, startindex,
  		  &bulkentries, nextstartindex);
      *nentries = bulkentries.prentries_len;
      *entries = bulkentries.prentries_val;
--- 603,609 ----
      bulkentries.prentries_len = 0;
  
      code =
! 	ubik_PR_ListEntries(pruclient, 0, flag, startindex,
  		  &bulkentries, nextstartindex);
      *nentries = bulkentries.prentries_len;
      *entries = bulkentries.prentries_val;
***************
*** 622,628 ****
  	return code;
      if (*id == ANONYMOUSID)
  	return PRNOENT;
!     code = ubik_Call(PR_ListEntry, pruclient, 0, *id, &aentry);
      if (code)
  	return code;
      /* this should be done in one RPC, but I'm lazy. */
--- 622,629 ----
  	return code;
      if (*id == ANONYMOUSID)
  	return PRNOENT;
!     code = ubik_PR_ListEntry(pruclient, 0, *id, &aentry);
!       //code = ubik_PR_ListEntry(pruclient, 0, *id, &aentry);
      if (code)
  	return code;
      /* this should be done in one RPC, but I'm lazy. */
***************
*** 647,653 ****
  	return code;
      if (id == ANONYMOUSID)
  	return PRNOENT;
!     code = ubik_Call(PR_ListEntry, pruclient, 0, id, &aentry);
      if (code)
  	return code;
      /* this should be done in one RPC, but I'm lazy. */
--- 648,654 ----
  	return code;
      if (id == ANONYMOUSID)
  	return PRNOENT;
!     code = ubik_PR_ListEntry(pruclient, 0, id, &aentry);
      if (code)
  	return code;
      /* this should be done in one RPC, but I'm lazy. */
***************
*** 679,685 ****
  	if (oid == ANONYMOUSID)
  	    return PRNOENT;
      }
!     code = ubik_Call(PR_ChangeEntry, pruclient, 0, id, newname, oid, newid);
      return code;
  }
  
--- 680,686 ----
  	if (oid == ANONYMOUSID)
  	    return PRNOENT;
      }
!     code = ubik_PR_ChangeEntry(pruclient, 0, id, newname, oid, newid);
      return code;
  }
  
***************
*** 707,713 ****
  	return code;
      }
      code =
! 	ubik_Call(PR_IsAMemberOf, pruclient, 0, lids.idlist_val[0],
  		  lids.idlist_val[1], flag);
      if (lnames.namelist_val)
  	free(lnames.namelist_val);
--- 708,714 ----
  	return code;
      }
      code =
! 	ubik_PR_IsAMemberOf(pruclient, 0, lids.idlist_val[0],
  		  lids.idlist_val[1], flag);
      if (lnames.namelist_val)
  	free(lnames.namelist_val);
***************
*** 721,727 ****
  {
      register afs_int32 code;
      afs_int32 gid;
!     code = ubik_Call(PR_ListMax, pruclient, 0, mid, &gid);
      return code;
  }
  
--- 722,728 ----
  {
      register afs_int32 code;
      afs_int32 gid;
!     code = ubik_PR_ListMax(pruclient, 0, mid, &gid);
      return code;
  }
  
***************
*** 730,736 ****
  {
      register afs_int32 code;
      afs_int32 flag = 0;
!     code = ubik_Call(PR_SetMax, pruclient, 0, mid, flag);
      return code;
  }
  
--- 731,737 ----
  {
      register afs_int32 code;
      afs_int32 flag = 0;
!     code = ubik_PR_SetMax(pruclient, 0, mid, flag);
      return code;
  }
  
***************
*** 739,745 ****
  {
      register afs_int32 code;
      afs_int32 id;
!     code = ubik_Call(PR_ListMax, pruclient, 0, &id, mid);
      return code;
  }
  
--- 740,746 ----
  {
      register afs_int32 code;
      afs_int32 id;
!     code = ubik_PR_ListMax(pruclient, 0, &id, mid);
      return code;
  }
  
***************
*** 750,756 ****
      afs_int32 flag = 0;
  
      flag |= PRGRP;
!     code = ubik_Call(PR_SetMax, pruclient, 0, mid, flag);
      return code;
  }
  
--- 751,757 ----
      afs_int32 flag = 0;
  
      flag |= PRGRP;
!     code = ubik_PR_SetMax(pruclient, 0, mid, flag);
      return code;
  }
  
***************
*** 760,777 ****
      register afs_int32 code;
  
      code =
! 	ubik_Call(PR_SetFieldsEntry, pruclient, 0, id, mask, flags, ngroups,
  		  nusers, 0, 0);
      return code;
  }
- 
- int
- stolower(char *s)
- {
-     while (*s) {
- 	if (isupper(*s))
- 	    *s = tolower(*s);
- 	s++;
-     }
-     return 0;
- }
--- 761,767 ----
      register afs_int32 code;
  
      code =
! 	ubik_PR_SetFieldsEntry(pruclient, 0, id, mask, flags, ngroups,
  		  nusers, 0, 0);
      return code;
  }
Index: openafs/src/rx/rx_clock_nt.c
diff -c openafs/src/rx/rx_clock_nt.c:1.9.2.3 openafs/src/rx/rx_clock_nt.c:1.9.2.4
*** openafs/src/rx/rx_clock_nt.c:1.9.2.3	Sun Mar  5 22:05:02 2006
--- openafs/src/rx/rx_clock_nt.c	Mon Jul 31 17:51:21 2006
***************
*** 14,20 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/rx/rx_clock_nt.c,v 1.9.2.3 2006/03/06 03:05:02 jaltman Exp $");
  
  #ifdef AFS_NT40_ENV
  #include <stdio.h>
--- 14,20 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/rx/rx_clock_nt.c,v 1.9.2.4 2006/07/31 21:51:21 shadow Exp $");
  
  #ifdef AFS_NT40_ENV
  #include <stdio.h>
***************
*** 23,37 ****
  #include <winbase.h>
  #include "rx_clock.h"
  
- void clock_UpdateTime(void);	/* forward reference */
- 
  struct clock clock_now;		/* The last elapsed time ready by clock_GetTimer */
  
  /* This is set to 1 whenever the time is read, and reset to 0 whenever
   * clock_NewTime is called.  This is to allow the caller to control the
   * frequency with which the actual time is re-evaluated.
   */
! int clock_haveCurrentTime;
  
  int clock_nUpdates;		/* The actual number of clock updates */
  static int clockInitialized = 0;
--- 23,36 ----
  #include <winbase.h>
  #include "rx_clock.h"
  
  struct clock clock_now;		/* The last elapsed time ready by clock_GetTimer */
  
  /* This is set to 1 whenever the time is read, and reset to 0 whenever
   * clock_NewTime is called.  This is to allow the caller to control the
   * frequency with which the actual time is re-evaluated.
   */
! #undef clock_haveCurrentTime
! int clock_haveCurrentTime = 0;
  
  int clock_nUpdates;		/* The actual number of clock updates */
  static int clockInitialized = 0;
***************
*** 43,48 ****
--- 42,48 ----
  #undef clock_UpdateTime
  void clock_UpdateTime(void);
  
+ #undef clock_Init
  void
  clock_Init(void)
  {
Index: openafs/src/rx/rx_globals.c
diff -c openafs/src/rx/rx_globals.c:1.8.2.1 openafs/src/rx/rx_globals.c:1.8.2.2
*** openafs/src/rx/rx_globals.c:1.8.2.1	Tue Dec  7 01:10:06 2004
--- openafs/src/rx/rx_globals.c	Mon Jul 31 17:51:21 2006
***************
*** 26,39 ****
  #endif
  
  RCSID
!     ("$Header: /cvs/openafs/src/rx/rx_globals.c,v 1.8.2.1 2004/12/07 06:10:06 shadow Exp $");
  
  /* Enable data initialization when the header file is included */
  #define INIT(stuff) = stuff
  #if defined(AFS_NT40_ENV) && defined(AFS_PTHREAD_ENV)
  #define EXT __declspec(dllexport)
  #else
  #define EXT
  #endif
  
  #ifdef KERNEL
--- 26,41 ----
  #endif
  
  RCSID
!     ("$Header: /cvs/openafs/src/rx/rx_globals.c,v 1.8.2.2 2006/07/31 21:51:21 shadow Exp $");
  
  /* Enable data initialization when the header file is included */
  #define INIT(stuff) = stuff
  #if defined(AFS_NT40_ENV) && defined(AFS_PTHREAD_ENV)
  #define EXT __declspec(dllexport)
+ #define EXT2 __declspec(dllexport)
  #else
  #define EXT
+ #define EXT2 
  #endif
  
  #ifdef KERNEL
Index: openafs/src/rx/rx_globals.h
diff -c openafs/src/rx/rx_globals.h:1.9.2.10 openafs/src/rx/rx_globals.h:1.9.2.12
*** openafs/src/rx/rx_globals.h:1.9.2.10	Thu Sep 15 22:28:50 2005
--- openafs/src/rx/rx_globals.h	Mon Jul 31 17:51:21 2006
***************
*** 21,31 ****
  
  #ifndef INIT
  #define INIT(x)
! #if defined(AFS_NT40_ENV) && defined(AFS_PTHREAD_ENV)
  #define EXT __declspec(dllimport) extern
  #else
  #define	EXT extern
  #endif
  #endif /* !INIT */
  
  /* Basic socket for client requests; other sockets (for receiving server requests) are in the service structures */
--- 21,37 ----
  
  #ifndef INIT
  #define INIT(x)
! #if defined(AFS_NT40_ENV)
! #if defined(AFS_PTHREAD_ENV)
  #define EXT __declspec(dllimport) extern
  #else
  #define	EXT extern
  #endif
+ #define EXT2 __declspec(dllimport) extern
+ #else
+ #define EXT2 extern
+ #define EXT extern
+ #endif
  #endif /* !INIT */
  
  /* Basic socket for client requests; other sockets (for receiving server requests) are in the service structures */
***************
*** 510,516 ****
--- 516,526 ----
  #ifdef AFS_NT40_ENV
  #define dpf(args) rxi_DebugPrint args; 
  #else
+ #ifdef DPF_FSLOG
+ #define dpf(args) FSLog args
+ #else
  #define dpf(args) if (rx_debugFile) rxi_DebugPrint args; else
+ #endif 
  #endif
  #define rx_Log_event rxevent_debugFile
  
***************
*** 563,569 ****
  EXT afs_kmutex_t rx_stats_mutex;	/* used to activate stats gathering */
  #endif
  
! EXT int rx_enable_stats INIT(0);
  
  /*
   * Set this flag to enable the listener thread to trade places with an idle
--- 573,579 ----
  EXT afs_kmutex_t rx_stats_mutex;	/* used to activate stats gathering */
  #endif
  
! EXT2 int rx_enable_stats INIT(0);
  
  /*
   * Set this flag to enable the listener thread to trade places with an idle
Index: openafs/src/rx/rx_kcommon.c
diff -c openafs/src/rx/rx_kcommon.c:1.44.2.11 openafs/src/rx/rx_kcommon.c:1.44.2.12
*** openafs/src/rx/rx_kcommon.c:1.44.2.11	Wed Mar  8 00:05:51 2006
--- openafs/src/rx/rx_kcommon.c	Mon Jul 31 11:08:20 2006
***************
*** 15,21 ****
  #include "afs/param.h"
  
  RCSID
!     ("$Header: /cvs/openafs/src/rx/rx_kcommon.c,v 1.44.2.11 2006/03/08 05:05:51 jaltman Exp $");
  
  #include "rx/rx_kcommon.h"
  
--- 15,21 ----
  #include "afs/param.h"
  
  RCSID
!     ("$Header: /cvs/openafs/src/rx/rx_kcommon.c,v 1.44.2.12 2006/07/31 15:08:20 shadow Exp $");
  
  #include "rx/rx_kcommon.h"
  
***************
*** 1142,1150 ****
      if (!code) {
  	p->length = nbytes - RX_HEADER_SIZE;;
  	if ((nbytes > tlen) || (p->length & 0x8000)) {	/* Bogus packet */
! 	    if (nbytes > 0)
! 		rxi_MorePackets(rx_initSendWindow);
! 	    else {
  		MUTEX_ENTER(&rx_stats_mutex);
  		rx_stats.bogusPacketOnRead++;
  		rx_stats.bogusHost = from.sin_addr.s_addr;
--- 1142,1148 ----
      if (!code) {
  	p->length = nbytes - RX_HEADER_SIZE;;
  	if ((nbytes > tlen) || (p->length & 0x8000)) {	/* Bogus packet */
! 	    if (nbytes <= 0) {
  		MUTEX_ENTER(&rx_stats_mutex);
  		rx_stats.bogusPacketOnRead++;
  		rx_stats.bogusHost = from.sin_addr.s_addr;
Index: openafs/src/rx/rx_packet.c
diff -c openafs/src/rx/rx_packet.c:1.35.2.24 openafs/src/rx/rx_packet.c:1.35.2.25
*** openafs/src/rx/rx_packet.c:1.35.2.24	Thu Jan 26 15:58:47 2006
--- openafs/src/rx/rx_packet.c	Mon Jul 31 11:08:20 2006
***************
*** 15,21 ****
  #endif
  
  RCSID
!     ("$Header: /cvs/openafs/src/rx/rx_packet.c,v 1.35.2.24 2006/01/26 20:58:47 shadow Exp $");
  
  #ifdef KERNEL
  #if defined(UKERNEL)
--- 15,21 ----
  #endif
  
  RCSID
!     ("$Header: /cvs/openafs/src/rx/rx_packet.c,v 1.35.2.25 2006/07/31 15:08:20 shadow Exp $");
  
  #ifdef KERNEL
  #if defined(UKERNEL)
***************
*** 1394,1406 ****
  
      p->length = (nbytes - RX_HEADER_SIZE);
      if ((nbytes > tlen) || (p->length & 0x8000)) {	/* Bogus packet */
! 	if (nbytes > 0)
! 	    rxi_MorePackets(rx_initSendWindow);
! 	else if (nbytes < 0 && errno == EWOULDBLOCK) {
  	    MUTEX_ENTER(&rx_stats_mutex);
  	    rx_stats.noPacketOnRead++;
  	    MUTEX_EXIT(&rx_stats_mutex);
! 	} else {
  	    MUTEX_ENTER(&rx_stats_mutex);
  	    rx_stats.bogusPacketOnRead++;
  	    rx_stats.bogusHost = from.sin_addr.s_addr;
--- 1394,1404 ----
  
      p->length = (nbytes - RX_HEADER_SIZE);
      if ((nbytes > tlen) || (p->length & 0x8000)) {	/* Bogus packet */
! 	if (nbytes < 0 && errno == EWOULDBLOCK) {
  	    MUTEX_ENTER(&rx_stats_mutex);
  	    rx_stats.noPacketOnRead++;
  	    MUTEX_EXIT(&rx_stats_mutex);
! 	} else if (nbytes <= 0) {
  	    MUTEX_ENTER(&rx_stats_mutex);
  	    rx_stats.bogusPacketOnRead++;
  	    rx_stats.bogusHost = from.sin_addr.s_addr;
Index: openafs/src/rxgen/rpc_hout.c
diff -c openafs/src/rxgen/rpc_hout.c:1.7.2.2 openafs/src/rxgen/rpc_hout.c:1.7.2.3
*** openafs/src/rxgen/rpc_hout.c:1.7.2.2	Sat Oct 15 17:52:31 2005
--- openafs/src/rxgen/rpc_hout.c	Mon Jul 31 13:07:50 2006
***************
*** 36,42 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/rxgen/rpc_hout.c,v 1.7.2.2 2005/10/15 21:52:31 jaltman Exp $");
  
  #include <stdio.h>
  #include <string.h>
--- 36,42 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/rxgen/rpc_hout.c,v 1.7.2.3 2006/07/31 17:07:50 shadow Exp $");
  
  #include <stdio.h>
  #include <string.h>
***************
*** 223,230 ****
      f_print(fout, "\nextern %s %s%s%s(\n", type, prefix, defp->pc.proc_prefix,
  	    defp->pc.proc_name);
  
!     if (callTconnF) {
  	f_print(fout, "\t/*IN */ struct rx_call *z_call");
      } else {
  	f_print(fout, "\t/*IN */ struct rx_connection *z_conn");
      }
--- 223,232 ----
      f_print(fout, "\nextern %s %s%s%s(\n", type, prefix, defp->pc.proc_prefix,
  	    defp->pc.proc_name);
  
!     if (callTconnF == 1) {
  	f_print(fout, "\t/*IN */ struct rx_call *z_call");
+     } else if (callTconnF == 2) {
+ 	f_print(fout, "\tregister struct ubik_client *aclient, afs_int32 aflags");
      } else {
  	f_print(fout, "\t/*IN */ struct rx_connection *z_conn");
      }
***************
*** 270,275 ****
--- 272,280 ----
  	psproc1(defp, 0, "int", "", 0xFFFFFFFF);
      }
  
+     if (uflag && !kflag)
+ 	psproc1(defp, 2, "int", "ubik_", 0xFFFFFFFF);
+ 
      if (*ServerPrefix)
  	psproc1(defp, 1, "afs_int32", ServerPrefix, 0xFFFFFFFF);
  }
Index: openafs/src/rxgen/rpc_main.c
diff -c openafs/src/rxgen/rpc_main.c:1.21.2.1 openafs/src/rxgen/rpc_main.c:1.21.2.2
*** openafs/src/rxgen/rpc_main.c:1.21.2.1	Sun Apr  3 14:15:51 2005
--- openafs/src/rxgen/rpc_main.c	Mon Jul 31 13:07:51 2006
***************
*** 37,43 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/rxgen/rpc_main.c,v 1.21.2.1 2005/04/03 18:15:51 shadow Exp $");
  
  #include <limits.h>
  #include <stdio.h>
--- 37,43 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/rxgen/rpc_main.c,v 1.21.2.2 2006/07/31 17:07:51 shadow Exp $");
  
  #include <limits.h>
  #include <stdio.h>
***************
*** 79,84 ****
--- 79,85 ----
      int dflag;
      int xflag;
      int yflag;
+     int uflag;
      char *infile;
      char *outfile;
  };
***************
*** 91,97 ****
  int nincludes = 0;
  char *OutFileFlag = "";
  char OutFile[256];
! char Sflag = 0, Cflag = 0, hflag = 0, cflag = 0, kflag = 0;
  char zflag = 0;			/* If set, abort server stub if rpc call returns non-zero */
  char xflag = 0;			/* if set, add stats code to stubs */
  char yflag = 0;			/* if set, only emit function name arrays to xdr file */
--- 92,98 ----
  int nincludes = 0;
  char *OutFileFlag = "";
  char OutFile[256];
! char Sflag = 0, Cflag = 0, hflag = 0, cflag = 0, kflag = 0, uflag = 0;
  char zflag = 0;			/* If set, abort server stub if rpc call returns non-zero */
  char xflag = 0;			/* if set, add stats code to stubs */
  char yflag = 0;			/* if set, only emit function name arrays to xdr file */
***************
*** 181,187 ****
      if (!parseargs(argc, argv, &cmd)) {
  	f_print(stderr, "usage: %s infile\n", cmdname);
  	f_print(stderr,
! 		"       %s [-c | -h | -l | -m | -C | -S | -r | -k | -R | -p | -d | -z] [-Pprefix] [-Idir] [-o outfile] [infile]\n",
  		cmdname);
  	f_print(stderr, "       %s [-s udp|tcp]* [-o outfile] [infile]\n",
  		cmdname);
--- 182,188 ----
      if (!parseargs(argc, argv, &cmd)) {
  	f_print(stderr, "usage: %s infile\n", cmdname);
  	f_print(stderr,
! 		"       %s [-c | -h | -l | -m | -C | -S | -r | -k | -R | -p | -d | -z | -u] [-Pprefix] [-Idir] [-o outfile] [infile]\n",
  		cmdname);
  	f_print(stderr, "       %s [-s udp|tcp]* [-o outfile] [infile]\n",
  		cmdname);
***************
*** 470,475 ****
--- 471,478 ----
      if (xflag) {
  	f_print(fout, "#include \"rx/rx_globals.h\"\n");
      }
+     if (uflag)
+ 	f_print(fout, "#include <ubik.h>\n");
      f_print(fout, "#else	/* UKERNEL */\n");
      f_print(fout, "#include \"h/types.h\"\n");
      f_print(fout, "#ifndef	SOCK_DGRAM  /* XXXXX */\n");
***************
*** 521,526 ****
--- 524,531 ----
  	f_print(fout, "#include <rx/rx_globals.h>\n");
      }
      f_print(fout, "#include <afs/rxgen_consts.h>\n");
+     if (uflag)
+ 	f_print(fout, "#include <ubik.h>\n");
      f_print(fout, "#endif	/* KERNEL */\n\n");
      f_print(fout, "#ifdef AFS_NT40_ENV\n");
      f_print(fout, "#ifndef AFS_RXGEN_EXPORT\n");
***************
*** 813,818 ****
--- 818,824 ----
  		case 'k':
  		case 'p':
  		case 'd':
+ 		case 'u':
  		case 'x':
  		case 'y':
  		case 'z':
***************
*** 869,874 ****
--- 875,881 ----
      cmd->Cflag = Cflag = flag['C'];
      cmd->Sflag = Sflag = flag['S'];
      cmd->rflag = flag['r'];
+     cmd->uflag = uflag = flag['u'];
      cmd->kflag = kflag = flag['k'];
      cmd->pflag = flag['p'];
      cmd->dflag = debug = flag['d'];
Index: openafs/src/rxgen/rpc_parse.c
diff -c openafs/src/rxgen/rpc_parse.c:1.18.2.1 openafs/src/rxgen/rpc_parse.c:1.18.2.3
*** openafs/src/rxgen/rpc_parse.c:1.18.2.1	Fri Oct 14 21:20:03 2005
--- openafs/src/rxgen/rpc_parse.c	Mon Jul 31 17:51:21 2006
***************
*** 36,42 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/rxgen/rpc_parse.c,v 1.18.2.1 2005/10/15 01:20:03 shadow Exp $");
  
  #include <stdlib.h>
  #include <stdio.h>
--- 36,42 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/rxgen/rpc_parse.c,v 1.18.2.3 2006/07/31 21:51:21 shadow Exp $");
  
  #include <stdlib.h>
  #include <stdio.h>
***************
*** 134,139 ****
--- 134,143 ----
  static void cs_ProcSendPacket_setup(definition * defp, int split_flag);
  static void cs_ProcUnmarshallOutParams_setup(definition * defp);
  static void cs_ProcTail_setup(definition * defp, int split_flag);
+ static void ucs_ProcName_setup(definition * defp, char *procheader,
+ 			      int split_flag);
+ static void ucs_ProcParams_setup(definition * defp, int split_flag);
+ static void ucs_ProcTail_setup(definition * defp, int split_flag);
  static void ss_Proc_CodeGeneration(definition * defp);
  static void ss_ProcName_setup(definition * defp);
  static void ss_ProcParams_setup(definition * defp, int *somefrees);
***************
*** 1102,1107 ****
--- 1106,1119 ----
  	}
  	cs_ProcTail_setup(defp, split_flag);
      }
+ 
+     if (!kflag && !split_flag && uflag) {
+ 	ucs_ProcName_setup(defp, "ubik_", split_flag);
+ 	if (!cflag) {
+ 	    ucs_ProcParams_setup(defp, split_flag);
+ 	    ucs_ProcTail_setup(defp, split_flag);
+ 	}
+     }
  }
  
  
***************
*** 1730,1735 ****
--- 1742,1945 ----
  }
  
  
+ static void
+ ucs_ProcName_setup(definition * defp, char *procheader, int split_flag)
+ {
+     proc1_list *plist;
+ 
+     if (!cflag) {
+       f_print(fout, "int %s%s%s%s(aclient, aflags", procheader, prefix,
+ 	      PackagePrefix[PackageIndex], defp->pc.proc_name);
+     }
+     if ((strlen(procheader) + strlen(prefix) +
+ 	 strlen(PackagePrefix[PackageIndex]) + strlen(defp->pc.proc_name)) >=
+ 	MAX_FUNCTION_NAME_LEN) {
+ 	error("function name is too long, increase MAX_FUNCTION_NAME_LEN");
+     }
+     if (!cflag) {
+ 	for (plist = defp->pc.plists; plist; plist = plist->next) {
+ 	    if (plist->component_kind == DEF_PARAM) {
+ 		plist->pl.param_flag &= ~PROCESSED_PARAM;
+ 		f_print(fout, ", %s", plist->pl.param_name);
+ 	    }
+ 	}
+ 	f_print(fout, ")\n");
+     }
+ }
+ 
+ 
+ static void
+ ucs_ProcParams_setup(definition * defp, int split_flag)
+ {
+     proc1_list *plist, *plist1;
+ 
+     f_print(fout, "\tregister struct ubik_client *aclient;\n\tafs_int32 aflags;\n");
+     for (plist = defp->pc.plists; plist; plist = plist->next) {
+ 	if (plist->component_kind == DEF_PARAM
+ 	    && !(plist->pl.param_flag & PROCESSED_PARAM)) {
+ 	    if (plist->pl.param_flag & OUT_STRING) {
+ 		f_print(fout, "\t%s *%s", plist->pl.param_type,
+ 			plist->pl.param_name);
+ 	    } else {
+ 		f_print(fout, "\t%s %s", plist->pl.param_type,
+ 			plist->pl.param_name);
+ 	    }
+ 	    plist->pl.param_flag |= PROCESSED_PARAM;
+ 	    for (plist1 = defp->pc.plists; plist1; plist1 = plist1->next) {
+ 		if ((plist1->component_kind == DEF_PARAM)
+ 		    && streq(plist->pl.param_type, plist1->pl.param_type)
+ 		    && !(plist1->pl.param_flag & PROCESSED_PARAM)) {
+ 		    char *star = "";
+ 		    char *pntr = strchr(plist1->pl.param_type, '*');
+ 		    if (pntr)
+ 			star = "*";
+ 		    if (plist1->pl.param_flag & OUT_STRING) {
+ 			f_print(fout, ", *%s%s", star, plist1->pl.param_name);
+ 		    } else {
+ 			f_print(fout, ", %s%s", star, plist1->pl.param_name);
+ 		    }
+ 		    plist1->pl.param_flag |= PROCESSED_PARAM;
+ 		}
+ 	    }
+ 	    f_print(fout, ";\n");
+ 	}
+     }
+ }
+ 
+ static void
+ ucs_ProcTail_setup(definition * defp, int split_flag)
+ {
+     proc1_list *plist;
+ 
+     f_print(fout, "{\tafs_int32 rcode, code, newHost, thisHost, i, _ucount;\n");
+     f_print(fout, "\tint chaseCount, pass, needsync, inlist;\n");
+ #if 0 /* goes with block below */
+     f_print(fout, "\tint j;\n");
+ #endif
+     f_print(fout, "\tstruct rx_connection *tc;\n");
+     f_print(fout, "\tstruct rx_peer *rxp;\n");
+     f_print(fout, "\tshort origLevel;\n\n");
+     f_print(fout, "\tif (!aclient)\n");
+     f_print(fout, "\t\treturn UNOENT;\n");
+     f_print(fout, "\tLOCK_UBIK_CLIENT(aclient);\n\n");
+     f_print(fout, "\t restart:\n");
+     f_print(fout, "\torigLevel = aclient->initializationState;\n");
+     f_print(fout, "\trcode = UNOSERVERS;\n");
+     f_print(fout, "\tchaseCount = inlist = needsync = 0;\n\n");
+ #if 0 /* We should do some sort of caching algorithm for this, but I need to think about it - shadow 26 jun 06 */
+     f_print(fout, "\tLOCK_UCLNT_CACHE;\n");
+     f_print(fout, "\tfor (j = 0; ((j < SYNCCOUNT) && calls_needsync[j]); j++) {\n");
+     f_print(fout, "\t\tif (calls_needsync[j] == (int *)%s%s%s) {\n", prefix, PackagePrefix[PackageIndex], defp->pc.proc_name);
+     f_print(fout, "\t\t\tinlist = needsync = 1;\n");
+     f_print(fout, "\t\t\tbreak;\n");
+     f_print(fout, "\t\t}\n");
+     f_print(fout, "\t}\n");
+     f_print(fout, "\tUNLOCK_UCLNT_CACHE;\n");
+ #endif
+     f_print(fout, "\t/* \n\t* First  pass, we try all servers that are up.\n\t* Second pass, we try all servers.\n\t*/\n");
+     f_print(fout, "\tfor (pass = 0; pass < 2; pass++) {  /*p */\n");
+     f_print(fout, "\t\t/* For each entry in our servers list */\n");
+     f_print(fout, "\t\tfor (_ucount = 0;; _ucount++) {     /*s */\n\n");
+     f_print(fout, "\t\tif (needsync) {\n");
+     f_print(fout, "\t\t\t/* Need a sync site. Lets try to quickly find it */\n");
+     f_print(fout, "\t\t\tif (aclient->syncSite) {\n");
+     f_print(fout, "\t\t\t\tnewHost = aclient->syncSite;        /* already in network order */\n");
+     f_print(fout, "\t\t\t\taclient->syncSite = 0;      /* Will reset if it works */\n");
+     f_print(fout, "\t\t\t} else if (aclient->conns[3]) {\n");
+     f_print(fout, "\t\t\t\t/* If there are fewer than four db servers in a cell,\n");
+     f_print(fout, "\t\t\t\t* there's no point in making the GetSyncSite call.\n");
+     f_print(fout, "\t\t\t\t* At best, it's a wash. At worst, it results in more\n");
+     f_print(fout, "\t\t\t\t* RPCs than you would otherwise make.\n");
+     f_print(fout, "\t\t\t\t*/\n");
+     f_print(fout, "\t\t\t\ttc = aclient->conns[_ucount];\n");
+     f_print(fout, "\t\t\t\tif (tc && rx_ConnError(tc)) {\n");
+     f_print(fout, "\t\t\t\t\taclient->conns[_ucount] = tc = ubik_RefreshConn(tc);\n");
+     f_print(fout, "\t\t\t\t}\n");
+     f_print(fout, "\t\t\t\tif (!tc)\n");
+     f_print(fout, "\t\t\t\t\tbreak;\n");
+     f_print(fout, "\t\t\t\tcode = VOTE_GetSyncSite(tc, &newHost);\n");
+     f_print(fout, "\t\t\t\tif (aclient->initializationState != origLevel)\n");
+     f_print(fout, "\t\t\t\t\tgoto restart;   /* somebody did a ubik_ClientInit */\n");
+     f_print(fout, "\t\t\t\tif (code)\n");
+     f_print(fout, "\t\t\t\t\tnewHost = 0;\n");
+     f_print(fout, "\t\t\t\tnewHost = htonl(newHost);   /* convert to network order */\n");
+     f_print(fout, "\t\t\t} else {\n");
+     f_print(fout, "\t\t\t\tnewHost = 0;\n");
+     f_print(fout, "\t\t\t}\n");
+     f_print(fout, "\t\t\tif (newHost) {\n");
+     f_print(fout, "\t\t\t\t/* position count at the appropriate slot in the client\n");
+     f_print(fout, "\t\t\t\t* structure and retry. If we can't find in slot, we'll\n");
+     f_print(fout, "\t\t\t\t* just continue through the whole list \n");
+     f_print(fout, "\t\t\t\t*/\n");
+     f_print(fout, "\t\t\t\tfor (i = 0; i < MAXSERVERS && aclient->conns[i]; i++) {\n");
+     f_print(fout, "\t\t\t\t\trxp = rx_PeerOf(aclient->conns[i]);\n");
+     f_print(fout, "\t\t\t\t\tthisHost = rx_HostOf(rxp);\n");
+     f_print(fout, "\t\t\t\t\tif (!thisHost)\n");
+     f_print(fout, "\t\t\t\t\t\tbreak;\n");
+     f_print(fout, "\t\t\t\t\tif (thisHost == newHost) {\n");
+     f_print(fout, "\t\t\t\t\t\tif (chaseCount++ > 2)\n");
+     f_print(fout, "\t\t\t\t\t\t\tbreak;  /* avoid loop asking */\n");
+     f_print(fout, "\t\t\t\t\t\t_ucount = i;  /* this index is the sync site */\n");
+     f_print(fout, "\t\t\t\t\t\tbreak;\n");
+     f_print(fout, "\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n");
+     f_print(fout, "\t\t/*needsync */\n");
+     f_print(fout, "\t\ttc = aclient->conns[_ucount];\n");
+     f_print(fout, "\t\tif (tc && rx_ConnError(tc)) {\n");
+     f_print(fout, "\t\t\taclient->conns[_ucount] = tc = ubik_RefreshConn(tc);\n");
+     f_print(fout, "\t\t}\n");
+     f_print(fout, "\t\tif (!tc)\n");
+     f_print(fout, "\t\t\tbreak;\n\n");
+     f_print(fout, "\t\tif ((pass == 0) && (aclient->states[_ucount] & CFLastFailed)) {\n");
+     f_print(fout, "\t\t\tcontinue;       /* this guy's down */\n");
+     f_print(fout, "\t\t}\n");
+     
+     f_print(fout, "\t\trcode = %s%s%s(tc\n", prefix, PackagePrefix[PackageIndex], defp->pc.proc_name);
+     for (plist = defp->pc.plists; plist; plist = plist->next) {
+ 	if (plist->component_kind == DEF_PARAM) {
+ 	    plist->pl.param_flag &= ~PROCESSED_PARAM;
+ 	    f_print(fout, ", %s", plist->pl.param_name);
+ 	}
+     }
+     f_print(fout, ");\n");
+     f_print(fout, "\t\tif (aclient->initializationState != origLevel) {\n");
+     f_print(fout, "\t\t\t/* somebody did a ubik_ClientInit */\n");
+     f_print(fout, "\t\t\tif (rcode)\n");
+     f_print(fout, "\t\t\t\tgoto restart;       /* call failed */\n");
+     f_print(fout, "\t\t\telse\n");
+     f_print(fout, "\t\t\t\tgoto done;  /* call suceeded */\n");
+     f_print(fout, "\t\t}\n");
+     f_print(fout, "\t\tif (rcode < 0) {    /* network errors */\n");
+     f_print(fout, "\t\t\taclient->states[_ucount] |= CFLastFailed; /* Mark server down */\n");
+     f_print(fout, "\t\t} else if (rcode == UNOTSYNC) {\n");
+     f_print(fout, "\t\t\tneedsync = 1;\n");
+     f_print(fout, "\t\t} else if (rcode != UNOQUORUM) {\n");
+     f_print(fout, "\t\t\t/* either misc ubik code, or misc appl code, or success. */\n");
+     f_print(fout, "\t\t\taclient->states[_ucount] &= ~CFLastFailed;        /* mark server up*/\n");
+     f_print(fout, "\t\t\tgoto done;      /* all done */\n");
+     f_print(fout, "\t\t}\n");
+     f_print(fout, "\t\t}                       /*s */\n");
+     f_print(fout, "\t}                           /*p */\n\n");
+     f_print(fout, "\tdone:\n");
+     f_print(fout, "\tif (needsync) {\n");
+     f_print(fout, "\t\tif (!inlist) {          /* Remember proc call that needs sync site */\n");
+ #if 0 /* We should do some sort of caching algorithm for this, but I need to think about it - shadow 26 jun 06 */
+     f_print(fout, "\t\t\tLOCK_UCLNT_CACHE;\n");
+     f_print(fout, "\t\t\tcalls_needsync[synccount % SYNCCOUNT] = (int *)%s%s%s;\n", prefix, PackagePrefix[PackageIndex], defp->pc.proc_name);
+     f_print(fout, "\t\t\tsynccount++;\n");
+     f_print(fout, "\t\t\tUNLOCK_UCLNT_CACHE;\n");
+ #endif
+     f_print(fout, "\t\t\tinlist = 1;\n");
+     f_print(fout, "\t\t}\n");
+     f_print(fout, "\t\tif (!rcode) {           /* Remember the sync site - cmd successful */\n");
+     f_print(fout, "\t\t\trxp = rx_PeerOf(aclient->conns[_ucount]);\n");
+     f_print(fout, "\t\t\taclient->syncSite = rx_HostOf(rxp);\n");
+     f_print(fout, "\t\t}\n");
+     f_print(fout, "\t}\n");
+     f_print(fout, "\tUNLOCK_UBIK_CLIENT(aclient);\n");
+     f_print(fout, "\treturn rcode;\n}\n\n");
+ }
+ 
+ 
  static int
  opcode_holes_exist(void)
  {
Index: openafs/src/rxgen/rpc_util.h
diff -c openafs/src/rxgen/rpc_util.h:1.4 openafs/src/rxgen/rpc_util.h:1.4.2.1
*** openafs/src/rxgen/rpc_util.h:1.4	Tue Jul 15 19:16:41 2003
--- openafs/src/rxgen/rpc_util.h	Mon Jul 31 13:07:51 2006
***************
*** 56,62 ****
  extern int nincludes;
  extern char *OutFileFlag;
  extern char OutFile[];
! extern char Sflag, Cflag, hflag, cflag, kflag;
  extern char zflag;
  extern char xflag;
  extern char yflag;
--- 56,62 ----
  extern int nincludes;
  extern char *OutFileFlag;
  extern char OutFile[];
! extern char Sflag, Cflag, hflag, cflag, kflag, uflag;
  extern char zflag;
  extern char xflag;
  extern char yflag;
Index: openafs/src/rxkad/bg-fcrypt.c
diff -c openafs/src/rxkad/bg-fcrypt.c:1.5.2.2 openafs/src/rxkad/bg-fcrypt.c:1.5.2.3
*** openafs/src/rxkad/bg-fcrypt.c:1.5.2.2	Mon May 30 00:57:37 2005
--- openafs/src/rxkad/bg-fcrypt.c	Wed Aug  2 15:07:04 2006
***************
*** 38,44 ****
  #endif
  
  RCSID
!     ("$Header: /cvs/openafs/src/rxkad/bg-fcrypt.c,v 1.5.2.2 2005/05/30 04:57:37 shadow Exp $");
  
  #define DEBUG 0
  #ifdef KERNEL
--- 38,44 ----
  #endif
  
  RCSID
!     ("$Header: /cvs/openafs/src/rxkad/bg-fcrypt.c,v 1.5.2.3 2006/08/02 19:07:04 shadow Exp $");
  
  #define DEBUG 0
  #ifdef KERNEL
***************
*** 76,86 ****
  #include "private_data.h"
  #include <des/stats.h>
  
- #undef WORDS_BIGENDIAN
- #ifdef AFSBIG_ENDIAN
- #define WORDS_BIGENDIAN 1
- #endif
- 
  /*
   * Unrolling of the inner loops helps the most on pentium chips
   * (ca 18%). On risc machines only expect a modest improvement (ca 5%).
--- 76,81 ----
Index: openafs/src/rxkad/md4.c
diff -c openafs/src/rxkad/md4.c:1.1.2.1 openafs/src/rxkad/md4.c:1.1.2.2
*** openafs/src/rxkad/md4.c:1.1.2.1	Wed Aug 25 03:09:42 2004
--- openafs/src/rxkad/md4.c	Wed Aug  2 15:07:04 2006
***************
*** 69,80 ****
  #include "rxkad.h"
  #endif /* defined(UKERNEL) */
  
! RCSID("$Id: md4.c,v 1.1.2.1 2004/08/25 07:09:42 shadow Exp $");
  
- #undef WORDS_BIGENDIAN
- #ifdef AFSBIG_ENDIAN
- #define WORDS_BIGENDIAN 1
- #endif
  
  #include "md4.h"
  #include "hash.h"
--- 69,80 ----
  #include "rxkad.h"
  #endif /* defined(UKERNEL) */
  
! RCSID("$Id: md4.c,v 1.1.2.2 2006/08/02 19:07:04 shadow Exp $");
! 
! 
! 
! 
  
  
  #include "md4.h"
  #include "hash.h"
Index: openafs/src/rxkad/md5.c
diff -c openafs/src/rxkad/md5.c:1.1.2.1 openafs/src/rxkad/md5.c:1.1.2.2
*** openafs/src/rxkad/md5.c:1.1.2.1	Wed Aug 25 03:09:42 2004
--- openafs/src/rxkad/md5.c	Wed Aug  2 15:07:04 2006
***************
*** 69,80 ****
  #include "rxkad.h"
  #endif /* defined(UKERNEL) */
  
! RCSID("$Id: md5.c,v 1.1.2.1 2004/08/25 07:09:42 shadow Exp $");
  
- #undef WORDS_BIGENDIAN
- #ifdef AFSBIG_ENDIAN
- #define WORDS_BIGENDIAN 1
- #endif
  
  #include "md5.h"
  #include "hash.h"
--- 69,80 ----
  #include "rxkad.h"
  #endif /* defined(UKERNEL) */
  
! RCSID("$Id: md5.c,v 1.1.2.2 2006/08/02 19:07:04 shadow Exp $");
! 
! 
! 
! 
  
  
  #include "md5.h"
  #include "hash.h"
Index: openafs/src/rxkad/private_data.h
diff -c openafs/src/rxkad/private_data.h:1.4.2.1 openafs/src/rxkad/private_data.h:1.4.2.2
*** openafs/src/rxkad/private_data.h:1.4.2.1	Tue May 23 12:31:02 2006
--- openafs/src/rxkad/private_data.h	Thu Jul 13 13:56:33 2006
***************
*** 51,61 ****
  #define PDATA_SIZE(l) (sizeof(struct rxkad_cprivate) - MAXKTCTICKETLEN + (l))
  
  /* private data in client-side security object */
  struct rxkad_cprivate {
-     afs_int32 kvno;		/* key version of ticket */
-     afs_int16 ticketLen;	/* length of ticket */
      rxkad_type type;		/* always client */
      rxkad_level level;		/* minimum security level of client */
      fc_KeySchedule keysched;	/* the session key */
      fc_InitializationVector ivec;	/* initialization vector for cbc */
      char ticket[MAXKTCTICKETLEN];	/* the ticket for the server */
--- 51,62 ----
  #define PDATA_SIZE(l) (sizeof(struct rxkad_cprivate) - MAXKTCTICKETLEN + (l))
  
  /* private data in client-side security object */
+ /* type and level offsets should match sprivate */
  struct rxkad_cprivate {
      rxkad_type type;		/* always client */
      rxkad_level level;		/* minimum security level of client */
+     afs_int32 kvno;		/* key version of ticket */
+     afs_int16 ticketLen;	/* length of ticket */
      fc_KeySchedule keysched;	/* the session key */
      fc_InitializationVector ivec;	/* initialization vector for cbc */
      char ticket[MAXKTCTICKETLEN];	/* the ticket for the server */
***************
*** 69,80 ****
  };
  
  /* private data in server-side security object */
  struct rxkad_sprivate {
      char *get_key_rock;		/* rock for get_key function */
      int (*get_key) ();		/* func. of kvno and server key ptr */
      int (*user_ok) ();		/* func called with new client name */
-     rxkad_type type;		/* always server */
-     rxkad_level level;		/* minimum security level of server */
  };
  
  /* private data in server-side connection */
--- 70,82 ----
  };
  
  /* private data in server-side security object */
+ /* type and level offsets should match cprivate */
  struct rxkad_sprivate {
+     rxkad_type type;		/* always server */
+     rxkad_level level;		/* minimum security level of server */
      char *get_key_rock;		/* rock for get_key function */
      int (*get_key) ();		/* func. of kvno and server key ptr */
      int (*user_ok) ();		/* func called with new client name */
  };
  
  /* private data in server-side connection */
Index: openafs/src/rxkad/rxkad.p.h
diff -c openafs/src/rxkad/rxkad.p.h:1.11.2.6 openafs/src/rxkad/rxkad.p.h:1.11.2.7
*** openafs/src/rxkad/rxkad.p.h:1.11.2.6	Mon May 30 00:57:37 2005
--- openafs/src/rxkad/rxkad.p.h	Wed Jul 19 00:11:42 2006
***************
*** 88,94 ****
  #define rxkad_LevelIndex(level) \
      ((((level) >= 0) && ((level) <= 2)) ? (level) : 0)
  #define rxkad_TypeIndex(type) \
!     ((((type) == 1) || ((type) == 2)) ? (type) : 0)
  
  
  extern int rxkad_EpochWasSet;	/* TRUE => we called rx_SetEpoch */
--- 88,94 ----
  #define rxkad_LevelIndex(level) \
      ((((level) >= 0) && ((level) <= 2)) ? (level) : 0)
  #define rxkad_TypeIndex(type) \
!     ((((type) == 1) || ((type) == 2)) ? ((type)-1) : 0)
  
  
  extern int rxkad_EpochWasSet;	/* TRUE => we called rx_SetEpoch */
Index: openafs/src/rxkad/domestic/fcrypt.c
diff -c openafs/src/rxkad/domestic/fcrypt.c:1.11.2.6 openafs/src/rxkad/domestic/fcrypt.c:1.11.2.7
*** openafs/src/rxkad/domestic/fcrypt.c:1.11.2.6	Mon Feb 27 19:19:21 2006
--- openafs/src/rxkad/domestic/fcrypt.c	Wed Aug  2 15:07:04 2006
***************
*** 20,26 ****
  #endif
  
  RCSID
!     ("$Header: /cvs/openafs/src/rxkad/domestic/fcrypt.c,v 1.11.2.6 2006/02/28 00:19:21 shadow Exp $");
  
  #define DEBUG 0
  #ifdef KERNEL
--- 20,26 ----
  #endif
  
  RCSID
!     ("$Header: /cvs/openafs/src/rxkad/domestic/fcrypt.c,v 1.11.2.7 2006/08/02 19:07:04 shadow Exp $");
  
  #define DEBUG 0
  #ifdef KERNEL
***************
*** 120,126 ****
      volatile unsigned char *Schar = (unsigned char *)&S;
      int i;
  
! #if defined(vax) || (defined(mips) && defined(MIPSEL)) || defined(AFSLITTLE_ENDIAN)
  #define Byte0 3
  #define Byte1 2
  #define Byte2 1
--- 120,126 ----
      volatile unsigned char *Schar = (unsigned char *)&S;
      int i;
  
! #ifndef WORDS_BIGENDIAN
  #define Byte0 3
  #define Byte1 2
  #define Byte2 1
Index: openafs/src/rxstat/NTMakefile
diff -c openafs/src/rxstat/NTMakefile:1.8 openafs/src/rxstat/NTMakefile:1.8.2.1
*** openafs/src/rxstat/NTMakefile:1.8	Fri Nov 21 03:01:20 2003
--- openafs/src/rxstat/NTMakefile	Mon Jul 31 17:51:21 2006
***************
*** 31,38 ****
  $(LIBFILE): $(LIBOBJS)
  	$(LIBARCH)
  
! rxstat.cs.c rxstat.ss.c rxstat.xdr.c rxstat.h: rxstat.xg
! 	$(RXGEN) -x $**
  
  copyheader: rxstat.h
     $(COPY) rxstat.h $(INCFILEDIR)\rx\rxstat.h
--- 31,47 ----
  $(LIBFILE): $(LIBOBJS)
  	$(LIBARCH)
  
! rxstat.cs.c: rxstat.xg rxstat.h
! 	$(RXGEN) -x -C -o $@ rxstat.xg
! 
! rxstat.ss.c: rxstat.xg rxstat.h
! 	$(RXGEN) -x -S -o $@ rxstat.xg
! 
! rxstat.xdr.c: rxstat.xg rxstat.h
! 	$(RXGEN) -x -c -o $@ rxstat.xg
! 
! rxstat.h: rxstat.xg
! 	$(RXGEN) -x -h -o $@ rxstat.xg
  
  copyheader: rxstat.h
     $(COPY) rxstat.h $(INCFILEDIR)\rx\rxstat.h
Index: openafs/src/sys/pagsh.c
diff -c openafs/src/sys/pagsh.c:1.9 openafs/src/sys/pagsh.c:1.9.2.2
*** openafs/src/sys/pagsh.c:1.9	Tue Jul 15 19:16:54 2003
--- openafs/src/sys/pagsh.c	Thu Jul 20 19:35:44 2006
***************
*** 11,20 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/sys/pagsh.c,v 1.9 2003/07/15 23:16:54 shadow Exp $");
  
  #ifdef	AFS_AIX32_ENV
  #include <signal.h>
  #endif
  #include <stdio.h>
  #include <stdlib.h>
--- 11,23 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/sys/pagsh.c,v 1.9.2.2 2006/07/20 23:35:44 shadow Exp $");
  
  #ifdef	AFS_AIX32_ENV
  #include <signal.h>
+ #ifdef AFS_AIX51_ENV
+ #include <sys/cred.h>
+ #endif
  #endif
  #include <stdio.h>
  #include <stdlib.h>
***************
*** 86,91 ****
--- 89,101 ----
  static afs_uint32
  curpag(void)
  {
+ #if defined(AFS_AIX51_ENV)
+     afs_int32 pag;
+ 
+     if (get_pag(PAG_AFS, &pag) < 0 || pag == 0)
+         pag = -1;
+     return pag;
+ #else
      afs_uint32 groups[NGROUPS_MAX];
      afs_uint32 g0, g1;
      afs_uint32 h, l, ret;
***************
*** 109,114 ****
--- 119,125 ----
  	    return -1;
      }
      return -1;
+ #endif
  }
  
  int
Index: openafs/src/sys/rmtsysc.c
diff -c openafs/src/sys/rmtsysc.c:1.11 openafs/src/sys/rmtsysc.c:1.11.2.1
*** openafs/src/sys/rmtsysc.c:1.11	Tue Jul 15 19:16:54 2003
--- openafs/src/sys/rmtsysc.c	Mon Jul 31 11:33:46 2006
***************
*** 16,22 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/sys/rmtsysc.c,v 1.11 2003/07/15 23:16:54 shadow Exp $");
  
  #include <errno.h>
  #include <limits.h>
--- 16,22 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/sys/rmtsysc.c,v 1.11.2.1 2006/07/31 15:33:46 shadow Exp $");
  
  #include <errno.h>
  #include <limits.h>
***************
*** 45,51 ****
  static afs_int32 hostAddr = 0;
  static int hostAddrLookup = 0;
  char *afs_server = 0, server_name[128];
- afs_int32 host;
  static afs_int32 SetClientCreds();
  
  /* Picks up the name of the remote afs client host where the rmtsys 
--- 45,50 ----
***************
*** 122,127 ****
--- 121,127 ----
  {
      struct rx_connection *conn;
      struct rx_securityClass *null_securityObject;
+     afs_int32 host;
  
      if (!(host = GetAfsServerAddr(syscall))) {
  	*errorcode = -1;
Index: openafs/src/tsm41/Makefile.in
diff -c openafs/src/tsm41/Makefile.in:1.7.6.1 openafs/src/tsm41/Makefile.in:1.7.6.2
*** openafs/src/tsm41/Makefile.in:1.7.6.1	Thu Mar  9 01:42:10 2006
--- openafs/src/tsm41/Makefile.in	Thu Jul 13 13:19:41 2006
***************
*** 10,56 ****
  
  
  CFLAGS=${OPTIMIZE} -I${TOP_OBJDIR}/src/config -I${TOP_INCDIR} ${XCFLAGS} ${ARCHFLAGS}
! AFSLIBS =  ${TOP_LIBDIR}/libkauth.a ${TOP_LIBDIR}/libprot.a \
! 	   ${TOP_LIBDIR}/libubik.a ${TOP_LIBDIR}/libauth.a \
! 	   ${TOP_LIBDIR}/librxkad.a ${TOP_LIBDIR}/libsys.a \
! 	   ${TOP_LIBDIR}/libdes.a ${TOP_LIBDIR}/librx.a \
! 	   ${TOP_LIBDIR}/liblwp.a ${TOP_LIBDIR}/libcmd.a \
! 	   ${TOP_LIBDIR}/libcom_err.a ${TOP_LIBDIR}/util.a \
! 	   ${TOP_LIBDIR}/libaudit.a
! KAFSLIBS = ${TOP_LIBDIR}/libkauth.krb.a ${TOP_LIBDIR}/libprot.a \
! 	   ${TOP_LIBDIR}/libubik.a ${TOP_LIBDIR}/libauth.krb.a \
! 	   ${TOP_LIBDIR}/librxkad.a ${TOP_LIBDIR}/libsys.a \
! 	   ${TOP_LIBDIR}/libdes.a ${TOP_LIBDIR}/librx.a \
! 	   ${TOP_LIBDIR}/liblwp.a ${TOP_LIBDIR}/libcmd.a \
! 	   ${TOP_LIBDIR}/libcom_err.a ${TOP_LIBDIR}/util.a \
! 	   ${TOP_LIBDIR}/libaudit.a
! AUTHLIBS=afs_dynamic_auth afs_dynamic_kerbauth
  IMPORTS = -bI:/lib/aio.exp -bI:/lib/netinet.exp -bI:/lib/sockets.exp -bI:/lib/statcmd.exp 
  LDFLAGS = -eafs_initialize ${IMPORTS} -lsys -lcsys -lc
  
  all: $(AUTHLIBS)
  
! install install.noversion:   
  
  clean:
  	$(RM) -f $(AUTHLIBS) $(AUTHFILES) so_locations
  
! afs_dynamic_auth: aix41_auth.o ${AFSLIBS} ${AUTHFILES} 
! 	$(LD) -o afs_dynamic_auth aix41_auth.o $(AFSLIBS) ${AUTHFILES} ${XLIBS} ${LDFLAGS}
  
! afs_dynamic_kerbauth: aix41_auth_krb.o ${KAFSLIBS} ${AUTHFILES}
! 	$(LD) -o afs_dynamic_kerbauth aix41_auth_krb.o $(KAFSLIBS) ${AUTHFILES} ${XLIBS} ${LDFLAGS}
  
! aix41_auth.o: ${srcdir}/aix41_auth.c
! 	${CC} ${CFLAGS} -c ${srcdir}/aix41_auth.c
  
- aix41_auth_krb.o: ${srcdir}/aix41_auth.c
- 	${CC} ${CFLAGS} -DAFS_KERBEROS_ENV -c ${srcdir}/aix41_auth.c -o aix41_auth_krb.o
  ${DEST}/root.client/usr/vice/etc/afs_dynamic_auth: afs_dynamic_auth
  	${INSTALL} $? $@
  
  ${DEST}/root.client/usr/vice/etc/afs_dynamic_kerbauth: afs_dynamic_kerbauth
  	${INSTALL} $? $@
  
! dest:  ${DEST}/root.client/usr/vice/etc/afs_dynamic_auth ${DEST}/root.client/usr/vice/etc/afs_dynamic_kerbauth
  
--- 10,109 ----
  
  
  CFLAGS=${OPTIMIZE} -I${TOP_OBJDIR}/src/config -I${TOP_INCDIR} ${XCFLAGS} ${ARCHFLAGS}
! CCRULE=${CC} ${CFLAGS} -c $? -o $@
! 
! AFSLIBS = \
! 		${TOP_LIBDIR}/libkauth.a \
! 		${TOP_LIBDIR}/libprot.a \
! 		${TOP_LIBDIR}/libubik.a \
! 		${TOP_LIBDIR}/libauth.a \
! 		${TOP_LIBDIR}/librxkad.a \
! 		${TOP_LIBDIR}/libsys.a \
! 		${TOP_LIBDIR}/libdes.a \
! 		${TOP_LIBDIR}/librx.a \
! 		${TOP_LIBDIR}/liblwp.a \
! 		${TOP_LIBDIR}/libcmd.a \
! 		${TOP_LIBDIR}/libcom_err.a \
! 		${TOP_LIBDIR}/util.a \
! 		${TOP_LIBDIR}/libaudit.a
! 
! KAFSLIBS = \
! 		${TOP_LIBDIR}/libkauth.krb.a \
! 		${TOP_LIBDIR}/libprot.a \
! 		${TOP_LIBDIR}/libubik.a \
! 		${TOP_LIBDIR}/libauth.krb.a \
! 		${TOP_LIBDIR}/librxkad.a \
! 		${TOP_LIBDIR}/libsys.a \
! 		${TOP_LIBDIR}/libdes.a \
! 		${TOP_LIBDIR}/librx.a \
! 		${TOP_LIBDIR}/liblwp.a \
! 		${TOP_LIBDIR}/libcmd.a \
! 		${TOP_LIBDIR}/libcom_err.a \
! 		${TOP_LIBDIR}/util.a \
! 		${TOP_LIBDIR}/libaudit.a
! 
! AUTH_OBJS = \
! 		aix_auth.o \
! 		aix_ident.o \
! 		aix_auth_common.o \
! 		aix_ktc_null.o
! 
! AUTH_KRB_OBJS = \
! 		aix_auth.o \
! 		aix_ident.o \
! 		aix_auth_common.o \
! 		aix_ktc_krb.o \
! 
! AUTHLIBS= \
! 		afs_dynamic_auth \
! 		afs_dynamic_kerbauth
! 
  IMPORTS = -bI:/lib/aio.exp -bI:/lib/netinet.exp -bI:/lib/sockets.exp -bI:/lib/statcmd.exp 
  LDFLAGS = -eafs_initialize ${IMPORTS} -lsys -lcsys -lc
  
  all: $(AUTHLIBS)
  
! install install.noversion:
  
  clean:
  	$(RM) -f $(AUTHLIBS) $(AUTHFILES) so_locations
  
! afs_dynamic_auth: ${AUTH_OBJS} ${AFSLIBS} ${AUTHFILES}
! 	$(LD) -o $@ ${AUTH_OBJS} $(AFSLIBS) ${AUTHFILES} ${XLIBS} ${LDFLAGS}
! 
! afs_dynamic_kerbauth: ${AUTH_KRB_OBJS} ${KAFSLIBS} ${AUTHFILES}
! 	$(LD) -o $@ ${AUTH_KRB_OBJS} $(KAFSLIBS) ${AUTHFILES} ${XLIBS} ${LDFLAGS}
  
! aix_auth_common.o: ${srcdir}/aix_auth_common.c
! 	${CCRULE}
  
! aix_ktc_krb.o: ${srcdir}/aix_ktc.c
! 	${CCRULE} -DAFS_KERBEROS_ENV
! 
! aix_ktc_null.o: ${srcdir}/aix_ktc.c
! 	${CCRULE}
! 
! aix_auth.o:
! 	case ${SYS_NAME} in \
! 	rs_aix4*) \
! 		${CC} ${CFLAGS} -c ${srcdir}/aix41_auth.c -o $@ ;; \
! 	rs_aix5*) \
! 		${CC} ${CFLAGS} -c ${srcdir}/aix5_auth.c -o $@ ;; \
! 	*) \
! 		echo "not building aix lam binary for ${SYS_NAME}" ;; \
! 	esac
! 
! # aix41_ident.c is a null source file for rs_aix5*
! aix_ident.o: ${srcdir}/aix41_ident.c
! 	${CCRULE}
  
  ${DEST}/root.client/usr/vice/etc/afs_dynamic_auth: afs_dynamic_auth
  	${INSTALL} $? $@
  
  ${DEST}/root.client/usr/vice/etc/afs_dynamic_kerbauth: afs_dynamic_kerbauth
  	${INSTALL} $? $@
  
! dest: \
! 	${DEST}/root.client/usr/vice/etc/afs_dynamic_auth \
! 	${DEST}/root.client/usr/vice/etc/afs_dynamic_kerbauth
  
Index: openafs/src/tsm41/aix41_auth.c
diff -c openafs/src/tsm41/aix41_auth.c:1.10.2.1 openafs/src/tsm41/aix41_auth.c:1.10.2.2
*** openafs/src/tsm41/aix41_auth.c:1.10.2.1	Sun May  8 01:51:24 2005
--- openafs/src/tsm41/aix41_auth.c	Thu Jul 13 13:19:41 2006
***************
*** 11,19 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/tsm41/aix41_auth.c,v 1.10.2.1 2005/05/08 05:51:24 shadow Exp $");
  
! #if defined(AFS_AIX41_ENV)
  #include <sys/types.h>
  #include <sys/param.h>
  #include <stdio.h>
--- 11,19 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/tsm41/aix41_auth.c,v 1.10.2.2 2006/07/13 17:19:41 shadow Exp $");
  
! #if defined(AFS_AIX41_ENV) && !defined(AFS_AIX51_ENV)
  #include <sys/types.h>
  #include <sys/param.h>
  #include <stdio.h>
***************
*** 29,203 ****
  #include <afs/kauth.h>
  #include <afs/kautils.h>
  
! struct passwd *afs_getpwnam_int(char *, int);
! 
! int
! afs_authenticate(char *userName, char *response, int *reenter, char **message)
! {
!     char *reason, *pword, prompt[256];
!     struct passwd *pwd;
!     int code, unixauthneeded, password_expires = -1;
! 
!     *reenter = 0;
!     *message = (char *)0;
!     if (response) {
! 	pword = response;
!     } else {
! 	sprintf(prompt, "Enter AFS password for %s: ", userName);
! 	pword = getpass(prompt);
! 	if (strlen(pword) == 0) {
! 	    printf
! 		("Unable to read password because zero length passord is illegal\n");
! 	    *message = (char *)malloc(256);
! 	    sprintf(*message,
! 		    "Unable to read password because zero length passord is illegal\n");
! 	    return AUTH_FAILURE;
! 	}
!     }
! #ifdef AFS_AIX51_ENV
!     if ((pwd = afs_getpwnam_int(userName, 1)) == NULL) 
! #else
!     if ((pwd = getpwnam(userName)) == NULL) 
! #endif
!       {
! 	*message = (char *)malloc(256);
! 	sprintf(*message, "getpwnam for user failed\n");
! 	return AUTH_FAILURE;
!     }
!     if (code =
! 	ka_UserAuthenticateGeneral(KA_USERAUTH_VERSION + KA_USERAUTH_DOSETPAG,
! 				   userName, (char *)0, (char *)0, pword, 0,
! 				   &password_expires, 0, &reason)) {
! 	if (code == KANOENT)
! 	    return AUTH_NOTFOUND;
! 	*message = (char *)malloc(1024);
! 	sprintf(*message, "Unable to authenticate to AFS because %s.\n",
! 		reason);
! 	return AUTH_FAILURE;
!     }
! #if defined(AFS_KERBEROS_ENV)
!     setup_ticket_file(userName);
! #endif
!     return AUTH_SUCCESS;
! }
! 
! int
! afs_chpass(char *userName, char *oldPasswd, char *newPasswd, char **message)
! {
!     return AUTH_SUCCESS;
! }
! 
! int
! afs_passwdexpired(char *userName, char **message)
! {
!     return AUTH_SUCCESS;
! }
! 
! int
! afs_passwdrestrictions(char *userName, char *newPasswd, char *oldPasswd,
! 		       char **message)
! {
!     return AUTH_SUCCESS;
! }
! 
! int
! afs_getgrset(char *userName)
! {
!     return NULL;
! }
! 
! struct group *
! afs_getgrgid(int id)
! {
! #ifdef AFS_AIX51_ENV
!     static char name[64];
!     static char passwd[64];
!     static struct group grp;
!     struct group *g;
!     char *mem = NULL;
! 
!     while ((g = getgrent()) != NULL) {
! 	if (g->gr_gid == id) {
! 	    strncpy(&name, g->gr_name, sizeof(name));
! 	    strncpy(&passwd, g->gr_passwd, sizeof(passwd));
! 	    grp.gr_name = &name;
! 	    grp.gr_passwd = &passwd;
! 	    grp.gr_gid = g->gr_gid;
! 	    grp.gr_mem = &mem;
! 	    break;
! 	}
!     }
!     endgrent();
!     if (g)
! 	return &grp;
! #endif
!     return NULL;
! }
! 
! struct group *
! afs_getgrnam(char *name)
! {
!     return NULL;
! }
! 
! #ifdef AFS_AIX51_ENV
! struct passwd *
! afs_getpwnam(char *user)
! {
!   return (NULL);
! }
! 
! struct passwd *
! afs_getpwnam_int(char *user, int ignore)
! {
!     static char name[64];
!     static char passwd[64];
!     static char gecos[256];
!     static char dir[256];
!     static char shell[256];
!     static struct passwd pwd;
!     struct passwd *p;
! 
!     pwd.pw_uid = 4294967294;
!     pwd.pw_gid = 4294967294;
!     strcpy((char *)&shell, "/bin/false");
!     if (!user)
!        return &pwd;
! 
!     p = getpwnam (user);
!     
!     if (p) {
!       strncpy(&name, p->pw_name, sizeof(name));
!       strncpy(&passwd, p->pw_passwd, sizeof(passwd));
!       strncpy(&gecos, p->pw_gecos, sizeof(gecos));
!       strncpy(&dir, p->pw_dir, sizeof(dir));
!       strncpy(&shell, p->pw_shell, sizeof(shell));
!     }
!     pwd.pw_name = &name;
!     pwd.pw_passwd = &passwd;
!     pwd.pw_uid = p->pw_uid;
!     pwd.pw_gid = p->pw_gid;
!     pwd.pw_gecos = &gecos;
!     pwd.pw_dir = &dir;
!     pwd.pw_shell = &shell;
! 
!     if (ignore && (p == NULL))
!        return NULL;
!     return &pwd;
! }
! #else
! int
! afs_getpwnam(int id)
! {
!     return NULL;
! }
! #endif
! 
! int
! afs_getpwuid(char *name)
! {
!     return NULL;
! }
  
  int
  afs_initialize(struct secmethod_table *meths)
--- 29,35 ----
  #include <afs/kauth.h>
  #include <afs/kautils.h>
  
! #include "aix_auth_prototypes.h"
  
  int
  afs_initialize(struct secmethod_table *meths)
***************
*** 216,221 ****
--- 48,54 ----
      meths->method_authenticate = afs_authenticate;
      meths->method_passwdexpired = afs_passwdexpired;
      meths->method_passwdrestrictions = afs_passwdrestrictions;
+ 
      /*
       * These we need to bring in because, for afs users, /etc/security/user's
       * "registry" must non-local (i.e. DCE) since otherwise it assumes it's a
***************
*** 231,253 ****
      return (0);
  }
  
! #if defined(AFS_KERBEROS_ENV)
! 
! setup_ticket_file(userName)
!      char *userName;
! {
!     extern char *ktc_tkt_string();
!     struct passwd *pwd;
! 
!     setpwent();			/* open the pwd database */
!     pwd = getpwnam(userName);
!     if (pwd) {
! 	if (chown(ktc_tkt_string(), pwd->pw_uid, pwd->pw_gid) < 0)
! 	    perror("chown: ");
!     } else
! 	perror("getpwnam : ");
!     endpwent();			/* close the pwd database */
! }
! #endif /* AFS_KERBEROS_ENV */
! 
! #endif
--- 64,67 ----
      return (0);
  }
  
! #endif /* AFS_AIX41_ENV && !AFS_AIX51_ENV */
Index: openafs/src/tsm41/aix41_ident.c
diff -c /dev/null openafs/src/tsm41/aix41_ident.c:1.1.2.2
*** /dev/null	Thu Aug  3 00:50:59 2006
--- openafs/src/tsm41/aix41_ident.c	Thu Jul 13 13:19:41 2006
***************
*** 0 ****
--- 1,64 ----
+ /*
+  * Copyright 2000, International Business Machines Corporation and others.
+  * All Rights Reserved.
+  * 
+  * This software has been released under the terms of the IBM Public
+  * License.  For details, see the LICENSE file in the top-level source
+  * directory or online at http://www.openafs.org/dl/license10.html
+  */
+ 
+ #include <afsconfig.h>
+ #include <afs/param.h>
+ 
+ RCSID
+     ("$Header: /cvs/openafs/src/tsm41/aix41_ident.c,v 1.1.2.2 2006/07/13 17:19:41 shadow Exp $");
+ 
+ #if defined(AFS_AIX41_ENV) && !defined(AFS_AIX51_ENV)
+ #include <sys/types.h>
+ #include <sys/param.h>
+ #include <stdio.h>
+ #include <locale.h>
+ #include <nl_types.h>
+ #include <pwd.h>
+ #include <netdb.h>
+ #include <sys/socket.h>
+ #include <sys/file.h>
+ #include <errno.h>
+ #include <usersec.h>
+ 
+ #include <afs/kauth.h>
+ #include <afs/kautils.h>
+ 
+ #include "aix_ident_prototypes.h"
+ 
+ int
+ afs_getgrset(char *userName)
+ {
+     return NULL;
+ }
+ 
+ struct group *
+ afs_getgrgid(int id)
+ {
+     return NULL;
+ }
+ 
+ struct group *
+ afs_getgrnam(char *name)
+ {
+     return NULL;
+ }
+ 
+ int
+ afs_getpwnam(int id)
+ {
+     return NULL;
+ }
+ 
+ int
+ afs_getpwuid(char *name)
+ {
+     return NULL;
+ }
+ 
+ #endif /* AFS_AIX41_ENV && !AFS_AIX51_ENV */
Index: openafs/src/tsm41/aix5_auth.c
diff -c /dev/null openafs/src/tsm41/aix5_auth.c:1.1.2.2
*** /dev/null	Thu Aug  3 00:50:59 2006
--- openafs/src/tsm41/aix5_auth.c	Thu Jul 13 13:19:41 2006
***************
*** 0 ****
--- 1,57 ----
+ /*
+  * Copyright 2000, International Business Machines Corporation and others.
+  * All Rights Reserved.
+  * 
+  * This software has been released under the terms of the IBM Public
+  * License.  For details, see the LICENSE file in the top-level source
+  * directory or online at http://www.openafs.org/dl/license10.html
+  */
+ 
+ #include <afsconfig.h>
+ #include <afs/param.h>
+ 
+ RCSID
+     ("$Header: /cvs/openafs/src/tsm41/aix5_auth.c,v 1.1.2.2 2006/07/13 17:19:41 shadow Exp $");
+ 
+ #if defined(AFS_AIX51_ENV)
+ #include <sys/types.h>
+ #include <sys/param.h>
+ #include <stdio.h>
+ #include <locale.h>
+ #include <nl_types.h>
+ #include <pwd.h>
+ #include <netdb.h>
+ #include <sys/socket.h>
+ #include <sys/file.h>
+ #include <errno.h>
+ #include <usersec.h>
+ 
+ #include <afs/kauth.h>
+ #include <afs/kautils.h>
+ 
+ #include "aix_auth_prototypes.h"
+ 
+ int
+ afs_initialize(struct secmethod_table *meths)
+ {
+     /*
+      * Initialize kauth package here so we don't have to call it
+      * each time we call the authenticate routine.      
+      */
+     ka_Init(0);
+     memset(meths, 0, sizeof(struct secmethod_table));
+ 
+     /*
+      * Initialize the exported interface routines.
+      * Aside from method_authenticate, these are just no-ops.
+      */
+     meths->method_chpass = afs_chpass;
+     meths->method_authenticate = afs_authenticate;
+     meths->method_passwdexpired = afs_passwdexpired;
+     meths->method_passwdrestrictions = afs_passwdrestrictions;
+     meths->method_getpasswd = afs_getpasswd;
+ 
+     return (0);
+ }
+ 
+ #endif /* AFS_AIX51_ENV */
Index: openafs/src/tsm41/aix_auth_common.c
diff -c /dev/null openafs/src/tsm41/aix_auth_common.c:1.1.2.2
*** /dev/null	Thu Aug  3 00:50:59 2006
--- openafs/src/tsm41/aix_auth_common.c	Thu Jul 13 13:19:41 2006
***************
*** 0 ****
--- 1,105 ----
+ /*
+  * Copyright 2000, International Business Machines Corporation and others.
+  * All Rights Reserved.
+  * 
+  * This software has been released under the terms of the IBM Public
+  * License.  For details, see the LICENSE file in the top-level source
+  * directory or online at http://www.openafs.org/dl/license10.html
+  */
+ 
+ #include <afsconfig.h>
+ #include <afs/param.h>
+ 
+ RCSID
+     ("$Header: /cvs/openafs/src/tsm41/aix_auth_common.c,v 1.1.2.2 2006/07/13 17:19:41 shadow Exp $");
+ 
+ #if defined(AFS_AIX41_ENV)
+ #include <sys/types.h>
+ #include <sys/param.h>
+ #include <stdio.h>
+ #include <locale.h>
+ #include <nl_types.h>
+ #include <pwd.h>
+ #include <netdb.h>
+ #include <sys/socket.h>
+ #include <sys/file.h>
+ #include <errno.h>
+ #include <usersec.h>
+ 
+ #include <afs/kauth.h>
+ #include <afs/kautils.h>
+ 
+ #include "aix_auth_prototypes.h"
+ 
+ int
+ afs_authenticate(char *userName, char *response, int *reenter, char **message)
+ {
+     char *reason, *pword, prompt[256];
+     struct passwd *pwd;
+     int code, unixauthneeded, password_expires = -1;
+ 
+     *reenter = 0;
+     *message = (char *)0;
+     if (response) {
+ 	pword = response;
+     } else {
+ 	sprintf(prompt, "Enter AFS password for %s: ", userName);
+ 	pword = getpass(prompt);
+ 	if (strlen(pword) == 0) {
+ 	    printf
+ 		("Unable to read password because zero length passord is illegal\n");
+ 	    *message = (char *)malloc(256);
+ 	    sprintf(*message,
+ 		    "Unable to read password because zero length passord is illegal\n");
+ 	    return AUTH_FAILURE;
+ 	}
+     }
+ 
+     if ((pwd = getpwnam(userName)) == NULL) {
+ 	*message = (char *)malloc(256);
+ 	sprintf(*message, "getpwnam for user failed\n");
+ 	return AUTH_FAILURE;
+     }
+ 
+     if (code =
+ 	ka_UserAuthenticateGeneral(KA_USERAUTH_VERSION + KA_USERAUTH_DOSETPAG,
+ 				   userName, (char *)0, (char *)0, pword, 0,
+ 				   &password_expires, 0, &reason)) {
+ 	if (code == KANOENT)
+ 	    return AUTH_NOTFOUND;
+ 	*message = (char *)malloc(1024);
+ 	sprintf(*message, "Unable to authenticate to AFS because %s.\n",
+ 		reason);
+ 	return AUTH_FAILURE;
+     }
+     aix_ktc_setup_ticket_file(userName);
+     return AUTH_SUCCESS;
+ }
+ 
+ int
+ afs_chpass(char *userName, char *oldPasswd, char *newPasswd, char **message)
+ {
+     return AUTH_SUCCESS;
+ }
+ 
+ int
+ afs_passwdexpired(char *userName, char **message)
+ {
+     return AUTH_SUCCESS;
+ }
+ 
+ int
+ afs_passwdrestrictions(char *userName, char *newPasswd, char *oldPasswd,
+ 		       char **message)
+ {
+     return AUTH_SUCCESS;
+ }
+ 
+ char *
+ afs_getpasswd(char * userName)
+ {
+     errno = ENOSYS;
+     return NULL;
+ }
+ 
+ #endif /* AFS_AIX41_ENV */
Index: openafs/src/tsm41/aix_auth_prototypes.h
diff -c /dev/null openafs/src/tsm41/aix_auth_prototypes.h:1.1.2.2
*** /dev/null	Thu Aug  3 00:50:59 2006
--- openafs/src/tsm41/aix_auth_prototypes.h	Thu Jul 13 13:19:41 2006
***************
*** 0 ****
--- 1,25 ----
+ /*
+  * Copyright 2000, International Business Machines Corporation and others.
+  * All Rights Reserved.
+  * 
+  * This software has been released under the terms of the IBM Public
+  * License.  For details, see the LICENSE file in the top-level source
+  * directory or online at http://www.openafs.org/dl/license10.html
+  */
+ 
+ #ifndef _AFS_TSM41_AIX_AUTH_PROTOTYPES_H
+ #define _AFS_TSM41_AIX_AUTH_PROTOTYPES_H
+ 
+ extern int afs_authenticate(char *userName, 
+ 			    char *response, 
+ 			    int *reenter, 
+ 			    char **message);
+ extern int afs_chpass(char *userName, char *oldPasswd, 
+ 		      char *newPasswd, char **message);
+ extern int afs_passwdexpired(char *userName, char **message);
+ extern int afs_passwdrestrictions(char *userName, char *newPasswd, 
+ 				  char *oldPasswd, char ** message);
+ extern char * afs_getpasswd(char * userName);
+ extern void aix_ktc_setup_ticket_file(char * userName);
+ 
+ #endif /* _AFS_TSM41_AIX_AUTH_PROTOTYPES_H */
Index: openafs/src/tsm41/aix_ident_prototypes.h
diff -c /dev/null openafs/src/tsm41/aix_ident_prototypes.h:1.1.2.2
*** /dev/null	Thu Aug  3 00:50:59 2006
--- openafs/src/tsm41/aix_ident_prototypes.h	Thu Jul 13 13:19:41 2006
***************
*** 0 ****
--- 1,20 ----
+ /*
+  * Copyright 2000, International Business Machines Corporation and others.
+  * All Rights Reserved.
+  * 
+  * This software has been released under the terms of the IBM Public
+  * License.  For details, see the LICENSE file in the top-level source
+  * directory or online at http://www.openafs.org/dl/license10.html
+  */
+ 
+ #ifndef _AFS_TSM41_AIX_IDENT_PROTOTYPES_H
+ #define _AFS_TSM41_AIX_IDENT_PROTOTYPES_H
+ 
+ extern int afs_getgrset(char *userName);
+ extern struct group * afs_getgrgid(int id);
+ extern struct group * afs_getgrnam(char *name);
+ extern struct passwd * afs_getpwnam(char *user);
+ extern int afs_getpwnam(int id);
+ extern int afs_getpwuid(char *name);
+ 
+ #endif /* _AFS_TSM41_AIX_IDENT_PROTOTYPES_H */
Index: openafs/src/tsm41/aix_ktc.c
diff -c /dev/null openafs/src/tsm41/aix_ktc.c:1.1.2.2
*** /dev/null	Thu Aug  3 00:50:59 2006
--- openafs/src/tsm41/aix_ktc.c	Thu Jul 13 13:19:41 2006
***************
*** 0 ****
--- 1,56 ----
+ /*
+  * Copyright 2000, International Business Machines Corporation and others.
+  * All Rights Reserved.
+  * 
+  * This software has been released under the terms of the IBM Public
+  * License.  For details, see the LICENSE file in the top-level source
+  * directory or online at http://www.openafs.org/dl/license10.html
+  */
+ 
+ #include <afsconfig.h>
+ #include <afs/param.h>
+ 
+ RCSID
+     ("$Header: /cvs/openafs/src/tsm41/aix_ktc.c,v 1.1.2.2 2006/07/13 17:19:41 shadow Exp $");
+ 
+ #if defined(AFS_AIX41_ENV)
+ #include <sys/types.h>
+ #include <sys/param.h>
+ #include <stdio.h>
+ #include <locale.h>
+ #include <nl_types.h>
+ #include <pwd.h>
+ #include <netdb.h>
+ #include <sys/socket.h>
+ #include <sys/file.h>
+ #include <errno.h>
+ #include <usersec.h>
+ 
+ #include <afs/kauth.h>
+ #include <afs/kautils.h>
+ 
+ #include "aix_auth_prototypes.h"
+ 
+ #include <afs/ktc.h>
+ 
+ void
+ aix_ktc_setup_ticket_file(char * userName)
+ {
+ #if defined(AFS_KERBEROS_ENV)
+     struct passwd *pwd;
+ 
+     setpwent();			/* open the pwd database */
+     pwd = getpwnam(userName);
+     if (pwd) {
+ 	if (chown(ktc_tkt_string_uid(pwd->pw_uid), 
+ 		  pwd->pw_uid, pwd->pw_gid) < 0) {
+ 	    perror("chown: ");
+ 	}
+     } else {
+ 	perror("getpwnam : ");
+     }
+     endpwent();			/* close the pwd database */
+ #endif /* AFS_KERBEROS_ENV */
+ }
+ 
+ #endif /* AFS_AIX41_ENV */
Index: openafs/src/tviced/Makefile.in
diff -c openafs/src/tviced/Makefile.in:1.10.2.2 openafs/src/tviced/Makefile.in:1.10.2.4
*** openafs/src/tviced/Makefile.in:1.10.2.2	Thu Mar  9 16:46:09 2006
--- openafs/src/tviced/Makefile.in	Mon Jul 31 15:01:19 2006
***************
*** 15,20 ****
--- 15,21 ----
  
  CCRULE=${CC} ${CFLAGS} -c $?
  
+ RX=../rx
  VICED=../viced
  VLSERVER=../vlserver
  LWP=../lwp
***************
*** 42,54 ****
  
  FSINTOBJS= afsaux.o afscbint.cs.o afsint.ss.o afsint.xdr.o
  
  objects= ${VICEDOBJS} ${VLSERVEROBJS} ${LWPOBJS} ${LIBACLOBJS} \
! 	 ${UTILOBJS} ${DIROBJS} ${VOLOBJS} ${FSINTOBJS}
  
  LIBS=${TOP_LIBDIR}/libafsauthent.a ${TOP_LIBDIR}/libafsrpc.a ${TOP_LIBDIR}/util.a
  
  all: fileserver
  
  viced.o: ${VICED}/viced.c
  	${CCRULE}
  
--- 43,60 ----
  
  FSINTOBJS= afsaux.o afscbint.cs.o afsint.ss.o afsint.xdr.o
  
+ RXOBJS = rx_pthread.o 
+ 
  objects= ${VICEDOBJS} ${VLSERVEROBJS} ${LWPOBJS} ${LIBACLOBJS} \
! 	 ${UTILOBJS} ${DIROBJS} ${VOLOBJS} ${FSINTOBJS} ${RXOBJS}
  
  LIBS=${TOP_LIBDIR}/libafsauthent.a ${TOP_LIBDIR}/libafsrpc.a ${TOP_LIBDIR}/util.a
  
  all: fileserver
  
+ rx_pthread.o: ${RX}/rx_pthread.c
+ 	${CCRULE} -DDPF_FSLOG
+ 
  viced.o: ${VICED}/viced.c
  	${CCRULE}
  
Index: openafs/src/tviced/NTMakefile
diff -c openafs/src/tviced/NTMakefile:1.7 openafs/src/tviced/NTMakefile:1.7.2.1
*** openafs/src/tviced/NTMakefile:1.7	Fri Nov 21 03:01:26 2003
--- openafs/src/tviced/NTMakefile	Mon Jul 31 17:51:21 2006
***************
*** 87,92 ****
--- 87,93 ----
  
  EXELIBS = \
  	$(DESTDIR)\lib\afsauthent.lib \
+ 	$(DESTDIR)\lib\afs\afsprot.lib \
  	$(DESTDIR)\lib\afsrpc.lib \
  	$(DESTDIR)\lib\afs\afscmd.lib \
  	$(DESTDIR)\lib\afs\afsaudit.lib \
Index: openafs/src/tvolser/Makefile.in
diff -c openafs/src/tvolser/Makefile.in:1.2.2.1 openafs/src/tvolser/Makefile.in:1.2.2.2
*** openafs/src/tvolser/Makefile.in:1.2.2.1	Mon Aug  8 11:39:25 2005
--- openafs/src/tvolser/Makefile.in	Mon Jul 31 12:18:39 2006
***************
*** 23,28 ****
--- 23,29 ----
  VOL=../vol
  FSINT=../fsint
  VOLSER=../volser
+ RX=../rx
  
  VOLSEROBJS=volmain.o volprocs.o physio.o voltrans.o volerr.o volint.cs.o dumpstuff.o  volint.ss.o volint.xdr.o vscommon.o
  
***************
*** 41,48 ****
  
  FSINTOBJS=# afsaux.o afscbint.cs.o afsint.ss.o afsint.xdr.o
  
  objects= ${VOLSEROBJS} ${VLSERVEROBJS} ${LWPOBJS} ${LIBACLOBJS} \
! 	 ${UTILOBJS} ${DIROBJS} ${VOLOBJS} ${FSINTOBJS}
  
  LIBS=${TOP_LIBDIR}/libafsauthent.a ${TOP_LIBDIR}/libafsrpc.a ${TOP_LIBDIR}/util.a
  
--- 42,51 ----
  
  FSINTOBJS=# afsaux.o afscbint.cs.o afsint.ss.o afsint.xdr.o
  
+ RXOBJS=rx_pthread.o
+ 
  objects= ${VOLSEROBJS} ${VLSERVEROBJS} ${LWPOBJS} ${LIBACLOBJS} \
! 	 ${UTILOBJS} ${DIROBJS} ${VOLOBJS} ${FSINTOBJS} ${RXOBJS}
  
  LIBS=${TOP_LIBDIR}/libafsauthent.a ${TOP_LIBDIR}/libafsrpc.a ${TOP_LIBDIR}/util.a
  
***************
*** 50,55 ****
--- 53,60 ----
  
  COMPILE=${CC} ${CFLAGS} -c $?
  
+ rx_pthread.o: ${RX}/rx_pthread.c
+ 	${COMPILE} -DDPF_FSLOG
  volmain.o: ${VOLSER}/volmain.c
  	${COMPILE}
  volprocs.o: ${VOLSER}/volprocs.c
Index: openafs/src/ubik/NTMakefile
diff -c openafs/src/ubik/NTMakefile:1.6.2.2 openafs/src/ubik/NTMakefile:1.6.2.3
*** openafs/src/ubik/NTMakefile:1.6.2.2	Fri Mar 11 02:03:40 2005
--- openafs/src/ubik/NTMakefile	Mon Jul 31 17:51:21 2006
***************
*** 18,24 ****
  	$(INCFILEDIR)\ubik.h \
  	$(INCFILEDIR)\ubik_int.h 
  
! 
  
  ############################################################################
  # install afsubik.lib
--- 18,24 ----
  	$(INCFILEDIR)\ubik.h \
  	$(INCFILEDIR)\ubik_int.h 
  
! install_headers: $(INCFILES)
  
  ############################################################################
  # install afsubik.lib
***************
*** 86,93 ****
  $(INCFILES):$$(@F)
  	 $(COPY)  $** $(INCFILEDIR)\.
  
! ubik_int.ss.c ubik_int.cs.c ubik_int.xdr.c ubik_int.h: ubik_int.xg
! 	$(RXGEN) -x $**
  
  ############################################################################
  # compile_et on uerrors.et
--- 86,102 ----
  $(INCFILES):$$(@F)
  	 $(COPY)  $** $(INCFILEDIR)\.
  
! ubik_int.cs.c: ubik_int.xg ubik_int.h
! 	$(RXGEN) -x -C -o $@ ubik_int.xg
! 
! ubik_int.ss.c: ubik_int.xg ubik_int.h
! 	$(RXGEN) -x -S -o $@ ubik_int.xg
! 
! ubik_int.xdr.c: ubik_int.xg ubik_int.h
! 	$(RXGEN) -x -c -o $@ ubik_int.xg
! 
! ubik_int.h: ubik_int.xg
! 	$(RXGEN) -x -h -o $@ ubik_int.xg
  
  ############################################################################
  # compile_et on uerrors.et
Index: openafs/src/ubik/ubik.p.h
diff -c openafs/src/ubik/ubik.p.h:1.11.2.4 openafs/src/ubik/ubik.p.h:1.11.2.5
*** openafs/src/ubik/ubik.p.h:1.11.2.4	Mon Dec 13 14:38:53 2004
--- openafs/src/ubik/ubik.p.h	Mon Jul 31 13:07:51 2006
***************
*** 360,365 ****
--- 360,367 ----
  			       long p8, long p9, long p10, long p11, long p12,
  			       long p13, long p14, long p15, long p16);
  
+ extern struct rx_connection *ubik_RefreshConn(struct rx_connection *tc);
+ 
  /* ubik.c */
  extern int ubik_BeginTrans(register struct ubik_dbase *dbase,
  			   afs_int32 transMode, struct ubik_trans **transPtr);
Index: openafs/src/ubik/ubikclient.c
diff -c openafs/src/ubik/ubikclient.c:1.8.2.2 openafs/src/ubik/ubikclient.c:1.8.2.3
*** openafs/src/ubik/ubikclient.c:1.8.2.2	Mon Dec 13 14:38:53 2004
--- openafs/src/ubik/ubikclient.c	Mon Jul 31 13:07:51 2006
***************
*** 15,21 ****
  #endif
  
  RCSID
!     ("$Header: /cvs/openafs/src/ubik/ubikclient.c,v 1.8.2.2 2004/12/13 19:38:53 shadow Exp $");
  
  #if defined(UKERNEL)
  #include "afs/sysincludes.h"
--- 15,21 ----
  #endif
  
  RCSID
!     ("$Header: /cvs/openafs/src/ubik/ubikclient.c,v 1.8.2.3 2006/07/31 17:07:51 shadow Exp $");
  
  #if defined(UKERNEL)
  #include "afs/sysincludes.h"
***************
*** 306,313 ****
   *     error.
   */
  
! static struct rx_connection *
! RefreshConn(struct rx_connection *tc)
  {
      afs_uint32 host;
      u_short port;
--- 306,313 ----
   *     error.
   */
  
! struct rx_connection *
! ubik_RefreshConn(struct rx_connection *tc)
  {
      afs_uint32 host;
      u_short port;
***************
*** 428,434 ****
  		     */
  		    tc = aclient->conns[count];
  		    if (tc && rx_ConnError(tc)) {
! 			aclient->conns[count] = tc = RefreshConn(tc);
  		    }
  		    if (!tc)
  			break;
--- 428,434 ----
  		     */
  		    tc = aclient->conns[count];
  		    if (tc && rx_ConnError(tc)) {
! 			aclient->conns[count] = tc = ubik_RefreshConn(tc);
  		    }
  		    if (!tc)
  			break;
***************
*** 463,469 ****
  	    /*needsync */
  	    tc = aclient->conns[count];
  	    if (tc && rx_ConnError(tc)) {
! 		aclient->conns[count] = tc = RefreshConn(tc);
  	    }
  	    if (!tc)
  		break;
--- 463,469 ----
  	    /*needsync */
  	    tc = aclient->conns[count];
  	    if (tc && rx_ConnError(tc)) {
! 		aclient->conns[count] = tc = ubik_RefreshConn(tc);
  	    }
  	    if (!tc)
  		break;
***************
*** 537,543 ****
      /* get this conn */
      tc = aclient->conns[apos];
      if (tc && rx_ConnError(tc)) {
! 	aclient->conns[apos] = (tc = RefreshConn(tc));
      }
      if (!tc) {
  	return -1;
--- 537,543 ----
      /* get this conn */
      tc = aclient->conns[apos];
      if (tc && rx_ConnError(tc)) {
! 	aclient->conns[apos] = (tc = ubik_RefreshConn(tc));
      }
      if (!tc) {
  	return -1;
***************
*** 626,632 ****
  	}
  
  	if (rx_ConnError(tc)) {
! 	    tc = RefreshConn(tc);
  	    aclient->conns[*apos] = tc;
  	}
  
--- 626,632 ----
  	}
  
  	if (rx_ConnError(tc)) {
! 	    tc = ubik_RefreshConn(tc);
  	    aclient->conns[*apos] = tc;
  	}
  
Index: openafs/src/update/Makefile.in
diff -c openafs/src/update/Makefile.in:1.8 openafs/src/update/Makefile.in:1.8.2.1
*** openafs/src/update/Makefile.in:1.8	Sat Jan 11 02:34:59 2003
--- openafs/src/update/Makefile.in	Mon Jul 31 13:07:51 2006
***************
*** 33,39 ****
  client.o server.o: update.h global.h AFS_component_version_number.c
  
  update.cs.c: update.xg
! 	${RXGEN} -C -o $@ ${srcdir}/update.xg
  
  update.ss.c: update.xg
  	${RXGEN} -S -o $@ ${srcdir}/update.xg
--- 33,39 ----
  client.o server.o: update.h global.h AFS_component_version_number.c
  
  update.cs.c: update.xg
! 	${RXGEN} -u -C -o $@ ${srcdir}/update.xg
  
  update.ss.c: update.xg
  	${RXGEN} -S -o $@ ${srcdir}/update.xg
***************
*** 42,48 ****
  	${RXGEN} -c -o $@ ${srcdir}/update.xg
  
  update.h: update.xg
! 	${RXGEN} -h -o $@ ${srcdir}/update.xg
  
  update.cs.c: update.h
  upcate.ss.c: update.h
--- 42,48 ----
  	${RXGEN} -c -o $@ ${srcdir}/update.xg
  
  update.h: update.xg
! 	${RXGEN} -u -h -o $@ ${srcdir}/update.xg
  
  update.cs.c: update.h
  upcate.ss.c: update.h
Index: openafs/src/update/NTMakefile
diff -c openafs/src/update/NTMakefile:1.7.2.1 openafs/src/update/NTMakefile:1.7.2.2
*** openafs/src/update/NTMakefile:1.7.2.1	Fri Mar 11 02:03:43 2005
--- openafs/src/update/NTMakefile	Mon Jul 31 17:51:22 2006
***************
*** 27,34 ****
  ############################################################################
  # Definitions for generating files via RXGEN
  
! update.cs.c update.ss.c update.er.c update.h: update.xg
! 	$(RXGEN) $**
  
  ############################################################################
  # upserver
--- 27,43 ----
  ############################################################################
  # Definitions for generating files via RXGEN
  
! update.cs.c: update.xg update.h
! 	$(RXGEN) -u -C -o $@ update.xg
! 
! update.ss.c: update.xg update.h
! 	$(RXGEN) -S -o $@ update.xg
! 
! update.xdr.c: update.xg	update.h
! 	$(RXGEN) -c -o $@ update.xg
! 
! update.h: update.xg
! 	$(RXGEN) -u -h -o $@ update.xg
  
  ############################################################################
  # upserver
Index: openafs/src/util/afsutil.h
diff -c openafs/src/util/afsutil.h:1.17.2.4 openafs/src/util/afsutil.h:1.17.2.5
*** openafs/src/util/afsutil.h:1.17.2.4	Sun Jul  2 21:16:37 2006
--- openafs/src/util/afsutil.h	Wed Jul 12 09:42:25 2006
***************
*** 22,36 ****
  
  /* logging defines
   */
  #include <stdio.h>
  #include <stdarg.h>
  extern int LogLevel;
  extern int mrafsStyleLogs;
  #ifndef AFS_NT40_ENV
  extern int serverLogSyslog;
  extern int serverLogSyslogFacility;
  extern char *serverLogSyslogTag;
- #include <arpa/inet.h> /* for inet_ntoa() */
  #endif
  extern void vFSLog(const char *format, va_list args);
  extern void SetLogThreadNumProgram(int (*func) () );
--- 22,43 ----
  
  /* logging defines
   */
+ #ifndef AFS_NT40_ENV
+ #include <sys/types.h>
+ #include <sys/socket.h>
+ #include <netinet/in.h>
+ #include <arpa/inet.h> /* for inet_ntoa() */
+ #endif
+ 
  #include <stdio.h>
  #include <stdarg.h>
+ 
  extern int LogLevel;
  extern int mrafsStyleLogs;
  #ifndef AFS_NT40_ENV
  extern int serverLogSyslog;
  extern int serverLogSyslogFacility;
  extern char *serverLogSyslogTag;
  #endif
  extern void vFSLog(const char *format, va_list args);
  extern void SetLogThreadNumProgram(int (*func) () );
Index: openafs/src/util/casestrcpy.c
diff -c openafs/src/util/casestrcpy.c:1.6 openafs/src/util/casestrcpy.c:1.6.2.1
*** openafs/src/util/casestrcpy.c:1.6	Tue Jul 15 19:17:16 2003
--- openafs/src/util/casestrcpy.c	Mon Jul 31 13:15:48 2006
***************
*** 11,17 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/util/casestrcpy.c,v 1.6 2003/07/15 23:17:16 shadow Exp $");
  
  #ifdef HAVE_STRING_H
  #include <string.h>
--- 11,17 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/util/casestrcpy.c,v 1.6.2.1 2006/07/31 17:15:48 shadow Exp $");
  
  #ifdef HAVE_STRING_H
  #include <string.h>
***************
*** 67,72 ****
--- 67,94 ----
      return original_d;
  }
  
+ int
+ stolower(char *s)
+ {
+   while (*s) {
+         if (isupper(*s))
+             *s = tolower(*s);
+         s++;
+     }
+     return 0;
+ }
+ 
+ int
+ stoupper(char *s)
+ {
+   while (*s) {
+         if (islower(*s))
+             *s = toupper(*s);
+         s++;
+     }
+     return 0;
+ }
+ 
  /* strcompose - concatenate strings passed to it.
   * Input: 
   *   buf: storage for the composed string. Any data in it will be lost.
Index: openafs/src/util/kreltime.c
diff -c openafs/src/util/kreltime.c:1.8.2.1 openafs/src/util/kreltime.c:1.8.2.3
*** openafs/src/util/kreltime.c:1.8.2.1	Mon Mar 20 08:28:38 2006
--- openafs/src/util/kreltime.c	Mon Jul 31 17:12:59 2006
***************
*** 11,17 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/util/kreltime.c,v 1.8.2.1 2006/03/20 13:28:38 jaltman Exp $");
  
  #include <afs/stds.h>
  #include <sys/types.h>
--- 11,17 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/util/kreltime.c,v 1.8.2.3 2006/07/31 21:12:59 shadow Exp $");
  
  #include <afs/stds.h>
  #include <sys/types.h>
***************
*** 114,123 ****
  int
  ktimeDate_FromInt32(afs_int32 timeSecs, struct ktime_date *ktimePtr)
  {
-     struct tm *timePtr;
      time_t     tt = timeSecs;
  
      timePtr = localtime(&tt);
  
      /* copy the relevant fields */
      ktimePtr->sec = timePtr->tm_sec;
--- 114,131 ----
  int
  ktimeDate_FromInt32(afs_int32 timeSecs, struct ktime_date *ktimePtr)
  {
      time_t     tt = timeSecs;
+     struct tm *timePtr;
+ #ifndef AFS_NT40_ENV
+     struct tm timeP;
+ 
+     timePtr = &timeP;
  
+     memset(&timePtr, 0, sizeof(timePtr));
+     localtime_r(&tt, &timePtr);
+ #else
      timePtr = localtime(&tt);
+ #endif
  
      /* copy the relevant fields */
      ktimePtr->sec = timePtr->tm_sec;
Index: openafs/src/venus/fs.c
diff -c openafs/src/venus/fs.c:1.24.2.4 openafs/src/venus/fs.c:1.24.2.5
*** openafs/src/venus/fs.c:1.24.2.4	Mon Jan 23 16:07:42 2006
--- openafs/src/venus/fs.c	Mon Jul 31 13:07:52 2006
***************
*** 11,17 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/venus/fs.c,v 1.24.2.4 2006/01/23 21:07:42 shadow Exp $");
  
  #include <afs/afs_args.h>
  #include <rx/xdr.h>
--- 11,17 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/venus/fs.c,v 1.24.2.5 2006/07/31 17:07:52 shadow Exp $");
  
  #include <afs/afs_args.h>
  #include <rx/xdr.h>
***************
*** 1714,1720 ****
  	if (code == 0) {
  	    /* make the check.  Don't complain if there are problems with init */
  	    code =
! 		ubik_Call(VL_GetEntryByNameO, uclient, 0, volName,
  			  &vldbEntry);
  	    if (code == VL_NOENT) {
  		fprintf(stderr,
--- 1714,1720 ----
  	if (code == 0) {
  	    /* make the check.  Don't complain if there are problems with init */
  	    code =
! 		ubik_VL_GetEntryByNameO(uclient, 0, volName,
  			  &vldbEntry);
  	    if (code == VL_NOENT) {
  		fprintf(stderr,
Index: openafs/src/venus/kdump.c
diff -c openafs/src/venus/kdump.c:1.33.2.5 openafs/src/venus/kdump.c:1.33.2.6
*** openafs/src/venus/kdump.c:1.33.2.5	Mon Jul 11 15:30:02 2005
--- openafs/src/venus/kdump.c	Wed Aug  2 15:07:05 2006
***************
*** 11,17 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/venus/kdump.c,v 1.33.2.5 2005/07/11 19:30:02 shadow Exp $");
  
  #include <stdio.h>
  #include <errno.h>
--- 11,17 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/venus/kdump.c,v 1.33.2.6 2006/08/02 19:07:05 shadow Exp $");
  
  #include <stdio.h>
  #include <errno.h>
***************
*** 288,294 ****
      int tv_usec;
  } timeval_t;			/* Needed here since KERNEL defined. */
  #endif /*AFS_ALPHA_LINUX20_ENV */
! #if defined(AFSBIG_ENDIAN)
  #define _LINUX_BYTEORDER_BIG_ENDIAN_H
  #else
  #define _LINUX_BYTEORDER_LITTLE_ENDIAN_H
--- 288,294 ----
      int tv_usec;
  } timeval_t;			/* Needed here since KERNEL defined. */
  #endif /*AFS_ALPHA_LINUX20_ENV */
! #if defined(WORDS_BIGENDIAN)
  #define _LINUX_BYTEORDER_BIG_ENDIAN_H
  #else
  #define _LINUX_BYTEORDER_LITTLE_ENDIAN_H
Index: openafs/src/viced/afsfileprocs.c
diff -c openafs/src/viced/afsfileprocs.c:1.81.2.29 openafs/src/viced/afsfileprocs.c:1.81.2.33
*** openafs/src/viced/afsfileprocs.c:1.81.2.29	Tue Jul  4 02:16:42 2006
--- openafs/src/viced/afsfileprocs.c	Tue Aug  1 18:33:47 2006
***************
*** 29,35 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/viced/afsfileprocs.c,v 1.81.2.29 2006/07/04 06:16:42 jaltman Exp $");
  
  #include <stdio.h>
  #include <stdlib.h>
--- 29,35 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/viced/afsfileprocs.c,v 1.81.2.33 2006/08/01 22:33:47 shadow Exp $");
  
  #include <stdio.h>
  #include <stdlib.h>
***************
*** 306,311 ****
--- 306,313 ----
      int retry_flag = 1;
      int code = 0;
      char hoststr[16], hoststr2[16];
+     struct ubik_client *uclient;
+ 
      if (!tconn) {
  	ViceLog(0, ("CallPreamble: unexpected null tconn!\n"));
  	return -1;
***************
*** 329,337 ****
  	/* Take down the old connection and re-read the key file */
  	ViceLog(0,
  		("CallPreamble: Couldn't get CPS. Reconnect to ptserver\n"));
  	H_UNLOCK;
! 	code = pr_Initialize(2, AFSDIR_SERVER_ETC_DIRPATH, 0);
  	H_LOCK;
  	if (code) {
  	    h_ReleaseClient_r(tclient);
  	    h_Release_r(thost);
--- 331,350 ----
  	/* Take down the old connection and re-read the key file */
  	ViceLog(0,
  		("CallPreamble: Couldn't get CPS. Reconnect to ptserver\n"));
+ #ifdef AFS_PTHREAD_ENV
+ 	uclient = (struct ubik_client *)pthread_getspecific(viced_uclient_key);
+ 
+ 	/* Is it still necessary to drop this? We hit the net, we should... */
  	H_UNLOCK;
! 	if (uclient) 
! 	    hpr_End(uclient);
! 	code = hpr_Initialize(&uclient);
! 
! 	assert(pthread_setspecific(viced_uclient_key, (void *)uclient) == 0);
  	H_LOCK;
+ #else
+ 	code = pr_Initialize(2, AFSDIR_SERVER_ETC_DIRPATH, 0);
+ #endif
  	if (code) {
  	    h_ReleaseClient_r(tclient);
  	    h_Release_r(thost);
***************
*** 657,663 ****
  
      if (!client->host->hcps.prlist_len || !client->host->hcps.prlist_val) {
  	char hoststr[16];
! 	ViceLog(0,
  		("CheckRights: len=%u, for host=%s:%d\n",
  		 client->host->hcps.prlist_len, 
  		 afs_inet_ntoa_r(client->host->host, hoststr),
--- 670,676 ----
  
      if (!client->host->hcps.prlist_len || !client->host->hcps.prlist_val) {
  	char hoststr[16];
! 	ViceLog(5,
  		("CheckRights: len=%u, for host=%s:%d\n",
  		 client->host->hcps.prlist_len, 
  		 afs_inet_ntoa_r(client->host->host, hoststr),
***************
*** 1729,1742 ****
   * SAFS_ReleaseLock)
   */
  static afs_int32
! HandleLocking(Vnode * targetptr, afs_int32 rights, ViceLockType LockingType)
  {
      int Time;			/* Used for time */
      int writeVnode = targetptr->changed_oldTime;	/* save original status */
  
-     /* Does the caller has Lock priviledges; root extends locks, however */
-     if (LockingType != LockExtend && !(rights & PRSFS_LOCK))
- 	return (EACCES);
      targetptr->changed_oldTime = 1;	/* locking doesn't affect any time stamp */
      Time = FT_ApproxTime();
      switch (LockingType) {
--- 1742,1752 ----
   * SAFS_ReleaseLock)
   */
  static afs_int32
! HandleLocking(Vnode * targetptr, struct client *client, afs_int32 rights, ViceLockType LockingType)
  {
      int Time;			/* Used for time */
      int writeVnode = targetptr->changed_oldTime;	/* save original status */
  
      targetptr->changed_oldTime = 1;	/* locking doesn't affect any time stamp */
      Time = FT_ApproxTime();
      switch (LockingType) {
***************
*** 1747,1758 ****
  		0;
  	Time += AFS_LOCKWAIT;
  	if (LockingType == LockRead) {
  	    if (targetptr->disk.lock.lockCount >= 0) {
  		++(targetptr->disk.lock.lockCount);
  		targetptr->disk.lock.lockTime = Time;
  	    } else
  		return (EAGAIN);
! 	} else {
  	    if (targetptr->disk.lock.lockCount == 0) {
  		targetptr->disk.lock.lockCount = -1;
  		targetptr->disk.lock.lockTime = Time;
--- 1757,1775 ----
  		0;
  	Time += AFS_LOCKWAIT;
  	if (LockingType == LockRead) {
+ 	    if ( !(rights & PRSFS_LOCK) )
+ 		return(EACCES);
+  
  	    if (targetptr->disk.lock.lockCount >= 0) {
  		++(targetptr->disk.lock.lockCount);
  		targetptr->disk.lock.lockTime = Time;
  	    } else
  		return (EAGAIN);
! 	} else if (LockingType == LockWrite) {
! 	    if ( !(rights & PRSFS_WRITE) && 
! 		 !(OWNSp(client, targetptr) && (rights & PRSFS_INSERT)) )
! 		return(EACCES);
! 
  	    if (targetptr->disk.lock.lockCount == 0) {
  		targetptr->disk.lock.lockCount = -1;
  		targetptr->disk.lock.lockTime = Time;
***************
*** 5127,5133 ****
      SetVolumeSync(Sync, volptr);
  
      /* Handle the particular type of set locking, type */
!     errorCode = HandleLocking(targetptr, rights, type);
  
    Bad_SetLock:
      /* Write the all modified vnodes (parent, new files) and volume back */
--- 5144,5150 ----
      SetVolumeSync(Sync, volptr);
  
      /* Handle the particular type of set locking, type */
!     errorCode = HandleLocking(targetptr, client, rights, type);
  
    Bad_SetLock:
      /* Write the all modified vnodes (parent, new files) and volume back */
***************
*** 5253,5259 ****
      SetVolumeSync(Sync, volptr);
  
      /* Handle the actual lock extension */
!     errorCode = HandleLocking(targetptr, rights, LockExtend);
  
    Bad_ExtendLock:
      /* Put back file's vnode and volume */
--- 5270,5276 ----
      SetVolumeSync(Sync, volptr);
  
      /* Handle the actual lock extension */
!     errorCode = HandleLocking(targetptr, client, rights, LockExtend);
  
    Bad_ExtendLock:
      /* Put back file's vnode and volume */
***************
*** 5380,5386 ****
      SetVolumeSync(Sync, volptr);
  
      /* Handle the actual lock release */
!     if ((errorCode = HandleLocking(targetptr, rights, LockRelease)))
  	goto Bad_ReleaseLock;
  
      /* if no more locks left, a callback would be triggered here */
--- 5397,5403 ----
      SetVolumeSync(Sync, volptr);
  
      /* Handle the actual lock release */
!     if ((errorCode = HandleLocking(targetptr, client, rights, LockRelease)))
  	goto Bad_ReleaseLock;
  
      /* if no more locks left, a callback would be triggered here */
***************
*** 6170,6176 ****
  
      dataBytes = 1 * sizeof(afs_int32);
      dataBuffP = (afs_int32 *) malloc(dataBytes);
!     dataBuffP[0] = CAPABILITY_ERRORTRANS;
      capabilities->Capabilities_len = dataBytes / sizeof(afs_int32);
      capabilities->Capabilities_val = dataBuffP;
  
--- 6187,6193 ----
  
      dataBytes = 1 * sizeof(afs_int32);
      dataBuffP = (afs_int32 *) malloc(dataBytes);
!     dataBuffP[0] = CAPABILITY_ERRORTRANS | CAPABILITY_WRITELOCKACL;
      capabilities->Capabilities_len = dataBytes / sizeof(afs_int32);
      capabilities->Capabilities_val = dataBuffP;
  
Index: openafs/src/viced/host.c
diff -c openafs/src/viced/host.c:1.57.2.38 openafs/src/viced/host.c:1.57.2.42
*** openafs/src/viced/host.c:1.57.2.38	Tue Jun 20 16:01:42 2006
--- openafs/src/viced/host.c	Mon Jul 31 13:42:20 2006
***************
*** 11,17 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/viced/host.c,v 1.57.2.38 2006/06/20 20:01:42 jaltman Exp $");
  
  #include <stdio.h>
  #include <errno.h>
--- 11,17 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/viced/host.c,v 1.57.2.42 2006/07/31 17:42:20 shadow Exp $");
  
  #include <stdio.h>
  #include <errno.h>
***************
*** 255,260 ****
--- 255,484 ----
  
  }				/*FreeHT */
  
+ afs_int32
+ hpr_Initialize(struct ubik_client **uclient)
+ {
+     afs_int32 code;
+     struct rx_connection *serverconns[MAXSERVERS];
+     struct rx_securityClass *sc[3];
+     struct afsconf_dir *tdir;
+     char tconfDir[100] = "";
+     char tcell[64] = "";
+     struct ktc_token ttoken;
+     afs_int32 scIndex;
+     struct afsconf_cell info;
+     afs_int32 i;
+     char cellstr[64];
+ 
+     tdir = afsconf_Open(AFSDIR_SERVER_ETC_DIRPATH);
+     if (!tdir) {
+ 	fprintf(stderr,
+ 		"libprot: Could not open configuration directory: %s.\n",
+ 		AFSDIR_SERVER_ETC_DIRPATH);
+       return -1;
+     }
+     
+     code = afsconf_GetLocalCell(tdir, cellstr, sizeof(cellstr));
+     if (code) {
+ 	fprintf(stderr,
+ 		"libprot: Could not get local cell. [%d]\n", code);
+ 	return code;
+     }
+     
+     code = afsconf_GetCellInfo(tdir, cellstr, "afsprot", &info);
+     if (code) {
+ 	fprintf(stderr, "libprot: Could not locate cell %s in %s/%s\n",
+ 		cellstr, confDir, AFSDIR_CELLSERVDB_FILE);
+ 	return code;
+     }
+     
+     afsconf_Close(tdir);
+     
+     code = rx_Init(0);
+     if (code) {
+         fprintf(stderr, "libprot:  Could not initialize rx.\n");
+         return code;
+     }
+     
+     scIndex = 2;
+     sc[0] = 0;
+     sc[1] = 0;
+     sc[2] = 0;
+     /* Most callers use secLevel==1, however, the fileserver uses secLevel==2
+      * to force use of the KeyFile.  secLevel == 0 implies -noauth was
+      * specified. */
+     if ((afsconf_GetLatestKey(tdir, 0, 0) == 0)) {
+         code = afsconf_ClientAuthSecure(tdir, &sc[2], &scIndex);
+         if (code)
+             fprintf(stderr,
+                     "libprot: clientauthsecure returns %d %s"
+                     " (so trying noauth)\n", code, error_message(code));
+         if (code)
+             scIndex = 0;        /* use noauth */
+         if (scIndex != 2)
+             /* if there was a problem, an unauthenticated conn is returned */
+             sc[scIndex] = sc[2];
+     } else {
+         struct ktc_principal sname;
+         strcpy(sname.cell, info.name);
+         sname.instance[0] = 0;
+         strcpy(sname.name, "afs");
+         code = ktc_GetToken(&sname, &ttoken, sizeof(ttoken), NULL);
+         if (code)
+             scIndex = 0;
+         else {
+             if (ttoken.kvno >= 0 && ttoken.kvno <= 256)
+                 /* this is a kerberos ticket, set scIndex accordingly */
+                 scIndex = 2;
+             else {
+                 fprintf(stderr,
+                         "libprot: funny kvno (%d) in ticket, proceeding\n",
+                         ttoken.kvno);
+                 scIndex = 2;
+             }
+             sc[2] =
+                 rxkad_NewClientSecurityObject(rxkad_clear, &ttoken.sessionKey,
+                                               ttoken.kvno, ttoken.ticketLen,
+                                               ttoken.ticket);
+         }
+     }
+     if ((scIndex == 0) && (sc[0] == 0))
+         sc[0] = rxnull_NewClientSecurityObject();
+     if ((scIndex == 0))
+         com_err("fileserver", code,
+                 "Could not get afs tokens, running unauthenticated.");
+     
+     memset(serverconns, 0, sizeof(serverconns));        /* terminate list!!! */
+     for (i = 0; i < info.numServers; i++) {
+         serverconns[i] =
+             rx_NewConnection(info.hostAddr[i].sin_addr.s_addr,
+                              info.hostAddr[i].sin_port, PRSRV, sc[scIndex],
+                              scIndex);
+     }
+ 
+     code = ubik_ClientInit(serverconns, uclient);
+     if (code) {
+         com_err("fileserver", code, "ubik client init failed.");
+     }
+ 
+     code = rxs_Release(sc[scIndex]);
+     return code;
+ }
+ 
+ int
+ hpr_End(struct ubik_client *uclient)
+ {
+     int code = 0;
+ 
+     if (uclient) {
+         code = ubik_ClientDestroy(uclient);
+     }
+     return code;
+ }
+ 
+ int
+ hpr_GetHostCPS(afs_int32 host, prlist *CPS)
+ {
+ #ifdef AFS_PTHREAD_ENV
+     register afs_int32 code;
+     afs_int32 over;
+     struct ubik_client *uclient = 
+ 	(struct ubik_client *)pthread_getspecific(viced_uclient_key);
+ 
+     if (!uclient) {
+         code = hpr_Initialize(&uclient);
+         assert(pthread_setspecific(viced_uclient_key, (void *)uclient) == 0);
+     }
+ 
+     over = 0;
+     code = ubik_PR_GetHostCPS(uclient, 0, host, CPS, &over);
+     if (code != PRSUCCESS)
+         return code;
+     if (over) {
+       /* do something about this, probably make a new call */
+       /* don't forget there's a hard limit in the interface */
+         fprintf(stderr,
+                 "membership list for host id %d exceeds display limit\n",
+                 host);
+     }
+     return 0;
+ #else
+     return pr_GetHostCPS(host, CPS);
+ #endif
+ }
+ 
+ int
+ hpr_NameToId(namelist *names, idlist *ids)
+ {
+ #ifdef AFS_PTHREAD_ENV
+     register afs_int32 code;
+     register afs_int32 i;
+     struct ubik_client *uclient = 
+ 	(struct ubik_client *)pthread_getspecific(viced_uclient_key);
+ 
+     if (!uclient) {
+         code = hpr_Initialize(&uclient);
+         assert(pthread_setspecific(viced_uclient_key, (void *)uclient) == 0);
+     }
+ 
+     for (i = 0; i < names->namelist_len; i++)
+         stolower(names->namelist_val[i]);
+     code = ubik_PR_NameToID(uclient, 0, names, ids);
+     return code;
+ #else
+     return pr_NameToId(names, ids);
+ #endif
+ }
+ 
+ int
+ hpr_IdToName(idlist *ids, namelist *names)
+ {
+ #ifdef AFS_PTHREAD_ENV
+     register afs_int32 code;
+     struct ubik_client *uclient = 
+ 	(struct ubik_client *)pthread_getspecific(viced_uclient_key);
+     
+     if (!uclient) {
+         code = hpr_Initialize(&uclient);
+         assert(pthread_setspecific(viced_uclient_key, (void *)uclient) == 0);
+     }
+ 
+     code = ubik_PR_IDToName(uclient, 0, ids, names);
+     return code;
+ #else
+     return pr_IdToName(ids, names);
+ #endif
+ }
+ 
+ int
+ hpr_GetCPS(afs_int32 id, prlist *CPS)
+ {
+ #ifdef AFS_PTHREAD_ENV
+     register afs_int32 code;
+     afs_int32 over;
+     struct ubik_client *uclient = 
+ 	(struct ubik_client *)pthread_getspecific(viced_uclient_key);
+ 
+     if (!uclient) {
+         code = hpr_Initialize(&uclient);
+         assert(pthread_setspecific(viced_uclient_key, (void *)uclient) == 0);
+     }
+ 
+     over = 0;
+     code = ubik_PR_GetCPS(uclient, 0, id, CPS, &over);
+     if (code != PRSUCCESS)
+         return code;
+     if (over) {
+       /* do something about this, probably make a new call */
+       /* don't forget there's a hard limit in the interface */
+         fprintf(stderr, "membership list for id %d exceeds display limit\n",
+                 id);
+     }
+     return 0;
+ #else
+     return pr_GetCPS(id, CPS);
+ #endif
+ }
  
  static short consolePort = 0;
  
***************
*** 452,458 ****
      slept ? (host->cpsCall = FT_ApproxTime()) : (host->cpsCall = now);
  
      H_UNLOCK;
!     code = pr_GetHostCPS(ntohl(host->host), &host->hcps);
      H_LOCK;
      if (code) {
  	/*
--- 676,682 ----
      slept ? (host->cpsCall = FT_ApproxTime()) : (host->cpsCall = now);
  
      H_UNLOCK;
!     code = hpr_GetHostCPS(ntohl(host->host), &host->hcps);
      H_LOCK;
      if (code) {
  	/*
***************
*** 1509,1515 ****
      }
  
      H_UNLOCK;
!     code = pr_NameToId(&lnames, &lids);
      H_LOCK;
      if (code == 0) {
  	if (lids.idlist_val) {
--- 1733,1739 ----
      }
  
      H_UNLOCK;
!     code = hpr_NameToId(&lnames, &lids);
      H_LOCK;
      if (code == 0) {
  	if (lids.idlist_val) {
***************
*** 1624,1630 ****
  	expTime = 0x7fffffff;
      } else if (authClass == 2) {
  	afs_int32 kvno;
! 
  	/* kerberos ticket */
  	code = rxkad_GetServerInfo(tcon, /*level */ 0, &expTime,
  				   tname, tinst, tcell, &kvno);
--- 1848,1854 ----
  	expTime = 0x7fffffff;
      } else if (authClass == 2) {
  	afs_int32 kvno;
!     
  	/* kerberos ticket */
  	code = rxkad_GetServerInfo(tcon, /*level */ 0, &expTime,
  				   tname, tinst, tcell, &kvno);
***************
*** 1721,1727 ****
  	    client->CPS.prlist_val = AnonCPS.prlist_val;
  	} else {
  	    H_UNLOCK;
! 	    code = pr_GetCPS(viceid, &client->CPS);
  	    H_LOCK;
  	    if (code) {
  		char hoststr[16];
--- 1945,1951 ----
  	    client->CPS.prlist_val = AnonCPS.prlist_val;
  	} else {
  	    H_UNLOCK;
! 	    code = hpr_GetCPS(viceid, &client->CPS);
  	    H_LOCK;
  	    if (code) {
  		char hoststr[16];
***************
*** 1888,1893 ****
--- 2112,2118 ----
      static char User[PR_MAXNAMELEN + 1];
      namelist lnames;
      idlist lids;
+     afs_int32 code;
  
      lids.idlist_len = 1;
      lids.idlist_val = (afs_int32 *) malloc(1 * sizeof(afs_int32));
***************
*** 1898,1904 ****
      lnames.namelist_len = 0;
      lnames.namelist_val = (prname *) 0;
      lids.idlist_val[0] = client->ViceId;
!     if (pr_IdToName(&lids, &lnames)) {
  	/* We need to free id we alloced above! */
  	free(lids.idlist_val);
  	return "*UNKNOWN USER NAME*";
--- 2123,2129 ----
      lnames.namelist_len = 0;
      lnames.namelist_val = (prname *) 0;
      lids.idlist_val[0] = client->ViceId;
!     if (hpr_IdToName(&lids, &lnames)) {
  	/* We need to free id we alloced above! */
  	free(lids.idlist_val);
  	return "*UNKNOWN USER NAME*";
Index: openafs/src/viced/host.h
diff -c openafs/src/viced/host.h:1.9.2.9 openafs/src/viced/host.h:1.9.2.10
*** openafs/src/viced/host.h:1.9.2.9	Wed Jun  7 00:41:19 2006
--- openafs/src/viced/host.h	Mon Jul 31 13:15:49 2006
***************
*** 25,30 ****
--- 25,31 ----
      assert(pthread_mutex_lock(&host_glock_mutex) == 0)
  #define H_UNLOCK \
      assert(pthread_mutex_unlock(&host_glock_mutex) == 0)
+ extern pthread_key_t viced_uclient_key;
  #else /* AFS_PTHREAD_ENV */
  #define H_LOCK
  #define H_UNLOCK
Index: openafs/src/viced/viced.c
diff -c openafs/src/viced/viced.c:1.58.2.13 openafs/src/viced/viced.c:1.58.2.15
*** openafs/src/viced/viced.c:1.58.2.13	Mon Jun 12 17:53:44 2006
--- openafs/src/viced/viced.c	Mon Jul 31 13:15:49 2006
***************
*** 20,26 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/viced/viced.c,v 1.58.2.13 2006/06/12 21:53:44 shadow Exp $");
  
  #include <stdio.h>
  #include <stdlib.h>
--- 20,26 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/viced/viced.c,v 1.58.2.15 2006/07/31 17:15:49 shadow Exp $");
  
  #include <stdio.h>
  #include <stdlib.h>
***************
*** 198,203 ****
--- 198,207 ----
  
  struct timeval tp;
  
+ #ifdef AFS_PTHREAD_ENV
+ pthread_key_t viced_uclient_key;
+ #endif
+ 
  /*
   * FileServer's name and IP address, both network byte order and
   * host byte order.
***************
*** 213,218 ****
--- 217,226 ----
  
  static void FlagMsg();
  
+ #ifdef AFS_PTHREAD_ENV
+ pthread_key_t viced_uclient_key;
+ #endif
+ 
  /*
   * Home for the performance statistics.
   */
***************
*** 1298,1303 ****
--- 1306,1316 ----
  		("Couldn't initialize protection library; code=%d.\n", code));
  	return code;
      }
+ 
+ #ifdef AFS_PTHREAD_ENV
+     assert(pthread_key_create(&viced_uclient_key, NULL) == 0);
+ #endif
+ 
      SystemId = SYSADMINID;
      SystemAnyUser = ANYUSERID;
      SystemAnyUserCPS.prlist_len = 0;
***************
*** 1533,1539 ****
  	FS_HostAddrs_HBO[i] = ntohl(FS_HostAddrs[i]);
      addrs.bulkaddrs_len = FS_HostAddr_cnt;
      addrs.bulkaddrs_val = (afs_uint32 *) FS_HostAddrs_HBO;
!     code = ubik_Call(VL_RegisterAddrs, cstruct, 0, &FS_HostUUID, 0, &addrs);
      if (code) {
  	if (code == VL_MULTIPADDR) {
  	    ViceLog(0,
--- 1546,1552 ----
  	FS_HostAddrs_HBO[i] = ntohl(FS_HostAddrs[i]);
      addrs.bulkaddrs_len = FS_HostAddr_cnt;
      addrs.bulkaddrs_val = (afs_uint32 *) FS_HostAddrs_HBO;
!     code = ubik_VL_RegisterAddrs(cstruct, 0, &FS_HostUUID, 0, &addrs);
      if (code) {
  	if (code == VL_MULTIPADDR) {
  	    ViceLog(0,
Index: openafs/src/viced/viced_prototypes.h
diff -c openafs/src/viced/viced_prototypes.h:1.6 openafs/src/viced/viced_prototypes.h:1.6.2.1
*** openafs/src/viced/viced_prototypes.h:1.6	Thu Mar  6 12:11:39 2003
--- openafs/src/viced/viced_prototypes.h	Tue Aug  1 18:33:47 2006
***************
*** 4,8 ****
  
  /* First 32 bits of capabilities */
  #define CAPABILITY_ERRORTRANS (1<<0)
! 
  #define CAPABILITY_BITS 1
--- 4,8 ----
  
  /* First 32 bits of capabilities */
  #define CAPABILITY_ERRORTRANS (1<<0)
! #define CAPABILITY_WRITELOCKACL (1<<2)
  #define CAPABILITY_BITS 1
Index: openafs/src/vlserver/Makefile.in
diff -c openafs/src/vlserver/Makefile.in:1.12 openafs/src/vlserver/Makefile.in:1.12.2.1
*** openafs/src/vlserver/Makefile.in:1.12	Mon Jan 13 13:55:07 2003
--- openafs/src/vlserver/Makefile.in	Mon Jul 31 13:07:52 2006
***************
*** 72,78 ****
  vldbint.xdr.o: vldbint.xdr.c vldbint.h
  
  vldbint.cs.c: vldbint.xg
! 	${RXGEN} -x -C -o $@ ${srcdir}/vldbint.xg
  
  vldbint.ss.c: vldbint.xg
  	${RXGEN} -x -S -o $@ ${srcdir}/vldbint.xg
--- 72,78 ----
  vldbint.xdr.o: vldbint.xdr.c vldbint.h
  
  vldbint.cs.c: vldbint.xg
! 	${RXGEN} -u -x -C -o $@ ${srcdir}/vldbint.xg
  
  vldbint.ss.c: vldbint.xg
  	${RXGEN} -x -S -o $@ ${srcdir}/vldbint.xg
***************
*** 81,87 ****
  	${RXGEN} -x -c -o $@ ${srcdir}/vldbint.xg
  
  vldbint.h: vldbint.xg
! 	${RXGEN} -x -h -o $@ ${srcdir}/vldbint.xg
  
  vldbint.cs.c: vldbint.h
  vldbint.ss.c: vldbint.h
--- 81,87 ----
  	${RXGEN} -x -c -o $@ ${srcdir}/vldbint.xg
  
  vldbint.h: vldbint.xg
! 	${RXGEN} -u -x -h -o $@ ${srcdir}/vldbint.xg
  
  vldbint.cs.c: vldbint.h
  vldbint.ss.c: vldbint.h
Index: openafs/src/vlserver/NTMakefile
diff -c openafs/src/vlserver/NTMakefile:1.8.2.2 openafs/src/vlserver/NTMakefile:1.8.2.3
*** openafs/src/vlserver/NTMakefile:1.8.2.2	Wed Jul  5 15:19:44 2006
--- openafs/src/vlserver/NTMakefile	Mon Jul 31 17:51:22 2006
***************
*** 103,110 ****
  $(INCFILES):$$(@F)
  	 $(COPY)  $** $(INCFILEDIR)\.
  
! vldbint.ss.c vldbint.cs.c vldbint.xdr.c vldbint.h: vldbint.xg
! 	$(RXGEN) -x $**
  	$(COPY) vldbint.h $(DESTDIR)\include\afs\vldbint.h
  
  ############################################################################
--- 103,119 ----
  $(INCFILES):$$(@F)
  	 $(COPY)  $** $(INCFILEDIR)\.
  
! vldbint.cs.c: vldbint.xg vldbint.h
! 	$(RXGEN) -u -x -C -o $@ vldbint.xg
! 
! vldbint.ss.c: vldbint.xg vldbint.h
! 	$(RXGEN) -x -S -o $@ vldbint.xg
! 
! vldbint.xdr.c: vldbint.xg vldbint.h
! 	$(RXGEN) -x -c -o $@ vldbint.xg
! 
! vldbint.h: vldbint.xg
! 	$(RXGEN) -u -x -h -o $@ vldbint.xg
  	$(COPY) vldbint.h $(DESTDIR)\include\afs\vldbint.h
  
  ############################################################################
Index: openafs/src/vol/Makefile.in
diff -c openafs/src/vol/Makefile.in:1.18.2.3 openafs/src/vol/Makefile.in:1.18.2.4
*** openafs/src/vol/Makefile.in:1.18.2.3	Thu Mar  9 01:42:27 2006
--- openafs/src/vol/Makefile.in	Mon Jul 31 12:50:52 2006
***************
*** 163,168 ****
--- 163,171 ----
  			${CC} ${LDFLAGS} -o gi gi.o ${TOP_LIBDIR}/libsys.a;; \
          esac
  
+ namei_map: ${TOP_LIBDIR}/libsys.a namei_map.o
+ 	${CC} ${CFLAGS} -o namei_map namei_map.o ${TOP_LIBDIR}/libafsutil.a ${LIBS} ${XLIBS}
+ 
  volinfo: vol-info.o physio.o ihandle.o ${LIBS}
  	${CC} ${CFLAGS} -o volinfo vol-info.o physio.o \
  		ihandle.o ${LIBS} ${XLIBS}
Index: openafs/src/vol/namei_map.c
diff -c /dev/null openafs/src/vol/namei_map.c:1.1.2.2
*** /dev/null	Thu Aug  3 00:51:00 2006
--- openafs/src/vol/namei_map.c	Mon Jul 31 12:50:52 2006
***************
*** 0 ****
--- 1,20 ----
+ #include <sys/types.h>
+ #include <inttypes.h>
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <afs/param.h>
+ #include <afs/afsutil.h>
+ 
+ int main(int argc, char **argv) {
+   lb64_string_t tmp;
+ 
+   unsigned long vol;
+   if (argc < 2) { fprintf(stderr, "Usage: nametodir vol\n"); exit(1); }
+   vol=strtoul(argv[1], NULL, 0);
+   (void)int32_to_flipbase64(tmp, (int64_t) (vol & 0xff));
+   printf("Component is %s\n", tmp);
+   (void)int32_to_flipbase64(tmp, (int64_t) vol);
+   printf("Component is %s\n", tmp);
+ 
+   exit(0);
+ }
Index: openafs/src/vol/namei_ops.c
diff -c openafs/src/vol/namei_ops.c:1.21.2.5 openafs/src/vol/namei_ops.c:1.21.2.6
*** openafs/src/vol/namei_ops.c:1.21.2.5	Mon Jun 12 20:00:17 2006
--- openafs/src/vol/namei_ops.c	Mon Jul 31 11:18:51 2006
***************
*** 13,19 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/vol/namei_ops.c,v 1.21.2.5 2006/06/13 00:00:17 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.21.2.6 2006/07/31 15:18:51 shadow Exp $");
  
  #ifdef AFS_NAMEI_ENV
  #include <stdio.h>
***************
*** 1468,1474 ****
  				 * the old RW volume around */
      p = strrchr(vd.name, '.');
      if (p && !strcmp(p, ".readonly")) {
! 	bzero(p, 8);
      }
      if (write(fdw, &vd, sizeof(struct VolumeDiskData)) !=
  	sizeof(struct VolumeDiskData)) {
--- 1468,1474 ----
  				 * the old RW volume around */
      p = strrchr(vd.name, '.');
      if (p && !strcmp(p, ".readonly")) {
! 	memset(p, 0, 9);
      }
      if (write(fdw, &vd, sizeof(struct VolumeDiskData)) !=
  	sizeof(struct VolumeDiskData)) {
***************
*** 1582,1588 ****
       * proceed.
       */
  
!     bzero(&t_ih, sizeof(t_ih));
      t_ih.ih_dev = h->ih_dev;
      t_ih.ih_vid = h->ih_vid;
  
--- 1582,1588 ----
       * proceed.
       */
  
!     memset(&t_ih, 0, sizeof(t_ih));
      t_ih.ih_dev = h->ih_dev;
      t_ih.ih_vid = h->ih_vid;
  
Index: openafs/src/vol/purge.c
diff -c openafs/src/vol/purge.c:1.9.2.1 openafs/src/vol/purge.c:1.9.2.2
*** openafs/src/vol/purge.c:1.9.2.1	Wed Aug 25 03:14:19 2004
--- openafs/src/vol/purge.c	Thu Jul 13 14:20:32 2006
***************
*** 17,23 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/vol/purge.c,v 1.9.2.1 2004/08/25 07:14:19 shadow Exp $");
  
  #include <stdio.h>
  #ifdef AFS_NT40_ENV
--- 17,23 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/vol/purge.c,v 1.9.2.2 2006/07/13 18:20:32 shadow Exp $");
  
  #include <stdio.h>
  #ifdef AFS_NT40_ENV
***************
*** 58,65 ****
  void PurgeIndex_r(Volume * vp, VnodeClass class);
  void PurgeHeader_r(Volume * vp);
  
  void
! VPurgeVolume_r(Error * ec, Volume * vp)
  {
      struct DiskPartition *tpartp = vp->partition;
      char purgePath[MAXPATHLEN];
--- 58,68 ----
  void PurgeIndex_r(Volume * vp, VnodeClass class);
  void PurgeHeader_r(Volume * vp);
  
+ /* No lock needed. Only the volserver will call this, and only one transaction
+  * can have a given volume (volid/partition pair) in use at a time 
+  */
  void
! VPurgeVolume(Error * ec, Volume * vp)
  {
      struct DiskPartition *tpartp = vp->partition;
      char purgePath[MAXPATHLEN];
***************
*** 81,94 ****
      FSYNC_askfs(V_id(vp), tpartp->name, FSYNC_RESTOREVOLUME, 0);
  }
  
- void
- VPurgeVolume(Error * ec, Volume * vp)
- {
-     VOL_LOCK;
-     VPurgeVolume_r(ec, vp);
-     VOL_UNLOCK;
- }
- 
  #define MAXOBLITATONCE	200
  /* delete a portion of an index, adjusting offset appropriately.  Returns 0 if
     things work and we should be called again, 1 if success full and done, and -1
--- 84,89 ----
Index: openafs/src/volser/NTMakefile
diff -c openafs/src/volser/NTMakefile:1.8.2.1 openafs/src/volser/NTMakefile:1.8.2.2
*** openafs/src/volser/NTMakefile:1.8.2.1	Fri Mar 11 02:03:52 2005
--- openafs/src/volser/NTMakefile	Mon Jul 31 17:51:22 2006
***************
*** 136,144 ****
  $(INCFILES):$$(@F)
  	 $(COPY)  $** $(INCFILEDIR)\.
  
! volint.h volint.cs.c volint.ss.c volint.xdr.c: volint.xg
! 	$(RXGEN) -x $**
  
  
  ############################################################################
  # Definitions for generating files via COMPILE_ET
--- 136,152 ----
  $(INCFILES):$$(@F)
  	 $(COPY)  $** $(INCFILEDIR)\.
  
! volint.cs.c: volint.xg volint.h
! 	$(RXGEN) -x -C -o $@ volint.xg
  
+ volint.ss.c: volint.xg volint.h
+ 	$(RXGEN) -x -S -o $@ volint.xg
+ 
+ volint.xdr.c: volint.xg volint.h
+ 	$(RXGEN) -x -c -o $@ volint.xg
+ 
+ volint.h: volint.xg
+ 	$(RXGEN) -x -h -o $@ volint.xg
  
  ############################################################################
  # Definitions for generating files via COMPILE_ET
Index: openafs/src/volser/dumpstuff.c
diff -c openafs/src/volser/dumpstuff.c:1.25.2.3 openafs/src/volser/dumpstuff.c:1.25.2.4
*** openafs/src/volser/dumpstuff.c:1.25.2.3	Wed Jun 21 13:59:07 2006
--- openafs/src/volser/dumpstuff.c	Fri Jul 14 15:24:06 2006
***************
*** 11,17 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/volser/dumpstuff.c,v 1.25.2.3 2006/06/21 17:59:07 shadow Exp $");
  
  #include <sys/types.h>
  #include <ctype.h>
--- 11,17 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/volser/dumpstuff.c,v 1.25.2.4 2006/07/14 19:24:06 shadow Exp $");
  
  #include <sys/types.h>
  #include <ctype.h>
***************
*** 1308,1313 ****
--- 1308,1314 ----
  		 Error * status)
  {
      afs_int32 code;
+     afs_sfsize_t lcode;
      afs_fsize_t filesize;
      afs_fsize_t written = 0;
      register afs_uint32 size = 8192;
***************
*** 1353,1363 ****
  	    *status = 3;
  	    break;
  	}
! 	code = FDH_WRITE(handleP, p, size);
! 	if (code > 0)
! 	    written += code;
! 	if (code != size) {
! 	    Log("1 Volser: WriteFile: Error creating file in volume; restore aborted\n");
  	    *status = 4;
  	    break;
  	}
--- 1354,1364 ----
  	    *status = 3;
  	    break;
  	}
! 	lcode = FDH_WRITE(handleP, p, size);
! 	if (lcode > 0)
! 	    written += lcode;
! 	if (lcode != size) {
! 	    Log("1 Volser: WriteFile: Error writing (%d,%u) bytes to vnode %d; restore aborted\n", (int)(lcode>>32), (int)(lcode & 0xffffffff), vn);
  	    *status = 4;
  	    break;
  	}
Index: openafs/src/volser/vos.c
diff -c openafs/src/volser/vos.c:1.40.2.14 openafs/src/volser/vos.c:1.40.2.15
*** openafs/src/volser/vos.c:1.40.2.14	Mon Apr 17 11:00:46 2006
--- openafs/src/volser/vos.c	Mon Jul 31 11:24:09 2006
***************
*** 11,17 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/volser/vos.c,v 1.40.2.14 2006/04/17 15:00:46 jaltman 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.40.2.15 2006/07/31 15:24:09 shadow Exp $");
  
  #include <sys/types.h>
  #ifdef AFS_NT40_ENV
***************
*** 2174,2180 ****
      if (code) {
  	fprintf(STDERR, "vos:cannot access volume %lu\n",
  		(unsigned long)volid);
- 	free(p);
  	exit(1);
      }
      if (TESTM)
--- 2174,2179 ----
***************
*** 2327,2333 ****
      if (code) {
  	fprintf(STDERR, "vos:cannot access volume %lu\n",
  		(unsigned long)volid);
- 	free(p);
  	exit(1);
      }
  
--- 2326,2331 ----
Index: openafs/src/volser/vsutils.c
diff -c openafs/src/volser/vsutils.c:1.16.2.2 openafs/src/volser/vsutils.c:1.16.2.3
*** openafs/src/volser/vsutils.c:1.16.2.2	Tue Dec  7 11:37:09 2004
--- openafs/src/volser/vsutils.c	Mon Jul 31 13:07:52 2006
***************
*** 11,17 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/volser/vsutils.c,v 1.16.2.2 2004/12/07 16:37:09 shadow Exp $");
  
  #include <afs/stds.h>
  #ifdef AFS_NT40_ENV
--- 11,17 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/volser/vsutils.c,v 1.16.2.3 2006/07/31 17:07:52 shadow Exp $");
  
  #include <afs/stds.h>
  #ifdef AFS_NT40_ENV
***************
*** 120,129 ****
  	code = nvlentry_to_ovlentry(entryp, &oentry);
  	if (code)
  	    return code;
! 	code = ubik_Call(VL_CreateEntry, cstruct, 0, &oentry);
  	return code;
      }
!     code = ubik_Call(VL_CreateEntryN, cstruct, 0, entryp);
      if (!newvlserver) {
  	if (code == RXGEN_OPCODE) {
  	    newvlserver = 1;	/* Doesn't support new interface */
--- 120,129 ----
  	code = nvlentry_to_ovlentry(entryp, &oentry);
  	if (code)
  	    return code;
! 	code = ubik_VL_CreateEntry(cstruct, 0, &oentry);
  	return code;
      }
!     code = ubik_VL_CreateEntryN(cstruct, 0, entryp);
      if (!newvlserver) {
  	if (code == RXGEN_OPCODE) {
  	    newvlserver = 1;	/* Doesn't support new interface */
***************
*** 145,156 ****
      if (newvlserver == 1) {
        tryold:
  	code =
! 	    ubik_Call(VL_GetEntryByID, cstruct, 0, volid, voltype, &oentry);
  	if (!code)
  	    ovlentry_to_nvlentry(&oentry, entryp);
  	return code;
      }
!     code = ubik_Call(VL_GetEntryByIDN, cstruct, 0, volid, voltype, entryp);
      if (!newvlserver) {
  	if (code == RXGEN_OPCODE) {
  	    newvlserver = 1;	/* Doesn't support new interface */
--- 145,156 ----
      if (newvlserver == 1) {
        tryold:
  	code =
! 	    ubik_VL_GetEntryByID(cstruct, 0, volid, voltype, &oentry);
  	if (!code)
  	    ovlentry_to_nvlentry(&oentry, entryp);
  	return code;
      }
!     code = ubik_VL_GetEntryByIDN(cstruct, 0, volid, voltype, entryp);
      if (!newvlserver) {
  	if (code == RXGEN_OPCODE) {
  	    newvlserver = 1;	/* Doesn't support new interface */
***************
*** 171,182 ****
  
      if (newvlserver == 1) {
        tryold:
! 	code = ubik_Call(VL_GetEntryByNameO, cstruct, 0, namep, &oentry);
  	if (!code)
  	    ovlentry_to_nvlentry(&oentry, entryp);
  	return code;
      }
!     code = ubik_Call(VL_GetEntryByNameN, cstruct, 0, namep, entryp);
      if (!newvlserver) {
  	if (code == RXGEN_OPCODE) {
  	    newvlserver = 1;	/* Doesn't support new interface */
--- 171,182 ----
  
      if (newvlserver == 1) {
        tryold:
! 	code = ubik_VL_GetEntryByNameO(cstruct, 0, namep, &oentry);
  	if (!code)
  	    ovlentry_to_nvlentry(&oentry, entryp);
  	return code;
      }
!     code = ubik_VL_GetEntryByNameN(cstruct, 0, namep, entryp);
      if (!newvlserver) {
  	if (code == RXGEN_OPCODE) {
  	    newvlserver = 1;	/* Doesn't support new interface */
***************
*** 201,212 ****
  	if (code)
  	    return code;
  	code =
! 	    ubik_Call(VL_ReplaceEntry, cstruct, 0, volid, voltype, &oentry,
  		      releasetype);
  	return code;
      }
      code =
! 	ubik_Call(VL_ReplaceEntryN, cstruct, 0, volid, voltype, entryp,
  		  releasetype);
      if (!newvlserver) {
  	if (code == RXGEN_OPCODE) {
--- 201,212 ----
  	if (code)
  	    return code;
  	code =
! 	    ubik_VL_ReplaceEntry(cstruct, 0, volid, voltype, &oentry,
  		      releasetype);
  	return code;
      }
      code =
! 	ubik_VL_ReplaceEntryN(cstruct, 0, volid, voltype, entryp,
  		  releasetype);
      if (!newvlserver) {
  	if (code == RXGEN_OPCODE) {
***************
*** 233,239 ****
        tryold:
  	memset(&arrayEntries, 0, sizeof(arrayEntries));	/*initialize to hint the stub  to alloc space */
  	code =
! 	    ubik_Call(VL_ListAttributes, cstruct, 0, attrp, entriesp,
  		      &arrayEntries);
  	if (!code) {
  	    blkentriesp->nbulkentries_val =
--- 233,239 ----
        tryold:
  	memset(&arrayEntries, 0, sizeof(arrayEntries));	/*initialize to hint the stub  to alloc space */
  	code =
! 	    ubik_VL_ListAttributes(cstruct, 0, attrp, entriesp,
  		      &arrayEntries);
  	if (!code) {
  	    blkentriesp->nbulkentries_val =
***************
*** 248,254 ****
  	return code;
      }
      code =
! 	ubik_Call(VL_ListAttributesN, cstruct, 0, attrp, entriesp,
  		  blkentriesp);
      if (!newvlserver) {
  	if (code == RXGEN_OPCODE) {
--- 248,254 ----
  	return code;
      }
      code =
! 	ubik_VL_ListAttributesN(cstruct, 0, attrp, entriesp,
  		  blkentriesp);
      if (!newvlserver) {
  	if (code == RXGEN_OPCODE) {
***************
*** 273,279 ****
      afs_int32 code;
  
      code =
! 	ubik_Call(VL_ListAttributesN2, cstruct, 0, attrp, (name ? name : ""),
  		  thisindex, nentriesp, blkentriesp, nextindexp);
      return code;
  }
--- 273,279 ----
      afs_int32 code;
  
      code =
! 	ubik_VL_ListAttributesN2(cstruct, 0, attrp, (name ? name : ""),
  		  thisindex, nentriesp, blkentriesp, nextindexp);
      return code;
  }
***************
*** 342,348 ****
      memset(&addrs, 0, sizeof(addrs));
      memset(&uuid, 0, sizeof(uuid));
      code =
! 	ubik_Call(VL_GetAddrsU, cstruct, 0, &attrs, &uuid, &unique, &nentries,
  		  &addrs);
      if (vlserverv4 == -1) {
  	if (code == RXGEN_OPCODE) {
--- 342,348 ----
      memset(&addrs, 0, sizeof(addrs));
      memset(&uuid, 0, sizeof(uuid));
      code =
! 	ubik_VL_GetAddrsU(cstruct, 0, &attrs, &uuid, &unique, &nentries,
  		  &addrs);
      if (vlserverv4 == -1) {
  	if (code == RXGEN_OPCODE) {
***************
*** 377,411 ****
  }
  
  
- #ifdef	notdef
- afs_int32
- subik_Call(aproc, aclient, aflags, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10,
- 	   p11, p12, p13, p14, p15, p16)
-      register struct ubik_client *aclient;
-      int (*aproc) ();
-      afs_int32 aflags;
-      afs_int32 p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14,
- 	 p15, p16;
- {
-     struct vldbentry vldbentry;
-     register int code, (*nproc) ();
- 
-     if (newvlserver == 1) {
-     }
-     code =
- 	ubik_Call(aproc, aclient, aflags, p1, p2, p3, p4, p5, p6, p7, p8, p9,
- 		  p10, p11, p12, p13, p14, p15, p16);
-     if (!newvlserver) {
- 	if (code == RXGEN_OPCODE) {
- 	    newvlserver = 1;	/* Doesn't support new interface */
- 	} else if (!code) {
- 	    newvlserver = 2;
- 	}
-     }
- }
- #endif /* notdef */
- 
- 
  /*
    Set encryption.  If 'cryptflag' is nonzero, encrpytion is turned on
    for authenticated connections; if zero, encryption is turned off.
--- 377,382 ----
