RE: set_handlers() bug?

2000-08-15 Thread Doug MacEachern

On Mon, 26 Jun 2000, Geoffrey Young wrote:
 
> IIRC, Doug agreed to take a look at get/set handlers issues 'soonish' :)

i guess this is later than 'soonish', sorry ;-/




RE: set_handlers() bug?

2000-06-26 Thread Geoffrey Young

I can't say that I understand what brought you to this (I had a hard time
understanding the problem you described in your first post - sorry).

see if http://marc.theaimsgroup.com/?l=apache-modperl&m=95677592829430&w=2
kinda sounds familiar - the end result was that code was being run that I
didn't explicitly ask for, which is what you seem to describe.  No solutions
here, though...

if you are interested, you might want to prepare a PerlInitHandler that
undefs any PerlAuthzHandlers at the start of each request (if that's the
behavior you want) and see if that 'fixes' things for you.  I ended up
setting nothing in my httpd.conf and using set_handlers() => undef and
push_handlers() to get what I wanted...

sorry to be of little more use that commiserating...

--Geoff

> -Original Message-
> From: Christian Gilmore [mailto:[EMAIL PROTECTED]]
> Sent: Monday, June 26, 2000 3:40 PM
> To: 'Geoffrey Young'
> Cc: [EMAIL PROTECTED]
> Subject: RE: set_handlers() bug?
> 
> 
> From: Geoffrey Young [mailto:[EMAIL PROTECTED]]
> 
> > try $r->set_handlers(PerlAuthzHandler =>
> > ['Tivoli::Apache::AuthzCache', \&OK]);
> >
> > and you should see what you expect...
> >
> > I know calling it that way isn't in the eagle book, but it works.  I
> > suppose, though, that we ought to stick to the official API
> > and only pass an arrayref consisting of coderefs...
> 
> Hrm. Well, trying this did improve what I see via get_handlers, but it
> doesn't change the behavior of the system. Handlers that are 
> supposedly
> removed are still called. I used:
> 
>   $r->set_handlers(PerlAuthzHandler => 
> ['Tivoli::Apache::AuthzCache']);
> 
> The error_log contains the following. Note that there's only 
> one handler,
> AuthzCache, listed via get_handlers in the "Post" section yet 
> AuthzLDAP
> still runs.
> 
> [Mon Jun 26 14:34:09 2000] [debug]
> /opt/apache/dw3.tivoli.com/81/lib/perl/Tivoli/Apache/AuthzCach
> e.pm(127):
> [client 146.84.34.143] handler: user in cache and groups Web 
> Development
> Team and Web Development Team match; returning OK and clearing
> PerlAuthzHandler
> [Mon Jun 26 14:34:09 2000] [debug]
> /opt/apache/dw3.tivoli.com/81/lib/perl/Tivoli/Apache/AuthzCach
> e.pm(132):
> [client 146.84.34.143] handler: (Pre) PerlAuthzHandler
> Tivoli::Apache::AuthzCache::handler next in line
> [Mon Jun 26 14:34:09 2000] [debug]
> /opt/apache/dw3.tivoli.com/81/lib/perl/Tivoli/Apache/AuthzCach
> e.pm(132):
> [client 146.84.34.143] handler: (Pre) PerlAuthzHandler
> Tivoli::Apache::AuthzLDAP next in line
> [Mon Jun 26 14:34:09 2000] [debug]
> /opt/apache/dw3.tivoli.com/81/lib/perl/Tivoli/Apache/AuthzCach
> e.pm(132):
> [client 146.84.34.143] handler: (Pre) PerlAuthzHandler
> Tivoli::Apache::AuthzCache::manage_cache next in line
> [Mon Jun 26 14:34:09 2000] [debug]
> /opt/apache/dw3.tivoli.com/81/lib/perl/Tivoli/Apache/AuthzCach
> e.pm(140):
> [client 146.84.34.143] handler: (Post) PerlAuthzHandler
> Tivoli::Apache::AuthzCache next in line
> [Mon Jun 26 14:34:09 2000] [debug]
> /opt/apache/dw3.tivoli.com/81/lib/perl/Tivoli/Apache/AuthzLDAP
> .pm(136):
> [client 146.84.34.143] AuthzBaseDN=o=Tivoli Systems,
> LDAPServer=widow.dev.tivoli.com, MemberAttr=member, ResetRemoteUser=,
> NestedGroups=Off
> 
> Christian
> 



