* * * * * Bugs in Apache, Part II Between restoring MySQL [1] databases and dumping MySQL databases I finally tracked down an Apache bug from seven months ago [2] (as it relates to mod_blog [3]). At the time, I was testing with Apache 2.0.54, but shortly thereafter Apache 2.0.55 was released and thinking that it might have been addressed, I waited. Okay, perhaps I waited a bit too long, but hey. The problem still existed under Apache 2.0.55, and upon reporting it to the Apache Mailing List; a response came back—it might be similar to existing bug [4] first reported on September 4^th, 2003! > **From:** Joshua Slive > **To:** Apache Mailing List > **Subject:** Re: [users@httpd] Odd interaction between mod_rewrite and > mod_cgi > **Date:** Wed, 15 Feb 2006 11:48:24 -0500 > > Sounds like: http://issues.apache.org/bugzilla/show_bug.cgi?id=22898 [5] > > In general, there are not many people insterested in nph scripts anymore, > so I'd guess that little testing or debugging is done on them. They aren't > useful for very much. > Ouch. Then this rather amusing exchange took place: > **From:** Sean Conner > **To:** Apache Mailing List > **Subject:** Re: [users@httpd] Odd interaction between mod_rewrite and > mod_cgi > **Date:** Wed, 15 Feb 2006 15:21:04 -0500 (EST) > > Be that as it may, but is there some other way for a CGI (Common Gateway > Interface) script to return an HTTP (HyperText Transfer Protocol) status? > That's primarily why I use the “nph-” feature (and no, rewriting the script > in PHP is not an option). > > **From:** Joshua Slive > **To:** Apache Mailing List > **Subject:** Re: [users@httpd] Odd interaction between mod_rewrite and > mod_cgi > **Date:** Wed, 15 Feb 2006 16:51:19 -0500 > > Yes, there is a Status header, as in Status: 404 > > **From:** Sean Conner > **To:** Apache Mailing List > **Subject:** Re: [users@httpd] Odd interaction between mod_rewrite and > mod_cgi > **Date:** Wed, 15 Feb 2006 17:07:13 -0500 (EST) > > Oh wow … I'll have to try that. Is it also available in Apache 1.3? (just > on the off chance that you might know … ) > > **From:** Nick Kew > **To:** Apache Mailing List > **Subject:** Re: [users@httpd] Odd interaction between mod_rewrite and > mod_cgi > **Date:** Wed, 15 Feb 2006 22:24:36 +0000 > > Of course. It's in every version of Apache. > > More importantly, it's part of the CGI spec. That's something you should > read. > Double ouch. You see, in all the years I've had the code, I've never once read the CGI spec (Common Gateway Interface) [6]. The code I have is based off code from the old NCSA tutorial code (National Center for Supercomputing Applications) [7]. And when I needed to set the headers myself, I went through the Apache source code and found the “nph-” hack (probably back in the Apache 1.2 days). And given that I still run Apache 1.3 … Anyway. I fixed mod_blog to send the Status: header and it works as expected under both Apache 1.3 and Apache 2.0. Life is good now. Well, except for this stupid MySQL database migration. [1] http://www.mysql.com/ [2] gopher://gopher.conman.org/0Phlog:2005/07/08.1 [3] https://boston.conman.org/about/ [4] http://issues.apache.org/bugzilla/show_bug.cgi?id=22898 [5] http://issues.apache.org/bugzilla/show_bug.cgi?id=22898 [6] http://hoohoo.ncsa.uiuc.edu/cgi/interface.html [7] ftp://ftp.ncsa.uiuc.edu/Web/httpd/Unix/ncsa_httpd/cgi/ncsa-default.tar.Z Email Sean Conner at sean@conman.org .