Re: cvs commit: httpd-test/perl-framework/Apache-Test/lib/Apache TestConfig.pm

2002-06-04 Thread Stas Bekman
On Mon, 3 Jun 2002, Justin Erenkrantz wrote:

 On Mon, Jun 03, 2002 at 11:21:57AM -0700, Doug MacEachern wrote:
  On Mon, 3 Jun 2002, Aaron Bannert wrote:
   
   Cliff is always mentioning something like t/TEST -d gdb or something
   like that. Won't that run in -X mode automatically?
 
 The reason I don't like that is because if I need to restart the
 server I have to quit my gdb.  I want my gdb to last longer than
 the process (so my breakpoints et al remain the same).

you can store the bps in the gdb startup script if you like. e.g. I've 
documented this idea here:
http://perl.apache.org/release/docs/2.0/devel/debug_c/debug_c.html#Precooked_gdb_Startup_Scripts


__
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: cvs commit: httpd-test/specweb99/specweb99-2.0 mod_specweb99.c

2002-06-04 Thread Brian Pane
Greg Ames wrote:
But I can mention that my very unofficial mini-SPECweb99 runs with the client
and server both on my ThinkPad with 100% standard dynamic GETs* show that
prefork is the fastest, worker is about 1% slower, and leader is about another
1.5% slower.  This is a noticeable improvement from when I started on specweb -
worker was maybe 10% slower at that time, and leader had a compile error.  If I
were running the client  server on separate boxes, the differences would
probably be larger.
That's good news.  We can probably remove leader and threadpool
soon.  The current worker code contains basically all of the useful
optimizations from the experimental MPMs.
Do you have any profile data that shows where the bottlenecks are?
From recent tests with other workloads, I anticipate that the most
expensive operations are likely to be: reading the HTTP headers,
directory_walk and file_walk, and possibly mod_mime.
--Brian



Re: [PATCH] Switch DAV PUT to use brigades

2002-06-04 Thread rbb


   +if (APR_BUCKET_IS_EOS(bucket)) {
   +seen_eos = 1;
   +break;
   +}
   +
   +/* Ahem, what to do? */
   +if (APR_BUCKET_IS_METADATA(bucket)) {
   +continue;
   +}
  
  No need to test for this. You'll just get zero-length buckets. If an
  important metadata bucket *does* get generated in the future, then we'd want
  to be explicitly testing for and handling it (like what is being done for
  the EOS bucket). Until then, we don't have to worry about them.
 
 Um, I think the approach has been that you can't read from
 metadata buckets.  That they may give you data back or they may
 not, but they certainly shouldn't be handled if you don't know
 what to do with them.  This comes out of what little I've seen
 of the conversation with Cliff and Ryan.  I may have it wrong,
 but I think someone said at some point that metadata may indeed
 respond to bucket_read with data, but that data shouldn't be
 construed as part of the input stream.  I'm thoroughly confused
 at this point about what metadata buckets are.

No, currently o metadata bucket responds to a read with data, and the way
the metadata flag was implemented, it isn't possible for a metadata bucket
to have data.

I don't know the code well enough to know if this is implemented
correctly, but the rule follows:

All filters must make sure that all metadata buckets that they do not
handle are sent to the next filter. If a previous filter created an error
bucket, then that bucket must be sent to the next level. 

Ryan




Re: [PATCH] Switch DAV PUT to use brigades

2002-06-04 Thread Cliff Woolley

On Mon, 3 Jun 2002, Justin Erenkrantz wrote:

  No need to test for this. You'll just get zero-length buckets. If an

 Um, I think the approach has been that you can't read from
 metadata buckets.  That they may give you data back or they may
 not, but they certainly shouldn't be handled if you don't know
 what to do with them.  This comes out of what little I've seen
 of the conversation with Cliff and Ryan.  I may have it wrong,
 but I think someone said at some point that metadata may indeed
 respond to bucket_read with data, but that data shouldn't be
 construed as part of the input stream.

Given the current implementation, APR_BUCKET_IS_METADATA(e) implies that
e-length is 0 and apr_bucket_read(e) returns .

