Details
Description
Currently Jetty's (6.1.2rc1) CGI servlet does not appear to set the SystemRoot variable when running on Windows. This causes some odd problems, including what appear to be DNS errors.
For example, the following script, when run under the current CGI environement...
-------------
#!/C:\Perl\bin\perl.exe
print `ping -n 1 www.funnelback.com`;
-------------
Will produce the message...
-------------
Ping request could not find host www.funnelback.com. Please check the name and try again.
-------------
Whereas
-------------
#!/C:\Perl\bin\perl.exe
print `set SystemRoot=C:
WINDOWS&& ping -n 1 www.funnelback.com`;
-------------
Will correctly produce ping output...
-------------
Pinging funnelback.com [64.72.112.53] with 32 bytes of data:
Reply from 64.72.112.53: bytes=32 time=216ms TTL=128
Ping statistics for 64.72.112.53:
Packets: Sent = 1, Received = 1, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 216ms, Maximum = 216ms, Average = 216ms
-------------
I believe it would be best if the CGI servlet could pass through the SystemRoot environment varibale by default, though in the interim a workaround is to set it via the CGI servlet's init parameters as follows.
<Call name="setInitParameter">
<Arg>ENV_SystemRoot</Arg>
<Arg>C:\WINDOWS</Arg>
</Call>