]> git.michaelhowe.org Git - packages/o/openafs.git/commitdiff
STABLE14-1-3-70-release-really-20040809 openafs-devel-1_3_70
authorJeffrey Altman <jaltman@mit.edu>
Tue, 10 Aug 2004 05:10:44 +0000 (05:10 +0000)
committerDerrick Brashear <shadow@dementia.org>
Tue, 10 Aug 2004 05:10:44 +0000 (05:10 +0000)
Restore the installation of afslogon.dll as a winlogon event handler.
Microsoft identified the problem as being a newly added restriction
on the behavior of DllMain entry points.  Network operations such
as bind() may no longer be called.  The ICF blocks them but does not
cause an error to be returned.

(cherry picked from commit 2e8a3050d39ead364cad038647f0049b5c03b119)

doc/txt/winnotes/afs-changes-since-1.2.txt
doc/txt/winnotes/afs-install-notes.txt
doc/txt/winnotes/afs-issues.txt
src/WINNT/afsd/smb3.c
src/WINNT/install/NSIS/OpenAFS.nsi
src/WINNT/install/wix/files.wxi

index 73eb647a2a09819fcc0f996c5cbef83751fd0158..e4210af32105aa08c5152c4db0bedcaf12cf63d9 100644 (file)
@@ -1,10 +1,4 @@
 Since 1.3.66:
-   * The WinLogon Event Handlers for "Startup" and "Logoff" have been
-     removed at the very last moment due to problems caused with the
-     final release version of XP SP2.  This means that tokens will 
-     not be destroyed on logoff.  The code is not being removed it
-     is simply not going to be enabled.
-
    * file and directory names beginning with "." will now be given the
      hidden attribute when the volume access is anonymous.  this matches
      the behavior when the volume access is via an authenticated user.
@@ -137,7 +131,8 @@ Since 1.3.65:
      user's profile is not loaded from within AFS.  If the profile 
      was loaded from AFS we can't release the tokens since the Logoff
      event is triggered prior to the profile being written back to 
-     the its source location.
+     the its source location.  This is now performed in an XP SP2 
+     safe manner.
 
    * Windows XP SP2 Internet Connection Firewall interoperability
      has been added.
index 1ed4d042dec658eb3a902b2cab7ad8f83b512cfa..92dac51595bf0d427a157898c18fe4a33be65e09 100644 (file)
@@ -312,13 +312,6 @@ Admin Protocol which provides browsing of server and share information.
 This significantly enhances the interoperability of AFS volumes within the
 Explorer Shell and Microsoft Office applications.
 
-
-22. OpenAFS will now 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.
-
 Note: This functionality has been disabled in the 1.3.70 installers due
 to problems discovered with the final release build of XP SP2.  To enable
 this functionality on other versions of Windows the following registry 
@@ -331,6 +324,13 @@ entries should be added:
   REG_SZ    HKLM "Software\Microsoft\Windows NT\CurrentVersion\WinLogon\Notify\AfsLogon" "Startup" "AFS_Startup_Event"
 
 
+22. OpenAFS will now 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.
+                                                   
+
 23. Terminal Server installations.
 When installing under Terminal Server, you must execute the NSIS installer
 (.exe) from within the Add/Remove Programs Control Panel.  Failure to do so 
index 784e23bfbe49c335ab9314e6d95d97a0ea7b1b05..8d4e27303a4e4344fe59a6009f3b7e7ebbec0906 100644 (file)
@@ -196,4 +196,3 @@ List of unfunded projects:
       afsmap.exe <drive> <afs-path> [/PERSISTENT]
       afsmap.exe <drive> <unc-path> [/PERSISTENT]
       afsmap.exe <drive> /DELETE
-  23. Fix/Identify cause of WinLogon event handler problems with XP SP2 Gold
index 8abd3821524a0224a4c2487d8568e058ea21610b..3968598212844855c9e0a14cc296b3abec153203 100644 (file)
@@ -1932,11 +1932,11 @@ long smb_ReceiveV3Tran2A(smb_vc_t *vcp, smb_packet_t *inp, smb_packet_t *outp)
     }   
 
     /* now copy the parms and data */
-    if ( parmCount != 0 )
+    if ( asp->totalParms > 0 && parmCount != 0 )
     {
         memcpy(((char *)asp->parmsp) + parmDisp, inp->data + parmOffset, parmCount);
     }
