Re: sticky preferences in Apache-Test

2004-01-07 Thread Stas Bekman
OK, here is a an extended version of Randy's original work to be able to save 
and reuse A-T config. I've added first time interactive configuration feature 
(similar to CPAN.pm). It took me a long time to polish it as there are so many 
possible cases on how this new feature can be used, it was pretty tricky. I 
haven't quite tested -save too. Also there could be some issues with win32, 
I'm sure Randy will post a fix. It's a pretty big patch, let me know if you 
want me to commit it and we will take it from there, making it easier to users 
to test it. We probably need to polish it somewhat.

Also notice that I did a few tweaks to mp2 source to support new A-T features. 
so you need to apply it from modperl-2.0, but you can and should test in 
Apache-Test/ as well.

I did various tests including:
1. 'make test' from Apache-Test.
   o delete blib
   o delete local lib/Apache/TestConfigData.pm
   o delete global Apache/TestConfigData.pm
1a - interactive config should kick in first time
1b - second time it should run without interactive config
1c - run 'make install',
 o delete blib
 o delete local lib/Apache/TestConfigData.pm
 'make test' should run without interactive config
1d - now remove the globally installed Apache/TestConfigData.pm,
 and run 't/TEST -httpd /path'
 interactive config shouldn't kick in
2. repeat 1 but replace 'make test' with 't/TEST'
3. 'make test' from modperl-2.0, first
   o delete local lib/Apache/TestConfigData.pm
   o delete global Apache/TestConfigData.pm
3a - interactive config shouldn't kick in first time,
 since we explicitly path -httpd behind the scenes
3b - 'make install' (which installs a custom config),
 now build mod_perl against a different httpd path, make sure
 that 'make test' uses that different httpd path and not the one
 from the custom config
4. custom config wasn't done during install of Apache-Test (e.g. rpm
   binary package).
   o delete global Apache/TestConfigData.pm
   pick some module which uses Apache-Test
4a. run 'make test' - interactive config should kick in
   make sure that it was saved in ~/.apache-test/Apache/TestConfigData.pm
   (because there is no global config)
4b. run 'make test' - interactive config should not kick in second time
5. -save option (test to be written) main issue is to avoid the situation
when 'Apache/TestConfigData.pm' was written to a root owned directory
and a non-root user is trying to -save (need to save into
~/.apache-test/Apache/TestConfigData.pm, if the custom_config_path
returns a path owned by root).
ok here it the patch:
Index: Apache-Test/Makefile.PL
===
RCS file: /home/cvs/httpd-test/perl-framework/Apache-Test/Makefile.PL,v
retrieving revision 1.15
diff -u -r1.15 Makefile.PL
--- Apache-Test/Makefile.PL 6 Jan 2004 19:17:59 -   1.15
+++ Apache-Test/Makefile.PL 7 Jan 2004 03:46:57 -
@@ -12,12 +12,14 @@
 use ExtUtils::MakeMaker;
 use Symbol;
+use File::Spec::Functions qw(catfile);
+use FindBin;
 use Apache::TestMM qw(test); #enable 'make test'
+use Apache::TestRun;
 my $VERSION;
-
 Apache::TestMM::filter_args();
 my @scripts = qw(t/TEST);
@@ -35,6 +37,8 @@
 add_Apache__test_target();
 }
+write_custom_config_file_stub();
+
 WriteMakefile(
 NAME  = 'Apache::Test',
 VERSION   = $VERSION,
@@ -99,3 +103,17 @@
 $string;
 };
 }
+
+# write the custom test file so it'll be copied to blib if updated
+# during 'make test' and then installed system-wide
+sub write_custom_config_file_stub {
+# It doesn't matter whether it gets written under modperl-2.0/lib
+# or Apache-Test/lib root, since Apache::TestRun uses the same
+# logic and will update that file with real config data, which
+# 'make install' will then pick and install system-wide
+my $path = catfile $FindBin::Bin, lib,
+Apache::TestRun::CUSTOM_CONFIG_FILE;
+# write an empty stub
+Apache::TestRun::custom_config_write($path, '');
+}
+
Index: Apache-Test/lib/Apache/TestConfig.pm
===
RCS file: 
/home/cvs/httpd-test/perl-framework/Apache-Test/lib/Apache/TestConfig.pm,v
retrieving revision 1.192
diff -u -r1.192 TestConfig.pm
--- Apache-Test/lib/Apache/TestConfig.pm	5 Jan 2004 23:40:53 -	1.192
+++ Apache-Test/lib/Apache/TestConfig.pm	7 Jan 2004 03:46:58 -
@@ -17,6 +17,9 @@
 use constant IS_MOD_PERL_2_BUILD = IS_MOD_PERL_2 
 require Apache::Build  Apache::Build::IS_MOD_PERL_BUILD();

