---------------------------------------------------------------------- ELOQUENCE B.07.00 - patch 0409300 ---------------------------------------------------------------------- This patch fixes a defect of the eloqsd program for the Windows XP/2000/NT platforms as released with Eloquence B.07.00. This patch will be integrated in the Eloquence B.07.00 release. Eloquence B.07.00 must be installed before applying this patch. Severity: PE70-0409300: BUG FIX Patch PE70-0409300 ------------------ Platforms: Windows XP/2000/NT * The eloqsd server did not allow more than about 35 concurrent connections (#2248). The exact number depended on the particular Windows configuration and usage. After connecting about 35 times, the Windows error #1816 (ERROR_NOT_ENOUGH_QUOTA) occurred. This was caused by an internal Windows limitation (all Windows versions are affected). The Windows-internal memory area which is used to store the access control lists (ACLs) is limited to 2 kilobytes. Previous eloqsd versions created an access control entry (ACE) for each connection, which quickly exhausted this 2KB area. In the new implementation, eloqsd creates its own non-interactive windowstation along with its own desktop. This windowstation/ desktop tuple then gets a single ACE. Afterwards, all connections are assigned to this tuple, effectively inheriting this ACE. As a result, eloqsd now only uses one ACE, regardless of how many connections are active. The maximum number of concurrent connections is still limited by the Windows desktop heap, so it is still possible that the #1816 (ERROR_NOT_ENOUGH_QUOTA) error occurs if a high number of concurrent connections are active. Unfortunately, how many these are cannot be forecasted, as this depends on the particular Windows configuration and usage. In this case, the Windows system size of the desktop heap for the non-interactive windowstation must be increased. This requires to change a Windows registry entry with the Windows regedit or regedit32 tool. Please note that this must be done with extreme care, as doing the wrong changes to a registry value can prevent Windows from operating correctly. The necessary procedure is documented in the Microsoft Knowledge Base at http://support.microsoft.com/?id=184802 . Summary: Locate the following value in the Windows registry (you must be administrator to edit this value): HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\ Session Manager\SubSystems\Windows This is a string value consisting of multiple sections. Locate the section starting with SharedSection=, it should have 3 parameters which are comma-separated. Example: SharedSection=1024,3072,512 The 3rd parameter (in this case 512) is the one which must be increased. If you find only 2 parameters you can add the 3rd parameter yourself. You can set the 3rd parameter as high as the 2nd (in this case 3072), but this is often too much. Increase it in steps of 256 until your problem is solved. Windows must be restarted afterwards to activate this change. * When the eloqsd server is stopped, all eloqcore child processes which were previously started through this eloqsd are terminated. Installation: ------------- Windows XP/2000/NT: This patch should *only* be installed if you previously installed the Eloquence server components on your system. Download the PE70-0409300-win32.zip file and unpack its contents with WinZip or PKUNZIP. Installation requires administrative capabilities. PLEASE MAKE SURE THE eloqsd SERVICE has been STOPPED previously (in the Service Control Manager or with NET STOP eloqsd). Please copy the eloqsd.exe file into the WINDOWS SYSTEM DIRECTORY (for example C:\Windows\System32). Please copy the PE70-0409300-README.txt file into the share\doc subdirectory of your Eloquence installation (for example C:\Programs\Eloquence\share\doc). Files: eloqsd.exe PE70-0409300-README.txt