diff --git a/doc/txt/winnotes/afs-changes-since-1.2.txt b/doc/txt/winnotes/afs-changes-since-1.2.txt index 73eb647a2a..e4210af321 100644 --- a/doc/txt/winnotes/afs-changes-since-1.2.txt +++ b/doc/txt/winnotes/afs-changes-since-1.2.txt @@ -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. diff --git a/doc/txt/winnotes/afs-install-notes.txt b/doc/txt/winnotes/afs-install-notes.txt index 1ed4d042de..92dac51595 100644 --- a/doc/txt/winnotes/afs-install-notes.txt +++ b/doc/txt/winnotes/afs-install-notes.txt @@ -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 diff --git a/doc/txt/winnotes/afs-issues.txt b/doc/txt/winnotes/afs-issues.txt index 784e23bfbe..8d4e27303a 100644 --- a/doc/txt/winnotes/afs-issues.txt +++ b/doc/txt/winnotes/afs-issues.txt @@ -196,4 +196,3 @@ List of unfunded projects: afsmap.exe [/PERSISTENT] afsmap.exe [/PERSISTENT] afsmap.exe /DELETE - 23. Fix/Identify cause of WinLogon event handler problems with XP SP2 Gold diff --git a/src/WINNT/afsd/smb3.c b/src/WINNT/afsd/smb3.c index 8abd382152..3968598212 100644 --- a/src/WINNT/afsd/smb3.c +++ b/src/WINNT/afsd/smb3.c @@ -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); diff --git a/src/WINNT/install/NSIS/OpenAFS.nsi b/src/WINNT/install/NSIS/OpenAFS.nsi index b54551b220..658a9e68d6 100644 --- a/src/WINNT/install/NSIS/OpenAFS.nsi +++ b/src/WINNT/install/NSIS/OpenAFS.nsi @@ -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 diff --git a/src/WINNT/install/wix/files.wxi b/src/WINNT/install/wix/files.wxi index 70ffc6517f..041187751d 100644 --- a/src/WINNT/install/wix/files.wxi +++ b/src/WINNT/install/wix/files.wxi @@ -3,8 +3,6 @@ - - -