[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