Re: Using modperl as an 'adaptor' front end to an app server.

2001-02-02 Thread Daniel Sully

Once upon a time Dave Rolsky shaped the electrons to say...

> > That would be a no. Socket communication only. Shared filesystems in
> > production are bad, mmkay.
> 
> I'm not sure which you're referring to, my suggestion that you use a DBM
> file (with locking, of course) on 1 machine or NFS.  I have no experience
> with NFS myself but I've heard of other using it for such things (or
> trying to, at least).  I would think a database would end up being the
> simplest way to do this sort of information passing.

There is too much overhead for using a locking a database across a
shared filesystem with potential latency problems and blocking/deadlock
potential. A direct socket connection, or even tossing a multicast
packet out onto the wire is the best for inter-machine communication,
where there may be N machines that are available to answer that request.

-D
--
fall down seven times, get up eight.



Re: Using modperl as an 'adaptor' front end to an app server.

2001-02-02 Thread Dave Rolsky

On Fri, 2 Feb 2001, Daniel Sully wrote:

> > You could use an IPC or DBM file (assuming you have 1 apache machine) to
> > communicate this info.  With multiple webservers, you'd need a database or
> > NFS or something.
>
> That would be a no. Socket communication only. Shared filesystems in
> production are bad, mmkay.

I'm not sure which you're referring to, my suggestion that you use a DBM
file (with locking, of course) on 1 machine or NFS.  I have no experience
with NFS myself but I've heard of other using it for such things (or
trying to, at least).  I would think a database would end up being the
simplest way to do this sort of information passing.


-dave

/*==
www.urth.org
We await the New Sun
==*/




modperl + FrontPage Server Extensions

2001-02-02 Thread Jose Albert

Hi Everybody

I've a Linux box already running Apache/1.3.14 compiled with 
mod_perl-1.24_01 running Apache-ASP-2.03. Well the question is if 
Installing FrontPage Server Extensions will conflict?.  
   
Thanks in advance

Regards

-Jose

[EMAIL PROTECTED]
www.datacourse.com




Doh; StatINC can't find files?

2001-02-02 Thread Nick Tonkin


Hi folks,

Maybe I'm just rusty after 8 months off, but my StatINC can't find files 
that exist on the system:

wm ~>tail ~wm/wm/logs/errorlog
Apache::StatINC: Can't locate /home/wm/wm/perl/WM/Class.pm

wm ~>perl -e '$file="/home/wm/wm/perl/WM/Class.pm"; $mtime = (stat 
$file)[9]; warn $mtime;'
963258607 at -e line 1.

I thought it might be perms, but:

wm ~>ls -la /home/wm/wm/perl/WM/Class.pm
-rwxrwxr-x1 wm   wm  10357 Jul 20  2000 
/home/wm/wm/perl/WM/Class.pm

And the same thing happens with Apache::Reload ...

I'm sure I'm missing something obvious; any clues?

Thanks

-nick





Apache::SizeLimit MAX UNSHARED patch

2001-02-02 Thread Joshua Chamas

Hey,

Per Perrin Harkin's advice, and my client's consent, I hacked 
up Apache::SizeLimit to support MAX_PROCESS_UNSHARED_SIZE config, 
where instead of limiting by the apparent process size, one limits 
by the amount of unshared memory being used.  Unshared memory is the 
effective process size, in terms of how much of your machine's RAM 
its eating.   It rewards you for pre-loading modules and pre-compiling
scripts in your parent httpd.

The patch is below, and only supports this config on linux.
My development was on a linux 2.2 kernel, a relies on the format
in /proc/self/statm staying the same.

As Perrin's tells it in a previous thread, this is apparently
a better method of limiting your processes, than 
Apache::GTopLimit's MIN_PROCESS_SHARED_SIZE, and further
does not require installation of libgtop.

Please mail me for the full file, if this diff is too unwieldy.

--Josh


--- SizeLimit.pm~   Fri Feb  2 11:36:43 2001
+++ SizeLimit.pmFri Feb  2 13:52:39 2001
@@ -14,6 +14,9 @@
 use Apache::SizeLimit;
 $Apache::SizeLimit::MAX_PROCESS_SIZE = 1; # in KB, so this is 10MB
 
+# in KB, so this is 10MB, only supported under linux currently
+$Apache::SizeLimit::MAX_PROCESS_UNSHARED_SIZE = 1; 
+
 # in your httpd.conf:
 PerlFixupHandler Apache::SizeLimit
 # you can set this up as any Perl*Handler that handles part of the
@@ -26,6 +29,7 @@
 # in your CGI:
 use Apache::SizeLimit;
 &Apache::SizeLimit::setmax(1); # Max Process Size in KB
+&Apache::SizeLimit::setmax_unshared(1); # Max Unshared RAM Size in KB
 
 Since checking the process size can take a few system calls on some
 platforms (e.g. linux), you may want to only check the process size every
@@ -83,6 +87,9 @@
 (with the C function), and see if the CHECK_EVERY_N_REQUESTS
 option is of benefit.
 
+Currently, linux is the only platform that supports the 
+MAX_PROCESS_UNSHARED_SIZE and setmax_unshared() settings.
+
 =item solaris 2.6
 
 For solaris we simply retrieve the size of /proc/self/as, which
@@ -120,12 +127,14 @@
 use Apache::Constants qw(:common);
 use Config;
 use strict;
-use vars qw($VERSION $HOW_BIG_IS_IT $MAX_PROCESS_SIZE
-   $REQUEST_COUNT $CHECK_EVERY_N_REQUESTS);
+use vars qw($VERSION $HOW_BIG_IS_IT $HOW_UNSHARED_IS_IT 
+   $MAX_PROCESS_SIZE $MAX_PROCESS_UNSHARED_SIZE
+   $REQUEST_COUNT $CHECK_EVERY_N_REQUESTS $CHECK_TOTAL);
 
-$VERSION = '0.03';
+$VERSION = '0.05';
 $CHECK_EVERY_N_REQUESTS = 1;
 $REQUEST_COUNT = 1;
