Article ID: 960267 - Last Review: December 19, 2008 - Revision: 1.0

FIX: The IIS 7.0 pipeline does not handle the return code from ISAPI correctly when it tries to redirect from the SF_NOTIFY_URL_MAP notification

Hotfix download is availableHotfix Download Available
View and request hotfix downloads
System TipThis article applies to a different operating system than the one you are using. Article content that may not be relevant to you is disabled.

On This Page

Expand all | Collapse all

SYMPTOMS

In Internet Information Services (IIS) 7.0, the IIS pipeline does not handle the return code from ISAPI correctly when it tries to redirect from the SF_NOTIFY_URL_MAP notification. For example, an ISAPI may set the http response to 302 correctly and return the SF_STATUS_REQ_FINISHED notification. You expect the IIS pipeline to accept the SF_STATUS_REQ_FINISHED value and then stop the rest of the processing. However, the IIS pipeline returns the 200 response with the 302 response in the body.

RESOLUTION

Hotfix information

A supported hotfix is available from Microsoft. However, this hotfix is intended to correct only the problem that is described in this article. Apply this hotfix only to systems that are experiencing the problem described in this article. This hotfix might receive additional testing. Therefore, if you are not severely affected by this problem, we recommend that you wait for the next software update that contains this hotfix.

If the hotfix is available for download, there is a "Hotfix download available" section at the top of this Knowledge Base article. If this section does not appear, contact Microsoft Customer Service and Support to obtain the hotfix.

Note If additional issues occur or if any troubleshooting is required, you might have to create a separate service request. The usual support costs will apply to additional support questions and issues that do not qualify for this specific hotfix. For a complete list of Microsoft Customer Service and Support telephone numbers or to create a separate service request, visit the following Microsoft Web site:
http://support.microsoft.com/contactus/?ws=support (http://support.microsoft.com/contactus/?ws=support)
Note The "Hotfix download available" form displays the languages for which the hotfix is available. If you do not see your language, it is because a hotfix is not available for that language.

Prerequisites

You must have Windows Vista Service Pack 1 or Windows Server 2008 installed to apply this hotfix.

Restart requirement

You must restart the computer after you apply this hotfix.

Hotfix replacement information

This hotfix does not replace any other hotfixes.

File information

The English version of this hotfix has the file attributes (or later file attributes) that are listed in the following table. The dates and times for these files are listed in Coordinated Universal Time (UTC). When you view the file information, it is converted to local time. To find the difference between UTC and local time, use the Time Zone tab in the Date and Time item in Control Panel.
IIS 7.0, x86
Collapse this tableExpand this table
File nameFile versionFile sizeDateTimePlatform
Hwebcore.dll7.0.6001.2232212,80005-Dec-200804:34x86
Iiscore.dll7.0.6001.22322189,95205-Dec-200804:34x86
Iisstart.htmNot Applicable68918-Dec-200721:02Not Applicable
W3dt.dll7.0.6001.2232223,55205-Dec-200804:34x86
Welcome.pngNot Applicable184,94618-Dec-200721:02Not Applicable
IIS 7.0, x64
Collapse this tableExpand this table
File nameFile versionFile sizeDateTimePlatform
Hwebcore.dll7.0.6001.2232215,36005-Dec-200805:38x64
Iiscore.dll7.0.6001.22322288,76805-Dec-200805:38x64
Iisstart.htmNot Applicable68918-Dec-200721:03Not Applicable
W3dt.dll7.0.6001.2232230,72005-Dec-200805:38x64
Welcome.pngNot Applicable184,94618-Dec-200721:03Not Applicable
Hwebcore.dll7.0.6001.2232212,80005-Dec-200804:34x86
Iiscore.dll7.0.6001.22322189,95205-Dec-200804:34x86
W3dt.dll7.0.6001.2232223,55205-Dec-200804:34x86
IIS 7.0, ia64
Collapse this tableExpand this table
File nameFile versionFile sizeDateTimePlatform
Hwebcore.dll7.0.6001.2232237,37605-Dec-200805:44IA-64
Iiscore.dll7.0.6001.22322542,20805-Dec-200805:45IA-64
Iisstart.htmNot Applicable68918-Dec-200721:03Not Applicable
W3dt.dll7.0.6001.2232251,71205-Dec-200805:54IA-64
Welcome.pngNot Applicable184,94618-Dec-200721:03Not Applicable
Hwebcore.dll7.0.6001.2232212,80005-Dec-200804:34x86
Iiscore.dll7.0.6001.22322189,95205-Dec-200804:34x86
W3dt.dll7.0.6001.2232223,55205-Dec-200804:34x86

STATUS

Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.

REFERENCES

For more information about software update terminology, click the following article number to view the article in the Microsoft Knowledge Base:
824684  (http://support.microsoft.com/kb/824684/ ) Description of the standard terminology that is used to describe Microsoft software updates

MORE INFORMATION

Steps to reproduce this problem

To reproduce this problem, implement an ISAPI Filter that has the following code:
DWORD NotifyUrlMap (PHTTP_FILTER_CONTEXT pfc, PHTTP_FILTER_URL_MAP pvNotification)
{
pfc->ServerSupportFunction( pfc,SF_REQ_SEND_RESPONSE_HEADER,(PVOID)"302 Redirect",(ULONG_PTR)"Location: http://www.microsoft.com/\r\nContent-Length: 0\r\nContent-Type: text/html\r\n\r\n",NULL );
return SF_STATUS_REQ_FINISHED; 
};
If you test this code, you will see the following response. You should be aware that the response starts with a 200 OK header followed by the 302 Redirect header:
HTTP/1.1 200 OK
Content-Type: text/html
Last-Modified: Thu, 15 May 2008 10:25:53 GMT
Accept-Ranges: bytes
Server: Microsoft-IIS/7.0
X-Powered-By: ASP.NET
Date: Fri, 10 Oct 2008 11:25:32 GMT
Connection: close
Content-Length: 790

HTTP/1.1 302 Redirect
Location: http://www.microsoft.com/
Content-Length: 0
Content-Type: text/html

APPLIES TO
  • Microsoft Internet Information Services 7.0
Keywords: 
kbsurveynew kbhotfixserver kbautohotfix kbexpertiseinter kbqfe KB960267