+use constant IS_APACHE_TEST_BUILD =
+grep { -e $_/lib/Apache/TestConfig.pm } qw(. ..);
+
 use Symbol ();
 use File::Copy ();
 use File::Find qw(finddepth);
@@ -305,20 +308,6 @@
 $vars-{target} ||= (WIN32 ? 'Apache.exe' : 'httpd');
-unless ($vars-{httpd}) {
-#sbindir should be bin/ with the default layout
-#but its eaiser to workaround apxs than fix apxs
-for my $dir (map { $vars-{$_} 

Re: [A-T] adjusting APACHE and APXS env vars

2004-01-07 Thread Stas Bekman
Geoffrey Young wrote:
Stas Bekman wrote:
Moreover the prefix
ideally should be: APACHE_TEST_ and not APACHE_, since we already have a
bunch of env vars which start with APACHE_TEST_

Though I'm in favor to just drop them, making
everybody move to the better API.

+1
Thanks Geoff. I'll wait for the dust around the new changes in A-T to settle 
down and then change it.

__
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: sticky preferences in Apache-Test

2004-01-07 Thread Geoffrey Young

 committed. looking forward to hear about the odd parts. 

the first thing that strikes me is that when I build mod_perl with
MP_APXS=/foo/bin/apxs then make  make test I get the dialogue asking me to
choose httpd and apxs binaries.

I don't think we want a prompt for the mod_perl test suite - it should be
obvious that I want to use the binaries I'm building mod_perl against.

--Geoff



Re: sticky preferences in Apache-Test

2004-01-07 Thread Geoffrey Young


Geoffrey Young wrote:
committed. looking forward to hear about the odd parts. 
 
 
 the first thing that strikes me is that when I build mod_perl with
 MP_APXS=/foo/bin/apxs then make  make test I get the dialogue asking me to
 choose httpd and apxs binaries.
 
 I don't think we want a prompt for the mod_perl test suite - it should be
 obvious that I want to use the binaries I'm building mod_perl against.

actually, it seems a bit worse than that - I'm stuck in an endless loop and
the test suite never runs.  hmph.

--Geoff



Save brigade and buckets

2004-01-07 Thread Brian Akins
This may not be apache-dev related, but I do not know where else to ask it.

Is it possible to save an entire bucket bridade (including it's buckets) 
across requests.  I looked at  ap_save_brigade, but I'm sure that will 
work.  It seems that the brigades are always tied to a connection.

Thanks.

--
Brian Akins
Senior Systems Engineer
CNN Internet Technologies


SSL error

2004-01-07 Thread Nedelcho Stanev



Hello All,

I already read some emails about similar 
problem
but i still get it even that i follow some 
recomendations.
so i have curl library compiled with ssl support ( 
curl 7.10.8, open ssl 0.9.7b )
on Interix SFU ( 3.5 ) and i have sendmail ( 
8.12.10 )
finaly i have plug-in for sendmail ( milter ) which 
use curl library
to send requests to apache ( 2.0.47 with mod_ssl 
)
first 4-5-6 requests are processed 
well
then i go in loop and got a lot of SSL: 
error::lib(0):func(0):reason(0) errors from Curl.
i already raise number of MaxClients in Apache to 
64
but still have probs.
situation is difficult here because i have curl on 
sfu apache on win32 subsystem
and it's hard to debug / understand what exactly 
happens.

Also, in some moment apache can stop to accept 
connecitons at all and i get
connection refused as error from 
apache.

Any ideas/help ?


Nedelcho Stanev
AtlanticSky Corporation



Re: Save brigade and buckets

2004-01-07 Thread Nick Kew
On Wed, 7 Jan 2004, Brian Akins wrote:

 This may not be apache-dev related, but I do not know where else to ask it.

apache-modules maybe?

 Is it possible to save an entire bucket bridade (including it's buckets)
 across requests.  I looked at  ap_save_brigade, but I'm sure that will
 work.  It seems that the brigades are always tied to a connection.

ICBW here, but ...

Brigades are created on a pool.  When the pool dies, so does the
brigade.  Most brigades are created on the Request or Connection
pool, so die with the request or connection.

ap_save_brigade lets you save a brigade into another brigade.
To make that work across requests, you should be able to save
to a brigade on the server pool.

However, that still doesn't help if you want the saved brigade to
be seen by a subsequent request, because that'll be handled by
a random server, likely not the one whose pool you used.
Your best bet may be to try and use a persistent connection,
and handle breaking the connection as an error.

-- 
Nick Kew




Re: [1.3] any reasons not to switch to hsregex on Solaris?

2004-01-07 Thread Jeff Trawick
Jeff Trawick wrote:
We use hsregex on older Solaris (2.0-2.5 or something like that). 
Theoretically maybe something stops working or starts working when the 
switch is made, but beyond that theoretical possibility does anyone have 
real knowledge that there is a non-trivial likelihood of that occurring 
or that actual problems have been seen when this was done?
just to follow up on a previous stupid question:

100% likelihood of binary compatibility breakage since regmatch_t size 
changes, and Apache modules deal with size and layout of that structure :)



Re: Save brigade and buckets

2004-01-07 Thread Brian Akins
Nick Kew wrote:

ICBW here, but ...

Brigades are created on a pool.  When the pool dies, so does the
brigade.  Most brigades are created on the Request or Connection
pool, so die with the request or connection.
So, if I created a bridage like so:

 bb =apr_brigade_create(r-server-pool, r-connection-bucket_alloc);

The brigade would stiil be functional after the connection went away? 
 IOW, is a brigade dependent upon the buckuet_alloc after the brigade 
is created?

However, that still doesn't help if you want the saved brigade to
be seen by a subsequent request, because that'll be handled by
a random server, 
For my uses it actually would help alot if I created my own longlived pool.

Thanks.

--
Brian Akins
Senior Systems Engineer
CNN Internet Technologies


Re: Save brigade and buckets

2004-01-07 Thread Cliff Woolley
On Wed, 7 Jan 2004, Brian Akins wrote:

 This may not be apache-dev related, but I do not know where else to ask it.
 Is it possible to save an entire bucket bridade (including it's buckets)
 across requests.  I looked at  ap_save_brigade, but I'm sure that will
 work.  It seems that the brigades are always tied to a connection.

Brigades are tied to the pool in which they are created.  Buckets for the
most part have no inherent lifespan, other than the fact that if you leave
them in a brigade and destroy the brigade, the buckets in it will be
deleted.  (The exception is that you should setaside each bucket into
the new pool to make sure any underlying data lives as long as the bucket
itself does.)  Exactly what kind of lifespan are you wanting for your
brigade?  It should just be a matter of getting a pool with that lifespan,
making a brigade in it, and calling setaside on the buckets and then
moving them over to that new brigade.  That's basically what
ap_save_brigade() does.

--Cliff


Re: Save brigade and buckets

2004-01-07 Thread Cliff Woolley
On Wed, 7 Jan 2004, Brian Akins wrote:

 So, if I created a bridage like so:

   bb =apr_brigade_create(r-server-pool, r-connection-bucket_alloc);

 The brigade would stiil be functional after the connection went away?
   IOW, is a brigade dependent upon the buckuet_alloc after the brigade
 is created?

Yes but you're just askin for a memory leak if you do that.  :)


Re: log_error_core escaping change broke things

2004-01-07 Thread Geoffrey Young

 Stas, we have closed a well known and remotely exploitable security leak. This
 goes straight over comfort. If you don't like it, provide an alternative
 solution. Just nagging or trying to talk the problem away doesn't help.

is creating a compile-time flag to disable the new-default behavior a simple
solution that might make everyone happy?

--Geoff
Index: server/main.c
===
RCS file: /home/cvspublic/httpd-2.0/server/main.c,v
retrieving revision 1.152
diff -u -r1.152 main.c
--- server/main.c   5 Jan 2004 10:37:25 -   1.152
+++ server/main.c   7 Jan 2004 20:29:43 -
@@ -277,6 +277,10 @@
 #ifdef SERVER_CONFIG_FILE
 printf( -D SERVER_CONFIG_FILE=\ SERVER_CONFIG_FILE \\n);
 #endif
+
+#ifdef UNESCAPED_ERROR_LOG
+printf( -D UNESCAPED_ERROR_LOG\n);
+#endif
 }
 
 static void destroy_and_exit_process(process_rec *process,
Index: server/log.c
===
RCS file: /home/cvspublic/httpd-2.0/server/log.c,v
retrieving revision 1.138
diff -u -r1.138 log.c
--- server/log.c1 Jan 2004 13:26:23 -   1.138
+++ server/log.c7 Jan 2004 20:29:44 -
@@ -402,7 +402,7 @@
const request_rec *r, apr_pool_t *pool,
const char *fmt, va_list args)
 {
-char errstr[MAX_STRING_LEN], scratch[MAX_STRING_LEN];
+char errstr[MAX_STRING_LEN];
 apr_size_t len, errstrlen;
 apr_file_t *logf = NULL;
 const char *referer;
@@ -539,16 +539,27 @@
 }
 
 errstrlen = len;
+#ifdef UNESCAPED_ERROR_LOG
+len += apr_vsnprintf(errstr + len, MAX_STRING_LEN - len, fmt, args);
+
+if (r  (referer = apr_table_get(r-headers_in, Referer))) {
+len += apr_snprintf(errstr + len, MAX_STRING_LEN - len,
+, referer: %s, referer);
+}
+#else
 if (apr_vsnprintf(scratch, MAX_STRING_LEN - len, fmt, args)) {
+char scratch[MAX_STRING_LEN];
 len += ap_escape_errorlog_item(errstr + len, scratch,
MAX_STRING_LEN - len);
 }
 
 if (   r  (referer = apr_table_get(r-headers_in, Referer))
  ap_escape_errorlog_item(scratch, referer, MAX_STRING_LEN - len)) {
+char scratch[MAX_STRING_LEN];
 len += apr_snprintf(errstr + len, MAX_STRING_LEN - len,
 , referer: %s, scratch);
 }
+#endif
 
 /* NULL if we are logging to syslog */
 if (logf) {


Re: Save brigade and buckets

2004-01-07 Thread Ian Holsman
Brian Akins wrote:
This may not be apache-dev related, but I do not know where else to ask it.

Is it possible to save an entire bucket bridade (including it's buckets) 
across requests.  I looked at  ap_save_brigade, but I'm sure that will 
work.  It seems that the brigades are always tied to a connection.

Thanks.



Hi Brian.
you may want to look at how mod_mem_cache handles storing buckets for 
longer periods that than the request itself.

regards
Ian


[PATCH] raise MAX_SERVER_LIMIT

2004-01-07 Thread Colm MacCarthaigh

Not entirely serious, but today, we actually hit this, in production :)
The hardware, a dual 2Ghz Xeon with 12Gb RAM with Linux 2.6.1-rc2 coped,
and remained responsive. So 20,000 may no longer be outside the realms
of what administrators reasonably desire to have.

Index: server/mpm/prefork/prefork.c
===
RCS file: /home/cvspublic/httpd-2.0/server/mpm/prefork/prefork.c,v
retrieving revision 1.286
diff -u -u -r1.286 prefork.c
--- server/mpm/prefork/prefork.c1 Jan 2004 13:26:25 -
1.286
+++ server/mpm/prefork/prefork.c7 Jan 2004 21:24:55 -
@@ -123,7 +123,7 @@
  * some sort of compile-time limit to help catch typos.
  */
 #ifndef MAX_SERVER_LIMIT
-#define MAX_SERVER_LIMIT 2
+#define MAX_SERVER_LIMIT 10
 #endif
 
 #ifndef HARD_THREAD_LIMIT
-- 
Colm MacCárthaighPublic Key: [EMAIL PROTECTED]


2.0.48 worker mpm on RH3 NPTL results

2004-01-07 Thread Jean-Jacques Clar


Attached are 2.0.48 numbers on RH AS 2.1 and 3.0.
Apache is build with worker MPM and default options on both versions.

C:
Apache is servicing more requests per secon 2.1 on 1 and 2 CPUs, 3.0 is picking up the slack between 2 and 4 CPUs.
Prefork still serving static requests faster than worker (6300 req/sec on RH 2.1 on 8 CPUs). 
I was expecting better results on 3.0, 1 and 2 CPUs results are disapointing to me.

Q:
No tweaking was done on both versions of RH.
Should I try using special configparms that will help the NPTL?

JJ

RedHat 2.1vs3.0 static Ap-2.0.48.pdf
Description: Adobe PDF document


Re: apache 2 module performance problem

2004-01-07 Thread Cliff Woolley
On Thu, 8 Jan 2004, Jessica Wei wrote:

 Our campany has an application server. We write an apache module to
 direct certain extension file requests to our application server. The
 module works fine funtionally. But recently we got some performance
 problem. The module works fine by itself but it causes other cgi stuff -
 perl and shell scripts - to run very very slowly. They take about 10 -
 15 seconds to respond. If the Apache server didn't load our module, the
 other cgi stuff works perfectly. It seems the module has some problem.
 But we really don't know what cause it. Could somebody give us any clue?

Can you run an strace or trap it in the debugger and find out exactly
what's going on when it pauses?

--Cliff


[STATUS] (apache-1.3) Wed Jan 7 23:45:05 EST 2004

2004-01-07 Thread Rodent of Unusual Size
APACHE 1.3 STATUS:  -*-text-*-
  Last modified at [$Date: 2003/11/27 17:03:36 $]

Release:

   1.3.30-dev: In development
   1.3.29: Tagged October 24, 2003. Announced Oct 29, 2003.
   1.3.28: Tagged July 16, 2003. Announced ??
   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:
  *  Bugz: 24483

RELEASE NON-SHOWSTOPPERS BUT WOULD BE REAL NICE TO WRAP THESE UP:

   * isn't ap_die() broken with recognizing recursive errors
   Message-Id: [EMAIL PROTECTED]
+1: jeff, jim

   * 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-

[STATUS] (httpd-2.0) Wed Jan 7 23:45:10 EST 2004

2004-01-07 Thread Rodent of Unusual Size
APACHE 2.0 STATUS:  -*-text-*-
Last modified at [$Date: 2004/01/07 02:49:45 $]

Release:

2.0.49  : in development
2.0.48  : released October 29, 2003 as GA.
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 or XXX in the source.

* Review the PatchAvailable bugs in the bug database.
  Append a comment saying Reviewed and tested.

* Open bugs in the bug database.

RELEASE SHOWSTOPPERS:

  PR 24469, broken reverse lookups with IPv4-mapped addrs on old OS X
The autoconf check added between 2.0.47 and 2.0.48 isn't
sufficient for catching the OS X problem, because building the
IPv4 numeric address string from IPv4-mapped address would work
but actually resolving the host would not.  To catch the check
via retcode, you have to specify the NI_NAMEREQD flag.

PATCHES TO BACKPORT FROM 2.1
  [ please place file names and revisions from HEAD here, so it is easy to
identify exactly what the proposed changes are! ]

* Move SSLRandomSeed out of the IfDefine SSL container to support
  starting without SSL on platforms with no /dev/random equivalent
  but a statically compiled-in mod_ssl.  PR: 25867
  
http://cvs.apache.org/viewcvs.cgi/httpd-2.0/docs/conf/ssl-std.conf.in?r1=1.4r2=1.5
  +1: erikabele

* Fix segfault in mod_mem_cache cache_insert() due to cache size
  becoming negative.  PR: 21285, 21287
  
http://cvs.apache.org/viewcvs.cgi/httpd-2.0/modules/experimental/mod_mem_cache.c?r1=1.99r2=1.100
  +1: stoddard, rederpj

* 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, ianh

* 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 

[STATUS] (httpd-2.1) Wed Jan 7 23:45:15 EST 2004

2004-01-07 Thread Rodent of Unusual Size
APACHE 2.1 STATUS:  -*-text-*-
Last modified at [$Date: 2004/01/04 15:08:00 $]

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 in the source.

* Review the PatchAvailable bugs in the bug database.
  Append a comment saying Reviewed and tested.

* Open bugs in the bug database.

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:

* Patches submitted to the bug database: