[RELEASE CANDIDATE] Apache-Test-1.27 RC2

2005-10-12 Thread Philip M. Gollucci

A release candidate for Apache-Test 1.27 is now available.

  http://people.apache.org/~pgollucci/at/Apache-Test-1.27-RC2.tar.gz

Please take the time to exercise the candidate through all your existing
applications that use Apache-Test and report back successes or failures.

This candidate contains the following fixes found from RC1:
http://svn.apache.org/viewcvs?rev=293485view=rev
http://svn.apache.org/viewcvs?rev=314992view=rev



Changes since 1.26:
localize ScriptSock directive to always point to t/logs/cgisock
regardless of inherited and custom mod_cgid settings
[Geoffrey Young]

Prevent the config file from being overwritten
on platforms such as WIN32 under certain conditions.
[Randy Kobes]

make sure that the TESTS Makefile.PL parameter is properly
recognized [Christopher H. Laco apache-test chrislaco.com]

Add the output of ldd(unix/cygwin) and otool -L (darwin)
for httpd to the mp2bug report script.
[Philip M. Gollucci]

fall back on using httpd-defined HTTPD_ROOT as the base for
httpd.conf if all other options fail.  [Geoffrey Young]


--
END

What doesn't kill us can only make us stronger.
Nothing is impossible.

Philip M. Gollucci ([EMAIL PROTECTED]) 301.254.5198
Consultant / http://p6m7g8.net/Resume/
Senior Developer / Liquidity Services, Inc.
  http://www.liquidityservicesinc.com
   http://www.liquidation.com
   http://www.uksurplus.com
   http://www.govliquidation.com
   http://www.gowholesale.com


Re: [RELEASE CANDIDATE] Apache-Test-1.27 RC2

2005-10-12 Thread Christopher H. Laco
Philip M. Gollucci wrote:
 A release candidate for Apache-Test 1.27 is now available.
 
   http://people.apache.org/~pgollucci/at/Apache-Test-1.27-RC2.tar.gz
 
 Please take the time to exercise the candidate through all your existing
 applications that use Apache-Test and report back successes or failures.
 
 This candidate contains the following fixes found from RC1:
 http://svn.apache.org/viewcvs?rev=293485view=rev
 http://svn.apache.org/viewcvs?rev=314992view=rev
 
 
 
 Changes since 1.26:
 localize ScriptSock directive to always point to t/logs/cgisock
 regardless of inherited and custom mod_cgid settings
 [Geoffrey Young]
 
 Prevent the config file from being overwritten
 on platforms such as WIN32 under certain conditions.
 [Randy Kobes]
 
 make sure that the TESTS Makefile.PL parameter is properly
 recognized [Christopher H. Laco apache-test chrislaco.com]
 
 Add the output of ldd(unix/cygwin) and otool -L (darwin)
 for httpd to the mp2bug report script.
 [Philip M. Gollucci]
 
 fall back on using httpd-defined HTTPD_ROOT as the base for
 httpd.conf if all other options fail.  [Geoffrey Young]
 
 

All tests pass on Ubuntu 5.04 with 2.0.54 prefork and Apache 1.3.33,
Perl 5.8.4.

All tests pass on FreeBSD 5.4-STABLE, Apache 2.0.54 prefork, Perl 5.8.4.

All tests pass on Windows XP, Apache 1.3.33, and Perls 5.8.6 and 5.6.1.

-=Chris



smime.p7s
Description: S/MIME Cryptographic Signature


[STATUS] (httpd-test: flood) Wed Oct 12 23:53:48 2005

2005-10-12 Thread Rodent of Unusual Size
flood STATUS:   -*-text-*-
Last modified at [$Date: 2004-11-24 19:36:41 -0500 (Wed, 24 Nov 2004) $]

Release:

1.0:   Released July 23, 2002
milestone-03:  Tagged January 16, 2002
ASF-transfer:  Released July 17, 2001
milestone-02:  Tagged August 13, 2001
milestone-01:  Tagged July 11, 2001 (tag lost during transfer)

RELEASE SHOWSTOPPERS:

* Everything needs to work perfectly

Other bugs that need fixing:

* I get a SIGBUS on Darwin with our examples/round-robin-ssl.xml
  config, on the second URL. I'm using OpenSSL 0.9.6c 21 dec 2001.
  
* iPlanet sends Content-length - there is a hack in there now
  to recognize it.  However, all HTTP headers need to be normalized
  before checking their values.  This isn't easy to do.  Grr.