-    if ( dataCount != 0 ) {
+    if ( asp->totalData > 0 && dataCount != 0 ) {
         memcpy(asp->datap + dataDisp, inp->data + dataOffset, dataCount);
     }
 
@@ -1945,7 +1945,10 @@ long smb_ReceiveV3Tran2A(smb_vc_t *vcp, smb_packet_t *inp, smb_packet_t *outp)
     asp->curParms += parmCount;
 
     /* finally, if we're done, remove the packet from the queue and dispatch it */
-    if (asp->totalData <= asp->curData && asp->totalParms <= asp->curParms) {
+    if (asp->totalParms > 0 &&
+        asp->curParms > 0 &&
+        asp->totalData <= asp->curData &&
+        asp->totalParms <= asp->curParms) {
                /* we've received it all */
         lock_ObtainWrite(&smb_globalLock);
                osi_QRemove((osi_queue_t **) &smb_tran2AssemblyQueuep, &asp->q);
index b54551b22066da0c6193a06ac6c1461cf79dc4a4..658a9e68d61eb9ea469a3f6da2fc17d4c863b53a 100644 (file)
@@ -708,18 +708,12 @@ skipremove:
   strcpy $REG_DATA_3  "RpcSs"
   Call RegWriteMultiStr
 
-!ifdef WINLOGON
   ; WinLogon Event Notification
-  ; Disabled because of last minute problems with the XP SP2 release final build
-  ; we are disabling the use of this functionality
   WriteRegDWORD HKLM "Software\Microsoft\Windows NT\CurrentVersion\WinLogon\Notify\AfsLogon" "Asynchronous" 0
   WriteRegDWORD HKLM "Software\Microsoft\Windows NT\CurrentVersion\WinLogon\Notify\AfsLogon" "Impersonate"  1
   WriteRegStr HKLM "Software\Microsoft\Windows NT\CurrentVersion\WinLogon\Notify\AfsLogon" "DLLName" "afslogon.dll"
   WriteRegStr HKLM "Software\Microsoft\Windows NT\CurrentVersion\WinLogon\Notify\AfsLogon" "Logoff" "AFS_Logoff_Event"
   WriteRegStr HKLM "Software\Microsoft\Windows NT\CurrentVersion\WinLogon\Notify\AfsLogon" "Startup" "AFS_Startup_Event"
-!else
-  DeleteRegKey HKLM "Software\Microsoft\Windows NT\CurrentVersion\Winlogon\Notify\AfsLogon"
-!endif
 
   SetRebootFlag true
   
index 70ffc6517fa4b5da91a479c4d58f8a93d80a1b33..041187751d73a294a42453295acd50aef3a08bf1 100644 (file)
@@ -3,8 +3,6 @@
     <Directory Id="SystemFolder">
         <Component Id="cmf_afslogon_DLL" Guid="123197FE-4F53-4035-8D51-FCFB6B50A777">
             <File Id="fileafslogon_DLL" Name="afslogon.dll" LongName="afslogon.dll" KeyPath="yes" DiskId="1" src="$(var.ClientDir)afslogon.dll" />
-            <!--
-            Disable the WinLogon registration for now.  It's causing problems on XP SP2 machines.
             <Registry Id="reg_afslogon01" Root="HKLM" Key="SOFTWARE\Microsoft\Windows NT\CurrentVersion\WinLogon\Notify\AfsLogon" Action="createKeyAndRemoveKeyOnUninstall" />
             <Registry Id="reg_afslogon02" Root="HKLM" Key="SOFTWARE\Microsoft\Windows NT\CurrentVersion\WinLogon\Notify\AfsLogon" />
             <Registry Id="reg_afslogon03" Root="HKLM" Key="SOFTWARE\Microsoft\Windows NT\CurrentVersion\WinLogon\Notify\AfsLogon" Name="Asynchronous" Type="integer" Value="0" />
@@ -12,9 +10,6 @@
             <Registry Id="reg_afslogon05" Root="HKLM" Key="SOFTWARE\Microsoft\Windows NT\CurrentVersion\WinLogon\Notify\AfsLogon" Name="DLLName" Type="string" Value="[#fileafslogon_DLL]" />
             <Registry Id="reg_afslogon06" Root="HKLM" Key="SOFTWARE\Microsoft\Windows NT\CurrentVersion\WinLogon\Notify\AfsLogon" Name="Logoff" Type="string" Value="AFS_Logoff_Event" />
             <Registry Id="reg_afslogon07" Root="HKLM" Key="SOFTWARE\Microsoft\Windows NT\CurrentVersion\WinLogon\Notify\AfsLogon" Name="Startup" Type="string" Value="AFS_Startup_Event" />
-            -->
-            <!-- instead, remove the key if present -->
-            <Registry Id="reg_afslogonrem" Root="HKLM" Key="SOFTWARE\Microsoft\Windows NT\CurrentVersion\WinLogon\Notify\AfsLogon" Action="removeKeyOnInstall" />
         </Component>
     <?ifdef DebugSyms?>
         <Component Id="cmp_ClientSystemDebug" Guid="DD34DA09-D9DA-4A5A-9521-87B7738A7D53">