RE: set_handlers() bug?

2000-06-26 Thread Christian Gilmore

From: Geoffrey Young [mailto:[EMAIL PROTECTED]]

> try $r->set_handlers(PerlAuthzHandler =>
> ['Tivoli::Apache::AuthzCache', \&OK]);
>
> and you should see what you expect...
>
> I know calling it that way isn't in the eagle book, but it works.  I
> suppose, though, that we ought to stick to the official API
> and only pass an arrayref consisting of coderefs...

Hrm. Well, trying this did improve what I see via get_handlers, but it
doesn't change the behavior of the system. Handlers that are supposedly
removed are still called. I used:

  $r->set_handlers(PerlAuthzHandler => ['Tivoli::Apache::AuthzCache']);

The error_log contains the following. Note that there's only one handler,
AuthzCache, listed via get_handlers in the "Post" section yet AuthzLDAP
still runs.

[Mon Jun 26 14:34:09 2000] [debug]
/opt/apache/dw3.tivoli.com/81/lib/perl/Tivoli/Apache/AuthzCache.pm(127):
[client 146.84.34.143] handler: user in cache and groups Web Development
Team and Web Development Team match; returning OK and clearing
PerlAuthzHandler
[Mon Jun 26 14:34:09 2000] [debug]
/opt/apache/dw3.tivoli.com/81/lib/perl/Tivoli/Apache/AuthzCache.pm(132):
[client 146.84.34.143] handler: (Pre) PerlAuthzHandler
Tivoli::Apache::AuthzCache::handler next in line
[Mon Jun 26 14:34:09 2000] [debug]
/opt/apache/dw3.tivoli.com/81/lib/perl/Tivoli/Apache/AuthzCache.pm(132):
[client 146.84.34.143] handler: (Pre) PerlAuthzHandler
Tivoli::Apache::AuthzLDAP next in line
[Mon Jun 26 14:34:09 2000] [debug]
/opt/apache/dw3.tivoli.com/81/lib/perl/Tivoli/Apache/AuthzCache.pm(132):
[client 146.84.34.143] handler: (Pre) PerlAuthzHandler
Tivoli::Apache::AuthzCache::manage_cache next in line
[Mon Jun 26 14:34:09 2000] [debug]
/opt/apache/dw3.tivoli.com/81/lib/perl/Tivoli/Apache/AuthzCache.pm(140):
[client 146.84.34.143] handler: (Post) PerlAuthzHandler
Tivoli::Apache::AuthzCache next in line
[Mon Jun 26 14:34:09 2000] [debug]
/opt/apache/dw3.tivoli.com/81/lib/perl/Tivoli/Apache/AuthzLDAP.pm(136):
[client 146.84.34.143] AuthzBaseDN=o=Tivoli Systems,
LDAPServer=widow.dev.tivoli.com, MemberAttr=member, ResetRemoteUser=,
NestedGroups=Off

Christian




RE: set_handlers() bug?

2000-06-26 Thread Geoffrey Young