* OpenSSL 0.9.6
  Segfaults under high load.  Upgrade to OpenSSL 0.9.6b.
   Aaron says: I just found a big bug that might have been causing
   this all along (we weren't closing ssl sockets).
   How can I reproduce the problem you were seeing
   to verify if this was the fix?

* SEGVs when /tmp/.rnd doesn't exist are bad. Make it configurable
  and at least bomb with a good error message. (See Doug's patch.)
   Status: This is fixed, no?

* If APR has disabled threads, flood should as well. We might want
  to have an enable/disable parameter that does this also, providing
  an error if threads are desired but not available.

* flood needs to clear pools more often. With a long running test
  it can chew up memory very quickly. We should just bite the bullet
  and create/destroy/clear pools for each level of our model:
  farm, farmer, profile, url/request-cycle, etc.

* APR needs to have a unified interface for ephemeral port
  exhaustion, but aparently Solaris and Linux return different
  errors at the moment. Fix this in APR then take advantage of
  it in flood.

* The examples/analyze-relative scripts fail when there are less
  than 5 unique URLs.

Other features that need writing:

* More analysis and graphing scripts are needed

* Write robust tool (using tethereal perhaps) to take network dumps 
  and convert them to flood's XML format.
Status: Justin volunteers.  Aaron had a script somewhere that is
a start. Jacek is working on a Mozilla application, codename
Flood URL bag (much like Live HTTP Headers) and small
HTTP proxy.

* Get chunked encoding support working.
Status: Justin volunteers.  He got sidetracked by the httpd
implementation of input filtering and never finished 
this.  This is a stopgap until apr-serf is completed.

* Maybe we should make randfile and capath runtime directives that
  come out of the XML, instead of autoconf parameters.

* We are using apr_os_thread_current() and getpid() in some places
  when what we really want is a GUID. The GUID will be used to
  correlate raw output data with each farmer. We may wish to print
  a unique ID for each of farm, farmer, profile, and url to help in
  postprocessing.

* We are using strtol() in some places and strtoll() in others.
  Pick one (Aaron says strtol(), but he's not sure).

* Validation of responses (known C-L, specific strings in response)
   Status: Justin volunteers

* HTTP error codes (ie. teach it about 302s)
   Justin says: Yeah, this won't be with round_robin as implemented.  
Need a linked list-based profile where we can insert 
new URLs into the sequence.

* Farmer (Single-thread, multiple profiles)
   Status: Aaron says: If you have threads, then any Farmer can be
   run as part of any Farm. If you don't have threads, you can
   currently only run one Farmer named Joe right now (this will
   be changed so that if you don't have threads, flood will attempt
   to run all Farmers in serial under one process).

* Collective (Single-host, multiple farms)
  This is a number of Farms that have been fork()ed into child processes.

* Megaconglomerate (Multiple hosts each running a collective)
  This is a number of Collectives running on a number of hosts, invoked
  via RSH/SSH or maybe even some proprietary mechanism.

* Other types of urllists
a) Random / Random-weighted
b) Sequenced (useful with cookie propogation)
c) Round-robin
d) Chaining of the above strategies
  Status: Round-robin is complete.

* Other types of reports
  Status: Aaron says: simple reports are functional. Justin added
  a new type that simply prints the approx. timestamp when
  the test was run, and the result as OK/FAIL; it is called
  easy reports (see flood_easy_reports.h).

[STATUS] (httpd-test: perl-framework) Wed Oct 12 23:55:05 2005

2005-10-12 Thread Rodent of Unusual Size
httpd-test/perl-framework STATUS:   -*-text-*-
Last modified at [$Date: 2004-11-24 19:36:41 -0500 (Wed, 24 Nov 2004) $]

Stuff to do:
* finish the t/TEST exit code issue (ORed with 0x2C if
  framework failed)

* change existing tests that frob the DocumentRoot (e.g.,
  t/modules/access.t) to *not* do that; instead, have
  Makefile.PL prepare appropriate subdirectory configs
  for them.  Why?  So t/TEST can be used to test a
  remote server.

* problems with -d perl mode, doesn't work as documented
  Message-ID: [EMAIL PROTECTED]
  Date: Sat, 20 Oct 2001 12:58:33 +0800
  Subject: Re: perldb

Tests to be written:

* t/apache
  - simulations of network failures (incomplete POST bodies,
chunked and unchunked; missing POST bodies; slooow
client connexions, such as taking 1 minute to send
1KiB; ...)

* t/modules/autoindex
  - something seems possibly broken with inheritance on 2.0

* t/ssl
  - SSLPassPhraseDialog exec:
  - SSLRandomSeed exec:


Re: [RELEASE CANDIDATE] Apache-Test-1.27 RC2

2005-10-12 Thread Randy Kobes

On Wed, 12 Oct 2005, Philip M. Gollucci wrote:


A release candidate for Apache-Test 1.27 is now available.

 http://people.apache.org/~pgollucci/at/Apache-Test-1.27-RC2.tar.gz

Please take the time to exercise the candidate through all your existing
applications that use Apache-Test and report back successes or failures.


Builds and tests fine on
- linux: Apache/2.0.54 (prefork)
- win32: Apache/2.0.54 (winnt)

--
best regards,
randy


Re: Can't locate object method FIRSTKEY

2005-10-12 Thread Herve Guillemet

On Fri, 7 Oct 2005, Joe Schaefer wrote:


Herve Guillemet [EMAIL PROTECTED] writes:


Can't locate object method FIRSTKEY via package
APR::Request::Param::Table

when I try something like :

my $req =  APR::Request::Apache2-handle($r);
my $table = $req-param;
my $fk = each %$table;

While using Apache2::Request does work.

How could this be ?


Probably because APR::Request::Param isn't loaded, but I've
patched trunk so that shouldn't be required in the coming 2.07 release
(APR::Request::Param::Table is now contained in APR::Request).



Thanks, use APR::Request::Param does solve the problem.
The same happens for APR::Request::Cookie and might need to be fixed too.


what to do about rfc 2047?

2005-10-12 Thread Joe Schaefer
Listed in the TODO section of STATUS is this:

  - Implement (some of) RFC 2047 in the multipart parser.

e.g.

  Content-Disposition: name=foo filename==?iso-8859-1?q?foo.txt?=

Should we try and decode filename to foo.txt, or leave it encoded?

I think we need to settle this issue before doing a non-dev release,
since IMO this would be a major API change (not something we could roll
into a minor or patchlevel bump).

Thoughts?
-- 
Joe Schaefer



Re: svn commit: r315063 - /httpd/apreq/trunk/Makefile.PL

2005-10-12 Thread Philip M. Gollucci

[EMAIL PROTECTED] wrote:

Author: joes
Date: Wed Oct 12 15:29:53 2005
New Revision: 315063

URL: http://svn.apache.org/viewcvs?rev=315063view=rev
Log:
Fetch the --with-apache2-apxs argument from
Apache2::BuildConfig if none is given on the 
command line.  This should allow the CPAN

install to be fully automated.

I still owe you that --with-mm-opts patch for Makefile.PL


--
END

What doesn't kill us can only make us stronger.
Nothing is impossible.

Philip M. Gollucci ([EMAIL PROTECTED]) 301.254.5198
Consultant / http://p6m7g8.net/Resume/
Senior Developer / Liquidity Services, Inc.
  http://www.liquidityservicesinc.com
   http://www.liquidation.com
   http://www.uksurplus.com
   http://www.govliquidation.com
   http://www.gowholesale.com


Re: [PATCH] Bug 36816: balancer_manager doesn't work if worker name

2005-10-12 Thread Ruediger Pluem


On 10/12/2005 12:28 AM, Jim Jagielski wrote:
 Ruediger Pluem wrote:

[..cut..]

BTW: I just noticed that

c = strchr(url, ':');
if (c == NULL || c[1] != '/' || c[2] != '/' || c[3] == '\0')
   return NULL;

in ap_proxy_get_worker of proxy_util.c seem to be unneeded now
(Only came to my mind as I saw your commit mail, weird. )
If you agree I will remove them tomorrow as a clean-up.

 
 
 It's a quick way, I think, I avoiding bogus urls (one's that
 lack schemes) without wasting time with the various
 strncasecmps.

Yes, this is true, but how often will this quick way be used in
a correctly configured system?

 
 Of course, that get's me thinking... maybe strncmp() is more
 correct. We want to be case ignorant with hostname but NOT
 with path. And, iirc, we force the hostname in name to be
 lowercase. Let me look into that :)
 

Very good point. From what I see in ap_proxy_add_worker we force
the hostname and only the hostname to be lowercase by
parsing / unparsing the URL, BUT:

1. We do not do so currently with the right side of ProxyPass (real name).
2. We not do this in proxy_handler with the URL we pass to to 
ap_proxy_pre_request.
   I think it would belong here to ensure that we also handle requests from 
mod_rewrite
   correctly. Maybe we need to do the whole URL normalization by parsing the 
URL,
   lowercasing the hostname and unparsing the URL also in ap_proxy_get_worker.
3. The whole URL is converted to lowercase for BalancerMembers in line 1438 of
   mod_proxy.c before this name is added as a worker :-(.

So some work is left over to fix this. Curious to see what additional
things you will find :).


Regards

Rüdiger








Re: [pre-release] 2.0.55 *candidate* available for testing

2005-10-12 Thread Graham Leggett
William A. Rowe, Jr. said:

 So... is it unreasonable in README.RPM to point the user to obtain the
 current httpd.spec/httpd.in from /dist/httpd/httpd-2.0.55-rpm-src.tar.gz
 which would be grabbed from svn httpd/package/rpm/, and drop it into the
 unpacked httpd-2.0.55 source tarball, in order to package?

I would say yes for two reasons, firstly in the RPM world this is the norm:

rpmbuild -tb httpd-2.0.55.tar.gz

