RE: Apache::RefererBlock and ModuleConfig problem?

2000-08-03 Thread Ken Williams

[EMAIL PROTECTED] (Stas Bekman) wrote:
>On Thu, 3 Aug 2000, Ken Williams wrote:
>
>> [EMAIL PROTECTED] (Geoffrey Young) wrote:
>> > From: Matt Sergeant [mailto:[EMAIL PROTECTED]]
>> >> Which raises an interesting question... Is there any way for
>> >> Makefile.PL to determin if a particular option was enabled at
>> >> mod_perl build time?
>> >
>> >I've tried to do this, but without success.  From what I can tell, you
>> >need a live server to tie into mod_perl::hooks() to get them, and
>> >that's the only way.  Hopefully, the stuff Ken Williams is doing with
>> >Apache::test will make writing live tests easier...
>> 
>> That would be a nice feature, yes.  I'm not sure how to look at an
>> apache binary with config file and figure out which mod_perl options it
>> was compiled with.  Anyone know whether this is possible, or would some
>> hacking have to be done first?
>
>Hmm, does this help:
>http://perl.apache.org/guide/install.html#Discovering_whether_some_option_

I hadn't thought of that, but as the guide mentions it won't work for
stripped binaries (which is the most common case, apparently).  I'd like
something general that I can put into Apache::test to allow people to
integrate a check like this into their modules' installation procedures.






RE: Apache::RefererBlock and ModuleConfig problem?

2000-08-03 Thread Stas Bekman

On Thu, 3 Aug 2000, Ken Williams wrote:

> [EMAIL PROTECTED] (Geoffrey Young) wrote:
> > From: Matt Sergeant [mailto:[EMAIL PROTECTED]]
> >> Which raises an interesting question... Is there any way for
> >> Makefile.PL to determin if a particular option was enabled at
> >> mod_perl build time?
> >
> >I've tried to do this, but without success.  From what I can tell, you
> >need a live server to tie into mod_perl::hooks() to get them, and
> >that's the only way.  Hopefully, the stuff Ken Williams is doing with
> >Apache::test will make writing live tests easier...
> 
> That would be a nice feature, yes.  I'm not sure how to look at an
> apache binary with config file and figure out which mod_perl options it
> was compiled with.  Anyone know whether this is possible, or would some
> hacking have to be done first?

Hmm, does this help:
http://perl.apache.org/guide/install.html#Discovering_whether_some_option_

_
Stas Bekman  JAm_pH --   Just Another mod_perl Hacker
http://stason.org/   mod_perl Guide  http://perl.apache.org/guide 
mailto:[EMAIL PROTECTED]   http://perl.org http://stason.org/TULARC
http://singlesheaven.com http://perlmonth.com http://sourcegarden.org





RE: Apache::RefererBlock and ModuleConfig problem?

2000-08-03 Thread Ken Williams

[EMAIL PROTECTED] (Geoffrey Young) wrote:
>> -Original Message-
>> From: Michael Hall [mailto:[EMAIL PROTECTED]]
>> 
>> On Thu, Aug 03, 2000 at 01:27:17PM +0100, Matt Sergeant wrote:
>> 
>> > Which raises an interesting question... Is there any way for
>> > Makefile.PL to determin if a particular option was enabled at
>> > mod_perl build time?
>> 
>> 'http://site/perl-status?hooks' ?
>
>that's for run time - we're looking for a way to discover enabled hooks that
>doesn't require a running server.