> -Original Message-
> From: Christian Gilmore [mailto:[EMAIL PROTECTED]]
> Sent: Monday, June 26, 2000 2:52 PM
> To: 'Geoffrey Young'
> Cc: [EMAIL PROTECTED]
> Subject: RE: set_handlers() bug?
> 
> 
> > >   $r->set_handlers(PerlAuthzHandler =>
> > > [\&Tivoli::Apache::AuthzCache, \&OK]);
> 
> > > [Mon Jun 26 10:30:58 2000] [debug]
> > > /opt/apache/dw3.tivoli.com/81/lib/perl/Tivoli/Apache/AuthzCach
> > > e.pm(140):
> > > [client 146.84.34.143] handler: (Post) PerlAuthzHandler
> > > CODE(0x4a3a00) next
> > > in line
> > > [Mon Jun 26 10:30:58 2000] [debug]
> > > /opt/apache/dw3.tivoli.com/81/lib/perl/Tivoli/Apache/AuthzCach
> > > e.pm(140):
> > > [client 146.84.34.143] handler: (Post) PerlAuthzHandler
> > > CODE(0x1840c4) next
> > > in line
> 
> > I don't think that you're getting garbage - the CODE section
> > is the [\&OK] coderef you set earlier...
> 
> I actually reset the handler to include both AuthzCache and 
> OK (see first
> line above). So, shouldn't at least the first handler 
> (AuthzCache) come out
> from get_handlers in a readable format? It and the other two 
> handlers come
> out readable from the initial get_handlers before I call set_handlers.

you're passing a coderef when you use \&Tivoli::Apache::AuthzCache

try $r->set_handlers(PerlAuthzHandler => ['Tivoli::Apache::AuthzCache',
\&OK]);

and you should see what you expect...

I know calling it that way isn't in the eagle book, but it works.  I
suppose, though, that we ought to stick to the official API and only pass an
arrayref consisting of coderefs...

--Geoff

> 
> Regards,
> Christian
> 



RE: set_handlers() bug?

2000-06-26 Thread Christian Gilmore

> >   $r->set_handlers(PerlAuthzHandler =>
> > [\&Tivoli::Apache::AuthzCache, \&OK]);

> > [Mon Jun 26 10:30:58 2000] [debug]
> > /opt/apache/dw3.tivoli.com/81/lib/perl/Tivoli/Apache/AuthzCach
> > e.pm(140):
> > [client 146.84.34.143] handler: (Post) PerlAuthzHandler
> > CODE(0x4a3a00) next
> > in line
> > [Mon Jun 26 10:30:58 2000] [debug]
> > /opt/apache/dw3.tivoli.com/81/lib/perl/Tivoli/Apache/AuthzCach
> > e.pm(140):
> > [client 146.84.34.143] handler: (Post) PerlAuthzHandler
> > CODE(0x1840c4) next
> > in line

> I don't think that you're getting garbage - the CODE section
> is the [\&OK] coderef you set earlier...

I actually reset the handler to include both AuthzCache and OK (see first
line above). So, shouldn't at least the first handler (AuthzCache) come out
from get_handlers in a readable format? It and the other two handlers come
out readable from the initial get_handlers before I call set_handlers.

Regards,
Christian




RE: set_handlers() bug?

2000-06-26 Thread Geoffrey Young


