Re: Knowing the connection status

2002-11-07 Thread Lupe Christoph
Please wrap your extremely long lines!

On Thursday, 2002-11-07 at 09:47:12 +0100, Jon wrote:

 I'm currently working on a project that uses a closed source C api. I know the 
functions and what they return but have no clue what happends in the background. To 
be able to use this with mod_perl I've made a module using perlxs that basicly is a 
wrapper around the API's functions. This API connects to a server and can only handle 
one connection at the time so my wrapper needs to know if it is connected and avoid 
connecting again if it allready is connected. There is no reasonable way I can test 
my connection status, ie there is no get_connection_status or equivalent function I 
can call. Trying to fetch or send data if there is no connection will force me to 
wait for the timeout which I can't do since all scripts using the API will be 
extremly slow then. The connect function is very slow too, it takes a few secs to do 
the connect so I don't want to do extra connects either, plus it seems to result in 
core dumps when I try to do connect if I'm allready connected.

 I was first thinking about using a global variable in the wrapper's connect function 
but I'm not sure what would happend if the script crashes, will the httpd process die 
and the global variable be reseted or will it be set to CONNECTED when the next 
request comes to that child?

If you have a C global variable, it is local to the process. If your
Perl code dies or exits, the http process will go and take that variable
with it. If you catch a die in an eval, the variable will stay, of
course.

Are you saying that each client side can only have one connection, or is
the server limited to one connection? OIf that is the case, you would
need a system-global status in an intermediate server (between Apache
and whatever the API talks to).

 So to stop my ramble and get on with my question, how should I approach this in a 
way that guarantees that I'll only do connect/disconnect if needed and also be able 
to keep track of my status in a safe way? If you're thinking refuse to do it, go to 
the makers of the API and beat them untill they fix it up or snort/strace the API and 
make your own API based of what they send, I've allready thought about it and I've 
come to the conclusion they're not options :)

If you have one connection per client, you can do lazy evaluation, i.e.
connect whenever works needs to be done, and cache the connection until
the Apache process exits.

HTH,
Lupe Christoph
-- 
| [EMAIL PROTECTED]   |   http://www.lupe-christoph.de/ |
| Big Misunderstandings #6398: The Titanic was not supposed to be|
| unsinkable. The designer had a speech impediment. He said: I have |
| thith great unthinkable conthept ...  |



Re: Does Apache::NavBar exist ?

2002-10-14 Thread Lupe Christoph

On Monday, 2002-10-14 at 12:10:33 +0200, Per Einar Ellefsen wrote:
 At 12:01 14.10.2002, [EMAIL PROTECTED] wrote:

 I've just been perusing the docs on perl.apache.com and in the Cute 
 Tricks
 section there is mention of a module called Apache::NavBar being available 
 from
 CPAN. I may be blind but I can't find it. Does it exist ?

 Weird, it doesn't show up on search.cpan.org, but it seems to be on CPAN 
 still: http://www.cpan.org/authors/id/B/BA/BARRACODE/
 Otherwise you can find a copy here: 
 http://modperl.com:9000/book/source/apachemod-code-1.02/lib/Apache/

Really strange. CPAN.pm finds it:

cpan m Apache::NavBar
Module id = Apache::NavBar
DESCRIPTION  Navigation bar generator
CPAN_USERID  MPB (mod_perl book (Doug and Lincoln) [EMAIL PROTECTED])
CPAN_VERSION undef
CPAN_FILEContact Author mod_perl book (Doug and Lincoln) [EMAIL PROTECTED]
DSLI_STATUS  bdpO (beta,developer,perl,object-oriented)
INST_FILE(not installed)

But it doesn't know there is a copy on CPAN. I guess BarracodE
(Charles Day) is not registered as owner.

I've Cc'ed the people involved.

Lincoln, Doug, is this cleared with you? Andreas, if/when it is, can you
transfer the module?

HTH,
Lupe Christoph
-- 
| [EMAIL PROTECTED]   |   http://www.lupe-christoph.de/ |
| Big Misunderstandings #6398: The Titanic was not supposed to be|
| unsinkable. The designer had a speech impediment. He said: I have |
| thith great unthinkable conthept ...  |



[Very OT] Re: [Mason] ANNOUNCE: Mason 1.15

2002-10-14 Thread Lupe Christoph

On Monday, 2002-10-14 at 13:26:19 +0200, Louis-David Mitterrand wrote:
 On Mon, Oct 14, 2002 at 11:50:09AM +0400, Oleg Bartunov wrote:
  On Mon, 14 Oct 2002, Dave Rolsky wrote:

  Dave, just interesting. What does ginsu knives means :?

 If you haven't had prolonged exposure to US TV you can't understand this
 reference. My memory is quite vague about it but I think they used to
 throw in a set of free ginsu knives (think sushi) for people who would
 buy some crap on the TV shopping program. 

We have this kind of TV ads on German TV now, too. Badly dubbed. So
badly it's getting worth watching if you have a cheap sense of humor ...
I sometimes make a mistake channel hopping and land on such a channel.
Immediate cringes and the inability to use the remote control are the
consequence. So I have to watch the stuff until I'm recovered. No free
knives as far as I can tell, though. They could try it, Sushi is very
much En Vogue here.

Lupe Christoph
-- 
| [EMAIL PROTECTED]   |   http://www.lupe-christoph.de/ |
| Big Misunderstandings #6398: The Titanic was not supposed to be|
| unsinkable. The designer had a speech impediment. He said: I have |
| thith great unthinkable conthept ...  |



Re: [OT] migrating from Apache to iPlanet; any mod_perl counterpart?

2002-10-13 Thread Lupe Christoph

On Wednesday, 2002-10-09 at 18:22:24 -0400, Steve Grazzini wrote:
 On Wed, Oct 09, 2002 at 02:43:18PM -0700, Paul wrote:

  The company is making us migrate (some baloney about being legally
  vulnerable because we're using open source)

 If they won't let you use open-source tools, then the
 answer is definitely yes.  (Perl is open-source.)

As are all modules on CPAN. If they really mean this, you will have to
rewrite in a language that has a closed-source compiler, using only
modules that are not available in source. Do not use any code examples,
too, just to be sure ... =:-|

If you want to be sure you are implementing what *they* want, you better
ask *them* where Open Source stops. Steve's point about perl being
open source may be important for your career ;-) (As in Career-limiting
move)

 And migrating from a relational database to LDAP might
 not be as obvious as... oh well.

Depending on what you do, it may not even be suitable. LDAP organizes
data hierarchically. It hangs attributes off objects. Generally, LDAP
databases are slower than RDBMSes.

