Re: removing httpd -X from 1.3 environment
Geoffrey Young wrote: hi all... I was thinking recently about how with 2.0 we rely on MaxClients to control the number of child processes, but with 1.3 we rely on httpd -X. I'm not sure that we need to limit the ability of 1.3 to run multiple children if somebody comes up with a test that requires it. and we all know that httpd -X is not the same as running with a single child, so whatever the test suite is doing is not really the same as a real environment. I'm thinking/hoping that -X is a carryover from the old Apache::test environment, and nobody actually relies on -X behaviors (which would be a bad testing practice anyway :) at any rate, here is a patch that changes httpd -X to a setting that defaults to MaxClients 1. I get the same results from the perl-framework with and without the change (lots of failures currently, but they are the same failures with both setups). as far as changed behaviors, the only thing I noticed was that if some perl libraries cannot be found, the startup times out and the @INC errors are placed in the error_log. without the patch the @INC error is shown and the server exits immediately. the good thing (for me, anyway) is that r-child_terminate now works, allowing the server to change children mid-test :) +1 apache-1.3 tests fails the same way for me. I did successfully run Apache::Peek tests with your patch under 1.3. __ Stas BekmanJAm_pH -- Just Another mod_perl Hacker http://stason.org/ mod_perl Guide --- http://perl.apache.org mailto:[EMAIL PROTECTED] http://use.perl.org http://apacheweek.com http://modperlbook.org http://apache.org http://ticketmaster.com
Re: removing httpd -X from 1.3 environment
+1 apache-1.3 tests fails the same way for me. I did successfully run Apache::Peek tests with your patch under 1.3. cool. I'll commit it tomorrow then. thanks for following up :) --Geoff
Re: undefined refrences to Apache symbols
Gagan Puri wrote: I have an an application which is working with apache web server on Linux As 2.1 m/c. While compiling I have to use -Wl,-Bsymbolic option. My compiler is gcc. When I use this option try to compile my application, I get following warnings: ExAPACHE.o: In function `CExApi::GetProtInfo(tagProtocolInfo*)': ExAPACHE.o(.text+0x237): undefined reference to `ap_table_get' ExAPACHE.o(.text+0x263): undefined reference to `ap_get_server_port' ... -Wl,-Bsymbolic says when creating a shared library, bind references to global symbols to the definition within the shared library, if any. All the symbols shown above are apache symbols. How can I get rid of these symbols. If I don't use -Wl,-Bsymbolic option these warning do't come. But I have to use -Wl,-Bsymbolic in my compilation. How can I get rid of these unnecessary warnings. maybe there is another option that tells ld to ignore unresolved symbols? this is a question for GNU ld experts...
Apache won't start - shared memory problem
Hi all, My Apache server just went down, and now refuses to come up, logging the following message: [Wed Oct 01 11:16:12 2003] [error] Cannot allocate shared memory: (17)File exists There is no record of which module is emitting this message, nor does the message say which file this is referring to. Anyone know? Regards, Graham --
Re: Apache won't start - shared memory problem
The shared mem got left around after Apache crashed. Assuming you are on Linux try: ipcs # check for zero access count... ipcrm shm XX # will remove the offending shmem id ipcs will give you something like: ... 0x0102c028 776437784 rederpj 60056344 6 ... ipcrm shm 776437784 will clear it up... Graham Leggett wrote: Hi all, My Apache server just went down, and now refuses to come up, logging the following message: [Wed Oct 01 11:16:12 2003] [error] Cannot allocate shared memory: (17)File exists There is no record of which module is emitting this message, nor does the message say which file this is referring to. Anyone know? Regards, Graham -- -- Paul J. Reder --- The strength of the Constitution lies entirely in the determination of each citizen to defend it. Only if every single citizen feels duty bound to do his share in this defense are the constitutional rights secure. -- Albert Einstein
Re: Apache won't start - shared memory problem
Graham Leggett wrote: My Apache server just went down, and now refuses to come up, logging the following message: [Wed Oct 01 11:16:12 2003] [error] Cannot allocate shared memory: (17)File exists There is no record of which module is emitting this message, nor does the message say which file this is referring to. Anyone know? Turned out to be the file referred to by the SSLSessionCache parameter. Is it possible to make the error message more descriptive, so that it refers to the file by name? Is it also possible to delete this file before Apache starts up, so that this file exists problem cannot occur? I am using httpd-2.0.47-4, as provided by Redhat Rawhide. Regards, Graham --
Re: how to log what status was returned by a cgi script
Jeff Trawick wrote: a cgi script can write this in the response header: Status: nnn... it would sometimes be nice to know if the script did such a thing... (like a current problem I'm working on: where the heck did the 500 come from for this CGI; there's nothing in the error log and the few places in the server that return 500 without logging don't seem like good suspects; being able to clearly log any status set by the script would eliminate any rude finger pointing) how about in ap_scan_script_header_err_core() we set an envvar (script-status) to the value of the Status field, if provided? then in a custom log format the script-status envvar can be logged... or am I missing a way to log this info already? (not the ScriptLog stuff; this is for a production environment :) ) alternatively, ap_scan_script_header_err_core() could stick something in the error log for bad http status codes, but that isn't quite as applicable (though it is automatic) I like your alternative better, because it will just work with no fiddling necessary. What do you mean by isn't quite as applicable? Greg
RE: Tagged 2.0
From: Sander Striker [mailto:[EMAIL PROTECTED] Sent: Sunday, September 28, 2003 2:44 AM [...] Ok, I've tagged pre3. I consider this the last tag and I'd like to turn that into the next 2.0 release. Due to the received feedback I had to do a pre4 tag (STRIKER_2_0_48_PRE4). Tarballs are up at: http://www.apache.org/~striker/httpd-2.0.48-pre4/. Please give it a whirl. I'd really like to get this release out of the door. Sander
map_to_storage hook question..
Hi, Anybody can explain me what map_to_storage hook does?? or where can I find and example of its use?? Thank You!, Esteban
Re: map_to_storage hook question..
Esteban Pizzini wrote: Hi, Anybody can explain me what map_to_storage hook does?? or where can I find and example of its use?? Thank You!, Esteban One use of map_to_storage is to bypass directory walk and file walk if your handler module -knows for certain- that the request is not being served out of the Apache file space. Your module would register a translate_name hook, a map_to_storage hook and a handler. It inspects the URL in translate_name then decides whether it will serve the content or not. If it decides it will serve its own content (but not out of the Apache file system) your module drops a hint in r-request_config (from translate_name) that map_to_storage will look for. If map_to_storage sees the hint, it returns OK which causes the core_map_to_storage hook to be bypassed. At this point, your handler dang well better not DECLINE the request if it decided in translate_name that it was going to serve the request. Bill
Re: map_to_storage hook question..
Bill Stoddard wrote: Esteban Pizzini wrote: Hi, Anybody can explain me what map_to_storage hook does?? or where can I find and example of its use?? Thank You!, Esteban One use of map_to_storage is to bypass directory walk and file walk if your handler module -knows for certain- that the request is not being served out of the Apache file space. Your module would register a translate_name hook, a map_to_storage hook and a handler. It inspects the URL in translate_name then decides whether it will serve the content or not. If it decides it will serve its own content (but not out of the Apache file system) your module drops a hint in r-request_config (from translate_name) that map_to_storage will look for. If map_to_storage sees the hint, it returns OK which causes the core_map_to_storage hook to be bypassed. At this point, your handler dang well better not DECLINE the request if it decided in translate_name that it was going to serve the request. Bill To answer your 2nd question, I believe mod_proxy uses a map_to_storage hook, but I am not sure if it uses it exactly like I described above. Bill
[STATUS] (apache-1.3) Wed Oct 1 23:45:18 EDT 2003
APACHE 1.3 STATUS: -*-text-*- Last modified at [$Date: 2003/09/18 19:49:46 $] Release: 1.3.29-dev: In development 1.3.28: Tagged July 16, 2003. 1.3.27: Tagged September 30, 2002. Announced Oct 3, 2002. 1.3.26: Tagged June 18, 2002. 1.3.25: Tagged June 17, 2002. Not released. 1.3.24: Tagged Mar 21, 2002. Announced Mar 22, 2002. 1.3.23: Tagged Jan 21, 2002. 1.3.22: Tagged Oct 8, 2001. Announced Oct 12, 2001. 1.3.21: Not released. (Pulled for htdocs/manual config mismatch. t/r Oct 5, 2001) 1.3.20: Tagged and rolled May 15, 2001. Announced May 21, 2001. 1.3.19: Tagged and rolled Feb 26, 2001. Announced Mar 01, 2001. 1.3.18: Tagged and rolled Not released. (Pulled because of an incorrect unescaping fix. t/r Feb 19, 2001) 1.3.17: Tagged and rolled Jan 26, 2001. Announced Jan 29, 2001. 1.3.16: Not released. (Pulled because of vhosting bug. t/r Jan 20, 2001) 1.3.15: Not released. (Pulled due to CVS dumping core during the tagging when it reached src/os/win32/) 1.3.14: Tagged and Rolled Oct 10, 2000. Released/announced on the 13th. 1.3.13: Not released. (Pulled in the first minutes due to a Netware build bug) 1.3.12: Tagged and rolled Feb. 23, 2000. Released/announced on the 25th. 1.3.11: Tagged and rolled Jan. 19, 2000. Released/announced on the 21st. 1.3.10: Not released. (Pulled at last minute due to a build bug in the MPE port) 1.3.9: Tagged and rolled on Aug. 16, 1999. Released and announced on 19th. 1.3.8: Not released. 1.3.7: Not released. 1.3.6: Tagged and rolled on Mar. 22, 1999. Released and announced on 24th. 1.3.5: Not released. 1.3.4: Tagged and rolled on Jan. 9, 1999. Released on 11th, announced on 12th. 1.3.3: Tagged and rolled on Oct. 7, 1998. Released on 9th, announced on 10th. 1.3.2: Tagged and rolled on Sep. 21, 1998. Announced and released on 23rd. 1.3.1: Tagged and rolled on July 19, 1998. Announced and released. 1.3.0: Tagged and rolled on June 1, 1998. Announced and released on the 6th. 2.0 : Available for general use, see httpd-2.0 repository RELEASE SHOWSTOPPERS: None RELEASE NON-SHOWSTOPPERS BUT WOULD BE REAL NICE TO WRAP THESE UP: * Current vote on 3 PRs for inclusion: Bugz #17877 (passing chunked encoding thru proxy) (still checking if RFC compliant... vote is on the correctness of the patch code only). +1: jim, chuck, minfrin Bugz #9181 (Unable to set headers on non-2XX responses) +1: Martin, Jim Gnats #10246 (Add ProxyConnAllow directive) +0: Martin (or rather -.5, see dev@ Message [EMAIL PROTECTED]) * htpasswd.c and htdigest.c use tmpnam()... consider using mkstemp() when available. Message-ID: [EMAIL PROTECTED] Status: * Dean's unescaping hell (unescaping the various URI components at the right time and place, esp. unescaping the host name). Message-ID: [EMAIL PROTECTED] Status: * Martin observed a core dump because a ipaddr_chain struct contains a NULL-server pointer when being dereferenced by invoking httpd -S. Message-ID: [EMAIL PROTECTED] Status: Workaround enabled. Clean solution can come after 1.3.19 * long pathnames with many components and no AllowOverride None Workaround is to define Directory / with AllowOverride None, which is something all sites should do in any case. Status: Marc was looking at it. (Will asks 'wasn't this patched?') * Ronald Tschalär's patch to mod_proxy to allow other modules to set headers too (needed by mod_auth_digest) Message-ID: [EMAIL PROTECTED] Status: Available Patches (Most likely, will be ported to 2.0 as appropriate): * A rewrite of ap_unparse_uri_components() by Jeffrey W. Baker [EMAIL PROTECTED] to more fully close some segfault potential. Message-ID: [EMAIL PROTECTED] Status: Jim +1 (for 1.3.19), Martin +0 * Andrew Ford's patch (1999/12/05) to add absolute times to mod_expires Message-ID: [EMAIL PROTECTED] Status: Martin +1, Jim +1, Ken +1 (on concept) * Raymond S Brand's path to mod_autoindex to fix the header/readme include processing so the envariables are correct for the included documents. (Actually, there are two variants in the patch message, for two different ways of doing it.) Message-ID: [EMAIL PROTECTED] Status: Martin +1(concept) * Jayaram's patch (10/27/99) for bugfix to mod_autoindex IndexIgnore file-extension should hide the files with this file- extension in directory listings. This was NOT happening because the total filename was being compared with the file-extension. Status: Martin +1(untested), Ken +1(untested)
[STATUS] (httpd-2.0) Wed Oct 1 23:45:29 EDT 2003
APACHE 2.0 STATUS: -*-text-*- Last modified at [$Date: 2003/09/30 17:41:58 $] Release: 2.0.48 : in development 2.0.47 : released July 09, 2003 as GA. 2.0.46 : released May 28, 2003 as GA. 2.0.45 : released April 1, 2003 as GA. 2.0.44 : released January 20, 2003 as GA. 2.0.43 : released October 3, 2002 as GA. 2.0.42 : released September 24, 2002 as GA. 2.0.41 : rolled September 16, 2002. not released. 2.0.40 : released August 9, 2002 as GA. 2.0.39 : released June 17, 2002 as GA. 2.0.38 : rolled June 16, 2002. not released. 2.0.37 : rolled June 11, 2002. not released. 2.0.36 : released May 6, 2002 as GA. 2.0.35 : released April 5, 2002 as GA. 2.0.34 : tagged March 26, 2002. 2.0.33 : tagged March 6, 2002. not released. 2.0.32 : released Feburary 16, 2002 as beta. 2.0.31 : rolled Feburary 1, 2002. not released. 2.0.30 : tagged January 8, 2002. not rolled. 2.0.29 : tagged November 27, 2001. not rolled. 2.0.28 : released November 13, 2001 as beta. 2.0.27 : rolled November 6, 2001 2.0.26 : tagged October 16, 2001. not rolled. 2.0.25 : rolled August 29, 2001 2.0.24 : rolled August 18, 2001 2.0.23 : rolled August 9, 2001 2.0.22 : rolled July 29, 2001 2.0.21 : rolled July 20, 2001 2.0.20 : rolled July 8, 2001 2.0.19 : rolled June 27, 2001 2.0.18 : rolled May 18, 2001 2.0.17 : rolled April 17, 2001 2.0.16 : rolled April 4, 2001 2.0.15 : rolled March 21, 2001 2.0.14 : rolled March 7, 2001 2.0a9 : released December 12, 2000 2.0a8 : released November 20, 2000 2.0a7 : released October 8, 2000 2.0a6 : released August 18, 2000 2.0a5 : released August 4, 2000 2.0a4 : released June 7, 2000 2.0a3 : released April 28, 2000 2.0a2 : released March 31, 2000 2.0a1 : released March 10, 2000 Please consult the following STATUS files for information on related projects: * srclib/apr/STATUS * srclib/apr-util/STATUS * docs/STATUS Contributors looking for a mission: * just do an egrep on TODO, XXX and see what's there RELEASE SHOWSTOPPERS: PATCHES TO PORT FROM 2.1 [ please place file names and revisions from HEAD here, so it is easy to identify exactly what the proposed changes are! ] * Modifies the cache code to be header-location agnostic. Also fixes a number of other cache code bugs related to PR 15852 (an RFC 2616 violation). http://cvs.apache.org/viewcvs.cgi/httpd-2.0/modules/experimental/cache_storage.c.diff?r1=1.28r2=1.29 http://cvs.apache.org/viewcvs.cgi/httpd-2.0/modules/experimental/cache_storage.c.diff?r1=1.29r2=1.30 http://cvs.apache.org/viewcvs.cgi/httpd-2.0/modules/experimental/cache_util.c.diff?r1=1.27r2=1.28 http://cvs.apache.org/viewcvs.cgi/httpd-2.0/modules/experimental/mod_cache.c.diff?r1=1.74r2=1.75 http://cvs.apache.org/viewcvs.cgi/httpd-2.0/modules/experimental/mod_cache.c.diff?r1=1.75r2=1.76 http://cvs.apache.org/viewcvs.cgi/httpd-2.0/modules/experimental/mod_cache.h.diff?r1=1.39r2=1.40 http://cvs.apache.org/viewcvs.cgi/httpd-2.0/modules/experimental/mod_disk_cache.c.diff?r1=1.46r2=1.47 http://cvs.apache.org/viewcvs.cgi/httpd-2.0/modules/experimental/mod_mem_cache.c.diff?r1=1.93r2=1.94 +1: rederpj, fielding, trawick * Replace some of the mutex locking in the worker MPM with atomic operations for higher concurrency. server/mpm/worker/fdqueue.c 1.24, 1.25 +1: brianp * Rewrite how proxy sends its request to allow input bodies to morph the request bodies. Previously, if an input filter changed the request body, the original C-L would be sent which would be incorrect. Due to HTTP compliance, we must either send the body T-E: chunked or include a C-L for the request body. Connection: Close is not an option. [jerenkrantz2002/12/08 21:37:27] +1: stoddard, striker, jim -1: brianp (we need a more robust solution than what's in 2.1 right now), jerenkrantz (should be fixed, but I don't have time to do this) * Extend the SetEnvIf directive to capture subexpressions of the matched value. This is related to the backport proposal below ... ;-) modules/metadata/mod_setenvif.c r1.42 +1: nd * Allow mod_dav to do weak entity comparison functions. modules/dav/main/util.c: r1.45 [ This one is under review. Don't merge. ] +1: * mod_negotiation: parse quality values independent from the current locale and level values as integers. PR 17564. (essentially: get a rid of atof()) (2.0 + 1.3) modules/mappers/mod_negotiation.c: r1.114 +1: nd We need to decide what happens with unparsable qvalues. RFC 2616 states that q defaults to 1. (see 14.1 - 14.4). So should wrong
[STATUS] (httpd-2.1) Wed Oct 1 23:45:45 EDT 2003
APACHE 2.1 STATUS: -*-text-*- Last modified at [$Date: 2003/08/31 16:14:38 $] Release [NOTE that only Alpha/Beta releases occur in 2.1 development]: 2.1.0 : in development Please consult the following STATUS files for information on related projects: * srclib/apr/STATUS * srclib/apr-util/STATUS * docs/STATUS Contributors looking for a mission: * just do an egrep on TODO or XXX and see what's there CURRENT RELEASE NOTES: RELEASE SHOWSTOPPERS: * Handling of non-trailing / config by non-default handler is broken http://marc.theaimsgroup.com/?l=apache-httpd-devm=105451701628081w=2 * the edge connection filter cannot be removed http://marc.theaimsgroup.com/?l=apache-httpd-devm=105366252619530w=2 CURRENT VOTES: * Promote mod_cache from experimental to non-experimental status (keep issues noted below in EXPERIMENTAL MODULES as items to be addressed as a supported module). +1: jim, bnicholes -0: jerenkrantz -1: stoddard There are a couple of problems that need to be resolved before this module is moved out of experimental. 1) We need to at least review and comment on the RFC violations 2) Resolve issue of how to cache page fragements (or perhaps -if- we want to cache page fragements). Today, mod_cache/mod_mem_cache will cache #include 'virtual' requests (but not #include 'file' requests). This was accomplished by making CACHE_IN a CONTENT_SET-1 filter to force it to run before the SUBREQ_CORE filter. But now responses cannot be cached that include the effects of having been run through CONTENT_SET filters (mod_deflate, mod_expires, etc). We could rerun all the CONTENT_SET filters on the cached response, but this will not work in all cases. For example, mod_expires relies on installing the EXPIRATION filter during fixups. Contents served out of mod_cache (out of the quick_handler) bypass -all- the request line server hooks (Ryan really hated this. It is great for performance, but bad because of the complications listed above). jerenkrantz: There are a slew of RFC compliance bugs filed in Bugzilla for mod_cache (see 'RFC 2616 violations' below). I think fixing them is a pre-requisite before it isn't experimental. * httpd-std.conf and friends a) httpd-std.conf should be tailored by install (from src or binbuild) even if user has existing httpd.conf +1: trawick, slive, gregames, ianh, Ken, wrowe, jwoolley, jim, nd, erikabele wrowe - prefer httpd.default.conf to avoid ambiguity with cvs b) tailored httpd-std.conf should be copied by install to sysconfdir/examples -0: striker c) tailored httpd-std.conf should be installed to sysconfdir/examples or manualdir/exampleconf/ +1: slive, trawick, Ken, nd (prefer the latter), erikabele d) Installing a set of default config files when upgrading a server doesn't make ANY sense at all. +1: ianh - medium/big sites don't use 'standard config' anyway, as it usually needs major customizations -1: Ken, wrowe, jwoolley, jim, nd, erikabele wrowe - diff is wonderful when comparing old/new default configs, even for customized sites that ianh mentions jim - ... assuming that the default configs have been updated with the required inline docs to explain the changes * If the parent process dies, should the remaining child processes gracefully self-terminate. Or maybe we should make it a runtime option, or have a concept of 2 parent processes (one being a hot spare). See: Message-ID: [EMAIL PROTECTED] Self-destruct: Ken, Martin, Lars Not self-destruct: BrianP, Ian, Cliff, BillS Make it runtime configurable: Aaron, jim, Justin, wrowe, rederpj, nd /* The below was a concept on *how* to handle the problem */ Have 2 parents: +1: jim -1: Justin, wrowe, rederpj, nd +0: Lars, Martin (while standing by, could it do something useful?) * Make the worker MPM the default MPM for threaded Unix boxes. +1: Justin, Ian, Cliff, BillS, striker, wrowe, nd +0: BrianP, Aaron (mutex contention is looking better with the latest code, let's continue tuning and testing), rederpj, jim -0: Lars RELEASE NON-SHOWSTOPPERS BUT WOULD BE REAL NICE TO WRAP THESE UP: * Filter stacks and subrequests, redirects and fast redirects. There's at least one PR that suffers from the current unclean behaviour (which lets the server send garbage): PR 17629 nd says: Every subrequest should get