logo       

Re: lighttpd - problems with cgi scripts: msg#00102

web.lighttpd

Subject: Re: lighttpd - problems with cgi scripts

Hello Jan,

Am Sonntag, 26. September 2004 um 10:13 schriebst du:

> On Sat, Sep 25, 2004 at 06:52:29PM -0700, Brian Dessent wrote:
>> "Gerrit P. Haase" wrote:
>>
>> > That works, thanks for pointing this out, however, lighttpd should
>> > simply give back an error instead of burning my cpu.
>>
>> I agree.

> Hmm, it is not supposed to burn the cpu and I'll take a look at the
> problem and see if I can reqproduce it.

Thanks.

>> > > This sounds suspiciously like the "SYSTEMROOT being removed from the
>> > > environment" problem.
>> >
>> > Hmmm, SYSTEMROOT:
>> > $ set | grep SYSTEMROOT
>> > SYSTEMROOT='C:\WINNT'
>>
>> That's from a normal shell prompt though, right? It must be set in the
>> environment of the CGI script that's forked from the lighttpd. Try a
>> simple CGI that just runs "printenv" and see if it's set there. The
>> reason it seems to come up in CGI scripts is that often the environment
>> is cleansed of all but certain permitted variables, and it seems that
>> SYSTEMROOT is the casualty of this. It's a situation particular to
>> Cygwin, as win32 native code would know not to remove it, whereas its
>> meaningless to stuff written for posix/unix.

> add

> #ifdef __CYGWIN__
> /* CYGWIN needs SYSTEMROOT */
> cgi_env_add(&env, "SYSTEMROOT", getenv("SYSTEMROOT"));
> #endif


> to src/cgi.c in line 640 (or in that range) and tell me if that fixes
> it.

Jau, now it works! Great fix, many thanks!


Gerrit
--
=^..^=





<Prev in Thread] Current Thread [Next in Thread>
Google Custom Search

News | FAQ | advertise