+$CHECK_TOTAL = 0;
 
 BEGIN {
 # decide at compile time how to check for a process' memory size.
@@ -134,6 +143,7 @@
$HOW_BIG_IS_IT = \&solaris_2_6_size_check;
 } elsif ($Config{'osname'} eq 'linux') {
$HOW_BIG_IS_IT = \&linux_size_check;
+   $HOW_UNSHARED_IS_IT = \&linux_unshared_size_check;
 } elsif ($Config{'osname'} =~ /(bsd|aix)/i) {
# will getrusage work on all BSDs?  I should hope so.
if (eval("require BSD::Resource;")) {
@@ -159,6 +169,24 @@
 return($size);
 }
 
+sub linux_unshared_size_check {
+my $unshared_size = 0;
+local(*FH);
+if (open(FH, ";
+   close(FH);
+   my($size, $resident, $shared) = split(/\s+/, $data);
+   if($resident && $shared) {
+   $unshared_size = 4 * ($resident - $shared); # 4KB pages listed
+   } else {
+   &error_log("Fatal Error: /proc/self/statm not right format, got: $data");
+   }
+} else {
+   &error_log("Fatal Error: couldn't access /proc/self/statm: $!");
+}
+return($unshared_size);
+}
+
 sub solaris_2_6_size_check {
 my $size = -s "/proc/self/as" or
&error_log("Fatal Error: /proc/self/as doesn't exist or is empty");
@@ -171,6 +199,7 @@
 }
 
 sub exit_if_too_big {
+$CHECK_TOTAL++;
 return if ($REQUEST_COUNT++ < $CHECK_EVERY_N_REQUESTS);
 $REQUEST_COUNT = 1;
 if (defined($MAX_PROCESS_SIZE)) {
@@ -184,8 +213,25 @@
&error_log("main process too big, SIZE=$size KB");
}
}
+} elsif (defined($MAX_PROCESS_UNSHARED_SIZE)) {
+   if($HOW_UNSHARED_IS_IT) {
+   my $size = &$HOW_UNSHARED_IS_IT();
+   if($size > $MAX_PROCESS_UNSHARED_SIZE) {
+   if(getppid > 1) { # this is a child httpd
+   &error_log("httpd process too unshared, exiting at UNSHARED 
+SIZE=$size KB, after $CHECK_TOTAL checks");
+   &Apache::exit(-2);
+   } else {
+   # don't do anything for main httpd
+   }
+   } else {
+   # don't do anything
+   }
+   } else {
+   &error_log("no MAX_PROCESS_UNSHARED_SIZE handler for this platform $^O, ".
+  "currently only linux supported");
+   }
 } else {
-   &error_log("you didn't set \$Apache::SizeLimit::MAX_PROCESS_SIZE");
+   &error_log("you didn't set \$Apache::SizeLimit::MAX_PROCESS_SIZE or 
+MAX_PROCESS_UNSHARED_SIZE");
 }
 }
 
@@ -194,6 +24

Re: Using modperl as an 'adaptor' front end to an app server.

2001-02-02 Thread Daniel Sully

Once upon a time kyle dawkins shaped the electrons to say...

> A wild guess here but are you talking about WebObjects?

Yes - I've hacked up the WO 4.5 adaptor pretty bad, and it's a pile already.

> I wrote a perl adaptor last year to sniff the traffic that the WebObjects 
> adaptor was sending to the application instances.  I don't have the source 
> any more but as far as I can remember, it was only a few screensful of code.  
> However, it wasn't a full implementation of the adaptor and didn't work with 
> KeepAlive requests and so forth.

Hmm.. given the source to the adaptor, and being able to turn debugging
on, it looks pretty simple.

> I have often dreamt of writing a drop-in mod_perl replacement for the WO 
> adaptor... I have never worked anywhere where they didn't have trouble 
> configuring the Apache adaptor, particularly if their webservers were running 
> Linux.   If you're interested in pursuing this, drop me a line and we can jam 
> on the topic for a bit.  I also know the guy who wrote the hairy C code and 
> he might have some insight into how to reimplement it.

Will do. Would that happen to be Steve Quirk?

-D
--
yip yip yip yip yip yap yap yip yip yip BANG  NO TERRIER



Re: Using modperl as an 'adaptor' front end to an app server.

2001-02-02 Thread Daniel Sully

Once upon a time Dave Rolsky shaped the electrons to say...

> On Thu, 1 Feb 2001, Daniel Sully wrote:
> 
> > server. It handles failover from dead app instances, however not very
> > well, and is a big pile of C code. It also has problems in that because
> > Apache is not multithreaded, one child copy of that adaptor that has
> > marked an app instance as dead can't let another child know about that
> > dead instance.
> 
> You could use an IPC or DBM file (assuming you have 1 apache machine) to
> communicate this info.  With multiple webservers, you'd need a database or
> NFS or something.

That would be a no. Socket communication only. Shared filesystems in
production are bad, mmkay.

-D
--
yip yip yip yip yip yap yap yip yip yip BANG  NO TERRIER



Re: This list... formatted headerS?

2001-02-02 Thread Gunther Birznieks

So based on some of the recent comments, am I correct in thinking this 
document should go up pretty soon now with an official URL on the Apache 
Perl site?

I don't like FTP url's cuz there's quite a few firewalls that just allow 
people to browse but not FTP://...

It seemed like it was refined enough that people could refer to the link 
when they tell people not to post off topic etc... already. So any comments 
that come in could be incorporated later (because they probably won't 
result in earth shattering changes at this stage).

At 12:04 AM 1/31/01 +, G.W. Haywood wrote:
>Hi there,
>
>On Tue, 30 Jan 2001, wells wrote:
>
> > Why doesn't this list use formatted headers, e.g. Subject: [mod-perl] 
> >
> > Would be great for filtering..
>
>Argh.  Three months ago I asked for comments on this document.
>
>I got precisely one.
>
>Thanks again, Gunther!
>
>--
> >From [EMAIL PROTECTED] Sun Nov  5 15:32:06 2000
>Date: Sun, 5 Nov 2000 15:32:05 + (GMT)
>From: "G.W. Haywood" <[EMAIL PROTECTED]>
>To: Ask Bjoern Hansen <[EMAIL PROTECTED]>
>cc: [EMAIL PROTECTED]
>Subject: Re: [ADMIN] Keep those @$%#$ quotes down (was: dynamic vs. mostly 
>static data)
>In-Reply-To: 
><[EMAIL PROTECTED]>
>Message-ID: <[EMAIL PROTECTED]>
>MIME-Version: 1.0
>Content-Type: TEXT/PLAIN; charset=US-ASCII
>Status: O
>X-Status:
>
>Hi all,
>
>On Sun, 5 Nov 2000, Ask Bjoern Hansen wrote:
>
> > Sending a 3.5KB message to write two misspelled lines are a %@$%$
> > waste. Those 3.5KB goes to ~1500 people.
>
>Your outburst (with which I have to agree, although maybe we might
>talk about banner ads later:) prompted me to publish a document that
>Stas and I have been working on, if sporadically, for quite a while.
>It's available by anonymous ftp:
>
>ftp.jubileegroup.co.uk/pub/mod_perl/admin/admin.txt
>
>--
>
>73,
>Ged.

__
Gunther Birznieks ([EMAIL PROTECTED])
eXtropia - The Web Technology Company
http://www.extropia.com/




INIT Blocks under mod_perl

2001-02-02 Thread T.J. Mather

Does anybody know if INIT blocks work under mod_perl?  I was trying to get
Geography::States to work under mod_perl and it doesn't seem to run the
code in the INIT block.  When I removed "INIT {" and the corresponding
"}" line from the Geography/States.pm file, the code ran fine.

I'm running mod_perl 1.24_01, Apache 1.3.14.

Thanks, TJ
_
T.J. Mather http://tjmather.com
http://cpan2.org/   New CPAN Search Engine
http://www.anidea.com/  Digital Asset Management
http://www.theinnkeeper.com/Bed and Breakfast Directory




Error using mod_per 1.25 with Apache 1.3.17 and perl 5.6.0

2001-02-02 Thread The Doctor

Can anyone explain why this happens??

Server is not starting !?
Subroutine main::pid redefined at /usr/source/mod_perl-1.25/t//docs/startup.pl line 
103.
Subroutine main::access redefined at /usr/source/mod_perl-1.25/t//docs/startup.pl line 
104.
Subroutine Outside::code redefined at /usr/source/mod_perl-1.25/t//docs/startup.pl 
line 108.
Subroutine PerlTransHandler::handler redefined at 
/usr/source/mod_perl-1.25/t//docs/startup.pl line 114.
Subroutine MyClass::method redefined at /usr/source/mod_perl-1.25/t//docs/startup.pl 
line 121.
Subroutine BaseClass::handler redefined at 
/usr/source/mod_perl-1.25/t//docs/startup.pl line 127.
Subroutine My::child_init redefined at /usr/source/mod_perl-1.25/t//docs/startup.pl 
line 145.
Subroutine My::child_exit redefined at /usr/source/mod_perl-1.25/t//docs/startup.pl 
line 155.
Subroutine My::restart redefined at /usr/source/mod_perl-1.25/t//docs/startup.pl line 
159.
Subroutine Apache::AuthenTest::handler redefined at 
/usr/source/mod_perl-1.25/t//docs/startup.pl line 167.
Subroutine My::DirIndex::handler redefined at 
/usr/source/mod_perl-1.25/t//docs/startup.pl line 189.
Subroutine My::ProxyTest::handler redefined at 
/usr/source/mod_perl-1.25/t//docs/startup.pl line 207.
Subroutine handler redefined at /usr/source/mod_perl-1.25/t//docs/startup.pl line 241.
Subroutine new redefined at /usr/source/mod_perl-1.25/t//docs/startup.pl line 263.
Subroutine DESTROY redefined at /usr/source/mod_perl-1.25/t//docs/startup.pl line 265.
[notice] Destruction->DESTROY called for $global_object
Subroutine handler redefined at /usr/source/mod_perl-1.25/t//docs/stacked.pl line 6.
Subroutine one redefined at /usr/source/mod_perl-1.25/t//docs/stacked.pl line 14.
Subroutine two redefined at /usr/source/mod_perl-1.25/t//docs/stacked.pl line 25.
Subroutine three redefined at /usr/source/mod_perl-1.25/t//docs/stacked.pl line 31.
Subroutine four redefined at /usr/source/mod_perl-1.25/t//docs/stacked.pl line 37.
[notice] Destruction->DESTROY called for $global_object
[Thu Feb  1 20:24:46 2001] [error] Incorrect permissions on key directory 
"/usr/local/frontpage/version5.0/apache-fp" in FrontPageCheckup().  Until this problem 
is fixed, the FrontPage security patch is disabled and the FrontPage extensions may 
not work correctly.
[Thu Feb  1 20:24:46 2001] [warn] [notice] child_init for process 11410, report any 
problems to [no address given]

Server is not starting !?
Subroutine main::pid redefined at /usr/source/mod_perl-1.25/t//docs/startup.pl line 
103.
Subroutine main::access redefined at /usr/source/mod_perl-1.25/t//docs/startup.pl line 
104.
Subroutine Outside::code redefined at /usr/source/mod_perl-1.25/t//docs/startup.pl 
line 108.
Subroutine PerlTransHandler::handler redefined at 
/usr/source/mod_perl-1.25/t//docs/startup.pl line 114.
Subroutine MyClass::method redefined at /usr/source/mod_perl-1.25/t//docs/startup.pl 
line 121.
Subroutine BaseClass::handler redefined at 
/usr/source/mod_perl-1.25/t//docs/startup.pl line 127.
Subroutine My::child_init redefined at /usr/source/mod_perl-1.25/t//docs/startup.pl 
line 145.
Subroutine My::child_exit redefined at /usr/source/mod_perl-1.25/t//docs/startup.pl 
line 155.
Subroutine My::restart redefined at /usr/source/mod_perl-1.25/t//docs/startup.pl line 
159.
Subroutine Apache::AuthenTest::handler redefined at 
/usr/source/mod_perl-1.25/t//docs/startup.pl line 167.
Subroutine My::DirIndex::handler redefined at 
/usr/source/mod_perl-1.25/t//docs/startup.pl line 189.
Subroutine My::ProxyTest::handler redefined at 
/usr/source/mod_perl-1.25/t//docs/startup.pl line 207.
Subroutine handler redefined at /usr/source/mod_perl-1.25/t//docs/startup.pl line 241.
Subroutine new redefined at /usr/source/mod_perl-1.25/t//docs/startup.pl line 263.
Subroutine DESTROY redefined at /usr/source/mod_perl-1.25/t//docs/startup.pl line 265.
[notice] Destruction->DESTROY called for $global_object
Subroutine handler redefined at /usr/source/mod_perl-1.25/t//docs/stacked.pl line 6.
Subroutine one redefined at /usr/source/mod_perl-1.25/t//docs/stacked.pl line 14.
Subroutine two redefined at /usr/source/mod_perl-1.25/t//docs/stacked.pl line 25.
Subroutine three redefined at /usr/source/mod_perl-1.25/t//docs/stacked.pl line 31.
Subroutine four redefined at /usr/source/mod_perl-1.25/t//docs/stacked.pl line 37.
[Fri Feb  2 16:24:06 2001] [warn] pid file /usr/source/mod_perl-1.25/t/logs/httpd.pid 
overwritten -- Unclean shutdown of previous Apache run?
[notice] Destruction->DESTROY called for $global_object
[Fri Feb  2 16:24:07 2001] [error] Incorrect permissions on key directory 
"/usr/local/frontpage/version5.0/apache-fp" in FrontPageCheckup().  Until this problem 
is fixed, the FrontPage security patch is disabled and the FrontPage extensions may 
not work correctly.
[Fri Feb  2 16:24:07 2001] [warn] [notice] child_init for process 3837, report any 
problems to [no address given]

BTW SCREW fp.



RE: [RFC] Apache::BlockSymLinks 0.1

2001-02-02 Thread Geoffrey Young



> -Original Message-
> From: Charles John Brabec [mailto:[EMAIL PROTECTED]]
> Sent: Friday, February 02, 2001 2:36 PM
> To: Christian Gilmore
> Cc: Geoffrey Young; [EMAIL PROTECTED]
> Subject: Re: [RFC] Apache::BlockSymLinks 0.1
> 
> 
> Christian, Geoff, et al,
> 
> I was not aware of the Apache::ModuleConfig setup, thanks for the
> pointer.
> 
> According to chapter 8, p388, the setup requires configuring the
> Makefile.PL so it will create an .xs file and compile it as 
> part of the
> make process. The module must be loaded into Apache via a PerlModule
> statement, but it does not require a rebuild of Apache or mod_perl. Is
> that about right?

yup.  the only thing you have to do is follow the example for the
Makefile.PL and then code the appropriate stuff in your .pm to handle how
you want to store the data your new directive gives you.  See
Apache::Dispatch or AxKit working examples (those are the only two I can't
think of others offhand that use it)

> 
> In my case, I would gain the ability to list the directives explicitly
> inside the Dierctory container (which I like). I would lose 
> the ability
> to change the config file without a restart of the server.
> (Inconvenient, but not a show-stopper)

yes - I haven't checked into the implications of a restart + ModuleConfig
directives, though (whether mod_perl can pick up on the changes).  I'll have
to look into it.

--Geoff

> 
> Thanks again for the info.
> 
> Charles
> 
> > I've toyed with ModuleConfig, and it is really cool, but I 
> was under the
> > impression that people stayed away from using it since it appears to
> > require a recompile of mod_perl for every module that inserts a new
> > directive into the list. That's why I assumed the use of 
> PerlSetVar was
> > much more popular than ModuleConfig.
> > 
> > Regards,
> > Christian
> > 
> > On Fri, 2 Feb 2001, Geoffrey Young wrote:
> > > you may want to look into Apache::ModuleConfig to see how 
> you can create
> > > directives without the need for a separate config file.
> > > 
> > > for instance:
> > > SymLinkRule Deny .*
> > > 
> > > it's pretty easy and probably a bit cleaner in this case 
> (since I suspect
> > > that you moved to a config file since PerlSetVar just 
> didn't fit the bill
> > > for the syntax you wanted). just see chapter 8 of the Eagle book
> 
> -- 
> Dr. Charles J. Brabec  | I know now that there's one thing you've all
> Web Systems Programmer | overlooked: intelligence and 
> education that hasn't
> [EMAIL PROTECTED]| been tempered by human affection 
> isn't worth a damn. -
> PH 919.513.0171| - Daniel Keyes, 'Flowers for Algernon'
> 



RE: [RFC] Apache::BlockSymLinks 0.1

2001-02-02 Thread Geoffrey Young



> -Original Message-
> From: Christian Gilmore [mailto:[EMAIL PROTECTED]]
> Sent: Friday, February 02, 2001 2:00 PM
> To: Geoffrey Young
> Cc: '[EMAIL PROTECTED]'; [EMAIL PROTECTED]
> Subject: RE: [RFC] Apache::BlockSymLinks 0.1
> 
> 
> 
> Geoff, et al:
> 
> I've toyed with ModuleConfig, and it is really cool, but I 
> was under the
> impression that people stayed away from using it since it appears to
> require a recompile of mod_perl for every module that inserts a new
> directive into the list. That's why I assumed the use of 
> PerlSetVar was
> much more popular than ModuleConfig.

I think PerlSetVar is more popular because it's easier to implement and
doesn't require much effort.  ModuleConfig.pm is a bit more complex, but it
is still just straight perl and doesn't require XS to implement.  It depends
on your needs, though - I wouldn't use it when you only need a few config
directives but I might prefer it to a file-based config like BlockSymLinks
uses.

as far as the recompiling of mod_perl goes, that doesn't make sense to me.
Apache::Dispatch uses ModuleConfig for all it's parameters and you should be
good to go with just the typical make stuff.

--Geoff


> 
> Regards,
> Christian
> 
> On Fri, 2 Feb 2001, Geoffrey Young wrote:
> > you may want to look into Apache::ModuleConfig to see how 
> you can create
> > directives without the need for a separate config file.
> > 
> > for instance:
> > SymLinkRule Deny .*
> > 
> > it's pretty easy and probably a bit cleaner in this case 
> (since I suspect
> > that you moved to a config file since PerlSetVar just 
> didn't fit the bill
> > for the syntax you wanted). just see chapter 8 of the Eagle book
> 



Re: [RFC] Apache::BlockSymLinks 0.1

2001-02-02 Thread Charles John Brabec

Christian, Geoff, et al,

I was not aware of the Apache::ModuleConfig setup, thanks for the
pointer.

According to chapter 8, p388, the setup requires configuring the
Makefile.PL so it will create an .xs file and compile it as part of the
make process. The module must be loaded into Apache via a PerlModule
statement, but it does not require a rebuild of Apache or mod_perl. Is
that about right?

In my case, I would gain the ability to list the directives explicitly
inside the Dierctory container (which I like). I would lose the ability
to change the config file without a restart of the server.
(Inconvenient, but not a show-stopper)

Thanks again for the info.

Charles

> I've toyed with ModuleConfig, and it is really cool, but I was under the
> impression that people stayed away from using it since it appears to
> require a recompile of mod_perl for every module that inserts a new
> directive into the list. That's why I assumed the use of PerlSetVar was
> much more popular than ModuleConfig.
> 
> Regards,
> Christian
> 
> On Fri, 2 Feb 2001, Geoffrey Young wrote:
> > you may want to look into Apache::ModuleConfig to see how you can create
> > directives without the need for a separate config file.
> > 
> > for instance:
> > SymLinkRule Deny .*
> > 
> > it's pretty easy and probably a bit cleaner in this case (since I suspect
> > that you moved to a config file since PerlSetVar just didn't fit the bill
> > for the syntax you wanted). just see chapter 8 of the Eagle book

