cgi-fcgi command line problems
djulien@apc.net
Sat, 07 Sep 96 04:58:34 GMT
From: djulien@apc.net
To: fastcgi-developers@openmarket.com
Subject: cgi-fcgi command line problems
Date: Sat, 07 Sep 96 04:58:34 GMT
Message-Id: <M.090696.215834.73@djulien.apc.net>
1. "-f" and line split is REQUIRED
----------------------------------
I got the impression from the documentation that the "-f" parameter and the
splitting of the command line into 2 lines was optional, but when I tried it, I
found that it is *required*.
If I put all the parameters on the first line and leave out the "-f", ie:
#!..../cgi-fcgi -connect sockets/whatever whatever
script source code
etc.
Unix will append the script name to the end, and then cgi-fcgi will complain
that there is an extra, unrecognized parameter and quit with an error status.
Hence, I cannot put it all on one line (which I would like to do in order to
avoid openning and reading another file).
As a work-around for this, I changed ParseArgs in cgi-fcgi.c to recognize the
parameter "-eol" and then stop parsing for parameters. So now I can put all
the parameters on the first line as follows:
#!..../cgi-fcgi -connect sockets/whatever whatever -eol
script source code
etc.
and the extra script file name parameter won't get in the way.
2. Linux command parameter concatenation
----------------------------------------
In working through the problem above, I discovered that Linux 1.2.1/Slackware
2.0.0 (and maybe other Linuxes and Unixes) actually *concatenate* all of the
parameters on the first line together into *one* entry in argv[]. For example,
for the script above, I was getting:
argv[0] = script interpreter name
argv[1] = "-connect sockets/whatever whatever -eol"
argv[2] = script path name (added by system)
As I do not usually put more than one parameter on the first line of a script,
I can't say whether this happens in other types of Unix or not.
In order to work around this problem, I added some code at the start of main()
to split argv[] entries that contained spaces (similar code appears within
ParseArgs for parsing parameters contained in an external file with "-f").
-------------------------
Has anybody else encountered these problems? Would it be possible to add these
fixes (or something better) to the next version of cgi-fcgi? The changes
described above would be transparent to anybody using the "-f" and split line
approach.
Thanks,
Don Julien
djulien@apc.net