Re: A::T blib vs lib

2003-10-22 Thread Boris Zentner

Hi,

Am Dienstag, 21. Oktober 2003 23:24 schrieb Stas Bekman:
 Stas Bekman wrote:

 Please verify that it works for you Boris and we will make a new release.
 Geoff has volunteered to be the release manager for this release. ;)

Ok, I tested cvs-version 1.05-dev against my project with mp1 and it works 
fine out of the box.

Thank you.

-- 
Boris



potential Apache-Test release candidate

2003-10-22 Thread Geoffrey Young
hi all
I have a release candidate for Apache-Test ready to go
http://perl.apache.org/~geoff/Apache-Test-1.05-dev.tar.gz
but before I announce it publically I wanted to make sure that I understood 
our position on META.yml.  I'm supposed to leave the autogenerated version 
in the release (as opposed to editing it out or building with 5.6.0 
instead), right?

--Geoff


have_module('mod_perl.c')

2003-10-22 Thread Geoffrey Young
hi all
have_module('mod_perl.c') doesn't work currently for DSO installations 
unless the parent config has a LoadModule statement in it.

the attached patch fixes this - once the appropriate .so is found, it's 
added to the cached module list so that the fallback for have_module() is 
populated appropriately.

I'm going to hold up 1.05 until this is integrated, as it's pretty important 
since have_module('mod_perl.c') is now the way to test for the presence of 
mod_perl.

--Geoff
Index: Apache-Test/lib/Apache/TestConfigPerl.pm
===
RCS file: 
/home/cvspublic/httpd-test/perl-framework/Apache-Test/lib/Apache/TestConfigPerl.pm,v
retrieving revision 1.79
diff -u -r1.79 TestConfigPerl.pm
--- Apache-Test/lib/Apache/TestConfigPerl.pm21 Oct 2003 22:09:41 -  
1.79
+++ Apache-Test/lib/Apache/TestConfigPerl.pm22 Oct 2003 14:58:43 -
@@ -67,6 +67,11 @@
 $lib =~ s/lib$/dll/;
 $cfg = 'LoadFile ' . qq($lib\n) if -e $lib;
}
+# add the module we found to the cached modules list
+# otherwise have_module('mod_perl') doesn't work unless
+# we have a LoadModule in our base config
+$self-{modules}-{'mod_perl.c'} = $vars-{libmodperl};
+
 $cfg .= 'LoadModule ' . qq(perl_module $vars-{libmodperl}\n);
 }
 else {


Flood: New patch to flood_socket_keepalive.c fixes keepalive protocol bugs [Ref A7], Question on Chunking Protocol

2003-10-22 Thread Norman Tuttle
The new diff available for Flood fixes protocol errors for keepalive (file
flood_socket_keepalive.c, function keepalive_recv_resp()) mainly by
assimilating the functionality of the wantresponse and !wantresponse modes
within the readback operations, and maintaining whatever worked correctly.
Also the algorithm for reading a decimal value within the above function
was simplified (we found cases where what was replaced did not work), as
was the routine for reading a hexadecimal value (this being in the
function keepalive_read_chunk_size()), the same reason for its replacement
applying.

Since this diff is independent of other changes made recently, I have done
it off the original file in CVS/Flood 1.1, which I have in my local
directory c:\flood-1.1

Norman Tuttle, developer, OpenDemand Systems, [EMAIL PROTECTED]

PS: In a comparison between the 2 modes mentioned above (wantresponse and
!wantresponse), the Chunked Transfer-Encoding method of reading of the
body is absent from the wantresponse pathway. I was wondering whether that
was inadvertent, and if so, it looks like we will have to add this
functionality as well or our readback of data in that case will be
incomplete.

--- flood_socket_keepalive.c2003-10-22 12:11:38.0 -0400
+++ \flood-1.1\flood_socket_keepalive.c 2003-09-06 00:27:38.0 -0400
@@ -161,17 +161,25 @@
 write_socket(ksock-s, req);

 }

 