Skipping the read call if it's a metadata is nothing more than an
optimization in this case.  (You should throw in the check for len != 0,
that's almost as good an optimization.)  My feelings aren't hurt one way
or the other by having this in.

--Cliff






Re: 1.3.25 release status

2002-06-04 Thread Stipe Tolj

Jim Jagielski wrote:
 
 There are 2 outstanding questions regarding the Cygwin patches that
 Stipe submitted, which I would like resolved before the TR. It's also
 looking like the 2 patches noted in STATUS will *not* be added in.
 TR set for the morning of June4.

I'll check about the src/helpers/install.sh issue this day and get
back to the list. 

The src/main/http_main.c patch is definitly needed IMO for a stable
running httpd on Cygwin, at least live tests on apache.dev.wapme.net
have proofen this.

Stipe

[EMAIL PROTECTED]
---
Wapme Systems AG

Münsterstr. 248
40470 Düsseldorf

Tel: +49-211-74845-0
Fax: +49-211-74845-299

E-Mail: [EMAIL PROTECTED]
Internet: http://www.wapme-systems.de
---
wapme.net - wherever you are



Re: [Bug 9488] - HTTP/0.9 requests spoken on https port returnsHTTP/1.0 response

2002-06-04 Thread Ben Laurie

Ryan Bloom wrote:
From: Ben Laurie [mailto:[EMAIL PROTECTED]]

Cliff Woolley wrote:

On Mon, 3 Jun 2002, Ryan Bloom wrote:



I was actually just about to look at this problem if you are busy.


Go for it... I'm working on something else.

Perhaps its just me, but I'm amused this is considered a bug.
 
 
 It's a security hole IMO.  The problem is that if you rewrite the URL
 .*, then the error URL that mod_ssl will be rewritten.  This means that
 you can serve information over HTTP that was supposed to be restricted
 to HTTPS.

Sorry, I don't understand this - seems like you missed a word or two out?

Cheers,

Ben.

-- 
http://www.apache-ssl.org/ben.html   http://www.thebunker.net/

There is no limit to what a man can do or how far he can go if he
doesn't mind who gets the credit. - Robert Woodruff




[PATCH] allow multiple calls to ap_discard_request_body

2002-06-04 Thread Ryan Bloom


This basically just implements what Greg described last night.  If HTTP_IN
has already sent an EOS bucket up the stack for this request, then it will
only ever respond with an EOS for this request.  This resolves calling
ap_discard_request_body multiple times for the same reques,t, which means
that there are some hacks that can be removed from that code, but I didn't
have the time to find them all.  Finally, this passes the entire test
suite, so it solves my original problem.  Can somebody who is having
problems with the proxy test this quickly?  For completeness, we should
probably include a call to ap_discard_request_body to ap_finalize_request,
but that isn't required for this solution to work.

Index: modules/http/http_protocol.c
===
RCS file: /home/cvs/httpd-2.0/modules/http/http_protocol.c,v
retrieving revision 1.432
diff -u -d -b -w -u -r1.432 http_protocol.c
--- modules/http/http_protocol.c31 May 2002 20:41:06 -  1.432
+++ modules/http/http_protocol.c4 Jun 2002 13:49:29 -
@@ -742,6 +742,7 @@
 BODY_LENGTH,
 BODY_CHUNK
 } state;
