Hi.
Yesterday, I upgraded our servers from version 3.0RC1 / 3.0RC2 to the final 3.0 version. Some 64bit Solaris, some 32bit Solaris.
Since the upgrade, cgi scripts cannot be executed. All requests get the following error:
HTTP 500
lscgid: request validation failed!
I have tried to debug it for a while, bu to no avail. The lshttpd process correctly dispatches requests for existing .cgi files to the lscgid handler. For non-existent files, a HTTP 404 is returned, as expected.
lscgid does very little, see the output from truss:
Searching both these forums and Google for the "request validation failed" string returns nothing.
Did something change between 3.0RC2 and 3.0 final in regard with executing CGI scripts?
Relevant snippets from our configuration httpd_config.xml:
vhconf.xml - nothing specific to CGI.
I've tried turning off all Gzip compression, no change.
We have four FCGI apps, configured as external applications, those work correctly. It's only the CGI apps, which are not spelled out, one by one, that stopped working.
Any help/suggestion is appreciated.
Thanks,
Juraj Ziegler
Yesterday, I upgraded our servers from version 3.0RC1 / 3.0RC2 to the final 3.0 version. Some 64bit Solaris, some 32bit Solaris.
Since the upgrade, cgi scripts cannot be executed. All requests get the following error:
HTTP 500
lscgid: request validation failed!
I have tried to debug it for a while, bu to no avail. The lshttpd process correctly dispatches requests for existing .cgi files to the lscgid handler. For non-existent files, a HTTP 404 is returned, as expected.
lscgid does very little, see the output from truss:
Code:
29510: accept(0, 0x00000000, 0x00000000, SOV_DEFAULT) = 1
29510: fork1() = 7244
29510: lwp_sigmask(SIG_SETMASK, 0x00000000, 0x00000000) = 0xFFBFFEFF [0x0000FFFF]
7244: fork1() (returning as child ...) = 29510
29510: close(1) = 0
7244: getpid() = 7244 [29510]
7244: lwp_self() = 1
7244: lwp_sigmask(SIG_SETMASK, 0x00000000, 0x00000000) = 0xFFBFFEFF [0x0000FFFF]
7244: fcntl(1, F_DUP2FD, 0x00000000) = 0
7244: time() = 1174908967
7244: time() = 1174908967
7244: pollsys(0x08046D70, 1, 0x08046D40, 0x00000000) = 1
7244: read(0, 0x08046E30, 84) = 84
7244: 01\0\0\003\0\0\0A001\0\010\0\0\002\0\0\011\0\f\0 P\0\0\0 P\0\0\0
7244: \0\0\0\0\0\0A00F\0\0\0\0\0\0C012\0\0\0\0 <\0\0\0\0\0\0\0 x\0\0\0
7244: \0\0\0\0\0\0\0\012 k ^ J \ ] U i ) m y v
7244: time() = 1174908967
7244: write(0, 0x08046C80, 46) = 46
7244: S t a t u s : 5 0 0\n\n l s c g i d : r e q u e s t v a l i
7244: d a t i o n f a i l e d !
7244: close(0) = 0
7244: _exit(0)
29510: Received signal #18, SIGCLD, in pollsys() [caught]
29510: siginfo: SIGCLD CLD_EXITED pid=7244 status=0x0000
Did something change between 3.0RC2 and 3.0 final in regard with executing CGI scripts?
Relevant snippets from our configuration httpd_config.xml:
Code:
<virtualHost>
<name>ADC</name>
<vhRoot>/www/adc/current</vhRoot>
<configFile>$SERVER_ROOT/conf/vhconf.xml</configFile>
<allowSymbolLink>1</allowSymbolLink>
<enableScript>1</enableScript>
<restrained>0</restrained>
<maxKeepAliveReq>100</maxKeepAliveReq>
<smartKeepAlive>1</smartKeepAlive>
<setUIDMode>0</setUIDMode>
<chrootMode>0</chrootMode>
<chrootPath></chrootPath>
<staticReqPerSec></staticReqPerSec>
<dynReqPerSec></dynReqPerSec>
<outBandwidth></outBandwidth>
<inBandwidth></inBandwidth>
</virtualHost>
Code:
<scriptHandler>
<suffix>cgi</suffix>
<type>cgi</type>
<handler>cgi</handler>
</scriptHandler>
I've tried turning off all Gzip compression, no change.
We have four FCGI apps, configured as external applications, those work correctly. It's only the CGI apps, which are not spelled out, one by one, that stopped working.
Any help/suggestion is appreciated.
Thanks,
Juraj Ziegler