-/* This is really a hex evaluator function. */

 static long keepalive_read_chunk_size(char *begin_chunk)

 {

-long OutputHex=0;

-unsigned char Addend;

-while (isspace(*begin_chunk)) begin_chunk++;

-while (isxdigit(Addend=(*(begin_chunk++

+char chunk[17], *end_chunk;

+long chunk_length;

+

+/* FIXME: Handle chunk-extension */

+end_chunk = strstr(begin_chunk, CRLF);

+

+if (end_chunk  end_chunk - begin_chunk  16)

 {

-  OutputHex=(OutputHex4)+((Addend  0xF)+((Addend  '9')?9:0));

+strncpy(chunk, begin_chunk, end_chunk - begin_chunk);

+chunk[end_chunk-begin_chunk] = '\0';

+/* Chunks are base-16 */

+chunk_length = strtol(chunk, end_chunk, 16);

+if (*end_chunk == '\0')

+return chunk_length;

 }

-return OutputHex;

+

+return 0;

 }

 

 static apr_status_t keepalive_read_chunk(response_t *resp,

@@ -233,7 +241,7 @@
 return status;

 }

 

-/* We got caught in the middle of a chunk last time. */

+/* We got caught in the middle of a chunk last time. */ 

 if (old_length  0) {

 b -= old_length;

 blen += old_length;

@@ -299,7 +307,7 @@
 return APR_SUCCESS;

 }

 

-static apr_status_t keepalive_load_resp(response_t *resp,

+static apr_status_t keepalive_load_resp(response_t *resp, 

 keepalive_socket_t *sock,

 apr_size_t remaining, apr_pool_t *pool)

 {

@@ -352,7 +360,7 @@
 cp += i;

 remaining -= i;

 }

-while (status != APR_EGENERAL  status != APR_EOF 

+while (status != APR_EGENERAL  status != APR_EOF  

status != APR_TIMEUP  (!remain || remaining));

 

 return status;

@@ -366,7 +374,6 @@
 keepalive_socket_t *ksock = (keepalive_socket_t *)sock;

 char *cl, *ecl, cls[17];

 char *current_line;

-int keep_reading = 0;

 int i;

 response_t *new_resp;

 apr_status_t status;

@@ -400,7 +407,7 @@
 header_end = memchr(current_line, ':', line_length);

 if (header_end) {

 key_length = header_end - current_line;

-

+ 

 header_key = apr_pstrmemdup(pool, current_line, key_length);

 header_val = apr_pstrmemdup(pool, current_line + key_length + 2,

 line_length - key_length - 2);

@@ -413,10 +420,10 @@
 /* If this exists, we aren't keepalive anymore. */

 header = apr_table_get(new_resp-headers, Connection);

 if (header  !strcasecmp(header, Close)) {

-new_resp-keepalive = 0;

+new_resp-keepalive = 0; 

 }

 else {

-new_resp-keepalive = 1;

+new_resp-keepalive = 1; 

 }

 

 /* If we have a HEAD request, we shouldn't be receiving a body. */

@@ -426,12 +433,11 @@
 return APR_SUCCESS;

 }

 

-new_resp-chunk = NULL;

-new_resp-chunked = 0;

 header = apr_table_get(new_resp-headers, Transfer-Encoding);

 if (header  !strcasecmp(header, Chunked))

 {

 new_resp-chunked = 1;

+new_resp-chunk = NULL;

 /* Find where headers ended */

 cl = current_line;

 

@@ -443,7 +449,7 @@
 /* We have a partial chunk and we aren't at the end. */

 if (cl  *cl  (cl - (char*)new_resp-rbuf)  new_resp-rbufsize) {

 int remaining;

-

+

 do {

 if (new_resp-chunk) {


Re: potential Apache-Test release candidate

2003-10-22 Thread Geoffrey Young

Stas Bekman wrote:
Geoffrey Young wrote:
hi all
I have a release candidate for Apache-Test ready to go
http://perl.apache.org/~geoff/Apache-Test-1.05-dev.tar.gz
but before I announce it publically I wanted to make sure that I 
understood our position on META.yml.  I'm supposed to leave the 
autogenerated version in the release (as opposed to editing it out or 
building with 5.6.0 instead), right?

Just leave it as it is. If you ever decide to edit it, you need to 
change Makefile.PL to have NO_META=1 in WriteMakefile args. But since 
at the moment we have no special uses for this feature, we shouldn't do 
anything special.
ok, but now the MANIFEST has META.yml in it, and if I commit it will go in. 
 is that ok?

--Geoff


Re: potential Apache-Test release candidate

2003-10-22 Thread Stas Bekman
Geoffrey Young wrote:

Stas Bekman wrote:
Geoffrey Young wrote:
hi all
I have a release candidate for Apache-Test ready to go
http://perl.apache.org/~geoff/Apache-Test-1.05-dev.tar.gz
but before I announce it publically I wanted to make sure that I 
understood our position on META.yml.  I'm supposed to leave the 
autogenerated version in the release (as opposed to editing it out or 
building with 5.6.0 instead), right?

Just leave it as it is. If you ever decide to edit it, you need to 
change Makefile.PL to have NO_META=1 in WriteMakefile args. But since 
at the moment we have no special uses for this feature, we shouldn't 
do anything special.

ok, but now the MANIFEST has META.yml in it, and if I commit it will go 
in.  is that ok?
Yes. It's OK.
__
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


[RELEASE CANDIDATE] Apache-Test-1.05-dev is available

2003-10-22 Thread Geoffrey Young
a release candidate for Apache-Test 1.05 is now available.
  http://perl.apache.org/~geoff/Apache-Test-1.05-dev.tar.gz
please take the time to excercise the candidate through all your existing 
applications that use Apache-Test and report back any problems.

--Geoff
Changes since 1.04:
core scanning changes [Stas]
- speedup by not chdir'ing into subdirs
- an optional scanning of only t/ dir (used by TestSmoke)
- don't scan on win32, since it has no core files
in the autogenerated t/conf/modperl_inc.pl don't add the project/lib
directory, unless a special env var APACHE_TEST_LIVE_DEV is true. This
is because some projects change things in project/blib and pushing
project/lib on top of @INC, breaks the test suite for them [Stas]
TestRun was using httpd.pid file to ensure that the server is killed
before starting it, if the file existed. This was a problem on win32
platforms, where a process scheduler tries to re-use the pids that
were just freed, which may have killed a valid process which is not
even Apache.exe. So we try not to rely on that file, and if the server
wasn't properly stopped and still running, users will learn about
that, since the port will be busy, and Apache will fail to
start. Users have to kill it manually. TestSmoke is no longer using an
explicit kill `cat httpd.pid` to stop Apache, but delegates the
stopping procedure to TestRun [Steve Hay, Randy Kobes]
use IPC::Run3 in Apache::TestSmoke to run t/TEST commands,
so as t/SMOKE can be used on Win32 [Stas, Steve Hay, Randy Kobes]
place mod_perl-specific directives in IfModule containers
within httpd.conf, allowing the default server to start if
mod_perl isn't present.  [Geoffrey Young]
fix t/request.t to get /index.html, instead of / since not everybody
uses mod_dir [Steve Piner [EMAIL PROTECTED]]
when testing whether Apache started as root and running under 'nobody'
or alike, will be able to -r/-w/-x in t/ use 'su' instead of 'sudo',
the latter is not available on all unix platforms. [Vivek Khera
khera@kcilink.com]
in the Apache/test.pm nuke code s/PERLRUN/FULLPERL/ as older MakeMaker
doesn't have the PERLRUN target [Stas]
Apache 1.3 servers now run in standard prefork mode under
normal operation.  single server mode (httpd -X) was replaced
with MaxClients set to 1 by default.  [Geoffrey Young]
--Geoff


Re: [RELEASE CANDIDATE] Apache-Test-1.05-dev is available

2003-10-22 Thread David Wheeler
On Wednesday, October 22, 2003, at 12:48  PM, Geoffrey Young wrote:
a release candidate for Apache-Test 1.05 is now available.
  http://perl.apache.org/~geoff/Apache-Test-1.05-dev.tar.gz
please take the time to excercise the candidate through all your 
existing applications that use Apache-Test and report back any 
problems.
I think that this release contains my fixes to the TestRequest::POST 
documentation, too. Or was that in 1.04?

David
--
David Wheeler AIM: dwTheory
[EMAIL PROTECTED]  ICQ: 15726394
http://www.kineticode.com/ Yahoo!: dew7e
   Jabber: [EMAIL PROTECTED]
Kineticode. Setting knowledge in motion.[sm]


Re: [RELEASE CANDIDATE] Apache-Test-1.05-dev is available

2003-10-22 Thread Geoffrey Young

David Wheeler wrote:
On Wednesday, October 22, 2003, at 12:48  PM, Geoffrey Young wrote:
a release candidate for Apache-Test 1.05 is now available.
  http://perl.apache.org/~geoff/Apache-Test-1.05-dev.tar.gz
please take the time to excercise the candidate through all your 
existing applications that use Apache-Test and report back any problems.

I think that this release contains my fixes to the TestRequest::POST 
documentation, too. Or was that in 1.04?
do you mean this?
http://cvs.apache.org/viewcvs.cgi/httpd-test/perl-framework/Apache-Test/lib/Apache/TestRequest.pm.diff?r1=1.87r2=1.88
this was added after 1.04.
I guess we are inconsistent in logging doc changes in Changes.
personally, I think the Changes file is most useful if it logs only 
functionality changes.  but there are other documentation issues mentioned 
there currently, so if you'd like I'll insert that into Changes in (around) 
the appropriate place chronologically.

--Geoff


Re: [RELEASE CANDIDATE] Apache-Test-1.05-dev is available

2003-10-22 Thread David Wheeler
On Wednesday, October 22, 2003, at 02:17  PM, Geoffrey Young wrote:
do you mean this?
http://cvs.apache.org/viewcvs.cgi/httpd-test/perl-framework/Apache- 
Test/lib/Apache/TestRequest.pm.diff?r1=1.87r2=1.88
Yes.
this was added after 1.04.
I guess we are inconsistent in logging doc changes in Changes.
personally, I think the Changes file is most useful if it logs only  
functionality changes.  but there are other documentation issues  
mentioned there currently, so if you'd like I'll insert that into  
Changes in (around) the appropriate place chronologically.
Oh. Up to you guys; I thought stuff like that was always noted.
Cheers,
David
--
David Wheeler AIM: dwTheory
[EMAIL PROTECTED]  ICQ: 15726394
http://www.kineticode.com/ Yahoo!: dew7e
   Jabber: [EMAIL PROTECTED]
Kineticode. Setting knowledge in motion.[sm]


Re: [RELEASE CANDIDATE] Apache-Test-1.05-dev is available

2003-10-22 Thread Geoffrey Young

I guess we are inconsistent in logging doc changes in Changes.
personally, I think the Changes file is most useful if it logs only  
functionality changes.  but there are other documentation issues  
mentioned there currently, so if you'd like I'll insert that into  
Changes in (around) the appropriate place chronologically.

Oh. Up to you guys; I thought stuff like that was always noted.
I forgot to add that I certainly don't mean to belittle your contributions 
here - you've done lots of work on the docs and added lots of value.  I even 
mentioned you by name at my OSCon talk :)

I'll give it some thought, look over Changes more closely, and then probably 
add it in :)

--Geoff


Re: [RELEASE CANDIDATE] Apache-Test-1.05-dev is available

2003-10-22 Thread Stas Bekman
Geoffrey Young wrote:

David Wheeler wrote:
[...]
I think that this release contains my fixes to the TestRequest::POST 
documentation, too. Or was that in 1.04?

do you mean this?
http://cvs.apache.org/viewcvs.cgi/httpd-test/perl-framework/Apache-Test/lib/Apache/TestRequest.pm.diff?r1=1.87r2=1.88 

this was added after 1.04.
I guess we are inconsistent in logging doc changes in Changes.
personally, I think the Changes file is most useful if it logs only 
functionality changes.  but there are other documentation issues 
mentioned there currently, so if you'd like I'll insert that into 
Changes in (around) the appropriate place chronologically.
Seconded. We try to keep the Changes files to containing only information 
about changes that help users decide whether they need to upgrade to that 
newer version or not. If we log everything, the file will become useless. We 
could just run cvs2lg to autogenerated a list of all cvs changes.

There is another issue with acknowledging the contributions, but it's probably 
not the reason to log those contributions in Changes. Perhaps we need to start 
CONTRIBUTORS and simply list the names of contributors there. We do change 
docs all the time, and trying to track those changes is not simple and 
certainly doesn't belong to the current Changes. Suggestions on how to improve 
that are certainly welcome.

BTW, I did acknowledge that I've committed your patch, David, in reply to your 
email with the patch.

__
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