I did a little checking, and now my guess is that there isn't a way.  Have a
look at the C code that checks whether hooks exists (in perl_config.c):

 int perl_hook(char *name)
 {
 switch (*name) {
 case 'A':
 if (strEQ(name, "Authen")) 
 #ifdef PERL_AUTHEN
 return 1;
 #else
 return 0;
 #endif
 if (strEQ(name, "Authz"))
 #ifdef PERL_AUTHZ
 return 1;
 #else
 return 0;
 #endif
 ...

Not exactly a hash lookup. =)

So currently the only way it would be possible to check for the presence
of various hooks would be to start up a copy of the server and check
&mod_perl::hook() for each required hook.  This task, though ugly, would
be greatly simplified by using the patches I submitted for Apache::test.
Then it could feasibly be done at Makefile.PL time, but might more
naturally go into one of the 'make test' tests.





RE: Apache::RefererBlock and ModuleConfig problem?

2000-08-03 Thread Geoffrey Young



> -Original Message-
> From: Michael Hall [mailto:[EMAIL PROTECTED]]
> Sent: Thursday, August 03, 2000 1:23 PM
> To: [EMAIL PROTECTED]
> Subject: Re: Apache::RefererBlock and ModuleConfig problem?
> 
> 
> On Thu, Aug 03, 2000 at 01:27:17PM +0100, Matt Sergeant wrote:
> 
> > On Thu, 3 Aug 2000, Geoffrey Young wrote:
> > 
> > > you need to specify EVERYTHING=1 or 
> PERL_DIRECTIVE_HANDLERS=1 to enable
> > > Apache::ModuleConfig, ie
> > > perl Makefile.PL EVERYTHING=1
> > > make
> > > etc...
> > 
> > Which raises an interesting question... Is there any way 
> for Makefile.PL
> > to determin if a particular option was enabled at mod_perl 
> build time?
> 
> 'http://site/perl-status?hooks' ?

that's for run time - we're looking for a way to discover enabled hooks that
doesn't require a running server.

--Geoff

> 
> --
> I let my mind wander and it didn't come back...
> 
> Mike Hall,
> Unix Admin   - Rock Island Communications   
> <[EMAIL PROTECTED]>
> System Admin - riverside.org
> <[EMAIL PROTECTED]>
> 



Re: Apache::RefererBlock and ModuleConfig problem?

2000-08-03 Thread Michael Hall

On Thu, Aug 03, 2000 at 01:27:17PM +0100, Matt Sergeant wrote:

> On Thu, 3 Aug 2000, Geoffrey Young wrote:
> 
> > you need to specify EVERYTHING=1 or PERL_DIRECTIVE_HANDLERS=1 to enable
> > Apache::ModuleConfig, ie
> > perl Makefile.PL EVERYTHING=1
> > make
> > etc...
> 
> Which raises an interesting question... Is there any way for Makefile.PL
> to determin if a particular option was enabled at mod_perl build time?

'http://site/perl-status?hooks' ?

--
I let my mind wander and it didn't come back...

Mike Hall,
Unix Admin   - Rock Island Communications   <[EMAIL PROTECTED]>
System Admin - riverside.org<[EMAIL PROTECTED]>



RE: Apache::RefererBlock and ModuleConfig problem?

2000-08-03 Thread Ken Williams

[EMAIL PROTECTED] (Geoffrey Young) wrote:
> From: Matt Sergeant [mailto:[EMAIL PROTECTED]]
>> Which raises an interesting question... Is there any way for
>> Makefile.PL to determin if a particular option was enabled at
>> mod_perl build time?
>
>I've tried to do this, but without success.  From what I can tell, you
>need a live server to tie into mod_perl::hooks() to get them, and
>that's the only way.  Hopefully, the stuff Ken Williams is doing with
>Apache::test will make writing live tests easier...

That would be a nice feature, yes.  I'm not sure how to look at an
apache binary with config file and figure out which mod_perl options it
was compiled with.  Anyone know whether this is possible, or would some
hacking have to be done first?






RE: Apache::RefererBlock and ModuleConfig problem?

2000-08-03 Thread Geoffrey Young



> -Original Message-
> From: Matt Sergeant [mailto:[EMAIL PROTECTED]]
> Sent: Thursday, August 03, 2000 8:27 AM
> To: Geoffrey Young
> Cc: 'Alex Darke'; [EMAIL PROTECTED]
> Subject: RE: Apache::RefererBlock and ModuleConfig problem?
> 
> 
> On Thu, 3 Aug 2000, Geoffrey Young wrote:
> 
> > you need to specify EVERYTHING=1 or 
> PERL_DIRECTIVE_HANDLERS=1 to enable
> > Apache::ModuleConfig, ie
> > perl Makefile.PL EVERYTHING=1
> > make
> > etc...
> 
> Which raises an interesting question... Is there any way for 
> Makefile.PL
> to determin if a particular option was enabled at mod_perl build time?

I've tried to do this, but without success.  From what I can tell, you need
a live server to tie into mod_perl::hooks() to get them, and that's the only
way.  Hopefully, the stuff Ken Williams is doing with Apache::test will make
writing live tests easier...

--Geoff

> 
> -- 
> 
> 
> Fastnet Software Ltd. High Performance Web Specialists
> Providing mod_perl, XML, Sybase and Oracle solutions
> Email for training and consultancy availability.
> http://sergeant.org | AxKit: http://axkit.org
> 



RE: Apache::RefererBlock and ModuleConfig problem?

2000-08-03 Thread Matt Sergeant

On Thu, 3 Aug 2000, Geoffrey Young wrote:

> you need to specify EVERYTHING=1 or PERL_DIRECTIVE_HANDLERS=1 to enable
> Apache::ModuleConfig, ie
> perl Makefile.PL EVERYTHING=1
> make
> etc...

Which raises an interesting question... Is there any way for Makefile.PL
to determin if a particular option was enabled at mod_perl build time?

-- 


Fastnet Software Ltd. High Performance Web Specialists
Providing mod_perl, XML, Sybase and Oracle solutions
Email for training and consultancy availability.
http://sergeant.org | AxKit: http://axkit.org




RE: Apache::RefererBlock and ModuleConfig problem?

2000-08-03 Thread Geoffrey Young



> -Original Message-
> From: Alex Darke [mailto:[EMAIL PROTECTED]]
> Sent: Thursday, August 03, 2000 8:18 AM
> To: [EMAIL PROTECTED]
> Subject: Apache::RefererBlock and ModuleConfig problem?
> 
> 
> Ok, I've been banging my head on this one for a while. A 
> friend asked me to 
> look into this as a favor, and it's turned into two weeks of 
> beating my 
> head against stuff I don't understand.
> 
> I installed his apache (1.3.11), and I even installed it with 
> mod_perl, no 
> problems.
> 
> perl Makefile.PL
> had it use the src directory specified, had it build httpd for me
> make
> make install

you need to specify EVERYTHING=1 or PERL_DIRECTIVE_HANDLERS=1 to enable
Apache::ModuleConfig, ie
perl Makefile.PL EVERYTHING=1
make
etc...

HTH

--Geoff

> 
> when it was done, an httpd -l showed mod_perl in there.
> 
> I copied that httpd binary to his current working install, and then 
> installed the Apache::RefererBlock stuff. untar, and then did 
> what the 
> instructions said to do
> 
> perl Makefile.PL
> make
> make install
> 
> Again, zero problems.
> 
> I add the lines to httpd.conf, straight from the example on 
> the webpage and 
> doc files
> 
> 
> PerlModule Apache::RefererBlock
> PerlFixupHandler Apache::RefererBlock
> RefBlockMimeTypes image/gif image/jpeg
> RefBlockAllowed http://www.domain.com http://domain.com
> RefBlockRedirect http://badpeaple.com 
> http://www.domain.com/redirect/test2.jpg
> RefBlockRedirect http://www.badpeople2.com/ 
> http://www.domain.com/test2.jpg
> RefBlockDebug On
> 
> I then issue a configtest and I get
> 
> Syntax error on line 864 of /usr/local/apache/conf/httpd.conf:
> Can't locate loadable object for module Apache::ModuleConfig 
> in @INC (@INC 
> contains: /usr/local/lib/perl5/5.6.0/i686-linux 
> /usr/local/lib/perl5/5.6.0 
> /usr/local/lib/perl5/site_perl/5.6.0/i686-linux 
> /usr/local/lib/perl5/site_perl/5.6.0 /usr/local/lib/perl5/site_perl . 
> /usr/local/apache/ /usr/local/apache/lib/perl) at 
> /usr/local/lib/perl5/site_perl/5.6.0/i686-linux/mod_perl.pm line 14
> Compilation failed in require at 
> /usr/local/lib/perl5/site_perl/5.6.0/i686-linux/Apache/Referer
> Block.pm line 3.
> BEGIN failed--compilation aborted at 
> /usr/local/lib/perl5/site_perl/5.6.0/i686-linux/Apache/Referer
> Block.pm line 3.
> Compilation failed in require at (eval 4) line 3.
> 
> (line 864, btw is the FixUpHandler line)
> 
> I've reinstalled, gone back through all the steps. I just 
> don't get it. I 
> don't understand how it all made, tested, and installed just 
> fine, but when 
> I go to use it, it errors out. I'm not even remotely close to 
> being able to 
> understand this...but I was made to believe that 
> Apache::RefererBlock was 
> pretty easy to implement, and mod_perl installed so easily, I 
> figured it 
> was worth a shot. Am I just missing something REALLY stupid?
> 
> Any advice, help appreciated. Redhat 6.2, apache 1.3.12, 
> mod_perl-1.24, 
> Apache::RefererBlock-0.03
> 
> And as asked for in the support doc -
> 
> perl -V:
> 
> [root@www mod_perl-1.24]# perl -V
> Summary of my perl5 (revision 5.0 version 6 subversion 0) 
> configuration:
>Platform:
>  osname=linux, osvers=2.2.12-20smp, archname=i686-linux
>  uname='linux www.bearpress.com 2.2.12-20smp #1 smp mon 
> sep 27 10:34:45 
> edt 1999 i686 unknown '
>  config_args='-de'
>  hint=recommended, useposix=true, d_sigaction=define
>  usethreads=undef use5005threads=undef useithreads=undef 
> usemultiplicity=undef
>  useperlio=undef d_sfio=undef uselargefiles=define
>  use64bitint=undef use64bitall=undef uselongdouble=undef 
> usesocks=undef
>Compiler:
>  cc='cc', optimize='-O2', gccversion=egcs-2.91.66 19990314/Linux 
> (egcs-1.1.2 release)
>  cppflags='-fno-strict-aliasing -I/usr/local/include'
>  ccflags ='-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=12
>  ivtype='long', ivsize=4, nvtype='double', nvsize=8, 
> Off_t='off_t', 
> lseeksize=8
>  alignbytes=4, usemymalloc=n, prototype=define
>Linker and Libraries:
>  ld='cc', ldflags =' -L/usr/local/lib'
>  libpth=/usr/local/lib /lib /usr/lib
>  libs=-lnsl -lndbm -lgdbm -ldb -ldl -lm -lc -lposix -lcrypt
>  libc=/lib/libc-2

Apache::RefererBlock and ModuleConfig problem?

2000-08-03 Thread Alex Darke

Ok, I've been banging my head on this one for a while. A friend asked me to 
look into this as a favor, and it's turned into two weeks of beating my 
head against stuff I don't understand.

I installed his apache (1.3.11), and I even installed it with mod_perl, no 
problems.

perl Makefile.PL
had it use the src directory specified, had it build httpd for me
make
make install

when it was done, an httpd -l showed mod_perl in there.

I copied that httpd binary to his current working install, and then 
installed the Apache::RefererBlock stuff. untar, and then did what the 
instructions said to do

perl Makefile.PL
make
make install

Again, zero problems.

I add the lines to httpd.conf, straight from the example on the webpage and 
doc files


PerlModule Apache::RefererBlock
PerlFixupHandler Apache::RefererBlock
RefBlockMimeTypes image/gif image/jpeg
RefBlockAllowed http://www.domain.com http://domain.com
RefBlockRedirect http://badpeaple.com http://www.domain.com/redirect/test2.jpg
RefBlockRedirect http://www.badpeople2.com/ http://www.domain.com/test2.jpg
RefBlockDebug On

I then issue a configtest and I get

Syntax error on line 864 of /usr/local/apache/conf/httpd.conf:
Can't locate loadable object for module Apache::ModuleConfig in @INC (@INC 
contains: /usr/local/lib/perl5/5.6.0/i686-linux /usr/local/lib/perl5/5.6.0 
/usr/local/lib/perl5/site_perl/5.6.0/i686-linux 
/usr/local/lib/perl5/site_perl/5.6.0 /usr/local/lib/perl5/site_perl . 
/usr/local/apache/ /usr/local/apache/lib/perl) at 
/usr/local/lib/perl5/site_perl/5.6.0/i686-linux/mod_perl.pm line 14
Compilation failed in require at 
/usr/local/lib/perl5/site_perl/5.6.0/i686-linux/Apache/RefererBlock.pm line 3.
BEGIN failed--compilation aborted at 
/usr/local/lib/perl5/site_perl/5.6.0/i686-linux/Apache/RefererBlock.pm line 3.
Compilation failed in require at (eval 4) line 3.