HTH,
Lupe Christoph
-- 
| [EMAIL PROTECTED]   |   http://www.lupe-christoph.de/ |
| Big Misunderstandings #6398: The Titanic was not supposed to be|
| unsinkable. The designer had a speech impediment. He said: I have |
| thith great unthinkable conthept ...  |



Re: OT: Are things really this bad?

2002-10-13 Thread Lupe Christoph

On Saturday, 2002-10-12 at 11:50:12 +0100, Dave Hodgkinson wrote:
 Todd Finney [EMAIL PROTECTED] writes:

 Over here, the barometer looks like:

For what it's worth, here is the major Freelancer/Professional Services
site in Germany:

  http://www.gulp.de/kb/tools/gulpometer.html

If you want to have some statistics (in German!), go to
  http://www.gulp.de/kb/tools/trend.html

Enter Web and Perl, and set the first oder to und. Click on
Analysieren. You'll get project inquiries, project inquiries by German
zipcode region, Prozentuale Verteilung der Stundensätze (percentage
distribution of hourly rates), some others of less interest, and at the
end age distributions for the two keywords and over all freelancers at
Gulp and all project inquiries at Gulp.

Makes me feel old. I'm 48...

If you don't want to do that, the hourly rates are:

Web 72,22 EUR
Perl69,29 EUR
All Freelancers 72,72 EUR
All Inquiries   75,25 EUR

1 EUR = 0.9860 US$.

The UK site says the going rate overall is 19 Pounds. That is 30 EUR or
US$. No wonder I'm meeting lots of British people when I visit clients.

Lupe Christoph
-- 
| [EMAIL PROTECTED]   |   http://www.lupe-christoph.de/ |
| Big Misunderstandings #6398: The Titanic was not supposed to be|
| unsinkable. The designer had a speech impediment. He said: I have |
| thith great unthinkable conthept ...  |



Re: Daft question - preventing the username password box from appearing.

2002-10-01 Thread Lupe Christoph

On Tuesday, 2002-10-01 at 14:16:47 +0100, Martin Moss wrote:

 I do not wish to have the prompt box appear, I want to have a dynamically
 produced login form which when submitted carries out the users previous
 command (I have an authentication system which 'times out' a user)

You can't in mod_perl. When you use Basic Authentication, the *browser*
pops up the prompt box. To change this, you have to ditch Basic Auth
and implement something else.

You best start by looking at the various auth packages in Apache and
those in in Perl (Apache::.*Auth). Then consider doing this in
Javascript or in HTML.

HTH,
Lupe Christoph
-- 
| [EMAIL PROTECTED]   |   http://www.lupe-christoph.de/ |
| Big Misunderstandings #6398: The Titanic was not supposed to be|
| unsinkable. The designer had a speech impediment. He said: I have |
| thith great unthinkable conthept ...  |



Re: Documentation for Apache::exit()?

2002-09-26 Thread Lupe Christoph

On Wednesday, 2002-09-25 at 10:41:19 -0400, valerian wrote:

 BTW, anyone know if Perl 6 will free unused memory?  From what I
 understand, right now it just allocates as needed, but never gives any
 back to the OS when it's done... (ie, when some function ends)

Even if Parrot (the perl 6 engine) free()'s unused memory, all malloc
implementations I know will not return memory to the OS. If the
implementation uses brk() or sbrk(), it can only grow or shrink the data
segment, not deallocate arbitrary parts of it. Only if it mmap()'s from
/dev/null it can do that.

Add to this mess that free()'d memory tends to be non-contiguous, you
have a nice SMOP. Lots of overhead for little gain.

Lupe Christoph
-- 
| [EMAIL PROTECTED]   |   http://www.lupe-christoph.de/ |
| Big Misunderstandings #6398: The Titanic was not supposed to be|
| unsinkable. The designer had a speech impediment. He said: I have |
| thith great unthinkable conthept ...  |



Re: Archive::Tar

2002-09-11 Thread Lupe Christoph

Waay offtopic. But here goes:

On Wednesday, 2002-09-11 at 04:06:20 -0500, [EMAIL PROTECTED] wrote:

 I am trying to use the following program to archive directories of large
 files but I can not get any wildcard combination to work:

Archive::Tar does not do Wildcards.

 #!/usr/bin/perl
 use Archive::Tar;

 Archive::Tar-create_archive (test.tar, 9, backup/*.*);

From perldoc Archive::Tar:
   The remaining arguments list the files to be included
   in the tar file.  These files must all exist.  Any
   files which don\'t exist or can\'t be read are
   silently ignored.

I.e. You would add a file *named* backup/*.*.

 How can I get this to tar the entire backup directory? And if I wanted to
 say pic out all file based on extensions later on like .pl *.pl how to do
 that as well with this?

Combine this with File::Find:

my $tar = Archive::Tar-new();
find({ wanted = \wanted, no_chdir = 1}, backup);
$tar-write(test.tar.gz, 9);

sub wanted {
  return unless /\.pl$/ and -f $_; # Only files named *.pl
  print Adding $_\n;
  $tar-add_files($_);


You could use glob() to expand *.*, but you still wouldn't get any
recursion into subdirecties. With File::Find you can use any test you
like. Note that $_ contains the file*path* starting at backup with the
no_chdir option. This differs from normal behaviour (i.e. with no_chdir
unset).

HTH,
Lupe Christoph
-- 
| [EMAIL PROTECTED]   |   http://www.lupe-christoph.de/ |
| Big Misunderstandings #6398: The Titanic was not supposed to be|
| unsinkable. The designer had a speech impediment. He said: I have |
| thith great unthinkable conthept ...  |



Re: How to limit the size of requests ?

2002-08-30 Thread Lupe Christoph

On Friday, 2002-08-30 at 09:22:47 -0400, Geoffrey Young wrote:

 I have written a perl script which prevents browsers (or evil exploits) to 
 send buffer owerflows to apache. Basicaly this script is supposed to 
 listen on port 80 for incoming connections. The input (from browsers) is 
 read up to 500 characters.

Excuse me, but that's a Stoopid(tm) way to try to prevent buffer
overflows. What if the buffer is smaller than your limit. What about
POSTed content? 500 characters is really small for complex forms.  IIRC
the chunked encoding buffer overflow required less than 50 bytes:

 Some friend of mine told me that apache perl modules should be faster so 
 here's my question. How do I limit the webclient's input to a number of 
 characters, bytes whatever...

 my the time mod_perl enters the request, Apache has already taken care 
 of parsing the request, so there's not much you can do about it (in 
 1.3, at least).

Parsing the request *headers*. So you can't prevent any overflow in the
headers with mod_perl. You *can* prevent the chunked encoding overflow,
because that happens in the body.

AFAICT, this was the first Apache buffer overflow in a long time. Ever?
Those folks ssem to be pretty sharp. Can you guarantee you're at least
as sharp as they are, or will you introduce new vulnerabilities in your
code? Does it really drop all priviledges, etc?

Secure programming is hard. That's why so many people fail in it...
Lupe Christoph
-- 
| [EMAIL PROTECTED]   |   http://www.lupe-christoph.de/ |
| Big Misunderstandings #6398: The Titanic was not supposed to be|
| unsinkable. The designer had a speech impediment. He said: I have |
| thith great unthinkable conthept ...  |



Re: How to limit the size of requests ?

2002-08-30 Thread Lupe Christoph

On Friday, 2002-08-30 at 18:33:13 +, HalbaSus wrote:

 About that stoopid way of preventing buffer owerflows... Well, tell me a 
 better one. Of course you can patch known bugs. But... how are you gonna 
 prevent new buffer owerflows ?

Auditing?

 What if the guys with 0-day warez are faster 
 than packetstorm and securityfocus ?

Read BUGTRAQ and Full-Disclosure. But as I said, you can't prevent this
from happening. If you could by simply writing a wrapper, how many
protective wrappers would we have now? More than a newly wed couple at
the start of their honeymoon.

 Buffer owerflow under 500 characters ??? 

Sure. There are single-byte overflow exploits in circulation.

 (don't forget that it has to be inserted in a valid input field (User Agent, 
 or something)). And that 500 char. limit was just like a guessing... it's not 
 really something i calculated.

This is no way to approach a security problem.

 If you want to see how does a b0f act start 
 /apache-nojob localhost:69  (and fire up a netcat listening on port 69)
 About the posting stuff.. don't worry about that... my site doesn't need to do 
 posting... so... everybody's happy :)

I'm not arguing about what your site needs (actually I expected so much,
but things change, and *presto* you have your first feedback form ;-),
but what to do about Apache (and mod_perl) security in general. You
know, these discussions find their ways into archives, and somebody else
might find this thread looking for advice.

So I want in no way to prevent you from doing with your webserver
whatever you choose to do (Romania is a free country, too! And I'm glad
about that), just to point out that this gains you little and may in
fact weaken your security.

HTH,
Lupe Christoph
-- 
| [EMAIL PROTECTED]   |   http://www.lupe-christoph.de/ |
| Big Misunderstandings #6398: The Titanic was not supposed to be|
| unsinkable. The designer had a speech impediment. He said: I have |
| thith great unthinkable conthept ...  |



Re: Segmentation Fault with mod_php and mod_perl

2002-08-27 Thread Lupe Christoph

On Monday, 2002-08-26 at 10:43:57 -0700, Alex Lee wrote:
 There seems to be conflict between mod_php 4.2.2 and mod_perl 1.27 running 
 with Apache 1.3.26 on Solaris 8 platform(FreeBSD with the same 
 configuration seems to work fine).

 Please help!
 Or if you know of a working combination of Apache/mod_perl/mod_php on
 Solaris 8, let me know..

I had that a while ago. It is probably a problem with largefile support.
Statically linking both mod_perl and mod_php worked for me, same
versions you have. But I have to admit the version somebody else
compiled crashed like your statically linked apache.

The way I do it, and it is possible this avoids the problem is to first
do apache+mod_perl, sans mod_php. If this tests OK, I make install
mod_php, and do mod_perl again. The first step may leave some traces
mod_php picks up.

HTH,
Lupe Christoph
-- 
| [EMAIL PROTECTED]   |   http://www.lupe-christoph.de/ |
| Big Misunderstandings #6398: The Titanic was not supposed to be|
| unsinkable. The designer had a speech impediment. He said: I have |
| thith great unthinkable conthept ...  |



Re: solaris 2.6, mod_perl 1.27, apache 1.3.26, resulting server fails

2002-08-12 Thread Lupe Christoph

On Monday, 2002-08-12 at 12:41:54 +0800, Stas Bekman wrote:
 Lupe Christoph wrote:
 On Thursday, 2002-08-08 at 15:48:48 -0700, John E. Mendenhall wrote:

 I have done all you have asked.  All output appears similar.  Three files,
 including Log.xs.  Nine entries in httpd for XS_Apache__Log, as follows:

 So, where to from here?  Any ideas?

 (Stas explains bootstrapping.)

Thank you for the explanation, Stas.

 What do you get from running:
 nm httpd | grep Apache__Log

 there should be boot_Apache__Log there.

On my working Solaris version, there is:
[3497]  |464188| 732|FUNC |GLOB |0|9  |boot_Apache__Log

Sorry for telling John a too restrictive string to grep.

From Tim's explanation (which is now out of date on some technical
details, like perlmain.c), I gather that the following might be amiss
in John's installation:

xs_init() is used to introduce the statically linked XSes to mod_perl.
There must be a call to newXS for Apache::Log in it.

John, please check this:
grep boot_Apache__Log apache_1.3.26/src/modules/perl/perlxsi.c
EXTERN_C void boot_Apache__Log _((CV* cv));
newXS(Apache::Log::bootstrap, boot_Apache__Log, file);

HTH,
Lupe Christoph
-- 
| [EMAIL PROTECTED]   |   http://www.lupe-christoph.de/ |
| I have challenged the entire ISO-9000 quality assurance team to a  |
| Bat-Leth contest on the holodeck. They will not concern us again.  |
| http://public.logica.com/~stepneys/joke/klingon.htm|



Re: solaris 2.6, mod_perl 1.27, apache 1.3.26, resulting server fails

2002-08-09 Thread Lupe Christoph

On Thursday, 2002-08-08 at 15:48:48 -0700, John E. Mendenhall wrote:
 On Thu, 8 Aug 2002, Lupe Christoph wrote:

  Since mod_perl seems to play tricks with bootstrap, I don't really
  know how this comes into play.

 I have done all you have asked.  All output appears similar.  Three files,
 including Log.xs.  Nine entries in httpd for XS_Apache__Log, as follows:

 So, where to from here?  Any ideas?

Well, this proves that Apache::Log *is* linked into the httpd binary.
The questions is why bootstrap is called at all. I'm afraid, I have
to hand this over to people who know the internal logic of mod_perl.
bootstrap *should* not be called, I think.

You could try to reduce your config until the error goes away.
Or start with a minimal startup.pl that only does a use Apache::Log.
I fear the whatever that has a list of the modules linked into
httpd is scrambled by your production config.

Lupe Christoph
-- 
| [EMAIL PROTECTED]   |   http://www.lupe-christoph.de/ |
| I have challenged the entire ISO-9000 quality assurance team to a  |
| Bat-Leth contest on the holodeck. They will not concern us again.  |
| http://public.logica.com/~stepneys/joke/klingon.htm|



Re: ANNOUNCE: Mason 1.12

2002-08-03 Thread Lupe Christoph

On Thursday, 2002-08-01 at 18:06:29 -0400, Perrin Harkins wrote:
 Dave Rolsky wrote:
 It can, but I'm not sure what to update it to.  Frankly, I think CPAN is
 more at fault here given that _many_ people use CVS for this sort of stuff
 and this quite normal when using CVS.

It's not CPAN, it's Perl. Perl has been using decimal-fraction
version numbers for a looong time.

 This is a common complaint about CPAN.pm, but it's kept this way so far 
 because of performance issues with doing fancier version parsing.  I 
 would suggest following David Wheeler's advice and setting version 
 manually, so that you can just make 1.69 or something.

It would also break many modules on CPAN which rely on fractional
version numbers. People use 2.10 and then 2.101 indicating a minor
patch.

 Incidentally, all hell is going to break loose when Perl 5.10 gets 
 released.  Maybe that will force a change in CPAN.pm.

Huh? How so?

perl -e 'print $], \n;'
5.006001

Larry was anticipating a long line of Perl 5 versions... (Yes, I know
$] is deprecated. But $^V does not print easily. And vector version
numbers are not compatible with 5.005 and earlier, so CPAN modules
avoid them.)

Luipe Christoph
-- 
| [EMAIL PROTECTED]   |   http://www.lupe-christoph.de/ |
| I have challenged the entire ISO-9000 quality assurance team to a  |
| Bat-Leth contest on the holodeck. They will not concern us again.  |
| http://public.logica.com/~stepneys/joke/klingon.htm|



Re: ANNOUNCE: Perl 5.8.0 Release Candidate 3

2002-07-14 Thread Lupe Christoph

(Removed [EMAIL PROTECTED], this has nothing to
do with TT.)

Please submit perl 5.8.0 RCn build failures to perl5porters.
Use perlbug to do this if you can. (Looks like this failure
prevents the use of perlbug.) If you can't please describe
your environment. OS, compiler, installed patches, etc.

I'll forward this to speed things up.

Lupe Christoph

On Sunday, 2002-07-14 at 15:12:20 -0600, The Doctor wrote:
 I get
 
 
 Script started on Sun Jul 14 14:48:21 2002
 doctor.nl2k.ab.ca//usr/source/perl-5.8.0-RC3$ make
 AutoSplitting perl library
 
LD_LIBRARY_PATH=/usr2/source/perl-5.8.0-RC3:/usr/contrib/qt/lib:/usr/contrib/lib/mysql:/usr/lib
 ./miniperl -Ilib -e 'use AutoSplit;  autosplit_lib_modules(@ARGV)' lib/*.pm
 
LD_LIBRARY_PATH=/usr2/source/perl-5.8.0-RC3:/usr/contrib/qt/lib:/usr/contrib/lib/mysql:/usr/lib
 ./miniperl -Ilib -e 'use AutoSplit;  autosplit_lib_modules(@ARGV)' lib/*/*.pm
 make lib/re.pm
 `lib/re.pm' is up to date.
 
 Making DynaLoader (static_pic)
 
LD_LIBRARY_PATH=/usr2/source/perl-5.8.0-RC3:/usr/contrib/qt/lib:/usr/contrib/lib/mysql:/usr/lib
 cc -o perl  -L/usr/X11/lib -L/usr/local/lib 
-Wl,-rpath,/usr/libdata/perl5/i386-bsdos/CORE perlmain.o 
lib/auto/DynaLoader/DynaLoader.a  libperl.so `cat ext.libs` -lutil -lbind -ldl -ldld 
-lm -lc
 
LD_LIBRARY_PATH=/usr2/source/perl-5.8.0-RC3:/usr/contrib/qt/lib:/usr/contrib/lib/mysql:/usr/lib
 cc -o suidperl -L/usr/X11/lib -L/usr/local/lib 
-Wl,-rpath,/usr/libdata/perl5/i386-bsdos/CORE perlmain.o sperl.o 
lib/auto/DynaLoader/DynaLoader.a  libperl.so `cat ext.libs` -lutil -lbind -ldl -ldld 
-lm -lc
  
 Making utilities
  
 Making x2p stuff
  
 
 Making B (dynamic)
 
 Making ByteLoader (dynamic)
 
 Making Cwd (dynamic)
 
 Making DB_File (dynamic)
 
 Making Data::Dumper (dynamic)
 
 Making Devel::DProf (dynamic)
 
 Making Devel::PPPort (dynamic)
 
 Making Devel::Peek (dynamic)
 
 Making Digest::MD5 (dynamic)
 
 Making Encode (dynamic)
 
 Making Fcntl (dynamic)
 
 Making File::Glob (dynamic)
 
 Making Filter::Util::Call (dynamic)
 
 Making GDBM_File (dynamic)
 
 Making IO (dynamic)
 
 Making IPC::SysV (dynamic)
 
 Making List::Util (dynamic)
 
 Making MIME::Base64 (dynamic)
 
 Making NDBM_File (dynamic)
 
 Making Opcode (dynamic)
 
 Making POSIX (dynamic)
 
 Making PerlIO::encoding (dynamic)
 
 Making PerlIO::scalar (dynamic)
 
 Making PerlIO::via (dynamic)
 
 Making SDBM_File (dynamic)
 
 Making Socket (dynamic)
 
 Making Storable (dynamic)
 
 Making Sys::Hostname (dynamic)
 
 Making Sys::Syslog (dynamic)
 
 Making Time::HiRes (dynamic)
 
 Making Unicode::Normalize (dynamic)
 
 Making XS::APItest (dynamic)
 
 Making XS::Typemap (dynamic)
 
 Making attrs (dynamic)
 
 Making re (dynamic)
 
 Making threads (dynamic)
 
 Making threads::shared (dynamic)
 
 Making Errno (nonxs)
 *** Error code 1 (ignored)
  
 Everything is up to date. Type 'make test' to run test suite.
 doctor.nl2k.ab.ca//usr/source/perl-5.8.0-RC3$ head htinst     inst/bsdos.sh
 head: hinst/bsdos.sh: No such file or directory
 doctor.nl2k.ab.ca//usr/source/perl-5.8.0-RC3$ head hinst/bsdos.sh  *
 head: hinst/bsdos.*: No such file or directory
 doctor.nl2k.ab.ca//usr/source/perl-5.8.0-RC3$ head 
hinst/bsdos.*/bsdos.*ts/bsdos.*
 # hints/bsdos.sh
 #
 # hints file for BSD/OS (adapted from bsd386.sh)
 # Original by Neil Bowers [EMAIL PROTECTED]; Tue Oct  4 12:01:34 EDT 1994
 # Updated by Tony Sanders [EMAIL PROTECTED]; Sat Aug 23 12:47:45 MDT 1997
 # Added 3.1 with ELF dynamic libraries (NOT in 3.1 yet.
 # Estimated for 4.0) SYSV IPC tested Ok so I re-enabled.
 #
 # Updated to work in post-4.0 by Todd C. Miller [EMAIL PROTECTED]
 #
 doctor.nl2k.ab.ca//usr/source/perl-5.8.0-RC3$ head hints/bsdos.* 
sh hints/bsdos.sh 
hints/bsdos.sh hints/bsdos.sh 
hints/bsdos.shc hints/bsdos.sha 
hints/bsdos.sht hints/bsdos.sh
 # hints/bsdos.sh
 #
 # hints file for BSD/OS (adapted from bsd386.sh)
 # Original by Neil Bowers [EMAIL PROTECTED]; Tue Oct  4 12:01:34 EDT 1994
 # Updated by Tony Sanders [EMAIL PROTECTED]; Sat Aug 23 12:47:45 MDT 1997
 # Added 3.1 with ELF dynamic libraries (NOT in 3.1 yet.
 # Estimated for 4.0) SYSV IPC tested Ok so I re-enabled.
 #
 # Updated to work in post-4.0 by Todd C. Miller [EMAIL PROTECTED]
 #
 # Updated for threads by Timur I. Bakeyev [EMAIL PROTECTED]
 #
 # To override the compiler on the command line:
 # ./Configure -Dcc=gcc2
 #
 # The BSD/OS distribution is built with:
 # ./Configure -des -Dbsdos_distribution=defined
 
 signal_t='void

Re: Apache Web Server vulnerability

2002-06-20 Thread Lupe Christoph

On Thursday, 2002-06-20 at 18:22:10 +0400, Igor Sysoev wrote:
 On Thu, 20 Jun 2002, Lupe Christoph wrote:
 
  and the mod_perl module seems to prevent the crash:
  
   telnet proxy.customer.de 80
   Trying 213.155.64.138...
   Connected to proxy.customer.de.
   Escape character is '^]'.
   POST /x.html HTTP/1.1
   Host: proxy.customer.de
   Transfer-Encoding: chunked
   
   8000
   Rapid 7
   0
   
   
   ^]
   telnet Connection closed.
  
  Does mod_perl do it's own de-chunking?

 So mod_perl does not return any response ?

 There are two ways to prevent crush with particular URI:
 1. return 411 error if client send chunked body (standard mod_proxy,
mod_cgi and mod_isapi do it);
 2. ignore body at all.

 I suspect second in your case.

Sorry that is not the answer to my question - the question is if my
code gets a chance to do *anything*, or will the httpd code just
crash at a later time? It does not crash like a non-mod_perl httpd.

Lupe Christoph
-- 
| [EMAIL PROTECTED]   |   http://www.lupe-christoph.de/ |
| I have challenged the entire ISO-9000 quality assurance team to a  |
| Bat-Leth contest on the holodeck. They will not concern us again.  |
| http://public.logica.com/~stepneys/joke/klingon.htm|



Re: OSC early bird and mod_perl T-Shirts

2002-06-11 Thread Lupe Christoph

On Tuesday, 2002-06-11 at 10:44:26 +0100, Leon Brocard wrote:

 Yup, I have a designer here who is willing to come up with something.
 Constructive ideas welcome offlist. Better slogans than modperl: the
 only way to fly, modperl: obey your thirst etc. very welcome too ;-)

SCNR:

Quetzalcoatl: The Feathered Snake
mod_perl: The Feathered Camel

Profound excuses,
Lupe Christoph
-- 
| [EMAIL PROTECTED]   |   http://www.lupe-christoph.de/ |
| I have challenged the entire ISO-9000 quality assurance team to a  |
| Bat-Leth contest on the holodeck. They will not concern us again.  |
| http://public.logica.com/~stepneys/joke/klingon.htm|



Re: [2.x] test fails on win32 version 1.99_02

2002-06-03 Thread Lupe Christoph

On Monday, 2002-06-03 at 18:32:54 +0200, Alessandro Forghieri wrote:

 reetings.

:-)

 I have been trying 5.8RC1 and I tried to compile/install several modules
 that I have
 on 5.6.1 - CPAN, not PPM.
 At least the following do not build and/or test right (not exhaustive, as I
 got tired after a while):

 TK   # C error 
 Archive::Tar # in getting file handles from zlib
 PPM  # depends on the above
 MLDBM# de/serilized structures do not compare on
 tests
 Devel::TraceLoad # ??
 Module::Info # Serious?
 Win32::API   # Serious? C diagnostic
 libxml-perl  # Fails test
 XML-RSS  # contains XML::RSS.3 in man, unpack fails -
 builds otherwise.

 Posted in the hope it may help somebody...

Can you please send a detailed report to the perl5porters list?
  [EMAIL PROTECTED]
and the module authors? Please include the version numbers
and all error messages.

I know that Nick Ing-Simmons has tested 5.8.0RC1 with Tk, but maybe
you used a lower rev version than his. I have tried Tk myself
with a patchlevel a few days before RC1 happened, and it was OK.
On Linux, not Windows.

Thanks a lot,
Lupe Christoph
-- 
| [EMAIL PROTECTED]   |   http://www.lupe-christoph.de/ |
| I have challenged the entire ISO-9000 quality assurance team to a  |
| Bat-Leth contest on the holodeck. They will not concern us again.  |
| http://public.logica.com/~stepneys/joke/klingon.htm|



Re: Open3

2002-04-05 Thread Lupe Christoph

In local.modperl you write:

I have asked this question before, and received answers that have helped
me in quest. However, my problem persists. So I would like to direct
this question to those who have used gpg, and open3. I am having trouble
writing to stdin when an apache thread calls open3. However, the same
code written as a test script runs fine. I am using the --passphrase-fd
0 option which would instruct gpg to expect the passphrase from stdin
rather than keyboard. As I mentioned above, the problem arises when an
apache thread tries to execute my code. I know that under perl 5.6 it is
necessary to untie STDIN,... (thanks Don Hayward), but I am using perl 
5.005_03 built for irix ( Apache/1.3.12 Ben-SSL/1.39 (Unix)
mod_perl/1.22). What is happening that I am missing?

I'm vaguely remembering reading an article that said this is very
non-trivial, and that there is a module to help with the hard part.
Have you had a look at Crypt::GPG?

http://search.cpan.org/doc/AGUL/Crypt-GPG-1.28/GPG.pm

HTH,
Lupe Christoph
-- 
| [EMAIL PROTECTED]   |http://free.prohosting.com/~lupe |
| I have challenged the entire ISO-9000 quality assurance team to a  |
| Bat-Leth contest on the holodeck. They will not concern us again.  |
| http://public.logica.com/~stepneys/joke/klingon.htm|



Re: Environnement stability and maturity

2001-02-06 Thread Lupe Christoph

In local.modperl you write:

What is the "official" home of 5.6.1rev2? I can't seem to locate it on
CPAN anywhere. The p5p summary on http://www.perl.com/ seems to be under
the impression that 5.6.1 isn't going to be out for a while. I remember
seeing a pointer to one of the very early patches, but I can't seem to
find it again. Thanks in advance--

Probably because you looked for 5.6.1rev2. The name is perl-5.6.1-TRIAL2.

Look for it at $CPAN/authors/id/G/GS/GSAR/perl-5.6.1-TRIAL2.tar.gz .
Sarathy is on it, and I expect the final 5.6.1 Real Soon Now. The
TRIAL2 had a couple of problems, and there will probably a TRIAL3.
(My personal guess.)
-- 
| [EMAIL PROTECTED]   |http://free.prohosting.com/~lupe |
| "Real stupidity beats artificial intelligence every time." |
| Hogfather  |
| Terry Pratchett|



Typo crashes Apache process

2000-09-14 Thread Lupe Christoph

Hi!

Sorry, I did not check if this is known problem.

I recently forgot to follow through with a name change (equivalent to
renaming  Some::SimpleModule to Some::Simple::Module). I moved the
file, but forgot to change the package name.

Here is a much smaller version of my module that shows the problem:

package Some::SimpleModule;

use Apache::Constants qw(:http);

sub handler {
  return DECLINED;
}

1;

Add this to a standard http.conf.default:

Location /test
  SetHandler perl-script
  PerlHandler Some::Simple::Module
/Location

Then try accessing http://localhost/test.

In the error log with full trace on:

running 1 server configured stacked handlers for /test...
calling {PerlHandler-[0]} (1 total)
perl_setup_env...26 keys
mod_perl: inc seqno to 1 for /test
Some::Simple::Module symbol table not found, loading...
loading perl module 'Some::Simple::Module'...ok
perl_init_ids: uid=60001, euid=60001, gid=65534, egid=65534
`PerlChildInitHandler' push_handlers() stack is empty
PerlChildInitHandler handlers returned -1
[Thu Sep 14 12:58:59 2000] [notice] child pid 8990 exit signal Segmentation Fault 
(11), possible coredump in /sw/www.biering

(Getting the coredump in Solaris requires some version dependent
fiddling. This is Solaris 8, where I just use coreadm.)

This is the stack trace from the core:

8046b0c 
perl_handler_ismethod(0x82b46c8,0x81e5f62,0x828ee0c,0x80e255c,0x82fa59c,0x82a5ce8) + 61
8046b5c perl_call_handler(0x82fa59c,0x824b83c,0x0,0x80bc386,0x81e4f99,0x82fa59c) + 413
8046bac 
perl_run_stacked_handlers(0x81e4f99,0x824b83c,0x82a5ce8,0x80ba521,0x80ba49c,0x8046db0) 
+ 299
8046bec perl_handler(0x824b83c,0x81e52aa,0xb,0x) + 1b7
8046c2c ap_invoke_handler(0x824b83c,0x29,0x8046c5c,0x80d92be) + 11d
8046c5c process_request_internal(0x824b83c,0xdf7d,0x8046c8c,0x80e2f75) + 5d0
8046c8c ap_process_request(0x824b83c,0x4,0x824b83c,0x80e4e91) + 32
8046cdc child_main(0x0,0x80e37c0,0x8046d0c,0x80e5245) + 617
8046d0c make_child(0x824383c,0x0,0x39c0aece,0x80e1fce) + 13c
8046d3c startup_children(0x5,0x824383c,0x8046d6c,0x80e596f) + 72
8046d6c standalone_main(0x3,0x8046df4,0x8046dcc,0x80e61cb) + 1a4
8046dcc main(0x3,0x8046df4,0x8046e04) + 3b0

I believe this crash happens because sv_2cv returns a NULL pointer.
Then, CvFLAGS(cv) is used to access the flags field of a nonexistent
structure.

Sorry, I have no idea what to patch here. Holding for the Gurus ... ;-)
Probably this should be caught in perl_call_handler().

Lupe Christoph

PS: mod_perl is compiler with USE_APACI=1 EVERYTHING=1 PERL_TRACE=1
-- 
| [EMAIL PROTECTED]   |http://free.prohosting.com/~lupe |
| "jryy vg ybbxf yvxr gur l2x oht qvqa'g erne vg'f htyl urnq." "lrc. gur |
| qbbzfnlref unir orra cebira jebat lrg ntnva."    "qvq lbh frr gung |
| gbb?" "ubhfgba. jr unir n ceboyrz."   User Friendly 2000-01-01 |



Re: Apache::Perfmon 0.011

2000-08-24 Thread Lupe Christoph

Hello!

Sorry about the lack of response. I was very busy the last few days.

On Tuesday, 2000-08-22 at 11:26:00 +0200, Stas Bekman wrote:
 On Tue, 22 Aug 2000, Lupe Christoph wrote:

  I thought about it a little more. What is does is find the
  (cpu|real)time taken to process a request. So what about
  Apache::RequestTimer or maybe Apache::Perf::RequestTimer, creating
  a new namespace for all performance-related modules?

 Both sound good time, especially the second :)

Apache::Perf::RequestTimer it is. then. The next version will
carry the new name (whatever it does ;-).

  I'll include a first shot at such a program in the next release.
  After the naming discussion has settled down.

Seems I'm committed ;-)

  This times the entire request. I'll split the CPU times out in times
  for the Apache process and that for it and all it's children in the
  nect release to accomodate CGI. Can't do anything about FastCGI
  and such things that run independent of the Apache process.

 If you are going to make it non-mod_perl specific (if I understand your
 intentions correctly) you shouldn't put it under Apache:: tree.

Nope. I'll stick to mod_perl. But it is not mod_perl-specific in
what it measures.  You can use it to measure PHP and mod_foo.
It just uses mod_perl. FastCGI and kin use external processes,
for which this approach can't gather CPU statistics.

  Is anybody running Apache+mod_perl under Win32 who could see if
  times() and Time::HiRes give you timings of any significance
  on that platform?

Hmm, no response to this. I'll usethe skeet shooting approach.
Launch and see if it gets shot down.

  As for statistics, I'm thinking about splitting out the host
  first, second the method (GET, POST, etc), then the URI, with the
  request string removed, maybe the request strings under the URI
  at a later time.

 A good advise would be to let the user to specify the format, following
 for example the same format that one uses to specify log format in Apache,
 may be with extra tokens, which are unavailable by Apache.

I thought about this, too. It's a little much for a first shot,
unless somebody has code I can borrow. And then, this might be
a nice module in itself...

 BTW, the time taken to server the request is already there: %...{format}t:

Have you tried that? It gives you entire seconds! That's why I started
on this module in the first place.

  Print the top n requests by user CPU, system CPU, realtime.
  Do that in plain text and HTML, with graphs later.

 BTW, Apache::VMonitor does that this in the real time, for the last
 request.

I'll have a look at that. maybe there's code waiting to be stolen...

-- 
| [EMAIL PROTECTED]   |http://free.prohosting.com/~lupe |
| "jryy vg ybbxf yvxr gur l2x oht qvqa'g erne vg'f htyl urnq." "lrc. gur |
| qbbzfnlref unir orra cebira jebat lrg ntnva."    "qvq lbh frr gung |
| gbb?" "ubhfgba. jr unir n ceboyrz."   User Friendly 2000-01-01 |



Re: Apache::Perfmon 0.011

2000-08-24 Thread Lupe Christoph

On Wednesday, 2000-08-23 at 12:32:58 +0200, Stas Bekman wrote:
 On Wed, 23 Aug 2000, Ask Bjoern Hansen wrote:

  On Tue, 22 Aug 2000, Stas Bekman wrote:

  [...]
   Sorry, it's in contrib, not the book:
   http://perl.apache.org/dist/contrib/Timeit.pm

  And I have an improved version which I for some reason never
  uploaded to CPAN. I guess I didn't get everything I wanted to work
  to work. :) Next time I need it I'll probably finish it and upload
  it. (it was one of the few remaining useful bits of contrib).

 So may be it would be a cool idea for you Ask and Lupe to put your code
 together and have one module instead two doing a very similar thing. Just
 an attempt to keep the available modules choice non-ambiguous of course,
 feel free to do whatever you feel is right of course.

I'll have a look at the contrib this weekend.

Ask, if you want me to look if we *can* collapse you stuff and mine,
please mail your modified version to me.

Lupe
-- 
| [EMAIL PROTECTED]   |http://free.prohosting.com/~lupe |
| "jryy vg ybbxf yvxr gur l2x oht qvqa'g erne vg'f htyl urnq." "lrc. gur |
| qbbzfnlref unir orra cebira jebat lrg ntnva."    "qvq lbh frr gung |
| gbb?" "ubhfgba. jr unir n ceboyrz."   User Friendly 2000-01-01 |



Re: Apache::Perfmon 0.011

2000-08-22 Thread Lupe Christoph

On Monday, 2000-08-21 at 21:06:54 -0400, Greg Stark wrote:

 Lupe Christoph [EMAIL PROTECTED] writes:

  Hmm. Apache::Benchmark sounds more like a benchmark driver to me.
  Apache::Instrumentation or so? Apache::Probe?

 Profile or even just Prof.

I thought about it a little more. What is does is find the
(cpu|real)time taken to process a request. So what about
Apache::RequestTimer or maybe Apache::Perf::RequestTimer, creating
a new namespace for all performance-related modules?

 I looked at this and really like the idea. Unfortunately I need to recompile
 my Apache to use it.

Yeah, it inserts handlers in phases few modules touch. I should
mention that in my README.

 What I think it needs is, a way to gather the statistics in a hash based on
 the request. That way I can make a web page that pokes around in the hash
 table and reports the average and maximum time taken by page.

I'd rather not collect the statistics inside the module. Not only can
that inflate the process, it's also much better done seperately
because this way you can write your own statistics processor without
touching the gatherer.

I'll include a first shot at such a program in the next release.
After the naming discussion has settled down.

 I'm not clear how or if that can be done in a separate module like this that
 doesn't know how the requests are dispatched. Either a regexp needs to be
 provided that returns the key to use for the hash, or else something similar
 needs to be integrated into packages like CGI and Apache::ASP. (Which was the
 approach I was planning on taking myself.) I like this approach better though,
 so it would be neat to see it polished.

This times the entire request. I'll split the CPU times out in times
for the Apache process and that for it and all it's children in the
nect release to accomodate CGI. Can't do anything about FastCGI
and such things that run independent of the Apache process.

Is anybody running Apache+mod_perl under Win32 who could see if
times() and Time::HiRes give you timings of any significance
on that platform?

As for statistics, I'm thinking about splitting out the host
first, second the method (GET, POST, etc), then the URI, with the
request string removed, maybe the request strings under the URI
at a later time.

Print the top n requests by user CPU, system CPU, realtime.
Do that in plain text and HTML, with graphs later.

Lupe
-- 
| [EMAIL PROTECTED]   |http://free.prohosting.com/~lupe |
| "jryy vg ybbxf yvxr gur l2x oht qvqa'g erne vg'f htyl urnq." "lrc. gur |
| qbbzfnlref unir orra cebira jebat lrg ntnva."    "qvq lbh frr gung |
| gbb?" "ubhfgba. jr unir n ceboyrz."   User Friendly 2000-01-01 |



Re: Apache::Perfmon 0.011

2000-08-21 Thread Lupe Christoph

On Monday, 2000-08-21 at 10:41:51 +0200, Stas Bekman wrote:
 On Mon, 21 Aug 2000, Lupe Christoph wrote:

 A few comments followed by the answer to your original question.

Thanks!

 make install
 Manifying blib/man3/Apache::Changes.3
 Manifying blib/man3/Apache::Perfmon.3
 Manifying blib/man3/Apache::README.3
 Installing /usr/lib/perl5/site_perl/5.005/Apache/Perfmon.pm
 Installing /usr/lib/perl5/site_perl/5.005/Apache/Changes.pod
 Installing /usr/lib/perl5/site_perl/5.005/Apache/README.pod
 Installing /usr/lib/perl5/man/man3/Apache::Changes.3
 Installing /usr/lib/perl5/man/man3/Apache::Perfmon.3
 Installing /usr/lib/perl5/man/man3/Apache::README.3

 All these:
 Installing /usr/lib/perl5/site_perl/5.005/Apache/Changes.pod
 Installing /usr/lib/perl5/site_perl/5.005/Apache/README.pod
 Installing /usr/lib/perl5/man/man3/Apache::Changes.3
 Installing /usr/lib/perl5/man/man3/Apache::README.3

 shoudn't happen. It misleads since you install Apache/Changes.pod and
 Apache/README.pod which can be interpeted as mod_perl base files. And of
 course there is no need to install these system wide. All you want is:

Blush. I didn't even use make install... I'll have to check
how to suppress the installation of the PODs. Maybe I'll just
leave them out of the dist and include Changes/README and
their HTML versions.

The logfile is opened only once for each apache
subprocess.  This is done to reduce the overhead caused by
this module, but it also means that logfile rotation can
be painful.

 Why don't you open it at the server startup (when you preload
 Apache::Perfmon) and all the children will inherit the opened FH.

Meanwhile I thought about the situation where you have several virtual
hosts, and want separate logging for each. I'll have to use a hash
by the server name. I'll put that in later this week.

 Now the name -- it should be different. You've picked a name which is too
 generic, while it explores only one side of performance measuring. Doug
 has already a module called Apache::TimeIt from his book, whose idea is
 more or less the same. It was presented as an example and therefore has
 almost no code in it :)

Mine has little more if any at all. :-)
I can't find Apache::TimeIt with a cursory look in the book,
so I'll have to browse some more when I have the time.

 Since I work my self on Apache::Benchmark module, I'm thinking about
 putting all the performance monitoring and benchmarking modules under the
 same roof. Apache::Benchmark sounds like a good choice to me.

Hmm. Apache::Benchmark sounds more like a benchmark driver to me.
Apache::Instrumentation or so? Apache::Probe?

 Therefore I would suggest calling your module Apache::Benchmark::CPU and
 Apache::Benchmark::Handler (hmm, I think that it can be a good idea to
 have these two functions separated, therefore I've suggested these two
 different modules).

Sorry, I can't see where you want to divide this. The module has
two probes (I'm beginning to like that word), and little more.
Of course you could divide it in a realtime and a CPU probe...

BTW, I forgot to put in a PREREQ_PM and a paragraph in the Requirements
section of the README mentioning Time::HiRes.

 I know that people aren't favorite of modules whose names are of more than
 2 levels deepnees, but in order to insure a healthy ground for the future
 emerging modules, this "sacrificing" is a due.

I'm not opposed to this at all. Actually I've been thinking about
Apache::Authfoo as Apache::Auth::foo for some time...

Another shot at a good name: Apache::Probe::Simple? Leaving room
for Apache::Probe::Sophisticated. ;-)

I haven't registered this module with CPAN mainly because I was unsure
of the appropriate name myself, and because I wasn't sure if somebody
hadn't already written Apache::Probe::Sophisticated...

Lupe
-- 
| [EMAIL PROTECTED]   |http://free.prohosting.com/~lupe |
| "jryy vg ybbxf yvxr gur l2x oht qvqa'g erne vg'f htyl urnq." "lrc. gur |
| qbbzfnlref unir orra cebira jebat lrg ntnva."    "qvq lbh frr gung |
| gbb?" "ubhfgba. jr unir n ceboyrz."   User Friendly 2000-01-01 |



Module proposal - Apache::Perfmon

2000-08-20 Thread Lupe Christoph

Hello!

Since I recently faced the question where a complex Apache
installation spent it's time, I wrote alittle handler pair
that logs the cpu (user/system) and realtime taken by a request.

I'm proposing to name this Apache::Perfmon, and will add it to
CPAN if the more knowledgable mod_perl people have no objections.
You can download it from my private webpage for now. The
Prohosting people seem to have broken a few things with SSI
and CGI, but plain downloading works.
 
http://free.prohosting.com/~lupe/Personal/Perl/Apache-Perfmon/Apache-Perfmon-0.01.tar.gz

Below you find the README, with (hopefully) a sufficient
description of how this simple thingy works.

Lupe Christoph

Apache::Perfmon
  Description

Apache::Perfmon allows monitoring the cpu and realtime used by an apache
server to service requests. It is inserted as a handler in the very
first request phase (the PostReadRequest phase) and the very last phase
(the Cleanup phase).

It samples the user and system CPU time taken by the apache subprocess
and the realtime at those processing points and prints the differences
to a logfile. Note that there is a small overhead not included in these
times.

  Copying

Copyright (c) 2000 Lupe Christoph. All rights reserved.

This program is free software; you can redistribute it and/or modify it
under the same terms as Perl itself.

  Download

You can download Apache::Perfmon from my website at
http://free.prohosting.com/~lupe/Personal/Perl/Apache-Perfmon/ .

  Prerequisites

perl 5.005_03  While it is quite possible that this module will work
   with earlier versions, it has only been tested with this
   version.

Apache webserver with mod_perl
   The module has been tested with *Apache/1.3.12 (Unix)
   mod_perl/1.24*.

  Build/Installation

Standard build/installation supported by ExtUtils::MakeMaker(3)...

perl Makefile.PL
make
make test
make install

  Author

Lupe Christoph [EMAIL PROTECTED]

  Webpage

Apache::Perfmon has it's own webpage at
http://free.prohosting.com/~lupe/Personal/Perl/Apache-Perfmon/ .


-- 
| [EMAIL PROTECTED]   |http://free.prohosting.com/~lupe |
| "jryy vg ybbxf yvxr gur l2x oht qvqa'g erne vg'f htyl urnq." "lrc. gur |
| qbbzfnlref unir orra cebira jebat lrg ntnva."    "qvq lbh frr gung |
| gbb?" "ubhfgba. jr unir n ceboyrz."   User Friendly 2000-01-01 |



Apache::Perfmon 0.011

2000-08-20 Thread Lupe Christoph

Thanks to Balazs Rauznitz [EMAIL PROTECTED] for pointing
out an embarrasing thinko. The corrected version is at

http://free.prohosting.com/~lupe/Personal/Perl/Apache-Perfmon/Apache-Perfmon-0.011.tar.gz

Sorry if you already grabbed this.
Lupe Christoph
-- 
| [EMAIL PROTECTED]   |http://free.prohosting.com/~lupe |
| "jryy vg ybbxf yvxr gur l2x oht qvqa'g erne vg'f htyl urnq." "lrc. gur |
| qbbzfnlref unir orra cebira jebat lrg ntnva."    "qvq lbh frr gung |
| gbb?" "ubhfgba. jr unir n ceboyrz."   User Friendly 2000-01-01 |