Re: Trouble with Apache::Request

2003-06-08 Thread Randy Kobes
On Fri, 7 Jun 2003, K Old wrote:
[ .. ]
 Stas, thanks for your reply.  I downloaded the CVS source and
 it still failed all tests.  Below is the output from make test
 and the output from perl -V.  Any help is appreciated!

Another thing that may be worth trying - if you've installed
libapreq, try going back to the mod_perl sources and running
those tests again. Do the modules/request.t and modules/cookie.t
tests pass, or if not, do you receive the same errors?

-- 
best regards,
randy


Re: file upload object - getting form field name

2003-06-08 Thread Issac Goldstand
Sorry for the latte reply.
Absolutely:

[snip]

**use Apache::Request;
**my $q=Apache::Request-instance($r);
  my $upload_id = 0;
**for my $upload ($q-upload) {
  $upload_id++;
**my $name=$upload-name;
  # do stuff
  }

[snip]

All the best,
  Issac


[mp1] PerlCleanupHandler in .htaccess file sometimes doesn't run

2003-06-08 Thread Bradley Baetz
I've run into an interesting bug in mp1. If I have a PerlCleanupHandler
defined in a .htaccess file, then it won't run if there was a
PerlInitHandler defined in httpd.conf. It doesn't matter what the
PerlInitHandler does, as long as its there the cleanup fails. If I have
the init handler run from within the .htaccess, its all fine, and it
also works if I have a PerlLogHandler in .htaccess instead of a
PerlCleanupHandler.

I'll attach two test files. Foo.pm is loading via PerlModule in
httpd.conf, and I have |PerlInitHandler Foo-init|. I first noticed this
with Apache::Reload, but any init handler will do it.

With the init handler, I get lines in error_log for init, Request, and
cleanup1. Without, I get lines for Request, cleanup1, and then the die.
The cleanup1 handler was just for testing; removing it doesn't affect
the results.

I'm testing with RH9's perl 5.8.0, and cvs mod_perl/1.27_01-dev from
about 12 hours ago, with a self compiled apache_1.3.27. This also
happened with mp/1.27, but doesn't happen with mp2 (After I port my test
modules to mp2). mod_perl is built as a .so with

perl Makefile.PL USE_APXS=1 WITH_APXS=/usr/local/apache/bin/apxs
EVERYTHING=1

Thanks,

Bradley

PS Is there a way to subscribe to this list so that I can post, but not
receive any mails? I couldn't find a nomail option on the list page at
perl.apache.org. I've subscribed to the digest version for now.
package Foo;

use Apache;

sub init($$) : method {
warn init;
return Apache::OK;
}

sub cleanup($$) : method {
die XXX;

return Apache::OK;
}

1;
#!/usr/bin/perl -w

use lib qw(.);

use strict;

use warnings;

use Foo;

sub cleanup1 {
warn cleanup1;

return Apache::OK;
}

Apache-request-register_cleanup(\cleanup1);

Apache-request-send_http_header('text/plain');

warn Request;

print HI!;
  SetHandler perl-script
  PerlHandler Apache::Registry
  Options ExecCGI
  allow from all
  #PerlInitHandler Foo-init
  PerlCleanupHandler Foo-cleanup


HTML::Mason and mod_perl issues with DSO?

