You are viewing a plain text version of this content. The canonical link for it is here.
Posted to docs@httpd.apache.org by "William A. Rowe, Jr." <wr...@rowe-clan.net> on 2001/09/01 08:53:17 UTC
Win32 (OS2) /cgi-bin/ exe and bat experiment and observations
I was playing with the script-aliased container. I've removed two odder
aspects of the server behavior. One, on Win32/OS2 mod_cgi would look for
a file of the requested filename + '.exe' tacked on. That was (as the
note said) somewhat bogus, and we have a feature to allow it, so I recently
removed it.
The second, we can't multimatch just because we have a handler. If they
don't ask for a given document (script.pl) we shouldn't serve for the handler
(cgi-script). Only negotiation variables should be wildcard matched.
Of course, we deal with script.pl.en and script.pl.fr for script.pl just fine
today, those are language (content) negotated.
So I experimented with the following to prevent the "Do you want to download
this Program" message in IE, when requesting a script (thirtytwo.exe).
I wanted to grab the script as a multimatch, so here's what I tried;
<Directory "/Apache2/cgi-bin">
AllowOverride None
Options Multiviews <<< note multiviews
Order allow,deny
Allow from all
AddType text/plain .exe <<< serve up as wildcards
AddType text/plain .bat
</Directory>
Here's what thirtytwo.exe (an html cgi) serves up.
HEAD /cgi-bin/thirtytwo HTTP/1.0
HTTP/1.1 200 OK
Date: Sat, 01 Sep 2001 06:25:31 GMT
Server: Apache/2.0.26-dev (Win32)
Content-Location: thirtytwo.exe
TCN: choice
Vary: negotiate
Connection: close
Content-Type: text/html; charset=ISO-8859-1
So the test essentially worked. It also sends back text/plain as the
default, until the script itself sets the headers via util_script.c
parsing. The text/plain .bat file worked as well.
Of course, docs/cgi-examples/test-cgi.bat offers another example of using the
bogus mime header format to tell IE that text/plain content is to be shown,
not run. But notice that even that *must* strip off the extention.
So this is a rather cool option, I believe. However, it doesn't quite work
at this moment, since the redirect/subreq mechanisms all strip of the query
args and POST stuff :( Need to finish thinking through that aspect.
Trying the same with the 16 bit .exe, I get this 500 response
couldn't create child process: 22505: C:/Apache2/cgi-bin/SIXTEEN.EXE :(
So we are obviously not dealing yet with older 16 bit exe's in apr. This
may following with the Win9x port in general and cgi's (Win9x .bat files are
run by the *16* bit command shell!)
Just two cents for the night. Need to get this documented - I'll flag my own
message to follow up, and take care of it within two weeks or so if nobody else
on docs beats me to it ;) I'll start patching next weekend - this is my weekend
to play CATCHUP (and I'm not talking about bugs)!
Bill
---------------------------------------------------------------------
To unsubscribe, e-mail: apache-docs-unsubscribe@apache.org
For additional commands, e-mail: apache-docs-help@apache.org