RE: set_handlers() bug?
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?
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?
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?
> -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?
> > $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?
> -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?
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?
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?
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?
> 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