Re: removing httpd -X from 1.3 environment

2003-10-01 Thread Stas Bekman
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

2003-10-01 Thread Geoffrey Young

+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

2003-10-01 Thread Jeff Trawick
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

2003-10-01 Thread Graham Leggett
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

2003-10-01 Thread Paul J. Reder
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

2003-10-01 Thread Graham Leggett
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

2003-10-01 Thread gregames
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

2003-10-01 Thread Sander Striker
 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..

2003-10-01 Thread Esteban Pizzini
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..

2003-10-01 Thread Bill Stoddard
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..

2003-10-01 Thread Bill Stoddard
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

2003-10-01 Thread Rodent of Unusual Size
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

2003-10-01 Thread Rodent of Unusual Size
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

2003-10-01 Thread Rodent of Unusual Size
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