Introducing special build instructions means a lot of time wasted while
the user tries to figure out why the expected behaviour doesn't work.

Secondly the httpd.spec file contains version specific information (the
version number, the MMN, etc) that would be both a serious pain to
maintain separately by a packager and a serious pain to tie up with the
required source by a person building an RPM.

Both RPM and PKG are done with simple scripts, separating them from the
tarball turns a simple exercise into a complex one.

Regards,
Graham
--



Re: mod_mbox and atom 1.0

2005-10-12 Thread Nick Kew
On Wednesday 12 October 2005 04:31, Paul Querna wrote:

  An outline of what needs to be done can be found here:
  
http://intertwingly.net/stories/2005/09/28/xchar.rb

Erm, no.  We need to reencode from any incoming charset.
We don't need to reinvent any wheels by recreating individual
charset conversion tables.

 Right now mod_mbox does *no* encoding translation.  We really need to be
 calling apr_xlate all over, and turning everything into UTF-8 First.
 Currently, each item is encoded in whatever the client program sent it
 as... which isn't good.

Even the HTML is erroneously sent as iso-8859-1, so posts that arrive as
utf-8 (eg from wrowe) display incorrectly!  As of now it's not really fit for 
purpose.  We should fix this for the benefit of all display formats, rather
than address html, atom, or indeed anything else in isolation.

Regarding the mail archives, the ideal solution would be to transcode
incoming messages to a homogenous utf-8 before storing them.  To make
that useful, we'd need to transcode the existing archives too, though that
would just be a one-off script.  I see a mod_smtpd filter thrashing around
that to-do list ...  dammit, it's the long-awaited updates to charset_lite!

The harder bit to deal with is _local_ encoding in a different charsets in
header lines.  That's a PITA, and is AFAIK peculiar to SMTP.

-- 
Nick Kew


Re: svn commit: r312964 - in /httpd/httpd/branches/2.2.x: CHANGES modules/proxy/mod_proxy_balancer.c modules/proxy/proxy_util.c

2005-10-12 Thread Ruediger Pluem


On 10/12/2005 12:09 PM, Joe Orton wrote:
 On Tue, Oct 11, 2005 at 09:43:35PM -, Jim Jagielski wrote:
 ...
 
