[1]
Consider a 16 bit executable cgi. For example, the program TEST.PAS
compiled with Borland Pascal resulting in TEST.EXE:

begin
  WriteLn('Content-type: text/html');
  WriteLn;
  WriteLn('<h1>The old Hello World test !</h1>');
end.

[2]
Consider the following lines in httpd.conf:

ScriptAlias /cgi-bin/ "C:/Arquivos de programas/Apache
Group/Apache/cgi-bin/"
ScriptAlias /cgi-16/ "C:/Apache/cgi-16/"

<Directory "C:/Arquivos de programas/Apache Group/Apache/cgi-bin">
  AllowOverride None
  Options None
</Directory>
<Directory "C:/Apache/cgi-16">
  AllowOverride None
  Options None
</Directory>

Note: Arquivos de Programas = Program Files (Portuguese)

[3]
Consider the following 2 requests:

http://localhost/cgi-bin/teste.exe
http://localhost/cgi-16/teste.exe

[4]
The first request (cgi-bin/teste.exe) gives

access.log
localhost - - [26/May/1999:13:32:09 -0300] "GET /cgi-bin/teste.exe
HTTP/1.0" 500 602

error.log
[Wed May 26 13:32:09 1999] [error] [client 127.0.0.1] Premature end of
script headers: c:/arquivos de programas/apache
group/apache/cgi-bin/teste.exe

The second request (cgi-16/teste.exe) gives

access.log
localhost - - [26/May/1999:13:32:18 -0300] "GET /cgi-16/teste.exe
HTTP/1.0" 200 37

There are no errors in this case and I can see a big "The old Hello
World test !" in browser.

[5]
Under these evidences, I can suppose
(a) Apache can't get the result of 16 bit executable cgi;
    OR
(b) Windows98 (DOS) can't send the result through environment to Apache

(a) or (b) occur when cgi directories have long or composed file name,
for instance
c:/program files/...
c:/123456789/...

Reply via email to