+int eos_sent;
 } http_ctx_t;
 
 /* This is the HTTP_INPUT filter for HTTP requests and responses from 
@@ -769,6 +770,7 @@
 ctx-state = BODY_NONE;
 ctx-remaining = 0;
 ctx-limit_used = 0;
+ctx-eos_sent = 0;
 
 /* LimitRequestBody does not apply to proxied responses.
  * Consider implementing this check in its own filter. 
@@ -817,6 +819,7 @@
 APR_BRIGADE_INSERT_TAIL(bb, e);
 e = apr_bucket_eos_create(f-c-bucket_alloc);
 APR_BRIGADE_INSERT_TAIL(bb, e);
+ctx-eos_sent = 1;
 return ap_pass_brigade(f-r-output_filters, bb);
 }
 }
@@ -835,6 +838,7 @@
 if (ctx-state == BODY_NONE  f-r-proxyreq != PROXYREQ_RESPONSE) {
 e = apr_bucket_eos_create(f-c-bucket_alloc);
 APR_BRIGADE_INSERT_TAIL(b, e);
+ctx-eos_sent = 1;
 return APR_SUCCESS;
 }
 
@@ -886,6 +890,7 @@
 APR_BRIGADE_INSERT_TAIL(bb, e);
 e = apr_bucket_eos_create(f-c-bucket_alloc);
 APR_BRIGADE_INSERT_TAIL(bb, e);
+ctx-eos_sent = 1;
 return ap_pass_brigade(f-r-output_filters, bb);
 }
 
@@ -895,23 +900,26 @@
 ap_get_mime_headers(f-r);
 e = apr_bucket_eos_create(f-c-bucket_alloc);
 APR_BRIGADE_INSERT_TAIL(b, e);
+ctx-eos_sent = 1;
 return APR_SUCCESS;
 }
 } 
 }
 
-if (!ctx-remaining) {
-switch (ctx-state) {
-case BODY_NONE:
-if (f-r-proxyreq != PROXYREQ_RESPONSE) {
+if (ctx-eos_sent) {
 e = apr_bucket_eos_create(f-c-bucket_alloc);
 APR_BRIGADE_INSERT_TAIL(b, e);
 return APR_SUCCESS;
 }
+
+if (!ctx-remaining) {
+switch (ctx-state) {
+case BODY_NONE:
 break;
 case BODY_LENGTH:
 e = apr_bucket_eos_create(f-c-bucket_alloc);
 APR_BRIGADE_INSERT_TAIL(b, e);
+ctx-eos_sent = 1;
 return APR_SUCCESS;
 case BODY_CHUNK:
 {
@@ -950,6 +958,7 @@
 APR_BRIGADE_INSERT_TAIL(bb, e);
 e = apr_bucket_eos_create(f-c-bucket_alloc);
 APR_BRIGADE_INSERT_TAIL(bb, e);
+ctx-eos_sent = 1;
 return ap_pass_brigade(f-r-output_filters, bb);
 }
 
@@ -959,6 +968,7 @@
 ap_get_mime_headers(f-r);
 e = apr_bucket_eos_create(f-c-bucket_alloc);
 APR_BRIGADE_INSERT_TAIL(b, e);
+ctx-eos_sent = 1;
 return APR_SUCCESS;
 }
 }
@@ -1010,6 +1020,7 @@
 APR_BRIGADE_INSERT_TAIL(bb, e);
 e = apr_bucket_eos_create(f-c-bucket_alloc);
 APR_BRIGADE_INSERT_TAIL(bb, e);
+ctx-eos_sent = 1;
 return ap_pass_brigade(f-r-output_filters, bb);
 }
 }

Ryan

___
Ryan Bloom  [EMAIL PROTECTED]
550 Jean St
Oakland CA 94610
---




RE: [Bug 9488] - HTTP/0.9 requests spoken on https port returns HTTP/1.0 response

2002-06-04 Thread Ryan Bloom

 From: Ben Laurie [mailto:[EMAIL PROTECTED]]
 
 Ryan Bloom wrote:
 From: Ben Laurie [mailto:[EMAIL PROTECTED]]
 
 Cliff Woolley wrote:
 
 On Mon, 3 Jun 2002, Ryan Bloom wrote:
 
 
 
 I was actually just about to look at this problem if you are busy.
 
 
 Go for it... I'm working on something else.
 
 Perhaps its just me, but I'm amused this is considered a bug.
 
 
  It's a security hole IMO.  The problem is that if you rewrite the
URL
  .*, then the error URL that mod_ssl will be rewritten.  This means
that
  you can serve information over HTTP that was supposed to be
restricted
  to HTTPS.
 
 Sorry, I don't understand this - seems like you missed a word or two
out?

Sorry, here is a real example:

RedirectMatch ^/([^/]+)?$ index.html

Now, assume that this is specified for an SSL protected virtual host, so
the only way to access this page should be through SSL.  But, now I make
an HTTP request over the SSL port.  The way mod_ssl used to handle this
case (fixed last night), was to fake a request that started with
/mod_ssl:error...  The handler would then see that URI, and send an
error page back.  The problem is that in the translate_name phase,
mod_alias redirected /mod_ssl:error to index.html.  Then, in the handler
phase, we successfully served that page.

The only good thing is that the ONLY page you can view is the one that
you redirected to, but that is still a bad thing.  Anyway, this was
solved last night by removing all of the special /mod_ssl: URIs.

Ryan







RE: help with apache configuration logic...

2002-06-04 Thread Fabien COELHO



 Take a look at the worker.c file, worker_pre_config function for an
 example of how to modify the configuration tree.

Ok. I'm going to investigate that. It seems that I'll need to restructure
the whole stuff for apache 2 instead of the minimum time port I hopped for
initially.


Fabien.




[PATCH include/http_log.h] APLOG_TOCLIENT.

2002-06-04 Thread Stas Bekman


I'm not sure whether ap_log_rerror() is the only user of APLOG_TOCLIENT. 
If so here is the patch that adds the whole story to the header file, so 
one doesn't need to dig in the .c files to find out how it works.

Moreover, I'm still not happy with this description, as ap_log_rerror() 
doesn't really send the message to the client, but only sets 
'error-notes' and it depends on the handler what it does about it. If I 
understand this correctly the note is misleading.


Index: include/http_log.h
===
RCS file: /home/cvspublic/httpd-2.0/include/http_log.h,v
retrieving revision 1.37
diff -u -r1.37 http_log.h
--- include/http_log.h  23 May 2002 12:19:09 -  1.37
+++ include/http_log.h  4 Jun 2002 18:23:01 -
@@ -109,6 +109,9 @@

  /* Use APLOG_TOCLIENT to cause ap_log_rerror() to send the message
   * to the client in addition to recording it to the error log.
+ * In addition the following conditions should be true:
+ * the error level is 'warning' or more severe,
+ * AND there aren't already error-notes associated with this request
   */
  #define APLOG_TOCLIENT  (APLOG_LEVELMASK + 2)



__
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: [PATCH include/http_log.h] APLOG_TOCLIENT.

2002-06-04 Thread Bill Stoddard

Just committed this...

diff -u -r1.37 http_log.h
--- http_log.h 23 May 2002 12:19:09 - 1.37
+++ http_log.h 4 Jun 2002 19:00:29 -
@@ -107,8 +107,17 @@
  */
 #define APLOG_NOERRNO  (APLOG_LEVELMASK + 1)
 
-/* Use APLOG_TOCLIENT to cause ap_log_rerror() to send the message
- * to the client in addition to recording it to the error log.
+/* Use APLOG_TOCLIENT on ap_log_rerror() to give content
+ * handlers the option of including the error text in the 
+ * ErrorDocument sent back to the client. Setting APLOG_TOCLIENT
+ * will cause the error text to be saved in the request_rec-notes 
+ * table, keyed to the string error-notes, iff:
+ * - the severity level of the message is APLOG_WARNING or greater
+ * - there are no other error-notes set in request_rec-notes
+ * Once error-notes is set, it is up to the content handler to
+ * determine whether this text should be send back to the client.
+ * Note: Client generated text streams sent back to the  client MUST 
+ * be escaped to prevent CSS attacks.
  */

Bill

- Original Message - 
From: Stas Bekman [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Sent: Tuesday, June 04, 2002 2:28 PM
Subject: [PATCH include/http_log.h] APLOG_TOCLIENT.


 
 I'm not sure whether ap_log_rerror() is the only user of APLOG_TOCLIENT. 
 If so here is the patch that adds the whole story to the header file, so 
 one doesn't need to dig in the .c files to find out how it works.
 
 Moreover, I'm still not happy with this description, as ap_log_rerror() 
 doesn't really send the message to the client, but only sets 
 'error-notes' and it depends on the handler what it does about it. If I 
 understand this correctly the note is misleading.
 
 
 Index: include/http_log.h
 ===
 RCS file: /home/cvspublic/httpd-2.0/include/http_log.h,v
 retrieving revision 1.37
 diff -u -r1.37 http_log.h
 --- include/http_log.h 23 May 2002 12:19:09 - 1.37
 +++ include/http_log.h 4 Jun 2002 18:23:01 -
 @@ -109,6 +109,9 @@
 
   /* Use APLOG_TOCLIENT to cause ap_log_rerror() to send the message
* to the client in addition to recording it to the error log.
 + * In addition the following conditions should be true:
 + * the error level is 'warning' or more severe,
 + * AND there aren't already error-notes associated with this request
*/
   #define APLOG_TOCLIENT  (APLOG_LEVELMASK + 2)
 
 
 
 __
 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
 
 




mod_proxy and chunked transfer encoding

2002-06-04 Thread lsanders

I am using Apache 2.0.36 as a reverse proxy to the Jetty java web-server.
Everything worked fine, except redirects - they would wait 30 seconds (until
Jetty timed out the keep-alive connection), and then Apache processed the
redirect correctly.

After some debugging, I found that Jetty's redirect response specified
Transfer-Encoding: chunked.  This was followed immediately by the size zero.
Here is the http header:

1: HTTP/1.1 302 Moved Temporarily
2: Location: http://www.google.com
3: Transfer-Encoding: chunked
4:
5: 0
6:

I believe this is a legitimate usage of the chunked encoding type, but
apache blocks.  If this is changed to the following, then everything works
correctly:

1: HTTP/1.1 302 Moved Temporarily
2: Location: http://www.google.com
3: Content-Length: 0
4:

The bug-database is currently down, so I decided to post this here first.

Thanks for any help,

-Larry




problems building modules with 2.0.36

2002-06-04 Thread Heinrich Götzger

Hi,

I discovered problems today with building and compiling some own modules
for httpd 2.0.36 on a SuSE 7.2 Box.

The Server runs fine.

Using apxs brought some things which I'm not clear on (I'm not a perl
Guru):