Modified: httpd/httpd/branches/2.2.x/modules/proxy/proxy_util.c
URL: 
http://svn.apache.org/viewcvs/httpd/httpd/branches/2.2.x/modules/proxy/proxy_util.c?rev=312964r1=312963r2=312964view=diff
==
--- httpd/httpd/branches/2.2.x/modules/proxy/proxy_util.c (original)
+++ httpd/httpd/branches/2.2.x/modules/proxy/proxy_util.c Tue Oct 11 14:43:32 
2005
@@ -1212,24 +1212,34 @@
   const char *url)
 {
 proxy_worker *worker;
-char *c, *uri = apr_pstrdup(p, url);
+proxy_worker *max_worker = NULL;
+int max_match = 0;
+int url_length;
+int worker_name_length;
+char *c;
 int i;
 
-c = strchr(uri, ':');
+c = strchr(url, ':');
 if (c == NULL || c[1] != '/' || c[2] != '/' || c[3] == '\0')
return NULL;
 
 
 That broke the -Wall -Werror build with --enable-maintainer-mode
 
 cc1: warnings being treated as errors
 proxy_util.c: In function 'ap_proxy_get_worker':
 proxy_util.c:1222: warning: passing argument 1 of 'ap_strchr' discards 
 qualifiers from pointer target type

Sorry for the stupid question: Is this because *url is const?

 
 is this the code which is about to be removed anyway?

Yes, I currently discuss this with Jim. The question is if this check is a 
valuable quick way or not.
I don't think that this is the case in a correctly configured system, but I 
would like to wait
for Jims response on that.

Regards

Rüdiger


Re: svn commit: r312964 - in /httpd/httpd/branches/2.2.x: CHANGES modules/proxy/mod_proxy_balancer.c modules/proxy/proxy_util.c

2005-10-12 Thread Joe Orton
On Wed, Oct 12, 2005 at 12:53:32PM +0200, Ruediger Pluem wrote:
 
 
 On 10/12/2005 12:09 PM, Joe Orton wrote:
  On Tue, Oct 11, 2005 at 09:43:35PM -, Jim Jagielski wrote:
  ...
  
 Modified: httpd/httpd/branches/2.2.x/modules/proxy/proxy_util.c
 URL: 
 http://svn.apache.org/viewcvs/httpd/httpd/branches/2.2.x/modules/proxy/proxy_util.c?rev=312964r1=312963r2=312964view=diff
 ==
 --- httpd/httpd/branches/2.2.x/modules/proxy/proxy_util.c (original)
 +++ httpd/httpd/branches/2.2.x/modules/proxy/proxy_util.c Tue Oct 11 
 14:43:32 2005
 @@ -1212,24 +1212,34 @@
const char *url)
  {
  proxy_worker *worker;
 -char *c, *uri = apr_pstrdup(p, url);
 +proxy_worker *max_worker = NULL;
 +int max_match = 0;
 +int url_length;
 +int worker_name_length;
 +char *c;
  int i;
  
 -c = strchr(uri, ':');
 +c = strchr(url, ':');
  if (c == NULL || c[1] != '/' || c[2] != '/' || c[3] == '\0')
 return NULL;
  
  
  That broke the -Wall -Werror build with --enable-maintainer-mode
  
  cc1: warnings being treated as errors
  proxy_util.c: In function 'ap_proxy_get_worker':
  proxy_util.c:1222: warning: passing argument 1 of 'ap_strchr' discards 
  qualifiers from pointer target type
 
 Sorry for the stupid question: Is this because *url is const?

Yup, if using strchr on a const variable, the correct method to preserve 
const-ness and avoid those warnings is:

  const char *foo;

  foo = ap_strchr_c(some_const_char_string, 'x');

note that 'c' would need to be const above too.

joe


Re: Notice of Intent: TR 1.3.34

2005-10-12 Thread Jim Jagielski


On Oct 11, 2005, at 11:48 PM, Glenn Strauss wrote:



May I humbly request inclusion of a patch I wrote almost a year ago?
http://issues.apache.org/bugzilla/show_bug.cgi?id=31858
|31858|New|Maj|2004-10-22|regular expression matching broken on amd64
It is not a feature request; it fixes a crashing bug on AMD64.
This has been discussed, has been validated, and is included in
Gentoo (http://bugs.gentoo.org/show_bug.cgi?id=70177) and probably
other distributions.



I have applied the patch to trunk.

I would encourage all to update their copies and
cd into src/regex and 'make r' to run regression tests
on the patched tree.

I have confirmed no regressions on the systems I have
access to (Sol8, OS X/Darwin) and will be looking at
Suse 9.2 soonish.


Re: Should exist: mod_log_dbus?

2005-10-12 Thread Brian Akins

Andy Armstrong wrote:

I'm prepared to do some work on such a module but I don't want to do 
it if there's some obvious alternative I'm missing. Is this something 
that might be useful? Is there something out there already that I've 
missed?


This may not be the most appropriate place to discuss it, but I am 
willing to help do some work as well.  From the quick overview of dbus I 
just read, it doesn't look too complicated to do.



--
Brian Akins
Lead Systems Engineer
CNN Internet Technologies


Re: Should exist: mod_log_dbus?

2005-10-12 Thread Andy Armstrong

On 12 Oct 2005, at 14:54, Brian Akins wrote:
I'm prepared to do some work on such a module but I don't want to  
do it if there's some obvious alternative I'm missing. Is this  
something that might be useful? Is there something out there  
already that I've missed?


This may not be the most appropriate place to discuss it, but I am  
willing to help do some work as well.  From the quick overview of  
dbus I just read, it doesn't look too complicated to do.


I've been pointed in the direction of mod_log_spread which appears to  
do the same thing. My Google-fu is clearly weak - I didn't spot it :)


So I'm going to investigate that - and if it doesn't do what I think  
it should I'll either patch that (and submit the patches of course)  
or do mod_log_dbus - if I do I'll give you a shout. Thanks for the  
offer of help :)


--
Andy Armstrong, hexten.net



Core dump on ajax: crash in mod_mbox

2005-10-12 Thread Sander Temme
The httpd-2.0.55 RC currently running on ajax had a segfault about an  
hour ago, here's the backtrace.


Looks like a crash in mod_mobx, so I don't think it affects the httpd  
release.


#0  0x209f30a0 in strlen () from /lib/tls/libc.so.6.1
#1  0x210109f0 in mbox_mime_decode_multipart  
(p=0x602147c8,
body=0x60294d25 Content-Type: application/octet-stream 
\nContent-Transfer-Encoding: base64\nContent-Disposition: attachment 
\n filename=HelloServer.wsdl; 
\nPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjx3c2RsOmRlZml.. 
.,

ct=0x0, cte=CTE_NONE, boundary=0x0) at mod_mbox_mime.c:28
#2  0x210107d0 in mbox_mime_decode_multipart  
(p=0x602147c8,

body=0x10 Address 0x10 out of bounds,
ct=0x60296e1e --73b855d461231501\nContent-Type:  
application/octet-stream\nContent-Transfer-Encoding: base64\nContent- 
Disposition: attachment; filename=generated.wsdl\n 
\nPHdzZGw6ZGVmaW5pdGlvbnMgdGFyZ2V0TmFtZXNwYWNlPSJodH...,

cte=410720, boundary=0x2d Address 0x2d out of bounds)
at mod_mbox_mime.c:231
#3  0x2100cda0 in mbox_static_message (r=0x60214830,
f=0x60233b98) at mod_mbox_out.c:1070
#4  0x21008ca0 in mbox_file_handler (r=0x60214830)
at mod_mbox_file.c:231
#5  0x40035f90 in ap_run_handler (r=0x60214830) at  
config.c:153

#6  0x40036f70 in ap_invoke_handler (r=0x60214830)
at config.c:317
#7  0x4002fb00 in ap_process_request (r=0x60214830)
at http_request.c:226
#8  0x40024bf0 in ap_process_http_connection  
(c=0x601db330)

at http_core.c:233
#9  0x4004db00 in ap_run_process_connection  
(c=0x601db330)

at connection.c:43
#10 0x40032910 in child_main (child_num_arg=27976) at  
prefork.c:610

#11 0x40032be0 in make_child (s=0x60047788, slot=428)
at prefork.c:704
#12 0x40033180 in perform_idle_server_maintenance (p=0x15)
at prefork.c:839
#13 0x40033fc0 in ap_mpm_run (_pconf=0x0,  
plog=0x60042298,

s=0x0) at prefork.c:863
#14 0x40041f60 in main (argc=2, argv=0x6fff9dd8) at  
main.c:618


--
[EMAIL PROTECTED]  http://www.temme.net/sander/
PGP FP: 51B4 8727 466A 0BC3 69F4  B7B8 B2BE BC40 1529 24AF




smime.p7s
Description: S/MIME cryptographic signature


ABI and MMN in 2.1

2005-10-12 Thread Nick Kew
Given 2.1's current beta status, what rules govern breaking the ABI
right now?  Is it yes, but then MMN must change too?

I'm thinking specifically of replacing functions that have become mere
stubs for another func since 2.0 with macros.  For a specific case-in-point,
see Line 352 of util_filter.h.

-- 
Nick Kew


Re: Core dump on ajax: crash in mod_mbox

2005-10-12 Thread Justin Erenkrantz
On Wed, Oct 12, 2005 at 08:20:40AM -0700, Sander Temme wrote:
 The httpd-2.0.55 RC currently running on ajax had a segfault about an  
 hour ago, here's the backtrace.
 
 Looks like a crash in mod_mobx, so I don't think it affects the httpd  
 release.

Paul, Sam, and I analyzed the cores and committed some fixes.  Those
changes are now deployed on ajax.  No cores yet.  -- justin


Re: ABI and MMN in 2.1

2005-10-12 Thread William A. Rowe, Jr.

Nick Kew wrote:

Given 2.1's current beta status, what rules govern breaking the ABI
right now?


Break it.  2.odd has no ABI/API rules.  2.even is constrained, so since
we will be stuck with the ABI for a year or two, while 2.2 is supported,
better to be stuck with the best API we could come up with before we
announce GA.

Module authors will be playing catch-up anyways once 2.2.0 is final.
Hopefully, if they were tracking 2.1 development, they caught all of
our fixes and even suggested their own, based on real world problems.


 Is it yes, but then MMN must change too?


Always - the MMN bumps help -us- to catch that we only performed a
partial recompile when we should have rebuilt clean, after svn up'ing.


I'm thinking specifically of replacing functions that have become mere
stubs for another func since 2.0 with macros.  For a specific case-in-point,
see Line 352 of util_filter.h.


shrug - I'd like those /** @deprecated @see ap_new_function */, and
maybe wait to rip them until we roll 3.0.  We are strongly against ANY
lowercase macros; they are bad programming style and may expose the
developer to double-increment and other macro-side-effect bugs.

Macros should always be capitalized.  Leave these stubs as functions,
warn people with doxygen to quit using them, and let them die in all
due course.

Bill



Re: Core dump on ajax: crash in mod_mbox

2005-10-12 Thread Sander Temme


On Oct 12, 2005, at 12:40 PM, Justin Erenkrantz wrote:



On Wed, Oct 12, 2005 at 08:20:40AM -0700, Sander Temme wrote:



The httpd-2.0.55 RC currently running on ajax had a segfault about an
hour ago, here's the backtrace.

Looks like a crash in mod_mobx, so I don't think it affects the httpd
release.




Paul, Sam, and I analyzed the cores and committed some fixes.  Those
changes are now deployed on ajax.  No cores yet.  -- justin



There is now:

[Wed Oct 12 22:04:43 2005] [notice] child pid 5885 exit signal  
Segmentation fault (11), possible coredump in /raid1/httpd-cores


Backtrace:

#0  mbox_mime_decode_body (p=0x0, cte=CTE_NONE, body=0x0, len=0)
at mod_mbox_mime.c:290
#1  0x2100 in mbox_mime_get_body (p=0x602509c8,
m=0x60063130) at mod_mbox_mime.c:299
#2  0x2100d2e0 in mbox_static_message (r=0x60250a30,
f=0x601ed530) at mod_mbox_out.c:1151
#3  0x21008ca0 in mbox_file_handler (r=0x60250a30)
at mod_mbox_file.c:231
#4  0x40035f90 in ap_run_handler (r=0x60250a30) at  
config.c:153

#5  0x40036f70 in ap_invoke_handler (r=0x60250a30)
at config.c:317
#6  0x4002fb00 in ap_process_request (r=0x60250a30)
at http_request.c:226
#7  0x40024bf0 in ap_process_http_connection  
(c=0x601db350)

at http_core.c:233
#8  0x4004db00 in ap_run_process_connection  
(c=0x601db350)

at connection.c:43
#9  0x40032910 in child_main (child_num_arg=27976) at  
prefork.c:610

#10 0x40032be0 in make_child (s=0x60047788, slot=360)
at prefork.c:704
#11 0x40033180 in perform_idle_server_maintenance (p=0x6)
at prefork.c:839
#12 0x40033fc0 in ap_mpm_run (_pconf=0x6000bc68,
plog=0x60042298, s=0x0) at prefork.c:863
#13 0x40041f60 in main (argc=2, argv=0x6fffb3e8) at  
main.c:618


Note, this was /raid1/httpd-cores/core.5885 .

It seems that httpd itself holding up well.

S.

--
[EMAIL PROTECTED]  http://www.temme.net/sander/
PGP FP: 51B4 8727 466A 0BC3 69F4  B7B8 B2BE BC40 1529 24AF




smime.p7s
Description: S/MIME cryptographic signature


Re: svn commit: r312964 - in /httpd/httpd/branches/2.2.x: CHANGES modules/proxy/mod_proxy_balancer.c modules/proxy/proxy_util.c

2005-10-12 Thread Rüdiger Plüm


On 10/12/2005 01:38 PM, Joe Orton wrote:

[..cut..]

 
 
 Yup, if using strchr on a const variable, the correct method to preserve 
 const-ness and avoid those warnings is:
 
   const char *foo;
 
   foo = ap_strchr_c(some_const_char_string, 'x');
 
 note that 'c' would need to be const above too.

Thanks for that info. It took me a while to understand the macros
in util_debug.c / httpd.h (small letter macros OtherBill
just mentioned to dislike :-)).

I think I understand now what is going on and that in DEBUG mode
the strict checking whether const or not is enforced by wrapper
functions whereas in the non debug mode it is a simple macro that
maps things directly to the libc functions which do not do this strict
checking sometimes.
If I understand Jim correctly we should use ap_strchr / ap_strchr_c
throughout the code, but it is not done currently. Maybe I have a look
into this on a rainy day and exchange strchr against ap_strchr / ap_strchr_c
where appropriate :-).


Regards

Rüdiger





Re: what to do about rfc 2047?

2005-10-12 Thread Joe Schaefer
André Malo [EMAIL PROTECTED] writes:

 * Joe Schaefer wrote:

 Listed in the TODO section of STATUS is this:

   - Implement (some of) RFC 2047 in the multipart parser.

 e.g.

   Content-Disposition: name=foo filename==?iso-8859-1?q?foo.txt?=

 Should we try and decode filename to foo.txt, or leave it encoded?

 I guess that might be wrong. Quoted strings and parameters are not part of 
 RFC 2047.
 You might have a look at RFC 2184 instead. I'm not sure if many prgrams 
 understand that correctly, though.

Thanks!  You're absolutely right, we should be looking at 2184 instead.
I'll correct the STATUS file as well.


-- 
Joe Schaefer



Re: Core dump on ajax: crash in mod_mbox

2005-10-12 Thread Justin Erenkrantz
On Wed, Oct 12, 2005 at 01:31:42PM -0700, Sander Temme wrote:
 There is now:

 [Wed Oct 12 22:04:43 2005] [notice] child pid 5885 exit signal =20
 Segmentation fault (11), possible coredump in /raid1/httpd-cores

 Backtrace:
...
 Note, this was /raid1/httpd-cores/core.5885 .

(gdb) print r-unparsed_uri
$2 =3D 0x60251f00
/mod_mbox/httpd-users/200310.mbox/[EMAIL PROTECTED]
om%3E

I'll see what I can do about reproducing here; but I've got to leave in
an hour or so.  -- justin


mpm_winnt incompatible and broken behavior on restart

2005-10-12 Thread Ivan Zhakov
Hi!
We have Apache/Subversion server under Windows Server 2003. And I was
come into problem with restarting server that process long request
(more than 180 seconds). It's usual for bug Subversion repository. I
see messages like this in error.log:
[Thu Oct 13 02:28:01 2005] [notice] Child 3952: Terminating 1 threads
that failed to exit.