-- 
Dr. Charles J. Brabec  | I know now that there's one thing you've all
Web Systems Programmer | overlooked: intelligence and education that hasn't
[EMAIL PROTECTED]| been tempered by human affection isn't worth a damn. -
PH 919.513.0171| - Daniel Keyes, 'Flowers for Algernon'



Re: ServerRoot/Block Directive question...

2001-02-02 Thread Christian Gilmore

There is no negation of an entire regex in apache's configuration. You
have to do something like this:


PerlAccessHandler   Apache::GateKeeper
ErrorDocument 403   /index.html


PerlAccessHandler   Apache::OK



Regards,
Christian

On Fri, 2 Feb 2001, Joseph Crotty wrote:

> Hi all,
> 
> I have an Apache::GateKeeper that checks to see if the user has logged in
> and been served a cookie... if not they are redirected to index.html(to
> login).  I want all comers to ServerRoot/cgi-bin or ServerRoot/perl to have
> to go thru the GateKeeper handler, except those trying to get to login.cgi
> which lives in ServerRoot/perl.  I was trying to use the perl.conf Block
> Directives below, but am not getting the negated  line to work
> right.  I snooped around on the mail archives but can't find anything about
> negated regex matching.
> 
> PerlRequire conf/startup.pl
> PerlFreshRestartOn
> PerlSetEnv  MOD_PERL_TRACE all
> 
> #Directory Handlers
> #--
> 
> AllowOverride   None
> Options +ExecCGI
> SetHandler  perl-script
> PerlHandler Apache::Registry
> PerlSendHeader  On
> 
> 
> 
> 
> PerlAccessHandler   Apache::GateKeeper
> ErrorDocument   403 /index.html
> 
> 
> 
> Thanks,
> 
> Joe Crotty
> 




