[prev in list] [next in list] [prev in thread] [next in thread]
List: apache-bugdb
Subject: mod_isapi/9088: ServerSupportFunction(HSE_REQ_SEND_URL_REDIRECT_RESP) sends 200 status instead of 30
From: Ted Western <twestern () pumatech ! com>
Date: 2001-11-30 21:50:22
[Download RAW message or body]
> Number: 9088
> Category: mod_isapi
> Synopsis: ServerSupportFunction(HSE_REQ_SEND_URL_REDIRECT_RESP) sends 200 \
> status instead of 302
> Confidential: no
> Severity: serious
> Priority: medium
> Responsible: apache
> State: open
> Quarter:
> Keywords:
> Date-Required:
> Class: sw-bug
> Submitter-Id: apache
> Arrival-Date: Wed Dec 12 12:40:09 PST 2001
> Closed-Date:
> Last-Modified:
> Originator: twestern@pumatech.com
> Release: 2.0.28
> Organization:
apache
> Environment:
Win 2K SP2
VC6 SP5
> Description:
My ISAPI extension makes use of the CHttpServerContext::ServerSupportFunction to send \
a redirect message to the client (browser) using the HSE_REQ_SEND_URL_REDIRECT_RESP \
flag. According to the MSDN documentation, this is supposed to always send a 302 \
status along with the target URL in the header of the response, allowing the client \
to get to the correct URL. When I invoke my ISA with a request resulting in a \
HSE_REQ_SEND_URL_REDIRECT_RESP message, my client gets a status of 200. The browser, \
as it should, thinks its work is done and I'm stuck on a blank page as the redirect \
does not occur.
When running my ISAPI extension on IIS, a 302 code is sent, allowing for the client \
to redirect.
If I use the HSE_REQ_SEND_URL flag instead of the HSE_REQ_SEND_URL_REDIRECT_RESP flag \
in my ISA, I get the expected results, as apache performs the redirect and only sends \
the client the final URL.
> How-To-Repeat:
My url looks like: http://server/scripts/myisapi.dll/Logon?...
The request is processed by the ISAPI extension and a redirect is sent for the target \
site.
> Fix:
I'm not familiar with the Apache code that handles the redirects (and possibly all \
responses), but I'd imagine there is a struct (or similar) that holds the information \
to respond with. This struct should always be updated with the 302 return code when \
the HSE_REQ_SEND_URL_REDIRECT_RESP flag is sent to the ServerSupportFunction() \
method.
> Release-Note:
> Audit-Trail:
> Unformatted:
[In order for any reply to be added to the PR database, you need]
[to include <apbugs@Apache.Org> in the Cc line and make sure the]
[subject line starts with the report component and number, with ]
[or without any 'Re:' prefixes (such as "general/1098:" or ]
["Re: general/1098:"). If the subject doesn't match this ]
[pattern, your message will be misfiled and ignored. The ]
["apbugs" address is not added to the Cc line of messages from ]
[the database automatically because of the potential for mail ]
[loops. If you do not include this Cc, your reply may be ig- ]
[nored unless you are responding to an explicit request from a ]
[developer. Reply only with text; DO NOT SEND ATTACHMENTS! ]
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic