[RELEASE CANDIDATE] mod_perl-1.31 RC7
The mod_perl 1.31 release candidate 7 is ready. It can be downloaded here: http://www.apache.org/~gozer/mp1/mod_perl-1.31-rc7.tar.gz SHA1(mod_perl-1.31-rc7.tar.gz)= 4d73f33e6ed4786da1fb39f6e755746f680499c6 MD5(mod_perl-1.31-rc7.tar.gz)= ba44a09ec8383391857cbc47a21c99d4 Please give it a spin in your favorite configuration and report any problems. Especially needed against Perl-5.10 and on Windows. The summary of what has changed since 1.30 are (from Changes): Fix XSS vulnerability in Apache::Status reported by Richard J. Brain, CVE-2009-0796 [Fred Moyer] On Win32, mod_perl.h needs to include before the perl headers, at least when built with USE_ITHREADS [Steve Hay] Win32 needs PERL_SYS_INIT/PERL_SYS_TERM calls when built with USE_ITHREADS [sic--that's different to USE_THREADS]. In fact, they ought to be always called if they are defined [Steve Hay] Fix potential segfault when the environment contains NULL values [Mike Schilli] Fix static APACI build against newer apache-1.3.38+ [Gozer] Fixed modules/regex.t test 4 on Win32 [Steve Hay] Avoid possible segfault when PerlFreshRestart is On. [Michael Rendell ] Prevent segfault when running with perl >= 5.9.3 [Steve Hay] Fix shared libary extensions on Win32 to be .dll not .so [Nikolay Ananiev ] Patch to mod_perl.dsp to remove /D _WINSOCK2API_ on Win32 for perl >= 5.8.6 [Steve Hay] -- Philippe M. Chiasson GPG: F9BFE0C2480E7680 1AE53631CB32A107 88C3A5A5 http://gozer.ectoplasm.org/ m/gozer\@(apache|cpan|ectoplasm)\.org/ signature.asc Description: OpenPGP digital signature
Re: [RELEASE CANDIDATE] mod_perl-1.31 RC7
On Thu, Apr 2, 2009 at 10:42 AM, Philippe M. Chiasson wrote: > The mod_perl 1.31 release candidate 7 is ready. It can be downloaded here: > > http://www.apache.org/~gozer/mp1/mod_perl-1.31-rc7.tar.gz +1 5.8.8/1.3.39/Leopard All tests successful, 9 tests skipped. Files=36, Tests=399, 6 wallclock secs ( 3.37 cusr + 0.76 csys = 4.13 CPU)
Re: [RELEASE CANDIDATE] mod_perl-1.31 RC7
On Apr 2, 2009, at 10:42 AM, Philippe M. Chiasson wrote: The mod_perl 1.31 release candidate 7 is ready. It can be downloaded here: http://www.apache.org/~gozer/mp1/mod_perl-1.31-rc7.tar.gz I'm still getting a failure to make. :-( % perl -v | grep This This is perl, v5.10.0 built for darwin-2level % uname -a Darwin benedict.local 9.6.0 Darwin Kernel Version 9.6.0: Mon Nov 24 17:37:00 PST 2008; root:xnu-1228.9.59~1/RELEASE_I386 i386 % USER=dougm /usr/local/bin/perl Makefile.PL \ USE_APXS=1 \ WITH_APXS=/usr/local/apache/bin/apxs \ USE_DSO=1 \ EVERYTHING=1 Will configure via APXS (apxs=/usr/local/apache/bin/apxs) Will configure via APACI (DSO enabled) PerlDispatchHandler.enabled PerlChildInitHandlerenabled PerlChildExitHandlerenabled PerlPostReadRequestHandler..enabled PerlTransHandlerenabled PerlHeaderParserHandler.enabled PerlAccessHandler...enabled PerlAuthenHandler...enabled PerlAuthzHandlerenabled PerlTypeHandler.enabled PerlFixupHandlerenabled PerlHandler.enabled PerlLogHandler..enabled PerlInitHandler.enabled PerlCleanupHandler..enabled PerlRestartHandler..enabled PerlStackedHandlers.enabled PerlMethodHandlers..enabled PerlDirectiveHandlers...enabled PerlTableApienabled PerlLogApi..enabled PerlUriApi..enabled PerlUtilApi.enabled PerlFileApi.enabled PerlConnectionApi...enabled PerlServerApi...enabled PerlSectionsenabled PerlSSI.enabled Will run tests as User: 'nobody' Group: 'wheel' Configuring mod_perl for building via APXS + Creating a local mod_perl source tree + Setting up mod_perl build environment (Makefile) + id: mod_perl/1.31-rc7 + id: Perl/v5.10.0 (darwin) [/usr/local/bin/perl] Now please type 'make' to build libperl.so Checking CGI.pm VERSION..ok Checking for LWP::UserAgent..ok Checking for HTML::HeadParserok Checking if your kit is complete... Looks good Writing Makefile for Apache Writing Makefile for Apache::Connection Writing Makefile for Apache::Constants Writing Makefile for Apache::File Writing Makefile for Apache::Leak Writing Makefile for Apache::Log Writing Makefile for Apache::ModuleConfig Writing Makefile for Apache::PerlRunXS Writing Makefile for Apache::Server Writing Makefile for Apache::Symbol Writing Makefile for Apache::Table Writing Makefile for Apache::URI Writing Makefile for Apache::Util Writing Makefile for mod_perl % make (cd ./apaci && PERL5LIB=/usr/local/src/mod_perl-1.31-rc7/lib: make) make[1]: *** No rule to make target `libperl.so', needed by `lib'. Stop. make: *** [apxs_libperl] Error 2
Re: [RELEASE CANDIDATE] mod_perl-1.31 RC7
builds and tests fine with apache 1.3.41 on... Linux primepc 2.6.24-23-generic #1 SMP Mon Jan 26 00:13:11 UTC 2009 i686 GNU/Linux with This is perl, v5.8.8 built for i486-linux-gnu-thread-multi Linux lv1 2.6.24-gentoo-r8 #3 Wed May 28 15:43:57 EST 2008 i686 Intel(R) Pentium(R) 4 CPU 2.40GHz GenuineIntel GNU/Linux with This is perl, v5.8.8 built for i686-linux Linux data 2.6.27-gentoo-r8 #1 SMP Wed Mar 18 23:25:16 EDT 2009 x86_64 AMD Athlon(tm) X2 Dual Core Processor BE-2350 AuthenticAMD GNU/Linux with This is perl, v5.8.8 built for x86_64-linux SunOS web01-dev 5.10 Generic_127112-11 i86pc i386 i86pc Solaris with This is perl, v5.8.8 built for i86pc-solaris Adam
Re: [RELEASE CANDIDATE] mod_perl-1.31 RC7
On 2/4/09 15:11, David E. Wheeler wrote: > On Apr 2, 2009, at 10:42 AM, Philippe M. Chiasson wrote: > >> The mod_perl 1.31 release candidate 7 is ready. It can be downloaded >> here: >> >> http://www.apache.org/~gozer/mp1/mod_perl-1.31-rc7.tar.gz > > I'm still getting a failure to make. :-( > > % perl -v | grep This > This is perl, v5.10.0 built for darwin-2level > % uname -a > Darwin benedict.local 9.6.0 Darwin Kernel Version 9.6.0: Mon Nov 24 > 17:37:00 PST 2008; root:xnu-1228.9.59~1/RELEASE_I386 i386 > % USER=dougm /usr/local/bin/perl Makefile.PL \ >USE_APXS=1 \ >WITH_APXS=/usr/local/apache/bin/apxs \ >USE_DSO=1 \ >EVERYTHING=1 > [...] > % make > (cd ./apaci && PERL5LIB=/usr/local/src/mod_perl-1.31-rc7/lib: make) > make[1]: *** No rule to make target `libperl.so', needed by `lib'. > Stop. > make: *** [apxs_libperl] Error 2 Now that I've had a chance to look into this, I swear I've debugged this problem before, and I just can't find trace of it, or no patches. In any case, can you try this 1-liner patch? I believe it would do the trick just fine, it's because on OS X there are .so/.dylib/.bundles and we made the wrong assumption that perl's dlext would always be .so, but it's not on recent OS X, it's .bundle. The simplest trick I can think of is to just blindly normalize perl's dlext to .so, and it works just fine. It's not that important, as that value is only used to pick the right libperl.* make rule to build libperl, so should be safe. Index: apaci/mod_perl.config.sh === --- apaci/mod_perl.config.sh(revision 753086) +++ apaci/mod_perl.config.sh(working copy) @@ -123,6 +123,14 @@ perl_lddlflags="`$perl_config 'lddlflags'`" perl_dlext="`$perl_config 'dlext'`" +# OS X has .bundle's, .so's and .dylib's, but we need to normalize +# to .so, so keep it simple, and blindly normalize +case "$os_version" in +darwin*) +perl_dlext="`echo $perl_dlext | sed -e's/bundle/so/' | sed -e's/dylib/so/'`" +;; +esac + case "$os_version" in aix*) case "$perl_cc" in -- Philippe M. Chiasson GPG: F9BFE0C2480E7680 1AE53631CB32A107 88C3A5A5 http://gozer.ectoplasm.org/ m/gozer\@(apache|cpan|ectoplasm)\.org/ signature.asc Description: OpenPGP digital signature
Re: [RELEASE CANDIDATE] mod_perl-1.31 RC7
On 2/4/09 22:29, Philippe M. Chiasson wrote: > On 2/4/09 15:11, David E. Wheeler wrote: >> On Apr 2, 2009, at 10:42 AM, Philippe M. Chiasson wrote: >> >>> The mod_perl 1.31 release candidate 7 is ready. It can be downloaded >>> here: >>> >>> http://www.apache.org/~gozer/mp1/mod_perl-1.31-rc7.tar.gz >> >> I'm still getting a failure to make. :-( >> >> % perl -v | grep This >> This is perl, v5.10.0 built for darwin-2level >> % uname -a >> Darwin benedict.local 9.6.0 Darwin Kernel Version 9.6.0: Mon Nov 24 >> 17:37:00 PST 2008; root:xnu-1228.9.59~1/RELEASE_I386 i386 >> % USER=dougm /usr/local/bin/perl Makefile.PL \ >>USE_APXS=1 \ >>WITH_APXS=/usr/local/apache/bin/apxs \ >>USE_DSO=1 \ >>EVERYTHING=1 >> [...] >> % make >> (cd ./apaci && PERL5LIB=/usr/local/src/mod_perl-1.31-rc7/lib: make) >> make[1]: *** No rule to make target `libperl.so', needed by `lib'. >> Stop. >> make: *** [apxs_libperl] Error 2 > > Now that I've had a chance to look into this, I swear I've debugged this > problem before, and I just can't find trace of it, or no patches. > > In any case, can you try this 1-liner patch? Obviously, I can't count ;-) Or, I started writing this e-mail with a simple-minded 1-line patch, then realized it wouldn't work, and came up with this more elaborate patch, but failed to update the line count in the previous, already written, paragraph. I'll let you figure it out. If this resolved your problem David, I'll roll it into RC8 (eight??) and hopefully, that will be that for a little while. Cheers! -- Philippe M. Chiasson GPG: F9BFE0C2480E7680 1AE53631CB32A107 88C3A5A5 http://gozer.ectoplasm.org/ m/gozer\@(apache|cpan|ectoplasm)\.org/ signature.asc Description: OpenPGP digital signature
Re: [RELEASE CANDIDATE] mod_perl-1.31 RC7
On Apr 2, 2009, at 7:29 PM, Philippe M. Chiasson wrote: Now that I've had a chance to look into this, I swear I've debugged this problem before, and I just can't find trace of it, or no patches. Yeah, I first reported it a year ago, with RC4. In any case, can you try this 1-liner patch? I believe it would do the trick just fine, it's because on OS X there are .so/.dylib/.bundles and we made the wrong assumption that perl's dlext would always be .so, but it's not on recent OS X, it's .bundle. The simplest trick I can think of is to just blindly normalize perl's dlext to .so, and it works just fine. It's not that important, as that value is only used to pick the right libperl.* make rule to build libperl, so should be safe. That seems to work great. My server didn't start for the tests, but it looks like Apache::Test is using the system apache instead of my build; I can look into that in the morning, but at least it builds now. Yay! Best, David
Re: [RELEASE CANDIDATE] mod_perl-1.31 RC7
On 2/4/09 23:35, David E. Wheeler wrote: > On Apr 2, 2009, at 7:29 PM, Philippe M. Chiasson wrote: > >> Now that I've had a chance to look into this, I swear I've debugged >> this >> problem before, and I just can't find trace of it, or no patches. > > Yeah, I first reported it a year ago, with RC4. > >> In any case, can you try this 1-liner patch? I believe it would do the >> trick just fine, it's because on OS X there are .so/.dylib/.bundles >> and >> we made the wrong assumption that perl's dlext would always be .so, >> but >> it's not on recent OS X, it's .bundle. >> >> The simplest trick I can think of is to just blindly normalize perl's >> dlext to .so, and it works just fine. It's not that important, as that >> value is only used to pick the right libperl.* make rule to build >> libperl, >> so should be safe. > > That seems to work great. My server didn't start for the tests, but it > looks like Apache::Test is using the system apache instead of my > build; I can look into that in the morning, but at least it builds > now. Yay! APXS/DSO make test was never supported, and needs some magic to get it to work. USER=dougm is not enough... -- Philippe M. Chiasson GPG: F9BFE0C2480E7680 1AE53631CB32A107 88C3A5A5 http://gozer.ectoplasm.org/ m/gozer\@(apache|cpan|ectoplasm)\.org/ signature.asc Description: OpenPGP digital signature
Re: [RELEASE CANDIDATE] mod_perl-1.31 RC7
On Apr 2, 2009, at 8:38 PM, Philippe M. Chiasson wrote: APXS/DSO make test was never supported, and needs some magic to get it to work. USER=dougm is not enough... I could have sworn I got it to work before; I'm getting this: /httpd -f `pwd`/t/conf/httpd.conf -X -d `pwd`/t & /bin/sh: /httpd: No such file or directory Which tells me that it's trying to use the wrong httpd. Which is odd, because ~/.apache-test/Apache/TestConfigData.pm has the right one. Best, David
Re: [RELEASE CANDIDATE] mod_perl-1.31 RC7
On Apr 2, 2009, at 9:48 PM, David E. Wheeler wrote: On Apr 2, 2009, at 8:38 PM, Philippe M. Chiasson wrote: APXS/DSO make test was never supported, and needs some magic to get it to work. USER=dougm is not enough... I could have sworn I got it to work before; I'm getting this: /httpd -f `pwd`/t/conf/httpd.conf -X -d `pwd`/t & /bin/sh: /httpd: No such file or directory Which tells me that it's trying to use the wrong httpd. Which is odd, because ~/.apache-test/Apache/TestConfigData.pm has the right one. Oh, I see, it's using $(APACHE_SRC)/$(HTTPD). Yes, I can see how that wouldn't work. :-) Best, David