Re: ServerRoot/Block Directive question...

2001-02-02 Thread Bill Moseley

At 11:56 AM 02/02/01 -0700, Joseph Crotty wrote:
>I have an Apache::GateKeeper that checks to see if the user has logged in
>and been served a cookie... if not they are redirected to index.html(to
>login).

I assume you looked at Apache::AuthCookie which does this.

> I want all comers to ServerRoot/cgi-bin or ServerRoot/perl to have
>to go thru the GateKeeper handler, except those trying to get to login.cgi
>which lives in ServerRoot/perl.  I was trying to use the perl.conf Block
>Directives below, but am not getting the negated  line to work
>right.  I snooped around on the mail archives but can't find anything about
>negated regex matching.

Can Apache::GateKeeper check a PerlSetVar?


   SetPerlVar  FreeRide


And then look for FreeRide in GateKeeper and return DECLINED.  I think
that's how I hacked it in Apache::AuthCookieURL, since I wanted to protect
an entire site, except a few sub directories (images, for example).




Bill Moseley
mailto:[EMAIL PROTECTED]



Socket/PIPE/Stream to long running process

2001-02-02 Thread Rob Bloodgood

So, in my mod_perl app, I run thru each request, then blast a UDP packet to
a process on the local machine that collects statistics on my traffic:

sub send_packet {
my $r = shift;
my $packet = shift;

$r->warn("send_packet: No packet, not transmitting") if $debug &&
!$packet;
return unless $packet;

$r->warn("Contents:\n$packet") if $debug;

$r->warn("send_packet: creating socket") if $debug;
my $socket = new IO::Socket::INET (
   PeerAddr =>
$r->dir_config('CountServer'),
   Proto=> 'udp',
  )
   or die "CountServer unable to create socket: $@\n";

$r->warn("send_packet: Sending to ", $r->dir_config('CountServer')) if
$debug;

# OK we have the correct buffer, lets send it out...
unless ($socket->send($packet) == length $packet) {
$r->warn( "send error on " . $socket->peerhost . ": $!" );
return SERVER_ERROR;
  #redir($r->dir_config('ErrorURL'));
}

$r->warn( "send_packet: send succesful") if $debug;
}

My question is, should I be creating this socket for every request?  OR
would it be more "correct" to create it once on process startup and stash it
in $r->pnotes or something?

And if I did that, would it work w/ TCP?  Or unix pipes/sockets (which I
*don't* understand) (btw the box is linux)?  In testing, I'd prefer not to
use TCP because it blocks if the count server is hung or down, vs UDP, where
I just lose a couple of packets.

TIA!

L8r,
Rob




Re: Apache::ASP installation problem

2001-02-02 Thread Joshua Chamas

"Wang, Pin-Chieh" wrote:
> 
> Hi,
> I am using Apache 1.3.14 with mod_perl-1.24_01 on Solaris system
> The Apache/Mod_perl part of build is working fine.
> But when I installed Apache-ASP-2.07, during the make test part I got
> Undefied Routine Devel/Symdump error
> therefore the make test failed.
> So, I download and try to install Devel-Symdump-2.00,
> the make test failed with error code 29 on Command failed for target
> 'test-dynamic'
> 

Your other mail said that you got Devel-Symdump-2.01 working.
Just closing this thread.

--Josh
_
Joshua Chamas   Chamas Enterprises Inc.
NodeWorks >> free web link monitoring   Huntington Beach, CA  USA 
http://www.nodeworks.com1-714-625-4051



RE: [RFC] Apache::BlockSymLinks 0.1

2001-02-02 Thread Christian Gilmore


Geoff, et al:

I've toyed with ModuleConfig, and it is really cool, but I was under the
impression that people stayed away from using it since it appears to
require a recompile of mod_perl for every module that inserts a new
directive into the list. That's why I assumed the use of PerlSetVar was
much more popular than ModuleConfig.

Regards,
Christian

On Fri, 2 Feb 2001, Geoffrey Young wrote:
> you may want to look into Apache::ModuleConfig to see how you can create
> directives without the need for a separate config file.
> 
> for instance:
> SymLinkRule Deny .*
> 
> it's pretty easy and probably a bit cleaner in this case (since I suspect
> that you moved to a config file since PerlSetVar just didn't fit the bill
> for the syntax you wanted). just see chapter 8 of the Eagle book




