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.
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.
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.
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
-entries should be added:
-
- REG_DWORD HKLM "Software\Microsoft\Windows NT\CurrentVersion\WinLogon\Notify\AfsLogon" "Asynchronous" 0
- REG_DWORD HKLM "Software\Microsoft\Windows NT\CurrentVersion\WinLogon\Notify\AfsLogon" "Impersonate" 1
- REG_SZ HKLM "Software\Microsoft\Windows NT\CurrentVersion\WinLogon\Notify\AfsLogon" "DLLName" "afslogon.dll"
- REG_SZ HKLM "Software\Microsoft\Windows NT\CurrentVersion\WinLogon\Notify\AfsLogon" "Logoff" "AFS_Logoff_Event"
- REG_SZ HKLM "Software\Microsoft\Windows NT\CurrentVersion\WinLogon\Notify\AfsLogon" "Startup" "AFS_Startup_Event"
-
+
23. Terminal Server installations.
When installing under Terminal Server, you must execute the NSIS installer
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
}
/* 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);
}
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);
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
<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" />
<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">