Re: [mp2] PerlSetEnv Issue
ugh, another message lost to the email-eating tree... reposting. > What am I missing? that there was a bug? :) ok, here's what I think is going on. we only register the %ENV cleanup function when a Perl*Handler runs for a given request but in your case that doesn't happen by design, so %ENV is set up but never cleaned up and %ENV propagates forever. I think this patch ought to do the trick. the only problem is that I can't seem to reproduce your bug in our test environment, probably because there is _always_ some mod_perl handler running in the base config, even if I create a separate virtual host. nevertheless, give it a whirl and report back if it seems to fix your issue. oh, and sorry for the slow turnaround and overall silence :) --Geoff Index: src/modules/perl/modperl_env.c === --- src/modules/perl/modperl_env.c (revision 178515) +++ src/modules/perl/modperl_env.c (working copy) @@ -379,6 +379,12 @@ * resets %ENV between requests - see modperl_config_request_cleanup */ MpReqSETUP_ENV_On(rcfg); + +/* we're populating %ENV, so make sure we clean up afterwards, + * regardless of whether we actually enter the request again + * with a Perl*Handler (a la modperl_callback_run_handlers) + */ + modperl_config_req_cleanup_register(r, rcfg); } void modperl_env_request_unpopulate(pTHX_ request_rec *r)
Re: [JOB] Perl Programmer for large-scale Apache/mod_perl development
> If the parent post is considered on-topic, why would you want to > discourage discussion, even if it becomes a wee bit tangential? job listings for specific positions that involve mod_perl have traditionally been very welcome here - provided the message is for a real position by someone willing to hire (as opposed to some random headhunter fishing for random souls) it is very much on-topic for this list, as are follow ups that might clarify the position and/or company for people considering it. digressions into ideologies or other things completely unrelated to mod_perl have traditionally been discouraged here, as we like to keep a high signal-to-noise ratio so that the list is continually of value to those doing mod_perl related things. as such, over the course of the years this list has essentially played out like this: o mod_perl questions - signal o mod_perl jobs - signal o straight apache or perl related questions - mostly noise, but we tend to be tolerant as mod_perl is a bridge between both communities o theories on telecommuting - noise so, with no hard feelings, let's keep the noise down, ok? --Geoff
Apache::AuthDBI mp1 with SHA1 and MD5
I have finished patches against Apache AuthDBI version 0.94 that definitely work with mod_perl1 to implement sha1 & md5 encryption in addition to crypt. I have placed a patch, the original 0.94 and the patched 0.94KAM up for download at http://www.thoughtworthy.com/downloads/. It uses a fall-back methodology for mixed-encryption environments such as an upgrade where new users will use SHA1 and old users might use MD5 or crypt. It provides a framework where new encryption methods should be installable in a matter of minutes by editing one subroutine and adding a subroutine for the encryption method. As a point in case, after implementing SHA1, I then installed MD5 in under 5 minutes. I tried to handle the coding in a style close to the existing and also updated the documentation. There was also an obscure bug where I believe the salt was not set correctly for people using the alternate userid salt and caching. Feedback appreciated especially on where to submit patches for inclusion into the main release. regards, KAM
Re: Apache2::Upload Issue
Joe Schaefer writes: "D. Hageman" writes: ggRIASUVORK5CYII=\r\n--AaB03x-- ^^ Missing an \r\n there I think. -- Joe Schaefer Joe, That cleared up the issue for me! Thank you for your assistance. //\\ || D. Hageman || \\//
[mp2] Apache::Scoreboard, Apache::VMonitor, GTop RC
I finally have what I believe are working versions of Apache::Scoreboard and Apache::VMonitor that account for the post RC5 name changes (and a couple of other minor bugs). There's also an update for GTop to allow it to compile with the latest versions of libgtop. If someone is willing to test these before I push them to cpan, I'd appreciate it. http://www.liminalflux.net/perl/Apache-Scoreboard-2.08-RC1.tar.gz http://www.liminalflux.net/perl/Apache-VMonitor-2.05-RC1.tar.gz http://www.liminalflux.net/perl/GTop-0.16-RC1.tar.gz
[mp2] t/filter/out_str_subreq_default.t fails
-8<-- Start Bug Report 8<-- 1. Problem Description: t/filter/out_str_subreq_default1..1 # Running under perl version 5.008007 for linux # Current time local: Tue Jun 21 12:11:14 2005 # Current time GMT: Tue Jun 21 16:11:14 2005 # Using Test.pm version 1.25 # Using Apache/Test.pm version 1.26 # testing : testing filter-originated lookup_uri() call to core served URI # expected: content # default-handler subrequest # more content # filter # received: content # default-handler subrequest # more content # filter not ok 1 # Failed test 1 in t/filter/out_str_subreq_default.t at line 23 error_log: END in modperl_extra.pl, pid=24686 END in modperl_extra.pl, pid=24686 [Tue Jun 21 12:11:13 2005] [notice] Apache/2.0.54 (Unix) world domination series/2.0 mod_perl/2.0.2-dev Perl/v5.8.7 configured -- resuming normal operations [Tue Jun 21 12:11:13 2005] [info] Server built: Jun 21 2005 11:11:01 [Tue Jun 21 12:11:13 2005] [debug] worker.c(1650): AcceptMutex: sysvsem (default: sysvsem) [Tue Jun 21 12:11:14 2005] [info] Child process pid=24695 is exiting [Tue Jun 21 12:11:14 2005] [info] Child process pid=24695 is exiting - server push END in modperl_extra.pl, pid=24695 END in modperl_extra.pl, pid=24695 [Tue Jun 21 12:11:14 2005] [info] removed PID file /house/doink123/mp2/t/logs/httpd.pid (pid=24690) [Tue Jun 21 12:11:14 2005] [notice] caught SIGTERM, shutting down END in modperl_extra.pl, pid=24690 END in modperl_extra.pl, pid=24690 2. Used Components and their Configuration: *** mod_perl version 2.02 *** using /house/doink123/mp2/lib/Apache2/BuildConfig.pm *** Makefile.PL options: MP_APR_LIB => aprext MP_APXS=> /house/doink123/ap_red/bin/apxs MP_COMPAT_1X => 1 MP_GENERATE_XS => 1 MP_LIBNAME => mod_perl MP_USE_DSO => 1 *** /house/doink123/ap_red/bin/httpd -V Server version: Apache/2.0.54 Server built: Jun 21 2005 11:11:01 Server's Module Magic Number: 20020903:9 Architecture: 64-bit Server compiled with -D APACHE_MPM_DIR="server/mpm/worker" -D APR_HAS_SENDFILE -D APR_HAS_MMAP -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled) -D APR_USE_SYSVSEM_SERIALIZE -D APR_USE_PTHREAD_SERIALIZE -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT -D APR_HAS_OTHER_CHILD -D AP_HAVE_RELIABLE_PIPED_LOGS -D HTTPD_ROOT="/house/doink123/ap_red" -D SUEXEC_BIN="/house/doink123/ap_red/bin/suexec" -D DEFAULT_SCOREBOARD="logs/apache_runtime_status" -D DEFAULT_ERRORLOG="logs/error_log" -D AP_TYPES_CONFIG_FILE="conf/mime.types" -D SERVER_CONFIG_FILE="conf/httpd.conf" *** (apr|apu)-config linking info -L/house/doink123/ap_red/lib -laprutil-0 -lgdbm -ldb-4.2 -lexpat -L/house/doink123/ap_red/lib -lapr-0 -lrt -lm -lcrypt -lnsl -lpthread -ldl *** /house/doink123/p_red/bin/perl -V Summary of my perl5 (revision 5 version 8 subversion 7) configuration: Platform: osname=linux, osvers=2.6.9-11.elsmp, archname=x86_64-linux-thread-multi uname='linux spe189.testdrive.hp.com 2.6.9-11.elsmp #1 smp fri may 20 18:25:30 edt 2005 x86_64 x86_64 x86_64 gnulinux ' config_args='-Doptimize=-fPIC -Dprefix=/house/doink123/p_red -Dusethreads -Duseithreads -de' hint=recommended, useposix=true, d_sigaction=define usethreads=define use5005threads=undef useithreads=define usemultiplicity=define useperlio=define d_sfio=undef uselargefiles=define usesocks=undef use64bitint=define use64bitall=define uselongdouble=undef usemymalloc=n, bincompat5005=undef Compiler: cc='cc', ccflags ='-D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/include/gdbm', optimize='-fPIC', cppflags='-D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS -fno-strict-aliasing -pipe -I/usr/local/include -I/usr/include/gdbm' ccversion='', gccversion='3.4.3 20050227 (Red Hat 3.4.3-22.1)', gccosandvers='' intsize=4, longsize=8, ptrsize=8, doublesize=8, byteorder=12345678 d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16 ivtype='long', ivsize=8, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8 alignbytes=8, prototype=define Linker and Libraries: ld='cc', ldflags =' -L/usr/local/lib' libpth=/usr/local/lib /lib /usr/lib libs=-lnsl -ldl -lm -lcrypt -lutil -lpthread -lc perllibs=-lnsl -ldl -lm -lcrypt -lutil -lpthread -lc libc=/lib/libc-2.3.4.so, so=so, useshrplib=false, libperl=libperl.a gnulibc_version='2.3.4' Dynamic Linking: dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E' cccdlflags='-fpic', lddlflags='-shared -L/usr/local/lib' Characteristics of this binary (from libperl): Compile-time options: MULTIPLICITY USE_ITHREADS USE_64_BIT_INT USE_64_BIT_ALL USE_LARGE_FILES PERL_IMPLICIT_CONTEXT Built under linux Compiled at Jun 21 2005 11:22:02 %ENV: PERL_LWP_USE_HTTP_10="1" @INC: /house/doink123/p_re
Re: Apache::AuthDBI mp1 with SHA1 and MD5
Kevin A. McGrail wrote: I have finished patches against Apache AuthDBI version 0.94 that definitely work with mod_perl1 to implement sha1 & md5 encryption in addition to crypt. I have placed a patch, the original 0.94 and the patched 0.94KAM up for download at http://www.thoughtworthy.com/downloads/. It uses a fall-back methodology for mixed-encryption environments such as an upgrade where new users will use SHA1 and old users might use MD5 or crypt. It provides a framework where new encryption methods should be installable in a matter of minutes by editing one subroutine and adding a subroutine for the encryption method. As a point in case, after implementing SHA1, I then installed MD5 in under 5 minutes. I tried to handle the coding in a style close to the existing and also updated the documentation. There was also an obscure bug where I believe the salt was not set correctly for people using the alternate userid salt and caching. Feedback appreciated especially on where to submit patches for inclusion into the main release. regards, KAM Any chance you could look at generating a patch set against http://p6m7g8.net/Apache-DBI/Apache-DBI-0.96.tar.gz Thanks. -- END - What doesn't kill us, can only make us stronger. Nothing is impossible. Philip M. Gollucci ([EMAIL PROTECTED]) 301.254.5198 Consultant / http://p6m7g8.net/Resume/resume.shtml Senior Developer / Liquidity Services, Inc. http://www.liquidityservicesinc.com
Re: [mp2] t/filter/out_str_subreq_default.t fails
> # expected: content > # default-handler subrequest > # more content > # filter > # received: content > # default-handler subrequest > # more content > # filter > not ok 1 hrm, those look the same to me. I guess it's a case of a missing or added newline? > Architecture: 64-bit hmm... I know nothing of 64 bit architectures, but this is the only thing that jumped out at me. any chance that 64 bit needs some newline munging like we do on win32? --Geoff
Re: Apache::AuthDBI mp1 with SHA1 and MD5
Philip: From a thorough glance, it looks good as-is. My changes are largely contained in AuthDBI.pm and your changes there are fairly minimal. I performed a patch -p0 against your 0.96 and it was successful except for the revision number in AuthDBI.pm which you should update to 0.96 (or .97 or whatever) anyway. Regards, KAM - Original Message - From: "Philip M. Gollucci" <[EMAIL PROTECTED]> To: "Kevin A. McGrail" <[EMAIL PROTECTED]> Cc: ; "Jason Lamey" <[EMAIL PROTECTED]> Sent: Tuesday, June 21, 2005 1:32 PM Subject: Re: Apache::AuthDBI mp1 with SHA1 and MD5 Kevin A. McGrail wrote: I have finished patches against Apache AuthDBI version 0.94 that definitely work with mod_perl1 to implement sha1 & md5 encryption in addition to crypt. I have placed a patch, the original 0.94 and the patched 0.94KAM up for download at http://www.thoughtworthy.com/downloads/. It uses a fall-back methodology for mixed-encryption environments such as an upgrade where new users will use SHA1 and old users might use MD5 or crypt. It provides a framework where new encryption methods should be installable in a matter of minutes by editing one subroutine and adding a subroutine for the encryption method. As a point in case, after implementing SHA1, I then installed MD5 in under 5 minutes. I tried to handle the coding in a style close to the existing and also updated the documentation. There was also an obscure bug where I believe the salt was not set correctly for people using the alternate userid salt and caching. Feedback appreciated especially on where to submit patches for inclusion into the main release. regards, KAM Any chance you could look at generating a patch set against http://p6m7g8.net/Apache-DBI/Apache-DBI-0.96.tar.gz Thanks. -- END - What doesn't kill us, can only make us stronger. Nothing is impossible. Philip M. Gollucci ([EMAIL PROTECTED]) 301.254.5198 Consultant / http://p6m7g8.net/Resume/resume.shtml Senior Developer / Liquidity Services, Inc. http://www.liquidityservicesinc.com
Re: Apache::AuthDBI mp1 with SHA1 and MD5
Kevin A. McGrail wrote: Philip: From a thorough glance, it looks good as-is. My changes are largely contained in AuthDBI.pm and your changes there are fairly minimal. I performed a patch -p0 against your 0.96 and it was successful except for the revision number in AuthDBI.pm which you should update to 0.96 (or .97 or whatever) anyway. Okay, thanks. I'll look at incorporating it in sometime this weekend as this version should work for mp1 and mp2. -- END - What doesn't kill us, can only make us stronger. Nothing is impossible. Philip M. Gollucci ([EMAIL PROTECTED]) 301.254.5198 Consultant / http://p6m7g8.net/Resume/resume.shtml Senior Developer / Liquidity Services, Inc. http://www.liquidityservicesinc.com
ANNOUNCE: Embperl 2.0rc4
The URL ftp://ftp.dev.ecos.de/pub/perl/embperl/Embperl-2.0rc4.tar.gz has entered CPAN as file: $CPAN/authors/id/G/GR/GRICHTER/Embperl-2.0rc4.tar.gz size: 653673 bytes md5: 631fcaf865348ed4b9e9bf69d4d7ac47 The main change in this version is the adaption to the mod_perl 2 namespace change. Embperl is a system for building dynamic websites with Perl. It gives you the power to embed Perl code in your HTML/XML documents and the ability to build your Web site out of small reusable objects in an object-oriented style. Embperl has several features which are especially useful for creating Websites, including dynamic tables, form field processing, URL escaping/unescaping, session handling, caching, xslt transformation and more. See http://perl.apache.org/embperl/ (english) or http://www.ecos.de/embperl/ (german) for more information. Enjoy Gerald Changes since 2.0rc3: - Adapted to new mod_perl namespace. Embperl now works correctly with mod_perl version >= 2.0rc5 (older version are still supported) NOTE: For file uploads to work you also need to upgrade CGI.pm - Fixed problem with Execute when GlobalRequestRec option is not set in mod_perl config. - use gmtime_r instead of gmtime for time calculation to be thread safe --- Gerald Richterecos electronic communication services gmbh IT-Securitylösungen * Webapplikationen mit Apache/Perl/mod_perl/Embperl Post: Tulpenstrasse 5 D-55276 Dienheim b. Mainz E-Mail: [EMAIL PROTECTED] Voice: +49 6133 939-122 WWW:http://www.ecos.de/ Fax: +49 6133 939-333 --- ECOS BB-5000 Firewall- und IT-Security Appliance: www.bb-5000.info ---
Re: [mp2] t/filter/out_str_subreq_default.t fails
>> # expected: content >> # default-handler subrequest >> # more content >> # filter > >> # received: content >> # default-handler subrequest >> # more content >> # filter > >> not ok 1 > >hrm, those look the same to me. I guess it's a case of a missing or added >newline? > >> Architecture: 64-bit > >hmm... I know nothing of 64 bit architectures, but this is the only thing >that jumped out at me. any chance that 64 bit needs some newline munging >like we do on win32? > >--Geoff > Yes, the test passes when I change $received =~ s{\r}{}g if Apache::TestConfig::WIN32; to $received =~ s{\r}{}g;# if Apache::TestConfig::WIN32; but I have no idea why \r appears on linux - http://ide.li/ - Иде.ли? - портал за българите в чужбина. Новини, мнения, снимки, български филми, и още...
Re: [mp2] t/filter/out_str_subreq_default.t fails
> Yes, the test passes when I change > $received =~ s{\r}{}g if Apache::TestConfig::WIN32; > to > $received =~ s{\r}{}g;# if Apache::TestConfig::WIN32; > > but I have no idea why \r appears on linux I'll bet it's something triggered in APR based on some 64 bit compile flag. probably a mistake, too. I'll look into it. thanks for the proper bug report :) --Geoff
Re: Getting lots of redefined statements in the error_log
I can duplicate it with the following simple example: -- mod_perl.conf PerlRequire conf/startup.pl SetHandler perl-script PerlResponseHandler MyHandler -- startup.pl use SomeDir::MyPackage; -- /path/to/SomeDir/MyPackage.pm package SomePackage; sub foo { return 1; } 1; -- /path/to/MyHandler.pm require AnotherPackage; -- /path/to/SomeDir/AnotherPackage.pm package AnotherPackage; use SomePackage; 1; --- The end result is that %INC has entries: SomeDir/MyPackage.pm => /path/to/SomeDir/MyPackage.pm, MyPackage.pm => /path/to/SomeDir/MyPackage.pm and my log file has Subroutine foo redefined at /path/to/SomeDir/SomePackage.pm line 3 I think this is my scenario. I'm using v5.8.1-RC3 built for darwin-thread-multi-2level, locally and v5.8.0 built for i386-linux-thread-multi, on my external server. If one was set up as DSO and the other mod_perl wasn't would that make a huge difference in the way modules would run? Thanks, Boysenberry This message contains information that is confidential and proprietary to Humaniteque and / or its affiliates. It is intended only for the recipient named and for the express purpose(s) described therein. Any other use is prohibited. http://www.habitatlife.com The World's Best Site Builder
Re: Getting lots of redefined statements in the error_log
On Tue, 2005-06-21 at 16:53 -0500, Boysenberry Payne wrote: > I think this is my scenario. In that case, fix your @INC and everything will be fine. The problem described here is not related to mod_perl. > If one was set up as DSO and the other mod_perl wasn't would that > make a huge difference in the way modules would run? When do you see the errors? It is when you do some kind of a restart? Are you using Apache::Reload or Apache::StatINC? - Perrin
Re: Tied Apache::Session objects in AxKit::XSP::BasicSession
On mandag 20 juni 2005, 20:26, Perrin Harkins wrote: > > Uh, actually, that's what I did in my first version, as it is the > > intuitive thing to do, and couldn't get it to do what it should... > > To me, it looked as if just the hash was passed, not the tied > > object... Of course, it could be that I did something else entirely > > wrong > > You just need to call tied() on the hash to get the object at any > time. Mmm, ok. > > Since I was going to retrieve this session reference from pnotes > > maaany times in the code, I created a little sub for it, perhaps > > that wasn't such a good idea...? But I think it looked as if only > > the hash was passed allready in there, so I don't think that was > > the problem... No alarm bells are going off for me here, any for > > you? > > I'm not sure what you're talking about here. Show me the code you're > referring to. OK. The whole thing is checked in at http://svn.kjernsmo.net/AxKit-XSP-BasicSession/trunk/ and will reveal how confused I am... :-) Briefly, I think the problem is buried somewhere in the invalidation code, lets see how it looks right now: sub invalidate { my $self = shift if (_calledAsMethod(@_)); my $r = Apache->request; #my %session = _session; my %session = tied %{ $r->pnotes("session") }; warn Dumper(\%session); warn ref tied %session; AxKit::Debug(9, "[BSession] Will attempt to invalidate session"); tied(%session)->delete; untie %session; undef %session; # # Write it back to pnotes _session(%session); Apache::AxKit::Plugin::BasicSession::handler($r); return; } It never gets further than tied(%session)->delete; this is how the log looks: Reference found where even-sized list expected at /usr/local/lib/site_perl/AxKit/XSP/BasicSession.pm line 247. $VAR1 = { 'Apache::Session::Flex=HASH(0x841a004)' => undef }; Warning: something's wrong at /usr/local/lib/site_perl/AxKit/XSP/BasicSession.pm line 249. [Tue Jun 21 23:51:30 2005] [warn] [client 127.0.0.1] [AxKit] [BSession] Will attempt to invalidate session [Tue Jun 21 23:51:30 2005] [warn] [client 127.0.0.1] [AxKit] Caught an exception [Tue Jun 21 23:51:30 2005] [error] [client 127.0.0.1] [AxKit] [Error] Can't call method "delete" on an undefined value at /usr/local/lib/site_perl/AxKit/XSP/BasicSession.pm line 252. So, at that point, %session isn't what I expect it to be The above is an attempt to bypass my little function _session, which I would use to get or set the session hash, since it is something I do a lot. It looks like this: sub _session { my %session = @_; my $r = Apache->request; if (defined(%session)) { $r->pnotes(session => \%session); return undef; } else { return %{ $r->pnotes("session") }; } } It is the last return that interests us now, and I've tried to do return tied %{ $r->pnotes("session") }; If I take the minimal route and return %{ $r->pnotes("session") }; from _session and just set my %session = _session; then Dumper will give: $VAR1 = { '_access_time' => 1119392841, '_session_id' => 'ba3e899edd0e06939a280fca93e3affc', '_creation_time' => 1119385419 }; which is the correct data, but obviously not tied to anything, so tied(%session)->delete; fails. So, this is basically why I tried $r->pnotes(session => tied %session); thinking it would help, but clearly not Was this sufficiently clear...? Cheers, Kjetil -- Kjetil Kjernsmo Programmer/Astrophysicist/Skeptic/Ski-orienteer/Orienteer/Mountaineer [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] Homepage: http://www.kjetil.kjernsmo.net/OpenPGP KeyID: 6A6A0BBC