ServerRoot/Block Directive question...

2001-02-02 Thread Joseph Crotty

Hi all,

I have an Apache::GateKeeper that checks to see if the user has logged in
and been served a cookie... if not they are redirected to index.html(to
login).  I want all comers to ServerRoot/cgi-bin or ServerRoot/perl to have
to go thru the GateKeeper handler, except those trying to get to login.cgi
which lives in ServerRoot/perl.  I was trying to use the perl.conf Block
Directives below, but am not getting the negated  line to work
right.  I snooped around on the mail archives but can't find anything about
negated regex matching.

PerlRequire conf/startup.pl
PerlFreshRestartOn
PerlSetEnv  MOD_PERL_TRACE all

#Directory Handlers
#--

AllowOverride   None
Options +ExecCGI
SetHandler  perl-script
PerlHandler Apache::Registry
PerlSendHeader  On




PerlAccessHandler   Apache::GateKeeper
ErrorDocument   403 /index.html



Thanks,

Joe Crotty



RE: [RFC] Apache::BlockSymLinks 0.1

2001-02-02 Thread Geoffrey Young



> -Original Message-
> From: Charles John Brabec [mailto:[EMAIL PROTECTED]]
> Sent: Friday, February 02, 2001 12:48 PM
> To: [EMAIL PROTECTED]
> Subject: [RFC] Apache::BlockSymLinks 0.1
> 
> 
[snip]
> 
> I called the module Apache::BlockSymLinks since it is based on
> Apache::BlockAgent. The code can be downloaded from:
>   
> http://mosa.unity.ncsu.edu/brabec/dist/Apache-BlockSymLinks-0.1.tar.gz
> and the manpage is online at:
>   http://mosa.unity.ncsu.edu/brabec/dist/BlockSymLinks.html
> 
> I'm considering adding this module to CPAN and/or the APML, so I'm
> looking for comments. Specifically,
>is this useful to others?
>have I reinvented the wheel? 
>any suggestions for additions or modifications?

I'm not sure that I'll ever have a need for it, but it's a neat idea.  

you may want to look into Apache::ModuleConfig to see how you can create
directives without the need for a separate config file.

for instance:
SymLinkRule Deny .*

it's pretty easy and probably a bit cleaner in this case (since I suspect
that you moved to a config file since PerlSetVar just didn't fit the bill
for the syntax you wanted). just see chapter 8 of the Eagle book

for Apache modules, once you have the (rather loose) approval of the list,
you can submit to upload to PAUSE without officially registering your
module... just announce it here and (separatly) submit a patch to the module
list (apache-modlist.html from cvs)

--Geoff

> 
> Thanks,
> Charles
> 
> -- 
> Dr. Charles J. Brabec  | He wants me to be clever. Worse, he 
> wants me to be
> Web Systems Programmer | seen to be clever by everyone here. -- Miles
> [EMAIL PROTECTED]| Vorkosigan (L.M. Bujold)
> PH 919.513.0171|
> 



[RFC] Apache::BlockSymLinks 0.1

2001-02-02 Thread Charles John Brabec

Hi Folks,

I've got a situation that needed a solution. Say I have a directory in
my htdocs that contains:

   frames.html- a document
   index.html -> frames.html  - a symbolic link
   hacker.txt -> /etc/passwd  - another symbolic link

I'd like to allow the index.html link to work, but deny the hacker.txt
one. Disallowing the FollowSymLinks option kills both links.  
SymLinksIfOwnerMatch option helps, but I have numerous authors
on my server so I cannot guarantee the same owner on each file.

Tried something like this:
   
  Order allow,deny
  Allow from all
   
   
  Order deny, allow
  Deny from all
   
but a request for htdocs/hacker.txt doesn't seem to realize the
file is really in /etc, so it sends the file out. (Perhaps I 
missed something here?)

The solution I came up with is to write an access handler to 
evaluate symlinked filepaths and test the absolute path against
a set of rules. 

I called the module Apache::BlockSymLinks since it is based on
Apache::BlockAgent. The code can be downloaded from:
  http://mosa.unity.ncsu.edu/brabec/dist/Apache-BlockSymLinks-0.1.tar.gz
and the manpage is online at:
  http://mosa.unity.ncsu.edu/brabec/dist/BlockSymLinks.html

I'm considering adding this module to CPAN and/or the APML, so I'm
looking for comments. Specifically,
   is this useful to others?
   have I reinvented the wheel? 
   any suggestions for additions or modifications?

Thanks,
Charles

-- 
Dr. Charles J. Brabec  | He wants me to be clever. Worse, he wants me to be
Web Systems Programmer | seen to be clever by everyone here. -- Miles
[EMAIL PROTECTED]| Vorkosigan (L.M. Bujold)
PH 919.513.0171|



Unable to build Apache::Scoreboard 0.10 with 5.6.0/1.3.17/1.25/RH 6.2

2001-02-02 Thread Mike Janson


I am encountering the following problem when attempting to
install Apache::Scoreboard 0.10 on a fresh Red Hat 6.2 install
(2.2.14-5.0 kernel) with Perl 5.6.0, Apache 1.3.17, and mod_perl 1.25
(all installed from source, not the RH RPMs):

/usr/local/src/Apache-Scoreboard-0.10 109 > perl Makefile.PL 
Checking if your kit is complete...
Looks good
Writing Makefile for Apache::DummyScoreboard
Writing Makefile for Apache::Scoreboard
/usr/local/src/Apache-Scoreboard-0.10 114 > make
make[1]: Entering directory `/usr/local/src/Apache-Scoreboard-0.10/Dummy'
cc -c -I../ -I/usr/local/lib/perl5/site_perl/5.6.0/i686-linux/auto/Apache/include 
-I/usr/local/lib/perl5/site_perl/5.6.0/i686-linux/auto/Apache/include/modules/perl 
-I/usr/local/lib/perl5/site_perl/5.6.0/i686-linux/auto/Apache/include/include 
-I/usr/local/lib/perl5/site_perl/5.6.0/i686-linux/auto/Apache/include/regex 
-I/usr/local/lib/perl5/site_perl/5.6.0/i686-linux/auto/Apache/include/os/unix 
-fno-strict-aliasing -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O3 
-DVERSION=\"0.04\" -DXS_VERSION=\"0.04\" -fpic 
-I/usr/local/lib/perl5/5.6.0/i686-linux/CORE  DummyScoreboard.c
In file included from DummyScoreboard.xs:2:
/usr/local/lib/perl5/site_perl/5.6.0/i686-linux/auto/Apache/include/include/scoreboard.h:151:
 field `start_time' has incomplete type
/usr/local/lib/perl5/site_perl/5.6.0/i686-linux/auto/Apache/include/include/scoreboard.h:152:
 field `stop_time' has incomplete type
make[1]: *** [DummyScoreboard.o] Error 1
make[1]: Leaving directory `/usr/local/src/Apache-Scoreboard-0.10/Dummy'
make: *** [subdirs] Error 2
/usr/local/src/Apache-Scoreboard-0.10 115 > 

I have seen posts about similar types of problems folks have experienced
in the past, but have verified the above version numbers of related installs,
and am under the impression this should work.  Can anyone help shed some light
on this?


RE: [OT] Dynamically changing current package

2001-02-02 Thread Stathy Touloumis

Probably just never assumed to be used this way.  Do not see to much
documentation on using the Symbol table directly.  Here is something strange
as well.  Try copying a package and then creating an object from it . . .

Really funky

Think I might post this to the p5p list

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

## ASSIGN TEST TO TEST2
*{ 'Test2::' } = *{ 'Test::' };

## LETS CREATE SOME OBJECTS
my $obj = Test->new;
print 'TEST PACKAGE OBJECT : ', ref($obj), "\n\n";

my $obj2 = Test2->new;
print 'TEST2 PACKAGE OBJECT : ', ref($obj2), "\n\n";

## FYI

print '- ' x 10, 'TEST', ' -' x 10, "\n";
print map { "$_ - $Test::{$_}\n" } keys %Test:: ;

print '- ' x 10, 'TEST2', ' -' x 10, "\n";
print map { "$_ - $Test2::{$_}\n" } keys %Test:: ;

BEGIN {
package Test;

sub new {
my $class =shift;

print "SETTING OBJECT TO CLASS : $class\n";

bless my $obj = {}, $class;
}

}
---

> > > NewPackage will then contain all things in TestPackage
> >>
> >> Then you can redefined everything in TestPackage without affecting
> >> anything in NewPackage.
> >
> >Actually it will, if you were to delete NewPackage, TestPackage would not
> >contain anything.  Modifying 'thingys' in TestPackage would modify
> >NewPackage.
>
> Actually I investigated this a little more and discovered some
> strange things...
>
> If you check out the results, copying the package at the package
> level cause scalars to be redefined and subroutines to created as
> references.  Where as copying the the package at the glob level
> caused the the subroutines to be redefined and the scalars to be
> references...
>
> I wonder if this is a problem with perl?
>
> Robert Landrum
> --- results ---
>
> # perl n.pl 1
> NewPackage::x was defined
> NewPackage::june was defined
>
> $NewPackage::x was set to 100
> $Test::x now contains 100
>
> Now Deleting Test package
> Test::x was deleted from the STASH
> Test::june was deleted from the STASH
>
> $NewPackage::x was set to 100
> $Test::x now contains 100
>
> Now Listing NewPackage
> NewPackage::x
> NewPackage::june
>
> Now Listing Test
>
> # perl n.pl
> NewPackage:: was defined as *{Test::}
>
> $NewPackage::x was set to 100
> $Test::x now contains 1
>
> Now Deleting Test package
> Test::x was deleted from the STASH
> Test::june was deleted from the STASH
>
> $NewPackage::x was set to 100
> $Test::x now contains 1
>
> Now Listing NewPackage
>
> Now Listing Test
>
>
>
> --- Contents of n.pl ---
> #!/usr/bin/perl
> package Test;
>
> our $x = 1;
> sub june {
>
> }
>
> package main;
>
> if($ARGV[0]) {
>  for my $name (keys %{Test::}) {
>  *{"NewPackage::".$name} = *{"Test::".$name};
>  print "NewPackage::".$name." was defined\n";
>  }
>  print "\n";
> } else {
>  *{NewPackage::} = *{Test::};
>  print "NewPackage:: was defined as \*{Test::}\n";
>  print "\n";
> }
> $NewPackage::x = 100;
>
> print "\$NewPackage::x was set to $NewPackage::x\n";
> print "\$Test::x now contains $Test::x\n";
> print "\n";
> print "Now Deleting Test package\n";
> for my $name (keys %{Test::}) {
>  delete $Test::{$name};
>  print "Test::".$name." was deleted from the STASH\n";
> }
> print "\n";
>
> print "\$NewPackage::x was set to $NewPackage::x\n";
> print "\$Test::x now contains $Test::x\n";
> print "\n";
> print "Now Listing NewPackage\n";
> for my $name (keys %{NewPackage::}) {
>  print "NewPackage::".$name."\n";
> }
> print "\n";
> print "Now Listing Test\n";
> for my $name (keys %{Test::}) {
>  print "Test::".$name."\n";
> }
> print "\n";
>




Re: Using modperl as an 'adaptor' front end to an app server.

2001-02-02 Thread kyle dawkins

Daniel

A wild guess here but are you talking about WebObjects?

On Fri, 02 Feb 2001 01:28, Daniel Sully wrote:
> Is anyone using modperl in a way that it acts as an adaptor/scheduler in
> front of an app server in a 3-tier application environment?

I wrote a perl adaptor last year to sniff the traffic that the WebObjects 
adaptor was sending to the application instances.  I don't have the source 
any more but as far as I can remember, it was only a few screensful of code.  
However, it wasn't a full implementation of the adaptor and didn't work with 
KeepAlive requests and so forth.

> Basically I have a vendor provided (with source however) adaptor that
> takes incoming requests to the webserver, and passes that request onto
> an any number of applications via a socket running on a different
> server. It handles failover from dead app instances, however not very
> well, and is a big pile of C code. It also has problems in that because
> Apache is not multithreaded, one child copy of that adaptor that has
> marked an app instance as dead can't let another child know about that
> dead instance.

I have often dreamt of writing a drop-in mod_perl replacement for the WO 
adaptor... I have never worked anywhere where they didn't have trouble 
configuring the Apache adaptor, particularly if their webservers were running 
Linux.   If you're interested in pursuing this, drop me a line and we can jam 
on the topic for a bit.  I also know the guy who wrote the hairy C code and 
he might have some insight into how to reimplement it.

Kyle
-- 
[EMAIL PROTECTED]



Re: Error reporting mod_perl 1.25 + apache 1.3.17

2001-02-02 Thread G.W. Haywood

Hi there,

On Fri, 2 Feb 2001, Vasily Petrushin wrote:

> Summary of my perl5 (revision 5.0 version 6 subversion 0) configuration:
>   Platform:
> osname=solaris, osvers=2.8, archname=sun4-solaris-thread-multi
> 
> Options given to mod_perl's Makefile.PL USE_DSO=1 EVERYTHING=1

Have you tried building static?

Did you search the mod_perl Mailing List archives for "Solaris"?

73,
Ged.




RE: [OT] Dynamically changing current package

2001-02-02 Thread Robert Landrum

> > NewPackage will then contain all things in TestPackage
>>
>> Then you can redefined everything in TestPackage without affecting
>> anything in NewPackage.
>
>Actually it will, if you were to delete NewPackage, TestPackage would not
>contain anything.  Modifying 'thingys' in TestPackage would modify
>NewPackage.

Actually I investigated this a little more and discovered some 
strange things...

If you check out the results, copying the package at the package 
level cause scalars to be redefined and subroutines to created as 
references.  Where as copying the the package at the glob level 
caused the the subroutines to be redefined and the scalars to be 
references...

I wonder if this is a problem with perl?

Robert Landrum
--- results ---

# perl n.pl 1
NewPackage::x was defined
NewPackage::june was defined

$NewPackage::x was set to 100
$Test::x now contains 100

Now Deleting Test package
Test::x was deleted from the STASH
Test::june was deleted from the STASH

$NewPackage::x was set to 100
$Test::x now contains 100

Now Listing NewPackage
NewPackage::x
NewPackage::june

Now Listing Test

# perl n.pl
NewPackage:: was defined as *{Test::}

$NewPackage::x was set to 100
$Test::x now contains 1

Now Deleting Test package
Test::x was deleted from the STASH
Test::june was deleted from the STASH

$NewPackage::x was set to 100
$Test::x now contains 1

Now Listing NewPackage

Now Listing Test



--- Contents of n.pl ---
#!/usr/bin/perl
package Test;

our $x = 1;
sub june {

}

package main;

if($ARGV[0]) {
 for my $name (keys %{Test::}) {
 *{"NewPackage::".$name} = *{"Test::".$name};
 print "NewPackage::".$name." was defined\n";
 }
 print "\n";
} else {
 *{NewPackage::} = *{Test::};
 print "NewPackage:: was defined as \*{Test::}\n";
 print "\n";
}
$NewPackage::x = 100;