> -Original Message-
> From: Christian Gilmore [mailto:[EMAIL PROTECTED]]
> Sent: Monday, June 26, 2000 11:40 AM
> To: 'Eric Cholet'
> Cc: 'Modperl Mailing List (E-mail)'
> Subject: RE: set_handlers() bug?
> 
> 
> So, I've done a bit more debugging. It looks like set_handlers is all
> befuddled. I have the below code:
> 
>   my $handlers = $r->get_handlers('PerlAuthzHandler');
>   foreach (@$handlers) {
> $r->log->debug("handler: (Pre) PerlAuthzHandler $_ next in line");
>   }
>   # Per Eric Cholet
>   # $r->set_handlers(PerlAuthzHandler => [\&OK]);
>   $r->set_handlers(PerlAuthzHandler => [\&Tivoli::Apache::AuthzCache,
> \&OK]);
>   #$r->set_handlers(PerlAuthzHandler => undef);
>   $handlers = $r->get_handlers('PerlAuthzHandler');
>   foreach (@$handlers) {
> $r->log->debug("handler: (Post) PerlAuthzHandler $_ next 
> in line");
>   }
>   return OK;
> 
> [Mon Jun 26 10:30:58 2000] [debug]
> /opt/apache/dw3.tivoli.com/81/lib/perl/Tivoli/Apache/AuthzCach
> e.pm(132):
> [client 146.84.34.143] handler: (Pre) PerlAuthzHandler
> Tivoli::Apache::AuthzCache::handler next in line
> [Mon Jun 26 10:30:58 2000] [debug]
> /opt/apache/dw3.tivoli.com/81/lib/perl/Tivoli/Apache/AuthzCach
> e.pm(132):
> [client 146.84.34.143] handler: (Pre) PerlAuthzHandler
> Tivoli::Apache::AuthzLDAP next in line
> [Mon Jun 26 10:30:58 2000] [debug]
> /opt/apache/dw3.tivoli.com/81/lib/perl/Tivoli/Apache/AuthzCach
> e.pm(132):
> [client 146.84.34.143] handler: (Pre) PerlAuthzHandler
> Tivoli::Apache::AuthzCache::manage_cache next in line
> [Mon Jun 26 10:30:58 2000] [debug]
> /opt/apache/dw3.tivoli.com/81/lib/perl/Tivoli/Apache/AuthzCach
> e.pm(140):
> [client 146.84.34.143] handler: (Post) PerlAuthzHandler 
> CODE(0x4a3a00) next
> in line
> [Mon Jun 26 10:30:58 2000] [debug]
> /opt/apache/dw3.tivoli.com/81/lib/perl/Tivoli/Apache/AuthzCach
> e.pm(140):
> [client 146.84.34.143] handler: (Post) PerlAuthzHandler 
> CODE(0x1840c4) next
> in line
> 
> The behavior I see is that changes to set_handlers that 
> aren't set to undef
> are ignored. AuthzLDAP and AuthzCache::manage_cache are still 
> called even
> though I set the handlers to be a stack of AuthzCache and OK. 
> According to
> get_handlers, I'm getting garbage back after I do a 
> set_handlers. 

I don't think that you're getting garbage - the CODE section is the [\&OK]
coderef you set earlier...

I reported some fishy get/set handlers issues a little while ago - this
roughly sounds similar to the types of things I have been seeing.  If I can
speak sweepingly for a moment, get/set handlers seems to be somewhat
unstable for the kinds of things I want to use it for, particularly coderefs
(see http://marc.theaimsgroup.com/?l=apache-modperl&m=95721313917562&w=2)
You may be stumbling on some of the same issues (but maybe not...)

I have an upgrade to Apache::DebugInfo waiting on these issues before
official release - you may, however, find it helpful for debugging or
tracing some of the stuff you are reporting (it will, for instance, dump
enabled Perl*Handlers, but it uses get/set handlers lots so it also may add
to your grief). feel free to use the 0.05 pre-release (with the usual
caveats, of course :)
http://morpheus.laserlink.net/~gyoung/modules/Apache-DebugInfo-0.05.tar.gz


IIRC, Doug agreed to take a look at get/set handlers issues 'soonish' :)

HTH

--Geoff


>When I do
> a set of undef, get returns nothing, properly enough, but the 
> DirectoryIndex
> is ignored/missing.
> 
> Regards,
> Christian
> 



RE: set_handlers() bug?

2000-06-26 Thread Christian Gilmore

So, I've done a bit more debugging. It looks like set_handlers is all
befuddled. I have the below code:

  my $handlers = $r->get_handlers('PerlAuthzHandler');
  foreach (@$handlers) {
$r->log->debug("handler: (Pre) PerlAuthzHandler $_ next in line");
  }
  # Per Eric Cholet
  # $r->set_handlers(PerlAuthzHandler => [\&OK]);
  $r->set_handlers(PerlAuthzHandler => [\&Tivoli::Apache::AuthzCache,
\&OK]);
  #$r->set_handlers(PerlAuthzHandler => undef);
  $handlers = $r->get_handlers('PerlAuthzHandler');
  foreach (@$handlers) {
$r->log->debug("handler: (Post) PerlAuthzHandler $_ next in line");
  }
  return OK;

[Mon Jun 26 10:30:58 2000] [debug]
/opt/apache/dw3.tivoli.com/81/lib/perl/Tivoli/Apache/AuthzCache.pm(132):
[client 146.84.34.143] handler: (Pre) PerlAuthzHandler
Tivoli::Apache::AuthzCache::handler next in line
[Mon Jun 26 10:30:58 2000] [debug]
/opt/apache/dw3.tivoli.com/81/lib/perl/Tivoli/Apache/AuthzCache.pm(132):
[client 146.84.34.143] handler: (Pre) PerlAuthzHandler
Tivoli::Apache::AuthzLDAP next in line
[Mon Jun 26 10:30:58 2000] [debug]
/opt/apache/dw3.tivoli.com/81/lib/perl/Tivoli/Apache/AuthzCache.pm(132):
[client 146.84.34.143] handler: (Pre) PerlAuthzHandler
Tivoli::Apache::AuthzCache::manage_cache next in line
[Mon Jun 26 10:30:58 2000] [debug]
/opt/apache/dw3.tivoli.com/81/lib/perl/Tivoli/Apache/AuthzCache.pm(140):
[client 146.84.34.143] handler: (Post) PerlAuthzHandler CODE(0x4a3a00) next
in line
[Mon Jun 26 10:30:58 2000] [debug]
/opt/apache/dw3.tivoli.com/81/lib/perl/Tivoli/Apache/AuthzCache.pm(140):
[client 146.84.34.143] handler: (Post) PerlAuthzHandler CODE(0x1840c4) next
in line

The behavior I see is that changes to set_handlers that aren't set to undef
are ignored. AuthzLDAP and AuthzCache::manage_cache are still called even
though I set the handlers to be a stack of AuthzCache and OK. According to
get_handlers, I'm getting garbage back after I do a set_handlers. When I do
a set of undef, get returns nothing, properly enough, but the DirectoryIndex
is ignored/missing.

Regards,
Christian




RE: set_handlers() bug?

2000-06-26 Thread Christian Gilmore

Quick addition, though. The DirectoryIndex'ed pages were found when I
switched to [\&OK] from undef, but as the benefit of the cache is lost, this
is not a solution...

Regards,
Christian

> -Original Message-
> From: Christian Gilmore [mailto:[EMAIL PROTECTED]]
> Sent: Monday, June 26, 2000 9:22 AM
> To: 'Eric Cholet'
> Cc: 'Modperl Mailing List (E-mail)'
> Subject: RE: set_handlers() bug?
>
>
>
>
> From: Eric Cholet [mailto:[EMAIL PROTECTED]]
> > can you try
> >
> > $r->set_handlers(PerlAuthzHandler => [\&OK]);
>
> Eric,
>
> I just tried this on your suggestion. The downstream authz
> handlers get
> called in this scenario, so the cache becomes useless. Here's
> the debug log
> output:
>
> [Mon Jun 26 09:15:15 2000] [debug]
> /opt/apache/dw3.tivoli.com/81/lib/perl/Tivoli/Apache/AuthenLDA
> P.pm(48):
> [client 146.84.34.143] AuthenBaseDN: o=Tivoli Systems
> LDAPServer: widow.dev.tivoli.com
> LDAPPort: 389
> UIDAttr: uid
> SetRemoteUser: uid
> [Mon Jun 26 09:15:15 2000] [debug]
> /opt/apache/dw3.tivoli.com/81/lib/perl/Tivoli/Apache/AuthenLDA
> P.pm(77):
> [client 146.84.34.143] Using filter: (uid=cgilmore)
> [Mon Jun 26 09:15:16 2000] [debug]
> /opt/apache/dw3.tivoli.com/81/lib/perl/Tivoli/Apache/AuthzCach
> e.pm(85):
> [client 146.84.34.143] handler: username=cgilmore
> [Mon Jun 26 09:15:16 2000] [debug]
> /opt/apache/dw3.tivoli.com/81/lib/perl/Tivoli/Apache/AuthzCach
> e.pm(109):
> [client 146.84.34.143] handler: using cached groups for cgilmore
> [Mon Jun 26 09:15:16 2000] [debug]
> /opt/apache/dw3.tivoli.com/81/lib/perl/Tivoli/Apache/AuthzCach
> e.pm(113):
> [client 146.84.34.143] handler: comparing Web Development Team to Web
> Development Team
> [Mon Jun 26 09:15:16 2000] [debug]
> /opt/apache/dw3.tivoli.com/81/lib/perl/Tivoli/Apache/AuthzCach
> e.pm(127):
> [client 146.84.34.143] handler: user in cache and groups Web
> Development
> Team and Web Development Team match; returning OK and clearing
> PerlAuthzHandlers
> [Mon Jun 26 09:15:16 2000] [debug]
> /opt/apache/dw3.tivoli.com/81/lib/perl/Tivoli/Apache/AuthzLDAP
> .pm(136):
> [client 146.84.34.143] AuthzBaseDN=o=Tivoli Systems,
> LDAPServer=widow.dev.tivoli.com, MemberAttr=member, ResetRemoteUser=,
> NestedGroups=Off
> [Mon Jun 26 09:15:16 2000] [debug]
> /opt/apache/dw3.tivoli.com/81/lib/perl/Tivoli/Apache/AuthzLDAP.pm(70):
> [client 146.84.34.143] Iterating over group Web Development Team
> [Mon Jun 26 09:15:16 2000] [debug]
> /opt/apache/dw3.tivoli.com/81/lib/perl/Tivoli/Apache/AuthzLDAP.pm(71):
> [client 146.84.34.143] Using filter: (cn=Web Development Team)
> [Mon Jun 26 09:15:17 2000] [debug]
> /opt/apache/dw3.tivoli.com/81/lib/perl/Tivoli/Apache/AuthzLDAP.pm(89):
> [client 146.84.34.143] Checking group cn=Web Development Team, ou=web,
> ou=groups, o=Tivoli Systems for uid=cgilmore, ou=internal, ou=people,
> o=Tivoli Systems
> [Mon Jun 26 09:15:17 2000] [debug]
> /opt/apache/dw3.tivoli.com/81/lib/perl/Tivoli/Apache/AuthzCach
> e.pm(156):
> [client 146.84.34.143] manage_cache: username=cgilmore, group=Web
> Development Team
> [Mon Jun 26 09:15:17 2000] [debug]
> /opt/apache/dw3.tivoli.com/81/lib/perl/Tivoli/Apache/AuthzCach
> e.pm(172):
> [client 146.84.34.143] manage_cache: added cgilmore:Web
> Development Team to
> the cache
>
> Regards,
> Christian
>




RE: set_handlers() bug?

2000-06-26 Thread Christian Gilmore

From: Eric Cholet [mailto:[EMAIL PROTECTED]]
> can you try
>
> $r->set_handlers(PerlAuthzHandler => [\&OK]);

Eric,

I just tried this on your suggestion. The downstream authz handlers get
called in this scenario, so the cache becomes useless. Here's the debug log
output:

[Mon Jun 26 09:15:15 2000] [debug]
/opt/apache/dw3.tivoli.com/81/lib/perl/Tivoli/Apache/AuthenLDAP.pm(48):
[client 146.84.34.143] AuthenBaseDN: o=Tivoli Systems
LDAPServer: widow.dev.tivoli.com
LDAPPort: 389
UIDAttr: uid
SetRemoteUser: uid
[Mon Jun 26 09:15:15 2000] [debug]
/opt/apache/dw3.tivoli.com/81/lib/perl/Tivoli/Apache/AuthenLDAP.pm(77):
[client 146.84.34.143] Using filter: (uid=cgilmore)
[Mon Jun 26 09:15:16 2000] [debug]
/opt/apache/dw3.tivoli.com/81/lib/perl/Tivoli/Apache/AuthzCache.pm(85):
[client 146.84.34.143] handler: username=cgilmore
[Mon Jun 26 09:15:16 2000] [debug]
/opt/apache/dw3.tivoli.com/81/lib/perl/Tivoli/Apache/AuthzCache.pm(109):
[client 146.84.34.143] handler: using cached groups for cgilmore
[Mon Jun 26 09:15:16 2000] [debug]
/opt/apache/dw3.tivoli.com/81/lib/perl/Tivoli/Apache/AuthzCache.pm(113):
[client 146.84.34.143] handler: comparing Web Development Team to Web
Development Team
[Mon Jun 26 09:15:16 2000] [debug]
/opt/apache/dw3.tivoli.com/81/lib/perl/Tivoli/Apache/AuthzCache.pm(127):
[client 146.84.34.143] handler: user in cache and groups Web Development
Team and Web Development Team match; returning OK and clearing
PerlAuthzHandlers
[Mon Jun 26 09:15:16 2000] [debug]
/opt/apache/dw3.tivoli.com/81/lib/perl/Tivoli/Apache/AuthzLDAP.pm(136):
[client 146.84.34.143] AuthzBaseDN=o=Tivoli Systems,
LDAPServer=widow.dev.tivoli.com, MemberAttr=member, ResetRemoteUser=,
NestedGroups=Off
[Mon Jun 26 09:15:16 2000] [debug]
/opt/apache/dw3.tivoli.com/81/lib/perl/Tivoli/Apache/AuthzLDAP.pm(70):
[client 146.84.34.143] Iterating over group Web Development Team
[Mon Jun 26 09:15:16 2000] [debug]
/opt/apache/dw3.tivoli.com/81/lib/perl/Tivoli/Apache/AuthzLDAP.pm(71):
[client 146.84.34.143] Using filter: (cn=Web Development Team)
[Mon Jun 26 09:15:17 2000] [debug]
/opt/apache/dw3.tivoli.com/81/lib/perl/Tivoli/Apache/AuthzLDAP.pm(89):
[client 146.84.34.143] Checking group cn=Web Development Team, ou=web,
ou=groups, o=Tivoli Systems for uid=cgilmore, ou=internal, ou=people,
o=Tivoli Systems
[Mon Jun 26 09:15:17 2000] [debug]
/opt/apache/dw3.tivoli.com/81/lib/perl/Tivoli/Apache/AuthzCache.pm(156):
[client 146.84.34.143] manage_cache: username=cgilmore, group=Web
Development Team
[Mon Jun 26 09:15:17 2000] [debug]
/opt/apache/dw3.tivoli.com/81/lib/perl/Tivoli/Apache/AuthzCache.pm(172):
[client 146.84.34.143] manage_cache: added cgilmore:Web Development Team to
the cache

Regards,
Christian




Re: set_handlers() bug?

2000-06-26 Thread Eric Cholet

> I've found some odd behavior that I've narrowed to a set_handlers call. I've
> written an authz cache. On requests with cache misses, the system functions
> as one would expect. Once there's a cache hit, the values of DirectoryIndex
> are somehow flushed or ignored. Here's the important snippet from httpd.conf
> (on multiple lines here for readability):
> 
>   PerlAuthzHandler
> Tivoli::Apache::AuthzCache
> Tivoli::Apache::AuthzLDAP
> Tivoli::Apache::AuthzCache::manage_cache
> 
> Within AuthzCache is the following line that gets called when there's a
> cache hit:
> 
>   $r->set_handlers(PerlAuthzHandler => undef);
> 
> If this line is commented out (which of course removes the benefit of the
> cache), there are no problems from a client perspective (except for the
> slowdown the cache would avoid). With this line, the contents of the
> directory are shown on requests that don't specify a file instead of the
> associated directory index file.

can you try

$r->set_handlers(PerlAuthzHandler => [\&OK];

> 
> I'm using apache-1.3.9 and mod_perl-1.21. I checked the mod_perl Changes
> log, and there appears to be no changes to set_handlers behavior between
> 1.21 and the current release.
> 
> I'm a bit at a loss for what to check next to narrow the problem aside from
> reviewing set_handlers source...
> 
> Regards,
> Christian

--
Eric