SSL Reports Incorrect Maximum Buffer Size to Programs (300562)



The information in this article applies to:

  • Microsoft Windows 2000 Server SP1
  • Microsoft Windows 2000 Advanced Server SP1
  • Microsoft Windows 2000 Professional SP1
  • Microsoft Windows NT Server 4.0
  • Microsoft Windows NT Workstation 4.0

This article was previously published under Q300562

SYMPTOMS

The Secure Sockets Layer (SSL) implementation (Schannel.dll) reports an incorrect buffer size to programs, as noted in the following code fragment:
SecPkgContext_StreamSizes MySPCSS;
if ( SEC_E_OK == QueryContextAttributes(
	phContext,
	SECPKG_ATTR_STREAM_SIZES,
	(PVOID)&MySPCSS) )
{
	// MySPCSS.cbMaximumMessage is 16379, instead of 16384
}
				
For example, if a Pine IMAP client sends a message to a Microsoft Exchange Server computer, the problem appears as though it is in the IMAP function to add sent mail only to the Sent Items folder. The mail gets through to an Microsoft Outlook Express or Netscape Messenger client without a problem.

The problem appears when you are using SSL, or if the message is larger than 16,000 bytes. If it is over the limit and you are using SSL, it works with Outlook Express and Netscape Messenger clients. When you send from a Pine client, it can work when you are using a server other than an Exchange Server computer.

CAUSE

The maximum buffer size that the SSL implementation (Schannel.dll) reports back to the program is incorrect. The problem is that Schannel.dll's maximum message size is 5 bytes smaller than the SSL specification of 16,384.

RESOLUTION

To resolve this problem, obtain the latest service pack for Windows 2000. For additional information, click the following article number to view the article in the Microsoft Knowledge Base:

260910 How to Obtain the Latest Windows 2000 Service Pack

The English version of this fix should have the following file attributes or later:
   Date         Time   Version      Size     File name
   ---------------------------------------------------------------
   27-Aug-2001  13:12  5.0.2195.42  355,088  Advapi32.dll
   27-Aug-2001  13:12  5.0.2195.41  135,440  Dnsapi.dll
   27-Aug-2001  13:12  5.0.2195.36   94,992  Dnsrslvr.dll
   27-Aug-2001  13:13  5.0.2195.42  525,072  Instlsa5.dll
   27-Aug-2001  13:13  5.1.2195.0   163,600  Instsch5.dll
   27-Aug-2001  13:12  5.0.2195.41  143,120  Kdcsvc.dll
   07-Aug-2001  13:03  5.0.2195.40  197,392  Kerberos.dll
   26-Jun-2001  22:16  5.0.2195.37   69,456  Ksecdd.sys
   24-Aug-2001  00:26  5.0.2195.42  507,152  Lsasrv.dll
   24-Aug-2001  00:26  5.0.2195.42   33,552  Lsass.exe
   27-Aug-2001  13:12  5.0.2195.41  306,448  Netapi32.dll
   27-Aug-2001  13:12  5.0.2195.41  358,160  Netlogon.dll
   27-Aug-2001  13:12  5.0.2195.42  910,096  Ntdsa.dll
   27-Aug-2001  13:12  5.0.2195.42  386,320  Samsrv.dll
   27-Aug-2001  13:12  5.0.2195.41  128,784  Scecli.dll
   27-Aug-2001  13:12  5.0.2195.36  299,792  Scesrv.dll
   27-Aug-2001  13:03  5.1.2195.0   145,680  Schannel.dll
   27-Aug-2001  13:12  5.0.2195.40   48,400  W32time.dll
   01-Aug-2001  23:44  5.0.2195.40   56,592  W32tm.exe
   24-Aug-2001  00:26  5.0.2195.42  507,152  Lsasrv.dll   [56bit]
   27-Aug-2001  13:03  5.1.2195.0   146,192  Schannel.dll [56bit]

				

STATUS

Microsoft has confirmed that this is a problem in the Microsoft products that are listed at the beginning of this article. This problem was first corrected in Windows 2000 Service Pack 3.

MORE INFORMATION

A possible side-effect of this hotfix is that the program's send buffer is also increased. This means that progrmas that are using the Schannel.dll file may start sending packets that are a little bigger than they were before you applied the hotfix. This may cause interoperability problems during communication with computers that have not yet had the hotfix applied to them.

For additional information about how to install Windows 2000 and Windows 2000 hotfixes at the same time, click the article number below to view the article in the Microsoft Knowledge Base:

249149 Installing Microsoft Windows 2000 and Windows 2000 Hotfixes


Modification Type:MinorLast Reviewed:9/26/2005
Keywords:kbHotfixServer kbQFE kbbug kbenv kbfix kbSecurity kbWin2000PreSP3Fix kbWin2000sp3fix KB300562