print "\$NewPackage::x was set to $NewPackage::x\n";
print "\$Test::x now contains $Test::x\n";
print "\n";
print "Now Deleting Test package\n";
for my $name (keys %{Test::}) {
 delete $Test::{$name};
 print "Test::".$name." was deleted from the STASH\n";
}
print "\n";

print "\$NewPackage::x was set to $NewPackage::x\n";
print "\$Test::x now contains $Test::x\n";
print "\n";
print "Now Listing NewPackage\n";
for my $name (keys %{NewPackage::}) {
 print "NewPackage::".$name."\n";
}
print "\n";
print "Now Listing Test\n";
for my $name (keys %{Test::}) {
 print "Test::".$name."\n";
}
print "\n";



Re: [OT] web games running under modperl

2001-02-02 Thread Paul Edmondson

On Fri, 2 Feb 2001, Robin Berjon wrote:

> The good thing is that the games needn't have IA (people never play against
> a computer), they just need to know the rules and control display. I looked
> into CPAN and googled for that, and though there are a few first leads I
> couldn't go very far. So, does anybody know of some Perl libs or scripts
> that could be easily cleaned up to run as handlers for typical games
> (chess, checkers, backgammon, etc...) ?

I know of a free perl implementation of chess. Downloadable at
http://www.beholder.co.uk/chess/board.html


Paul Edmondson, Software Engineer
Yospace Ltd, 7 The Courtyard, High Street, Staines, UK, TW18 4DP
Tel: +44 1784 466388
Fax: +44 1784 466387
WWW: http://www.yospace.com




[OT] web games running under modperl

2001-02-02 Thread Robin Berjon

Hi,

this is not directly modperl related, but it's for a project that will run
under modperl. A client of mine wants to have all sorts of games on his
website, some single player, some multiplayer. I have very little game
programming experience and I don't really feel like reimplementing
backgammon or chess :-)

The good thing is that the games needn't have IA (people never play against
a computer), they just need to know the rules and control display. I looked
into CPAN and googled for that, and though there are a few first leads I
couldn't go very far. So, does anybody know of some Perl libs or scripts
that could be easily cleaned up to run as handlers for typical games
(chess, checkers, backgammon, etc...) ?

Thanks in advance,

-- robin b.
There's too much blood in my caffeine system. 




Error reporting mod_perl 1.25 + apache 1.3.17

2001-02-02 Thread Vasily Petrushin


bash-2.03# perl -V
Summary of my perl5 (revision 5.0 version 6 subversion 0) configuration:
  Platform:
osname=solaris, osvers=2.8, archname=sun4-solaris-thread-multi
uname='sunos sun 5.8 generic_108528-04 sun4u sparc sunw,ultra-4 '
config_args=''
hint=recommended, useposix=true, d_sigaction=define
usethreads=define use5005threads=undef useithreads=define
usemultiplicity=define
useperlio=undef d_sfio=undef uselargefiles=define 
use64bitint=undef use64bitall=undef uselongdouble=undef usesocks=undef
  Compiler:
cc='gcc', optimize='-O2', gccversion=2.95.2 19991024 (release)
cppflags='-D_REENTRANT -fno-strict-aliasing -I/usr/local/include'
ccflags ='-D_REENTRANT -fno-strict-aliasing -I/usr/local/include
-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64'
stdchar='char', d_stdstdio=define, usevfork=false
intsize=4, longsize=4, ptrsize=4, doublesize=8
d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16
ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t',
lseeksize=8
alignbytes=8, usemymalloc=n, prototype=define
Linker and Libraries:
ld='gcc', ldflags =' -L/usr/local/lib '
libpth=/usr/local/lib /lib /usr/lib /usr/ccs/lib
libs=-lsocket -lnsl -ldl -lm -lposix4 -lpthread -lc -lcrypt -lsec
libc=/lib/libc.so, so=so, useshrplib=false, libperl=libperl.a
  Dynamic Linking:
dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags=' '
cccdlflags='-fPIC', lddlflags='-G -L/usr/local/lib'


Characteristics of this binary (from libperl): 
  Compile-time options: MULTIPLICITY USE_ITHREADS USE_LARGE_FILES
PERL_IMPLICIT_CONTEXT
  Built under solaris
  Compiled at Jan 30 2001 16:09:51
  @INC:
/usr/local/lib/perl5/5.6.0/sun4-solaris-thread-multi
/usr/local/lib/perl5/5.6.0
/usr/local/lib/perl5/site_perl/5.6.0/sun4-solaris-thread-multi
/usr/local/lib/perl5/site_perl/5.6.0
/usr/local/lib/perl5/site_perl
.


Version of mod_perl 1.25, 1.24

Version of apache 1.3.17, 1.3.12

Options given to mod_perl's Makefile.PL USE_DSO=1 EVERYTHING=1

Server configuration details 
Tryed 2 httpd building options with LIBS=-lpthread and without
No more special details
used t/conf/httpd.conf