2003-06-08 Thread Forrest Aldrich
With regard to the RT (http://www.fsck.com/rt) program, there were notes in 
the README file that said mod_perl DSO has/had massive scalability 
problems when using HTML::Mason.

I inquired to the RT author, who isn't certain that issues till persists - 
so I also inquired to the HTML::Mason people.

However, I wanted to also inquire -here- since some people might know more 
about the problem - I guess it had to do with random segfaults - and I 
imagine this might be in larger-scale operations (ie: the reference to 
scalability) so the problem might not be seen unless the system has a 
larger load.  I'm not sure.

Any info/tips/pointers on this issue would be appreciated.



Forrest



Re: is anybody using mp2 in production?

2003-06-08 Thread Chris Faust
Our mod_perl success story.



As consultants we were hired to repair, revamp and rebuild a online
classifieds site in which a lot of cost and effort was placed in promoting
the site and generating traffic but the site itself was based on a 3rd party
product that simply could not handle the half million hits a day the site
was getting.



Without a lot of effort the decision was made to build a custom solution
from the ground up using Perl and Apache under Linux.

After completing the project and having some difficult issues with the
current ISP we moved the entire site to an ISP that we have had a long term
relationship with and who provides us with everything one would need to
properly maintain such a project.



Little did we know that the second we moved to our new ISP it was like
opening up the flood gates (long story relating to other ISP), overnight
this CGI driven site went from a half million hits a day to a million and
with it came a number of problems, a lot of which were unfixable without
adding more hardware - there was simply far too much traffic coming through
during the peak times of the day.



Having spent a week doing everything we could, optimizing everything
possible it was clear that at best, we may be able to gain enough to just
keep our heads above water.



Reluctantly we knew we had no choice but to give mod_perl a try, we really
didn't think it was going to make that much of a difference but every little
bit counted at this point.

We knew that it was going to be very difficult to setup apache and
especially convert our code over - I mean after all I've heard as many
stories of nightmare conversions as success stories.



After about the first week of pouring through the documentation and
experimenting on our development server, I realized HOW WRONG I WAS..



Once we understood what was expected, conversion of the current code was
less painful and a lot more interesting to do then some of the phone calls
or meetings that led up to getting the contract for the project itself J.



Once everything was done we could see instantly the improvement on our dev
server, what we didn't know nor what we were prepared for was what would
happen once this was running in production, I mean sure it was fast when
there is only 2 of us on the machine, so was the old site.



What we saw after going live was one of those moments when you are just
blown away, where you are sitting there saying I see it but I just don't
believe it.

At our best estimate we gained more then a 300% performance increase, during
peak hours we were seeing load times of 20 - 30, processing going defunct
etc. etc. prior to mod_perl.

Since the day we went live we haven't seen the machines even sweat, even the
DB machine was impacted by the change in a positive way.

We are currently up over 2 million hits a day, the 1 million hits gained
since going live with mod_perl has resulted in practically nothing
(everything is still saying Give me More!!!)



We'd like to think it was easy moving to mod_perl because we are such
awesome coders, but of course the truth is it's due to the awesome
documentation at http://perl.apache.org, the fantastic support of mod_perl
in all those perl modules we have all come to depend on, the invaluable
mailing lists and mailing list archives, and what I personally think is the
coolest thing of all, Stas Bekman who never left me or anyone else I've seen
on the mailing list hanging for any answer.



We have just completed a re-design of the site and have been up and running
under Apache 2 and mod_perl 2 for about 6 months now with as few problems as
anyone could ever hope to have.



Mod_perl is clearly the solution for high traffic sites, however because of
our experience with mod_perl we have since done everything in it, from the
simplest of form mailers to complex sites because in my eyes there is no
reason not to do things the best possible way the first time around!



Thanks to Everyone on the Mod_perl Team

Chris Faust

Developer of http://www.isoldmyhouse.com





- Original Message - 
From: Stas Bekman [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Sent: Tuesday, April 08, 2003 1:50 AM
Subject: is anybody using mp2 in production?


 I've heard that some people are already using mod_perl 2.0 in production.
It'd
 be interesting to hear mp2 both success and failure stories.

 p.s. mod_perl 1.99_09, which includes new features and lots of bug fixes,
 should be released as soon as the current cvs is stabilized. So testing
the
 current cvs and reporting any problems (especially build/test ones) would
be
 helpful to make the new release better. About the same time Apache::Test
 should be released on CPAN.

 __
 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 

PerlOptions Clone/Parent in mp2

2003-06-08 Thread Marc M. Adkins
wrt Apache 2.0, mod_perl 2.0...

I'm not using Clone or Parent at the current time, but I was re-reading the
documentation on them for an unrelated reason and started thinking about how
they would work.

Suppose I want to set up five virtual hosts with modules A - E.  Then I want
to set up six virtual hosts with modules F - M.  The first five virtual
hosts can all share a pool of interpreters and the second six virtual hosts
can share a different pool of interpreters.

How might I declare two parent interpreters globally, one with modules A - E
and the other with modules F - M such that I could share a pool of
interpreters derived from the first parent with five virtual hosts and a
pool of interpreters derived the second parent with a different six virtual
hosts?

This is all theoretical, I don't actually need this right now, and probably
won't ever.  Just trying to imagine how these options would be used.

mma



Re: is anybody using mp2 in production?

2003-06-08 Thread Benjamin Reed
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1
Chris Faust wrote:

Our mod_perl success story.
Here's mine...

The company I work at makes network management appliances (with a web 
interface).  We were trying to figure out a good way to demo them 
without having to ship embedded PCs to everyone...

I went looking all over for good open-source filtering proxies that are 
easily configurable, and happened upon very little.  Then I remembered 
reading about apache2 and how you can now hook into every part of the 
request process now.

I grabbed mp2 and in the span of 4 hours (and having no previous 
experience with buckets and such) had prototyped a filtering proxy 
that is perfect for our needs.  I was able to set it up so that a 
virtual host can be mapped to an appliance behind the proxy and it 
automatically proxies all incoming connections to that appliance, *and* 
filters the returning data back out to the client.

It also lets us have live filters on anything coming back from the 
appliances, so we're able to make the appliances work just like they 
would out in the field, but still filter data to disallow doing things 
that could do damage to our internal test network for the appliances 
(like performing level 3 vulnerability scans and such).

Thanks, mod_perl!  grin

- -- 
Benjamin Reed a.k.a. Ranger Rick -- http://ranger.befunk.com/
Standards are the industry's way of codifying obsolescence.
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.2.2 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQE+46MAUu+jZtP2Zf4RAmbzAKCHyOog0l+0AFGFA1KzUn1ZsjcUhQCfa7qB
QI31bJNthwssxFC5eA34oXA=
=uPqa
-END PGP SIGNATURE-


install upgrade for mod_perl+apache 2.046 onto apache 2.044 question

2003-06-08 Thread dan martin
I have apache 2.044 installed on win2k. I want to install the mod_perl which comes with apache included (version 2.046).What do I need to do with the current 2.044 version before installing the new version? Do I uninstall it, stop it, or nothing?Once I install the new version what are the steps to revert back to the old version if I run into problems?This is an active site, so I do not want to figure this out by experimentation, if possible.Thanks for any guidance.dan
Do you Yahoo!?
Free online calendar with sync to Outlook(TM).

Re: install upgrade for mod_perl+apache 2.046 onto apache 2.044 question

2003-06-08 Thread Beau E. Cox



Hi -

  - Original Message - 
  From: 
  dan 
  martin 
  To: [EMAIL PROTECTED] 
  Sent: Sunday, June 08, 2003 11:08 
AM
  Subject: install upgrade for 
  mod_perl+apache 2.046 onto apache 2.044 question
  
  I have apache 2.044 installed on win2k. I want to install the 
  mod_perl which comes with apache included (version 2.046).What do I 
  need to do with the current 2.044 version before installing the new version? 
  Do I uninstall it, stop it, or nothing?

  Once I install the new version what are the steps to revert back to the 
  old version if I run into problems?This is an active site, so I do not 
  want to figure this out by experimentation, if possible.Thanks for any 
  guidance.dan
  It's been a while since I've installed on 
  Windows, but here goes:
  
  1. Wait 'till the wee hours.
  2. Stop your current server.
  3. Uninstall the service (apache -k uninstall 
  (?)).
  4. Back it up.
  5. If memory serves, Apache 2 is pretty well self 
  contained in one directory;
   C:\Apache2 (?). Rename this 
  directory to something like C:\Apache2.old
  6. Download/install your new 
Apache2.
  7. Copy your configuration file(s) from old to 
  new - you shouldn't have to make
   any changes between 44 and 46. Don't 
  worry about setting up mod_perl
   yet.
  8 Start your new server and test.
  9. If all is well, install the service (apache -k 
  install (?)) and reboot and
   test again.
  
  Now you can move on to mod_perl. To 
  revert:
  
  1. Stop new
  2. Uninstall service.
  3. rename C:\Apache2 to 
  C:\apache2.new
  4. rename C:\Apache2.old to 
  C:\Apache2.
  5. install service.
  6. start old.
  
  THIS IS NOT A GOOD WAY TO FLY.
  
  I strongly recommend getting a testing server 
  setup on a different
  box so that you can make changes such as this 
  without interrupting
  your active site. You SHOULD be able to 
  experiment with the new
  software without fear of disrupting your traffic! 
  If there is no way you
  can do that, please drop me an off-list email and 
  perhaps I can
  let you install/test remotely on one of my 
  windows boxes.
  
  Aloha = 
Beau;


Re: Compiling mod_perl as a static module....

2003-06-08 Thread Ged Haywood
Subject: Returned mail: see transcript for details

The original message was received at Sun, 8 Jun 2003 23:22:26 +0100
from IDENT:[EMAIL PROTECTED] [212.22.195.7]

   - The following addresses had permanent fatal errors -
[EMAIL PROTECTED]
(reason: 553 5.3.0 Zone rejected due to abuse.)

   - Transcript of session follows -
... while talking to forrie.com.:
 MAIL From:[EMAIL PROTECTED]
 553 5.3.0 Zone rejected due to abuse.
==
Hi there,

As you can see mail from me doesn't reach you directly.
What's this abuse?

On Sun, 8 Jun 2003, Forrest Aldrich wrote:

 I'm finally getting down to trying this out, per your directions.

As I recall I have already asked you to keep your messages on the List.

Please read

http://perl.apache.org/maillist/email-etiquette.html

73,
Ged.






Re: Trouble with Apache::Request

2003-06-08 Thread K Old
On Sun, 2003-06-08 at 01:50, Randy Kobes wrote:
 On Fri, 7 Jun 2003, K Old wrote:
 [ .. ]
  Stas, thanks for your reply.  I downloaded the CVS source and
  it still failed all tests.  Below is the output from make test
  and the output from perl -V.  Any help is appreciated!
 
 Another thing that may be worth trying - if you've installed
 libapreq, try going back to the mod_perl sources and running
 those tests again. Do the modules/request.t and modules/cookie.t
 tests pass, or if not, do you receive the same errors?


Well, I've recompile a fresh version of Perl 5.8.0 (without threads),
Apache, mod_perl and PHP and still no luckon that box.  I have
another Mandrake 9.0 box and tried to compile the new libapreq that Stas
pointed to from CVS and got the following errors  Any suggestions?

I did:

perl Makefile.PL -httpd /usr/sbin/httpd  make test

And got:

In file included from apache_request.c:59:
apache_request.h:5:19: httpd.h: No such file or directory
apache_request.h:6:25: http_config.h: No such file or directory
apache_request.h:7:23: http_core.h: No such file or directory
apache_request.h:8:22: http_log.h: No such file or directory
apache_request.h:9:23: http_main.h: No such file or directory
apache_request.h:10:27: http_protocol.h: No such file or directory
apache_request.h:11:25: util_script.h: No such file or dmake[1]: Leaving
directory `/root/tmp/httpd-apreq/c'
pache_request.h:38: parse error before table
apache_request.h:38: warning: no semicolon at end of struct or union
apache_request.h:47: parse error before '*' token
apache_request.h:47: warning: data definition has no type or storage
class
apache_request.h:49: parse error before '}' token
apache_request.h:49: warning: data definition has no type or storage
class
apache_request.h:56: parse error before table
apache_request.h:56: warning: no semicolon at end of struct or union
apache_request.h:57: warning: data definition has no type or storage
class
apache_request.h:59: parse error before '*' token
apache_request.h:59: warning: data definition has no type or storage
class
apache_request.h:60: parse error before '}' token
apache_request.h:90: parse error before '*' token
apache_request.h:90: parse error before '*' token
apache_request.h:90: warning: data definition has no type or storage
class
apache_request.h:91: parse error before '*' token
apache_request.h:92: parse error before '*' token
apache_request.h:93: parse error before '*' token
apache_request.h:94: parse error before '*' token
apache_request.h:95: parse error before '*' token
apache_request.h:96: parse error before '*' token
apache_request.h:96: parse error before '*' token
apache_request.h:96: warning: data definition has no type or storage
class
apache_request.h:97: parse error before '*' token
apache_request.h:98: parse error before '*' token
apache_request.h:101: parse error before '*' token
apache_request.h:101: parse error before '*' token
apache_request.h:101: warning: data definition has no type or storage
class
apache_request.h:102: parse error before '*' token
apache_request.h:102: parse error before '*' token
apache_request.h:102: warning: data definition has no type or storage
class
apache_request.h:104: parse error before '*' token
apache_request.h:104: parse error before '*' token
apache_request.h:104: warning: data definition has no type or storage
class
apache_request.h:105: parse error before '*' token
apache_request.h:124: parse error before '*' token
apache_request.h:127: parse error before '*' token
In file included from apache_request.c:60:
apache_multipart_buffer.h:16: parse error before request_rec
apache_multipart_buffer.h:16: warning: no semicolon at end of struct or
union
apache_multipart_buffer.h:29: parse error before '}' token
apache_multipart_buffer.h:29: warning: data definition has no type or
storage class
apache_multipart_buffer.h:31: parse error before '*' token
apache_multipart_buffer.h:32: parse error before request_rec
apache_multipart_buffer.h:32: warning: data definition has no type or
storage class
apache_multipart_buffer.h:33: parse error before '*' token
apache_multipart_buffer.h:33: parse error before '*' token
apache_multipart_buffer.h:33: warning: data definition has no type or
storage class
apache_multipart_buffer.h:34: parse error before '*' token
apache_multipart_buffer.h:35: parse error before '*' token
apache_multipart_buffer.h:36: parse error before '*' token
apache_request.c:61: parse error before '*' token
apache_request.c:69: parse error before '*' token
apache_request.c: In function `util_read':
apache_request.c:71: `request_rec' undeclared (first use in this
function)
apache_request.c:71: (Each undeclared identifier is reported only once
apache_request.c:71: for each function it appears in.)
apache_request.c:71: request for member `r' in something not a structure
or union
apache_request.c:72: `OK' undeclared (first use in this function)
apache_request.c:74: `REQUEST_CHUNKED_ERROR' undeclared (first use in
this 

Compling mod_perl as a static module....

2003-06-08 Thread Forrest Aldrich
I'm finally getting down to trying this out, per Ged's directions.

I want to try compiling mod_perl statically - I believe APACI is for DSO 
only - when I try to run perl Makefile.PL, I get warnings about compiling 
SSI with a DSO, thus I believe the following might need to be modified 
(removing APACI for?).

(again, this is under FreeBSD-4.8 with the latest mod_ssl and 1.27-mod-perl)

My process has been thus far:

o untar all distributions
o copy my custom config.layout to apache directory and ./configure (no 
other options)
o enter to mod_ssl directory and configure, export SSL_BASE=SYSTEM
o enter into mod_ssl directory  this is where I'm at.

I presume I don't need to pass APACI options to specify that which I 
already placed in my config.layout under the apache source tree.

Thanks,
Forrest
[ makepl_args.mod_perl ]
USE_APACI=1
APACHE_PREFIX=/usr/local/apache
APACHE_SRC=../apache_1.3.27/src
DO_HTTPD=1
EVERYTHING=1
ALL_HOOKS=1
PERL_SSI=1
PERL_SECTIONS=1
APACI_ARGS=--with-perl=/usr/local/bin/perl
APACI_ARGS=--enable-module=rewrite
APACI_ARGS=--enable-module=include
APACI_ARGS=--enable-module=info
APACI_ARGS=--enable-module=usertrack
APACI_ARGS=--server-gid=nogroup
APACI_ARGS=--suexec-docroot=/usr/local/apache/htdocs
APACI_ARGS=--enable-module=most
APACI_ARGS=--enable-module=auth_db
APACI_ARGS=--enable-module=mmap_static
APACI_ARGS=--enable-shared=max
APACI_ARGS=--enable-module=ssl
APACI_ARGS=--enable-rule=SHARED_CORE
APACI_ARGS=--activate-module=src/modules/dosevasive/libdosevasive.a


Re: HTML::Mason and mod_perl issues with DSO?

2003-06-08 Thread Les Mikesell
From: Forrest Aldrich [EMAIL PROTECTED]

 With regard to the RT (http://www.fsck.com/rt) program, there were notes in
 the README file that said mod_perl DSO has/had massive scalability
 problems when using HTML::Mason.

This is probably old info based on the DSO build shipped through RedHat 7.2.
Somewhere as an update to the 7.2 release they got it right and it is solid at
least
through 7.3 and its updates. The only quirk is that there is a memory leak if
you
attempt graceful restarts so it is always best to stop/start.   I'm not sure
about
 RH8/9 with apache 2.x/mp2.

---
   Les Mikesell
   [EMAIL PROTECTED]




Re: Trouble with Apache::Request

2003-06-08 Thread Randy Kobes
On Sun, 8 Jun 2003, K Old wrote:

 On Sun, 2003-06-08 at 01:50, Randy Kobes wrote:
  On Fri, 7 Jun 2003, K Old wrote:
  [ .. ]
   Stas, thanks for your reply.  I downloaded the CVS source and
   it still failed all tests.  Below is the output from make test
   and the output from perl -V.  Any help is appreciated!
 
  Another thing that may be worth trying - if you've installed
  libapreq, try going back to the mod_perl sources and running
  those tests again. Do the modules/request.t and modules/cookie.t
  tests pass, or if not, do you receive the same errors?

 Well, I've recompile a fresh version of Perl 5.8.0 (without threads),
 Apache, mod_perl and PHP and still no luckon that box.  I have
 another Mandrake 9.0 box and tried to compile the new libapreq that Stas
 pointed to from CVS and got the following errors  Any suggestions?

 I did:

 perl Makefile.PL -httpd /usr/sbin/httpd  make test

 And got:

 In file included from apache_request.c:59:
 apache_request.h:5:19: httpd.h: No such file or directory
[ .. ]
Is /usr/sbin/httpd is a symbolic link to a real httpd, which
could be something like /usr/local/httpd/bin/httpd? And is this
httpd the one you compiled? If so, try giving the full path to
this httpd as the Makefile.PL argument (there should be a
/usr/local/httpd/include/ directory which has the header (.h)
files that couldn't be found).

-- 
best regards,
randy


Re: install upgrade for mod_perl+apache 2.046 onto apache 2.044question

2003-06-08 Thread Randy Kobes
On Sun, 8 Jun 2003, Beau E. Cox wrote:

 Hi -
   - Original Message -
   From: dan martin
   To: [EMAIL PROTECTED]
   Sent: Sunday, June 08, 2003 11:08 AM
   Subject: install upgrade for mod_perl+apache 2.046 onto apache 2.044 question

 I have apache 2.044 installed on win2k. I want to install the
 mod_perl which comes with apache included (version 2.046).

 What do I need to do with the current 2.044 version before
 installing the new version? Do I uninstall it, stop it, or
 nothing? Once I install the new version what are the steps to
 revert back to the old version if I run into problems?

 This is an active site, so I do not want to figure this out by
 experimentation, if possible.

   It's been a while since I've installed on Windows, but here goes:

   1. Wait 'till the wee hours.
   2. Stop your current server.
   3. Uninstall the service (apache -k uninstall (?)).
   4. Back it up.
   5. If memory serves, Apache 2 is pretty well self contained in one directory;
   C:\Apache2 (?). Rename this directory to something like
 C:\Apache2.old
   6. Download/install your new Apache2.
   7. Copy your configuration file(s) from old to new - you shouldn't have to make
  any changes between 44 and 46. Don't worry about setting
  up mod_perl yet.
   8 Start your new server and test.
   9. If all is well, install the service (apache -k install (?)) and reboot and
   test again.

   Now you can move on to mod_perl. To revert:

   1. Stop new
   2. Uninstall service.
   3. rename C:\Apache2 to C:\apache2.new
   4. rename C:\Apache2.old to C:\Apache2.
   5. install service.
   6. start old.

I don't really have much to add to what Beau nicely summarized,
save for, if you're installing the Perl/Apache/mod_perl package
from http://perl.apache.org/dist/win32-bin/, you should also back
up your present Perl directory in the same way as you'll do for
Apache2. There's a configuration script that'll be run in this
package which will change some conf files based on your installed
location, so it's easiest to install things to their final
destinations before running this. But before installing this
package, as Beau said, rename your current Apache2 and Perl
directories, so as nothing gets overwritten by the install.

-- 
best regards,
randy kobes


CGI.pm not processing POST within AuthenHandler

2003-06-08 Thread Michael L. Artz
For some reason, CGI.pm (2.93) does not seem to parse POST data within a 
PerlAuthenHandler.  For example, the following:

sub handler {
   my $r = shift;
   my $q = new CGI($r);
   my @params = $q-param;
   $r-server-log-error(handler params are  . join ::, @params);
   return Apache::OK;
}
logs the paramter names correctly if the request is a GET, but not if a 
POST.  The same code works fine within an Apache::Registry script, which 
I assume will have the same behavior as a PerlResponseHandler.  I also 
attempted both the x-www-form-urlencoded and multipart/form-data POST 
types and neither worked.

Am I missing something that mod_perl is not doing till the response 
phase, like setting up STDIN?  I thought that this might have had 
something to do with an earlier thread 
(http://marc.theaimsgroup.com/?t=10499295465r=1w=2), however I 
also tried adding:

$r-subprocess_env;
Apache-request($r);
to the handler to no avail.

Thanks
-Mike
Apache/2.0.44 (Gentoo/Linux) mod_perl/1.99_09 Perl/v5.8.0 CGI.pm/2.93

Directory /home/*/public_html/protected
 FilesMatch \.pl$
   AllowOverride None
   Options +ExecCGI
   SetHandler perl-script
   PerlAuthenHandler Apache::MyAuth::handler
   AuthType Cookie
   AuthName MyPrivateStuff
   require valid-user
   PerlResponseHandler ModPerl::Registry
 /FilesMatch
/Directory




Re: CGI.pm not processing POST within AuthenHandler

2003-06-08 Thread Joe Schaefer
Michael L. Artz [EMAIL PROTECTED] writes:

 For some reason, CGI.pm (2.93) does not seem to parse POST data within a
 PerlAuthenHandler.  For example, the following:
 
 sub handler {
 my $r = shift;
 my $q = new CGI($r);
 my @params = $q-param;
 $r-server-log-error(handler params are  . join ::, @params);
 return Apache::OK;
 }

[...]

 Apache/2.0.44 (Gentoo/Linux) mod_perl/1.99_09 Perl/v5.8.0 CGI.pm/2.93

Attempting to read POST data before the content-handler is called
is unsafe with httpd-2.  You'll probably have to wait for
Apache::Request to be ported over in order to do something like that.

-- 
Joe Schaefer



Re: is anybody using mp2 in production?

2003-06-08 Thread Sreeji K Das
That's cool  is yet another example of the power of
mod_perl. And you're right about the documentation. I
was blown away by the amount of docs. available at
perl.apache.org; thanks to all the hard work of Stas
Beckman !!

We had been using mod_perl  had been having a very
stable site for quite a long time. 

Now we're planning to shift to mod_perl-2. I could get
everything compiled, but mp2 bombed while parsing our
config. files. I've reported this bug (search for
PerlSection + recurse/recursive) and hopefully some1
is working on it ;-) Anyway, I plan to spend my
weekends reading mod_perl code and see if I can fix
this issue.

Once the above issue is fixed, we'd be able to move on
to the next level of testing  report any further
issues.

(Btw, Chris, are you using the worker mpm ? Is it
stable ? We'd like to go the worker mpm way  would
like to know if any1 is using it yet in production.)

thx
Sreeji

 --- Chris Faust [EMAIL PROTECTED] wrote:  Our
mod_perl success story.
 
 
 
 As consultants we were hired to repair, revamp and
 rebuild a online
 classifieds site in which a lot of cost and effort
 was placed in promoting
 the site and generating traffic but the site itself
 was based on a 3rd party
 product that simply could not handle the half
 million hits a day the site
 was getting.
 
 
 
 Without a lot of effort the decision was made to
 build a custom solution
 from the ground up using Perl and Apache under
 Linux.
 
 After completing the project and having some
 difficult issues with the
 current ISP we moved the entire site to an ISP that
 we have had a long term
 relationship with and who provides us with
 everything one would need to
 properly maintain such a project.
 
 
 
 Little did we know that the second we moved to our
 new ISP it was like
 opening up the flood gates (long story relating to
 other ISP), overnight
 this CGI driven site went from a half million hits a
 day to a million and
 with it came a number of problems, a lot of which
 were unfixable without
 adding more hardware - there was simply far too much
 traffic coming through
 during the peak times of the day.
 
 
 
 Having spent a week doing everything we could,
 optimizing everything
 possible it was clear that at best, we may be able
 to gain enough to just
 keep our heads above water.
 
 
 
 Reluctantly we knew we had no choice but to give
 mod_perl a try, we really
 didn't think it was going to make that much of a
 difference but every little
 bit counted at this point.
 
 We knew that it was going to be very difficult to
 setup apache and
 especially convert our code over - I mean after all
 I've heard as many
 stories of nightmare conversions as success stories.
 
 
 
 After about the first week of pouring through the
 documentation and
 experimenting on our development server, I realized
 HOW WRONG I WAS..
 
 
 
 Once we understood what was expected, conversion of
 the current code was
 less painful and a lot more interesting to do then
 some of the phone calls
 or meetings that led up to getting the contract for
 the project itself J.
 
 
 
 Once everything was done we could see instantly the
 improvement on our dev
 server, what we didn't know nor what we were
 prepared for was what would
 happen once this was running in production, I mean
 sure it was fast when
 there is only 2 of us on the machine, so was the old
 site.
 
 
 
 What we saw after going live was one of those
 moments when you are just
 blown away, where you are sitting there saying I
 see it but I just don't
 believe it.
 
 At our best estimate we gained more then a 300%
 performance increase, during
 peak hours we were seeing load times of 20 - 30,
 processing going defunct
 etc. etc. prior to mod_perl.
 
 Since the day we went live we haven't seen the
 machines even sweat, even the
 DB machine was impacted by the change in a positive
 way.
 
 We are currently up over 2 million hits a day, the 1
 million hits gained
 since going live with mod_perl has resulted in
 practically nothing
 (everything is still saying Give me More!!!)
 
 
 
 We'd like to think it was easy moving to mod_perl
 because we are such
 awesome coders, but of course the truth is it's due
 to the awesome
 documentation at http://perl.apache.org, the
 fantastic support of mod_perl
 in all those perl modules we have all come to depend
 on, the invaluable
 mailing lists and mailing list archives, and what I
 personally think is the
 coolest thing of all, Stas Bekman who never left me
 or anyone else I've seen
 on the mailing list hanging for any answer.
 
 
 
 We have just completed a re-design of the site and
 have been up and running
 under Apache 2 and mod_perl 2 for about 6 months now
 with as few problems as
 anyone could ever hope to have.
 
 
 
 Mod_perl is clearly the solution for high traffic
 sites, however because of
 our experience with mod_perl we have since done
 everything in it, from the
 simplest of form mailers to complex sites because in
 my eyes there is no
 reason 

[mp1] 1.28 release candidate #1

2003-06-08 Thread Philippe M. Chiasson
Finally, the first mod_perl 1.28 release candidate #1 has arrived. It
can be downloaded here:

http://www.apache.org/~gozer/mp1/mod_perl-1.27_01-dev-rc1.tar.gz

MD5 : ad64dfdb4f5b056b00d87288ef31bd56
SHA1: 03409c6f44c408acae44a258fe4e59b408c0040f

The summary of what has changed since 1.27 are (from STATUS):

Add Win32 support to Apache::SizeLimit [Matt Phillips
[EMAIL PROTECTED] and Mohamed Hendawi [EMAIL PROTECTED]]

Change Apache::SizeLimit to not push a cleanup handler if already in
the cleanup handler phase, and adjust docs to show that cleanup
handler is the preferred phase to use [Perrin Harkins
[EMAIL PROTECTED]]

Rename Apache::test to Apache::testold because Apache::test on 
case-insensitive systems will collide with Apache::Test which 
supercedes Apache::test. So if you want to keep on using Apache::test,
either bundle it with your project (putting it under inc/ or t/ so it
won't be installed) or require mod_perl 1.28 and use Apache::testold
instead. Of course the best route is to port your test suite to use
a much better Apache::Test which work with mod_perl 1.0 and 2.0.
[Philippe M. Chiasson, Stas Bekman]

Tweak mod_perl.h to defined _INCLUDE_APACHE_FIRST only after apache
headers were included [Stas Bekman]

avoid various warnings under src/modules/perl/:
- declare bufsiz to be STRLEN in Apache.xs, and add
  STRLEN to Apache/typemap
- add I32 typecast in Constants.xs
- avoid use of unregistered local variables for Win32
  in mod_perl.c and perl_config.c
- s/I32/U8/ in mod_perl.h, perl_config.c, and perl_util.c
- declare i and http_code to be STRLEN in perl_util.c
[Stas Bekman, Randy Kobes]

don't use $r variable in Apache::PerlRun::compile(), so the script
won't use use inherited $r by mistake [Stas Bekman]

define PERL_DIRECTIVE_HANDLERS so that ModuleConfig.c gets
generated when building on Win32 within Visual Studio
[John Petrakis [EMAIL PROTECTED]]

enable PERL_SECTIONS for Win32 [Dirk Maetens [EMAIL PROTECTED]]

use touch() from ExtUtils::Command, rather than a system touch(),
for the benefit of platforms without touch(). [Randy Kobes
[EMAIL PROTECTED]]
 
can't let the default typemap rule to convert sv into char* in
unescape_url, since it doesn't handle correctly undefs (returns an
unallocated  string, which then causes a segfault in
ap_unescape_url. use SvPV_force, instead, which does the right
thing. [Stas Bekman]

Make sure to start perl, if it's not running, before processing Perl*
directives, with threaded perl and PERL_STACKED_HANDLERS=0 [Stas
Bekman]

Add Apache::Module to Bundle::Apache [Stas Bekman]

use $Config{'installstyle'} instead of hardcoded 'lib', to handle
Makefile.PL's PREFIX option correctly [Philippe M. Chiasson
[EMAIL PROTECTED]]

prevent segfaults in mod_perl_mark_where() when a sub can't get
resolved [Gerald Richter [EMAIL PROTECTED]]

Apache::Status: Need to load B::Terse/TerseSize if it wasn't loaded
yet in that child before using it.  [Dan Sully [EMAIL PROTECTED]]

document the server_root_relative() method [Stas Bekman [EMAIL PROTECTED]]

eliminate warnings when flushing functions with empty () prototypes in
Apache::PerlRun::flush_namespace [Yair Lenga [EMAIL PROTECTED]]

fix Apache::Status to not use :: in filenames, which is not allowed on
certain OSs [DH [EMAIL PROTECTED]]

various cygwin fixes [Per Einar Ellefsen [EMAIL PROTECTED]]

fix to compile with 5.8.0 on win32 [Randy Kobes [EMAIL PROTECTED]]

Document the possible misuses of the Apache::Constant constants
[Per Einar Ellefsen [EMAIL PROTECTED]]

--

A more detailled review of each patch included in this release candidate can be found 
here:
http://www.apache.org/~gozer/mp1/1.27-dev/

Please give this release a spin and report back any problems or failed tests to:
[EMAIL PROTECTED] as soon as possible. The more platforms  configurations, the
merrier!

Thank you!

-- 
-- -
Philippe M. Chiasson /gozer\@(cpan|ectoplasm)\.org/ 88C3A5A5 (122FF51B/C634E37B)
http://gozer.ectoplasm.org/F9BF E0C2 480E 7680 1AE5 3631 CB32 A107 88C3 A5A5
Q: It is impossible to make anything foolproof because fools are so ingenious.
perl -e'$$=\${gozer};{$_=unpack(P7,pack(L,$$));/^JAm_pH\n$/print||$$++redo}'
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.2.1 (GNU/Linux)

iD8DBQA+5BRtyzKhB4jDpaURAuoOAJ9G1hIWGKHJxdidMrPBvyuRCawTSQCcDnvp
xxhgPZh8Rir59NYKXIQmyJI=
=zZNt
-END PGP SIGNATURE-


signature.asc
Description: This is a digitally signed message part