(line 864, btw is the FixUpHandler line)

I've reinstalled, gone back through all the steps. I just don't get it. I 
don't understand how it all made, tested, and installed just fine, but when 
I go to use it, it errors out. I'm not even remotely close to being able to 
understand this...but I was made to believe that Apache::RefererBlock was 
pretty easy to implement, and mod_perl installed so easily, I figured it 
was worth a shot. Am I just missing something REALLY stupid?

Any advice, help appreciated. Redhat 6.2, apache 1.3.12, mod_perl-1.24, 
Apache::RefererBlock-0.03

And as asked for in the support doc -

perl -V:

[root@www mod_perl-1.24]# perl -V
Summary of my perl5 (revision 5.0 version 6 subversion 0) configuration:
   Platform:
 osname=linux, osvers=2.2.12-20smp, archname=i686-linux
 uname='linux www.bearpress.com 2.2.12-20smp #1 smp mon sep 27 10:34:45 
edt 1999 i686 unknown '
 config_args='-de'
 hint=recommended, useposix=true, d_sigaction=define
 usethreads=undef use5005threads=undef useithreads=undef 
usemultiplicity=undef
 useperlio=undef d_sfio=undef uselargefiles=define
 use64bitint=undef use64bitall=undef uselongdouble=undef usesocks=undef
   Compiler:
 cc='cc', optimize='-O2', gccversion=egcs-2.91.66 19990314/Linux 
(egcs-1.1.2 release)
 cppflags='-fno-strict-aliasing -I/usr/local/include'
 ccflags ='-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=12
 ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t', 
lseeksize=8
 alignbytes=4, usemymalloc=n, prototype=define
   Linker and Libraries:
 ld='cc', ldflags =' -L/usr/local/lib'
 libpth=/usr/local/lib /lib /usr/lib
 libs=-lnsl -lndbm -lgdbm -ldb -ldl -lm -lc -lposix -lcrypt
 libc=/lib/libc-2.1.2.so, so=so, useshrplib=false, libperl=libperl.a
   Dynamic Linking:
 dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-rdynamic'
 cccdlflags='-fpic', lddlflags='-shared -L/usr/local/lib'


Characteristics of this binary (from libperl):
   Compile-time options: USE_LARGE_FILES
   Built under linux
   Compiled at Jul 18 2000 16:48:51
   @INC:
 /usr/local/lib/perl5/5.6.0/i686-linux
 /usr/local/lib/perl5/5.6.0
 /usr/local/lib/perl5/site_perl/5.6.0/i686-linux
 /usr/local/lib/perl5/site_perl/5.6.0
 /usr/local/lib/perl5/site_perl

And all make tests work 100%

Alex, tired and off in search of coffee


[Alexander Darke]-[[EMAIL PROTECTED]]--[http://www.darke.net/]
["All the best people in life seem to like LINUX." - Steve Wozniak]
[---[El hombre y el oso, cuanto mas peludo mas hermoso]---]
[--[Visit Woof Watch! http://www.woofwatch.com/ ]-]