Relevant sections of your ErrorLog (make test's is: t/logs/error_log)

[Fri Feb  2 17:35:26 2001] [notice] Apache/1.3.17 (Unix) mod_perl/1.25
Perl/v5.6.0 configured -- resuming normal operations
[Fri Feb  2 17:35:26 2001] [warn] [notice] child_init for process 18609,
report any problems to [no address given]

[Fri Feb  2 17:35:26 2001] [warn] [notice] child_init for process 18608,
report any problems to [no address given]

'make test' fails, the output of 'make test TEST_VERBOSE=1'
bash-2.03# make test TEST_VERBOSE=1
cp t/conf/mod_perl_srm.conf t/conf/srm.conf
./apaci/load_modules.pl ../apache_1.3.17/src
../apache_1.3.17/src/httpd -f `pwd`/t/conf/httpd.conf -X -d `pwd`/t &
httpd listening on port 8529
will write error_log to: t/logs/error_log
letting apache warm up...done
/usr/local/bin/perl t/TEST 1
still waiting for server to warm up...not ok
server failed to start! (please examine t/logs/error_log) at t/TEST line
95.
*** Error code 146
make: Fatal error: Command failed for target `run_tests'



OS:
bash-2.03# uname -a
SunOS sun 5.8 Generic_108528-04 sun4u sparc SUNW,Ultra-4


Vasily Petrushin
+7 (095) 2508363
http://www.interfax.ru
mailto:[EMAIL PROTECTED]




Re: Using modperl as an 'adaptor' front end to an app server.

2001-02-02 Thread Dave Rolsky

On Thu, 1 Feb 2001, Daniel Sully wrote:

> server. It handles failover from dead app instances, however not very
> well, and is a big pile of C code. It also has problems in that because
> Apache is not multithreaded, one child copy of that adaptor that has
> marked an app instance as dead can't let another child know about that
> dead instance.

You could use an IPC or DBM file (assuming you have 1 apache machine) to
communicate this info.  With multiple webservers, you'd need a database or
NFS or something.


-dave

/*==
www.urth.org
We await the New Sun
==*/




Apache::ASP installation problem

2001-02-02 Thread Wang, Pin-Chieh

Hi,
I am using Apache 1.3.14 with mod_perl-1.24_01 on Solaris system
The Apache/Mod_perl part of build is working fine.
But when I installed Apache-ASP-2.07, during the make test part I got
Undefied Routine Devel/Symdump error
therefore the make test failed.
So, I download and try to install Devel-Symdump-2.00, 
the make test failed with error code 29 on Command failed for target
'test-dynamic'

Any person can provide any assistance will be appreciated.

Thanks

PC



Re: Best GCC compiler options for Intel (perl & apache)

2001-02-02 Thread Tim Bunce

[Thanks for all the feedback on this from everyone.]

On Thu, Feb 01, 2001 at 05:20:11PM +, G.W. Haywood wrote:
> 
> The compiler isn't the place to look for performance gains.  Look to
> your system architecture, Perl code.  See if you can code the things
> that get executed the most in C.  Use handlers, not Registry.  Cache.
> Use RAID.  Throw away your database.  Well maybe not throw it away,
> but be careful how you use it.  (I can't believe I'm saying this to
> you:).  Remember the Pareto Principle.

Believe me when I say that we've gone along way down those roads
before wanting to squeeze a little more from the compiler.

Tim.



Re: Object->XML serialization [was Re: AxKit Users?]

2001-02-02 Thread barries

On Wed, Jan 31, 2001 at 03:03:56AM +0100, Robin Berjon wrote:
> >
> >Alzabo (which is somewhat the opposite of Tangram) is designed with
> >mod_perl in mind.  XML serialization will be coming real soon now (as soon
> >as Barrie Slaymaker finishes work on DBML).

Cool.  More pressure ;-).

Anyway, we're just about through the "beta gauntlet" and I'll be able to
get DBML packaged.  Anyone that wants a tarball, just ask.

- Barrie



Re: Using modperl as an 'adaptor' front end to an app server.

2001-02-02 Thread Martin Wood

On Fri, Feb 02, 2001 at 06:44:07PM +0800, Gunther Birznieks wrote:
> Yes, we do this for several clients using SOAP as an RPC transport to Java 
> middleware.

Out of interest, are all these clients using different SOAP implementations on 
different platforms? 

We are designing a system that accepts XML messages from disparate sources and routes 
them to their destination based on content and are thinking of using SOAP to formalise 
the encoding method (transportation is via HTTP), yet I keep reading about issues with 
interoperability between different SOAP implementations which defeats the purpose as 
far as I'm concerened.

Any experiences in this area appreciated. (Off-list?)

Regards,

Martin



Re: Using modperl as an 'adaptor' front end to an app server.

2001-02-02 Thread G.W. Haywood

Hi all,

On Fri, 2 Feb 2001, Gunther Birznieks wrote:

> Anyway, you should be able to implement your own custom handler to talk 
> your proprietary socket protocol in mod_perl.

I did this last year for a Client in the Big Smoke.  Only about twenty lines.
Sorry, can't give a way any source - it's their property.

73,
Ged.




Re: Using modperl as an 'adaptor' front end to an app server.

2001-02-02 Thread Gunther Birznieks

Yes, we do this for several clients using SOAP as an RPC transport to Java 
middleware.

I think you could pretty easily just use socket timeout setting to say that 
if you don't get a response back within a period of time that you fail over 
to another server.

The downside for SOAP is that the connection is not a persistent socket. 
SOAP is a protocol running over HTTP so you may find it slower than 
sockets. However, for many applications it's fast enough.

I've also used PL/RPC, but I can't say that I was very happy with the 
stability of the PL/RPC server but that was over a year ago. And it could 
have been due to some XS modules that were persistent in the PL/RPC server.

Anyway, you should be able to implement your own custom handler to talk 
your proprietary socket protocol in mod_perl.

Later,
Gunther

At 10:28 PM 2/1/2001 -0800, Daniel Sully wrote:
>Is anyone using modperl in a way that it acts as an adaptor/scheduler in
>front of an app server in a 3-tier application environment?
>
>Basically I have a vendor provided (with source however) adaptor that
>takes incoming requests to the webserver, and passes that request onto
>an any number of applications via a socket running on a different
>server. It handles failover from dead app instances, however not very
>well, and is a big pile of C code. It also has problems in that because
>Apache is not multithreaded, one child copy of that adaptor that has
>marked an app instance as dead can't let another child know about that
>dead instance.
>
>Before I reinvent this C wheel in modperl, has anyone done so already?
>
>-D
>--
>Off the record, on the QT, and very hush-hush.

__
Gunther Birznieks ([EMAIL PROTECTED])
eXtropia - The Web Technology Company
http://www.extropia.com/




Using modperl as an 'adaptor' front end to an app server.

2001-02-02 Thread Daniel Sully

Is anyone using modperl in a way that it acts as an adaptor/scheduler in
front of an app server in a 3-tier application environment?

Basically I have a vendor provided (with source however) adaptor that
takes incoming requests to the webserver, and passes that request onto
an any number of applications via a socket running on a different
server. It handles failover from dead app instances, however not very
well, and is a big pile of C code. It also has problems in that because
Apache is not multithreaded, one child copy of that adaptor that has
marked an app instance as dead can't let another child know about that
dead instance.

Before I reinvent this C wheel in modperl, has anyone done so already?

-D
--
Off the record, on the QT, and very hush-hush.



Re: [RFC] mod_perl Digest path...

2001-02-02 Thread Matt Sergeant

On Fri, 2 Feb 2001, Stas Bekman wrote:

> On Tue, 30 Jan 2001, Geoffrey Young wrote:
> 
> > sorry again for all the confusion with this morning's digest (I do code more
> > carefully than I write, really I do...)
> >
> > this does present the opportune time to ask the list about the future of
> > this digest...
> >
> > currently, the digest does not have a HTML home.  Matt at take23.org has
> > graciously agreed to host it and work on the XML stylesheets required for
> > the site.  This is a very good thing - but unfortunately, there is no easy
> > way to derive a decent plain text version from an XML base...
> >
> > thus, the move to take23.org may mean that the digest no longer appears on
> > the list in plaintext, but merely as a posting with a link to the current
> > version...
> >
> > how does this strike everyone?
> 
> Why everybody tries to solve a problem that doesn't exist IMHO? Why
> sourcing in XML in first place. Just throw the email as currently
> generated by Geoff between  and that's it. That's what
> ApacheToday and other online zines do and it seems just fine.

You're so 1990's Stas :-)

> 
> I guess that the only issue are the hrefs, but I guess this can be easily
> converted with s/\[\d+\]/.../.

Thats the main issue really, when you're talking about a thread, the [x]
links can get quite hard to follow with all the scrolling you end up
doing.

But we do have it worked out now anyway, we just need to get an easyish
interface for uploading new digests built.

-- 


/||** Director and CTO **
   //||**  AxKit.com Ltd   **  ** XML Application Serving **
  // ||** http://axkit.org **  ** XSLT, XPathScript, XSP  **
 // \\| // ** Personal Web Site: http://sergeant.org/ **
 \\//
 //\\
//  \\





RE: RE: MSQL server has gone away ( Apache::AuthDBI.pm )

2001-02-02 Thread Artero Alain

Hi,

Could you send me your script so that I can try to write my own workaround.
Is your script integrated within Apache::AuthDBI.pm ?


Thanks
Alain



-Original Message-
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]
Sent: mercredi, 31. janvier 2001 16:23
To: [EMAIL PROTECTED]
Subject: Re: RE: MSQL server has gone away ( Apache::AuthDBI.pm )


I ran into a similar problem while using MySQL and Apache::AuthDBI.

I had a remote MySQL server that my apache web server connected to and used
for authentication.  Every so often (no pattern to this) the connection to
MySQL would drop but MySQL would still be functioning properly.  

The only way I was able to detect whether the connection to MySQL was viable
was to write my own script that would attempt to reconnect to MySQL and
attempt to execute an actual query.  Pinging from MySQL => Apache wouldn't
work.

BTW, the symptom that would present itself when the connection dropped was
that apache would max out and NO URL requests would be processed.

Artero Alain <[EMAIL PROTECTED]> wrote:
>
> 
> Is there someone using the combination DBI, AuthDBI and  mSQL ?
> 
> I am wondering whether the "ping method" for msql in DBD::Msql exists
> already.
> 
> 
> PS:Thanks for your answer Daniel.
> 
> Alain


--
===
"If you put three drops of poison into a 100 percent pure Java, you get -
Windows. If you put a few drops of Java into Windows, you still have
Windows."
-- Sun Microsystems CEO, Scott McNealy

__
Get your own FREE, personal Netscape Webmail account today at
http://webmail.netscape.com/