OpenAFS CVS Commit: openafs/src/WINNT/pthread by jaltman

cvs@GRAND.CENTRAL.ORG cvs@GRAND.CENTRAL.ORG
Mon, 18 Oct 2004 00:09:39 EDT


Update of /cvs/openafs/src/WINNT/pthread
In directory GRAND.CENTRAL.ORG:/home/jaltman/openafs/cvs-1-4/src/WINNT/pthread

Modified Files:
      Tag: openafs-stable-1_4_x
	pthread.c 
Log Message:
DELTA windows-cumulative-20041017
AUTHOR jaltman@mit.edu

Cummulative update of changes including:

  * Add code to block the issuance of AFS tokens by aklog.exe or
    afscreds.exe when the Kerberos 5 principal name contains a dot.

  * Modify the IsAdmin() function to always treat the local SYSTEM
    account as an AFS client administrator.  Affects fs.exe and 
    afs_config.exe.

  * Modify the internal handling of Quota Exceeded errors

  * Upgrade all reference count fields in the Windows cache manager
    and the osi library to use unsigned long instead of signed short.
    A similar fix has been applied to the afs rpc (rx) library.

  * fix the Windows cache manager to prevent it from replacing the 
    rx_connection object associated with the cm_conn_t object on each
    and every operation if "fs crypt" was set.  This explains the 
    dramatic performance difference when crypt is used vs clear.
    The problem: 'cryptall', a boolean flag indicating whether or not 
    "fs crypt" is set, was being compared to the rx_connection 
    cryptlevel which is either rxkad_clear:0 or rxkad_crypt:2.
    1 != 2 and therefore the rx_connection was always destroyed 
    and replaced on each and every operation.

    Lock the cm_conn_t object around every call to RXAFS_xxxx functions.
    It is not safe for the cm_conn_t object to not be locked because
    rx_DestroyConnection might be called from another thread if:
        - the user's tokens have changed or expired
        - the crypt mode has changed

    This fix appears to have also taken care of the problems associated
    with Overlapped Writes resulting in Delayed Write errors.

  * fix NSIS installer's AdminGroup.exe to properly create and
    remove groups when given -create or -remove.  The string comparison
    test was wrong.

  * fs sysname now accepts a list of sysname values 

  * added a new registry value HKLM\SOFTWARE\OpenAFS\Client "IoctlDebug"
    DWORD which when set to a non-zero value will cause error message
    text to be output to stderr from the pioctl() routine.  Useful in 
    debugging failures of fs.exe, tokens.exe, etc.

  * added a test to the power management code to only perform a 
    flush operation if there is at least one network adapter which
    is not a loopback adapter.

  * Fix bug in loading of registry value HKLM\SOFTWARE\OpenAFS\Client
    "EnableKFW".  This value will not be read if the key
    HKCU\SOFTWARE\OpenAFS\Client exists; even if the "EnableKFW" 
    value under that key does not.

  * provide mechanisms to force the use of krb524d for Kerberos 5
    ticket to AFS token conversion.  For afslogon.dll and afscreds.exe
    there is a new registry value "Use524" and for aklog.exe a new
    command line parameter "-m".

  * Fix the pattern matching algorithm to properly match patterns
    ending with a '*'.

  * smb_ReceiveCoreRename() was factored to produce smb_Rename()
    which is used by both the original function and the new
    smb_ReceiveNTRename().  smb_ReceiveNTRename() supports the
    creation of HardLinks in addition to Renaming.  smb_Link() 
    is a new function which creates HardLinks via cm_Link().
    cm_Link() is a new vnodeops function which creates links
    using RXAFS_Link().

    smb_ReceiveNTRename() does not support the File Copy and 
    Move Cluster Information operations described in its interface.
    ReceiveNTRename is under documented in CIFS-TR-1p00_FINAL.pdf.

  * When opening files via symlinks, we should follow the symlinks
    until we reach the actual file stat cache entry.  The stat cache
    entry of the file should then be stored in the FID instead of
    stat scache entry of the symlink.

  * return bad operation errors for all unimplemented functions
    even if we do not know the functions exist.

  * Log bad packets and unknown operation packets to the trace log

  * Map CM_ERROR_BADOP to STATUS_NOT_SUPPORTED instead of 
    0xC09820FF
  
  * Update list of known CIFS operations to include all those listed
    in CIFS-TR-1p00_FINAL.pdf.

  * Modify the handling of HKLM\SOFTWARE\OpenAFS\Client\Submounts
    to support the REG_EXPAND_SZ type.




--- DELTA config for openafs-stable-1_4_x follows ---
windows-cumulative-20041017 openafs/src/WINNT/pthread/pthread.c 1.6 1.6.2.1