Received: by taz.hyperreal.com (8.6.12/8.6.5) id PAA16183; Sat, 6 Apr 1996 15:27:04 -0800 Received: from bauhaus.organic.com by taz.hyperreal.com (8.6.12/8.6.5) with ESMTP id PAA16174; Sat, 6 Apr 1996 15:27:03 -0800 Received: (from cliff@localhost) by bauhaus.organic.com (8.7.3/8.6.12) id PAA05634; Sat, 6 Apr 1996 15:26:53 -0800 (PST) Date: Sat, 6 Apr 1996 15:26:53 -0800 (PST) From: Cliff Skolnick To: new-httpd@apache.org Subject: WWW Form Bug Report: "in QUERY_STRING empty arguments skipped" on Solaris 2.x (fwd) Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-new-httpd@apache.org Precedence: bulk Reply-To: new-httpd@hyperreal.com Status: O X-Status: No ack sent. -- Cliff Skolnick cliff@organic.com "They that can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety." -- Benjamin Franklin, 1759 ---------- Forwarded message ---------- Date: Sat Apr 6 15:20:25 1996 From: hegedus@iworld.com To: cliff@organic.com Subject: WWW Form Bug Report: "in QUERY_STRING empty arguments skipped" on Solaris 2.x Submitter: hegedus@iworld.com Operating system: Solaris 2.x, version: Extra Modules used: mod_log_config URL exhibiting problem: Symptoms: -- calling a CGI script with /cgi-bin/prog?foo++bar+last will pass the following: argv[1]=foo argv[2]=bar argv[3]=last argv[4]= ie. skips the second empty argument The problem is in util.c:getword(). I needed a quick fix because the PLWeb search engine regularly pass empty arguments. Not knowing the inner workings of the server I duplicated the getword() function as getword_cgi() with the following modification: while ((*line)[pos] == stop) ++pos; replaced by pos++; and changed the call to getword() to getword_cgi() in util_script.c:create_argv() Let me know if I did something terribly wrong, but it works for me :-) Thanks for this great server! Peter Hegedus sysadmin,webadmin Mecklermedia Corp. -- Backtrace: -- --