$ echo `./apxs -q CC`
gcc
$ echo `./apxs -q TARGET`
httpd
...

it goes wrong for CFLAGS_SHLIB, LD_SHLIB, LDFLAGS_SHLIB, LIBS_SHLIB
$ echo `./apxs -q CFLAGS_SHLIB`
Use of uninitialized value in concatenation (.) at ./apxs line 278.
echo `./apxs -q LD_SHLIB`
Use of uninitialized value in concatenation (.) at ./apxs line 278.
$ echo `./apxs -q LDFLAGS_SHLIB`
Use of uninitialized value in concatenation (.) at ./apxs line 278.
$ echo `./apxs -q LIBS_SHLIB`
Use of uninitialized value in concatenation (.) at ./apxs line 278.

However I'm not clear if I did it all correct because I just want to
know how it works basicly.

Furtheron I discovered a typo:
May it be the case that there is a typo in
'srclib/apr-util/include/apr_uri.h'

the line
#include apr_network_io.h
should read
#include apr_network_io.h



thanks and best regards

Heinrich
--
http://www.xmlBlaster.org




Apache 1.3.25 DOA

2002-06-04 Thread William A. Rowe, Jr.

Just a quick warning...

having cvs up'ed the 1.3 tree, I was loath to discover I've broken my household
proxy [which I was just about to try pipelining to with MozRC3.]

D:\Apacheapache -k start -n proxyserver
Processing config directory: d:/apache
  Processing config file: d:/apache/Apache.exe
Syntax error on line 1 of d:/apache/apache.exe:
Invalid command 'MZÉ', perhaps mis-spelled or defined by a module not 
included in the server configuration

The config args for ProxyServer are

   -d d:/apache -f d:/apache/conf/httpd.conf