I research problem and that mpm_winnt have hardcoded timeout for
stopping working threads:
http://svn.apache.org/repos/asf/httpd/httpd/branches/2.0.x/server/mpm/winnt/child.c:child_main()
/* Give busy worker threads a chance to service their connections */
ap_log_error(APLOG_MARK,APLOG_NOTICE, APR_SUCCESS, ap_server_conf,
 Child %d: Waiting for %d worker threads to exit.,
my_pid, threads_created);
end_time = time(NULL) + 180;
while (threads_created) {
rv = wait_for_many_objects(threads_created, child_handles,
end_time - time(NULL));
if (rv != WAIT_TIMEOUT) {
rv = rv - WAIT_OBJECT_0;
ap_assert((rv = 0)  (rv  threads_created));
cleanup_thread(child_handles, threads_created, rv);
continue;
}
break;
}

After this timeout Apache terminate worker threads. Why is it? Why
mpm_winnt behavior incompatible to perfork behavior which waits
infinityle for stopping child processes? It causes really problems on
maintance and also doesn't permit use MaxRequestsPerChild option.

PS: Sorry if it is not right place for such questions.

--
Ivan Zhakov


Re: mpm_winnt incompatible and broken behavior on restart

2005-10-12 Thread Bill Stoddard

Ivan Zhakov wrote:

Hi!We have Apache/Subversion server under Windows Server 2003. And I wascome 
into problem with restarting server that process long request(more than 180 
seconds). It's usual for bug Subversion repository. Isee messages like this in 
error.log:[Thu Oct 13 02:28:01 2005] [notice] Child 3952: Terminating 1 
threadsthat failed to exit.
I research problem and that mpm_winnt have hardcoded timeout forstopping working 
threads:http://svn.apache.org/repos/asf/httpd/httpd/branches/2.0.x/server/mpm/winnt/child.c:child_main()/* 
Give busy worker threads a chance to service their connections */ap_log_error(APLOG_MARK,APLOG_NOTICE, 
APR_SUCCESS, ap_server_conf, Child %d: Waiting for %d worker threads to 
exit.,my_pid, threads_created);end_time = time(NULL) + 180;while (threads_created) {
rv = wait_for_many_objects(threads_created, child_handles,end_time - time(NULL));if (rv != 
WAIT_TIMEOUT) {rv = rv - WAIT_OBJECT_0;ap_assert((rv = 0)  (rv  
threads_created));cleanup_thread(child_handles, threads_created, rv);continue; 
   }break;}
After this timeout Apache terminate worker threads. Why is it? Whympm_winnt 
behavior incompatible to perfork behavior which waitsinfinityle for stopping 
child processes? It causes really problems onmaintance and also doesn't permit 
use MaxRequestsPerChild option.
PS: Sorry if it is not right place for such questions.
--Ivan Zhakov





Hi Ivan,
This is definitly the right place for this type of question. I think the few Win32 developers here (myself 
included) always had this on their list of 'todo's'. The Windows MPM needs to be enhanced to reliably support 
multiple child processes and when that's done, this will be fixed 'for free'.


Bill



Re: what to do about rfc 2047?

2005-10-12 Thread Philip M. Gollucci

Joe Schaefer wrote:

Listed in the TODO section of STATUS is this:

  - Implement (some of) RFC 2047 in the multipart parser.

e.g.

  Content-Disposition: name=foo filename==?iso-8859-1?q?foo.txt?=

2. Syntax of encoded-words

   An 'encoded-word' is defined by the following ABNF grammar.  The
   notation of RFC 822 is used, with the exception that white space
   characters MUST NOT appear between components of an 'encoded-word'.

   encoded-word = =? charset ? encoding ? encoded-text ?=

   charset = token; see section 3

   encoding = token   ; see section 4

   token = 1*Any CHAR except SPACE, CTLs, and especials

   especials = ( / ) /  /  / @ / , / ; / : / 
/ / / [ / ] / ? / . / =

   encoded-text = 1*Any printable ASCII character other than ?
 or SPACE
  ; (but see Use of encoded-words in message
  ; headers, section 5)

So you talking about this I'm not sure in what context in libapreq you refer 
to though?  Can you elaborate?


--
END

What doesn't kill us can only make us stronger.
Nothing is impossible.

Philip M. Gollucci ([EMAIL PROTECTED]) 301.254.5198
Consultant / http://p6m7g8.net/Resume/
Senior Developer / Liquidity Services, Inc.
  http://www.liquidityservicesinc.com
   http://www.liquidation.com
   http://www.uksurplus.com
   http://www.govliquidation.com
   http://www.gowholesale.com


Re: patch to mod_arm4

2005-10-12 Thread Bill Stoddard

Kai Engels wrote:

Hi Bill



Patch 2: Call to arm_destory_application



This is it. Just a call to arm destroy application() as the standard 
awaits it

Greetings
Kai


Committed.

Bill