So why it decided to use the system root, I have no clue.  Looks like some
borked patchwork has crept in.

Releases_in_the_next_day_or_so -= 2;

Just as I was about to attack the problems observed in 2.0.  Gheesh.

Bill




Re: cvs commit: apache-1.3/src/main http_main.c

2002-06-04 Thread William A. Rowe, Jr.

At 10:58 AM 3/13/2002, you wrote:
bnicholes02/03/13 07:58:40

   Modified:src/main http_main.c
   Log:
   Added the -e command line directive for NetWare to force all fatal
   configuration file errors to the logger screen rather than to the Apache
   screen.  This allows Apache to shutdown cleanly and completely on an
   error condition without losing the error information that was written 
 to the
   screen or requiring user interaction to close the Apache screen.

Outch... this didn't penetrate my thick skull.

I'd introduced two new Apache 2.0 directives

   -e level  ---  specific warning level for messages prior to parsing 
LogLevel, e.g. -e debug

   -E tmpfile  ---  specify initial error log file [for services and things 
with no console]

These flags rather conflict with the new Netware -e Flag...

Can we come up with some comprimize on flags so that 1.3 and 2.0 don't
start drifting?  Unfortunately, both 2.0.36 and 1.3.24 introduced the two 
different \
meanings already.

In terms of the new Netware -e meaning, it sure sounds like that feature aught
to be a default behavior, no?  It really sounds sorta of similar to either 
syslog
logging on Unix or Event logging on NT.

Bill




Re: cvs commit: apache-1.3/src/main http_main.c

2002-06-04 Thread William A. Rowe, Jr.

At 11:21 PM 6/4/2002, William A. Rowe, Jr. wrote:
At 10:58 AM 3/13/2002, you wrote:
bnicholes02/03/13 07:58:40

   Modified:src/main http_main.c
   Log:
   Added the -e command line directive for NetWare to force all fatal
   configuration file errors to the logger screen rather than to the Apache
   screen.  This allows Apache to shutdown cleanly and completely on an
   error condition without losing the error information that was written 
 to the
   screen or requiring user interaction to close the Apache screen.

Can we come up with some comprimize on flags so that 1.3 and 2.0 don't
start drifting?  Unfortunately, both 2.0.36 and 1.3.24 introduced the two 
different \
meanings already.

In terms of the new Netware -e meaning, it sure sounds like that feature aught
to be a default behavior, no?  It really sounds sorta of similar to either 
syslog
logging on Unix or Event logging on NT.

To be more specific, -e sounds very much like the converse of the -w option
on windows, which causes the window to remain open if an error is encountered
at startup [preventing the window from being closed before the message
can be read at the console.]





Re: problems building modules with 2.0.36

2002-06-04 Thread Stas Bekman

Heinrich Götzger wrote:
 Hi,
 
 I discovered problems today with building and compiling some own modules
 for httpd 2.0.36 on a SuSE 7.2 Box.
 
 The Server runs fine.
 
 Using apxs brought some things which I'm not clear on (I'm not a perl
 Guru):
 
 $ echo `./apxs -q CC`
 gcc
 $ echo `./apxs -q TARGET`
 httpd
 ...
 
 it goes wrong for CFLAGS_SHLIB, LD_SHLIB, LDFLAGS_SHLIB, LIBS_SHLIB
 $ echo `./apxs -q CFLAGS_SHLIB`
 Use of uninitialized value in concatenation (.) at ./apxs line 278.
 echo `./apxs -q LD_SHLIB`
 Use of uninitialized value in concatenation (.) at ./apxs line 278.
 $ echo `./apxs -q LDFLAGS_SHLIB`
 Use of uninitialized value in concatenation (.) at ./apxs line 278.
 $ echo `./apxs -q LIBS_SHLIB`
 Use of uninitialized value in concatenation (.) at ./apxs line 278.

if the line is reported correctly here is the fix:

Index: support/apxs.in
===
RCS file: /home/cvspublic/httpd-2.0/support/apxs.in,v
retrieving revision 1.38
diff -u -r1.38 apxs.in
--- support/apxs.in 13 May 2002 17:16:55 -  1.38
+++ support/apxs.in 5 Jun 2002 04:35:24 -
@@ -275,7 +275,7 @@
  if (exists $internal_vars{$arg} or exists 
$internal_vars{lc $arg}) {
  my $val = exists $internal_vars{$arg} ? $arg : lc $arg;
  $val = eval \$CFG_$val;
-$result .= eval qq($val);
+$result .= eval qq($val) if defined $val;
  $result .= ;;;
  $ok = 1;
  }


__
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




1.3.25 green light again.

2002-06-04 Thread William A. Rowe, Jr.

The transposed getopt list containing fF: was the culprit, of course.

1.3.25 rides again.  Pipelining to our 1.3.25 proxy appears to work.

Bill

wrowe  2002/06/04 21:53:15

   Modified:src/main http_main.c
   Log:
 First, checking for typos like fF: instead of Ff: in the getopt list
 would have been goodness.  But this simply doesn't apply to win32,
 we don't DETACH in the Unix-ish way of the world.

 I don't even believe this applies to ANY user of the MULTITHREADed
 code path [only Netware and Win32 use it, correct?]  But I'll leave
 the code in, and exclude only Win32 (where it was a noop anyways.)

   Revision  ChangesPath
   1.586 +6 -2  apache-1.3/src/main/http_main.c

   Index: http_main.c
   ===
   RCS file: /home/cvs/apache-1.3/src/main/http_main.c,v
   retrieving revision 1.585
   retrieving revision 1.586
   diff -u -r1.585 -r1.586
   --- http_main.c   3 Jun 2002 12:28:27 -   1.585
   +++ http_main.c   5 Jun 2002 04:53:15 -   1.586
-1351,7 +1351,7 
#ifdef WIN32
fprintf(stderr, Usage: %s [-D name] [-d directory] [-f file] [-n 
 service]\n, bin);
fprintf(stderr,%s [-C \directive\] [-c \directive\] 
 [-k signal]\n, pad);
   -fprintf(stderr,%s [-v] [-V] [-h] [-l] [-L] [-S] [-t] [-T] 
 [-F]\n, pad);
   +fprintf(stderr,%s [-v] [-V] [-h] [-l] [-L] [-S] [-t] 
 [-T]\n, pad);
#else /* !WIN32 */
#ifdef SHARED_CORE
fprintf(stderr, Usage: %s [-R directory] [-D name] [-d directory] 
 [-f file]\n, bin);
-1382,7 +1382,9 
#endif
fprintf(stderr,   -t   : run syntax check for config 
 files (with docroot check)\n);
fprintf(stderr,   -T   : run syntax check for config 
 files (without docroot check)\n);
   +#ifndef WIN32
fprintf(stderr,   -F   : run main process in 
 foreground, for process supervisors\n);
   +#endif
#ifdef WIN32
fprintf(stderr,   -n name  : name the Apache service for 
 -k options below;\n);
fprintf(stderr,   -k stop|shutdown : tell running Apache to 
 shutdown\n);
-7256,7 +7258,7 
reparsed = 1;
}

   -while ((c = getopt(argc, argv, 
 D:C:c:Xd:fF:vVlLz:Z:wiuStThk:n:W:)) != -1) {
   +while ((c = getopt(argc, argv, 
 D:C:c:Xd:f:vVlLz:Z:wiuStThk:n:W:)) != -1) {
#else /* !WIN32 */
while ((c = getopt(argc, argv, D:C:c:Xd:fF:vVlLesStTh)) != -1) {
#endif
-7380,9 +7382,11 
 ap_server_root[strlen(ap_server_root) - 1] == '/')
ap_server_root[strlen(ap_server_root) - 1] = '\0';
 break;
   +#ifndef WIN32
 case 'F':
 do_detach = 0;
 break;
   +#endif
 case 'f':
ap_cpystrn(ap_server_confname,
   ap_os_canonical_filename(pcommands, optarg),