Re: make test hangs
I did find some discussion of old HP-UX patches that fixed problems with stat calls that some of HP's apps had. There are no particulars and none pertain to system libraries, so they were no help. The issue here may be that I'm a relative novice when it comes to C/C++ programming. For instance, where does the magic happen that masks all of perls stat calls to stat64 when you compile with LFS support? Some of the info out there may contain the answer, but I can't see it for lack of this knowledge. I'm also wondering if the problem is not the actually call to stat64, which looks like it returns the requested info, but whatever comes next. That last line of the trace bothers me: [5889] In user-mode.[running] Very uninformative. Any guesses as to the meaning? One of the other things that has been bothering me is that when I built MP2 with perl 5.8.2, I couldn't get it to work without useshrlib defined. For perl 5.6.2, perl won't even compile successfully if you define this option. It tries to run miniperl during the compile and that hangs with a trace ending in the same mysterious line. The frustration thing about that is that LFS does not seem to affect this particular problem. I'm left wondering if perhaps the real problem here is that these two scenarios are trying to dynamically load libraries that don't lend themselves to dynamic loading (e.g. libpthread.sl) I eliminated the usual culprits such as pthread and libcl.sl and of course there are no helpful messages to point at something else. I do see warnings about a symbol _attribute_ being defined again and internal linking will occur, but as I said before, I don't know enough about C to know if that has any significance at all. Any thought on these? --- Will Fulmer Database Administrator Northampton Community College Bethlehem, PA Stas Bekman [EMAIL PROTECTED] 8/11/2004 10:29:05 PM William Fulmer wrote: We need to back up a bit. I tried something different just for giggles because I thought we might be on the wrong track with setuid. I wrote a little script that this #!/bin/bash /usr/opt/httpd-2.0.49/bin/httpd -d t -f conf/httpd.conf -DAPACHE2 -DONE_PROCESS -DNO_DETATCH stdout 21 tusc -p -f -v -o strace $! after running the script I went to a browser and hit http://cars-l:8529/TestAPI__request_rec The strace looks quite different this way (and the process does not exit). Turns out the setuid thing was the falt of my tusc command being setuid. (Sorry. insert sheepish look here) Trace from this latest test is more what I expected to see: [...] stat64(/opt/local/wrfopt/build/mod_perl-1.99_14/t/response/TestAPI/request_rec.pm, 0x6ff66648) = 0 st_dev: 64 0x05 st_ino: 171526 st_mode: S_IFREG|0644 st_nlink: 1 st_rdev: 0 st_size: 2503 st_blksize: 8192 st_blocks: 1 st_uid: 1073741829 st_gid: 27549760 st_atime: Tue Aug 10 16:50:28 2004 st_mtime: Fri Apr 18 02:18:58 2003 st_ctime: Mon Aug 9 20:40:52 2004 Hangs at this point. The compile with no LFS: [...] Blows right by the call to stat no problem. Get output in the browser say Ok to all 42 tests. The only notable difference being the call to stat as opposed to stat64. Excellent. So you've almost nailed it, William! Now try to see if there are any discussions on the web re: stat vs. stat64, e.g.: http://www.google.ca/search?hl=frie=UTF-8q=stat+stat64+hangsbtnG=Recherchermeta= may be some more keywords should be added, like your platform name... -- __ Stas BekmanJAm_pH -- Just Another mod_perl Hacker http://stason.org/ mod_perl Guide --- http://perl.apache.org mailto:[EMAIL PROTECTED] http://use.perl.org http://apacheweek.com http://modperlbook.org http://apache.org http://ticketmaster.com -- Report problems: http://perl.apache.org/bugs/ Mail list info: http://perl.apache.org/maillist/modperl.html List etiquette: http://perl.apache.org/maillist/email-etiquette.html
RE: Proxying access to restricted information
Thanks for your suggestion. I know nothing about mod_perl 2, and will look at the documentation today. I do have a couple of questions: 1. Is Apache 2 and mod_perl 2 stable? It may be a silly question, as they've been around for a while, but we've been an Apache v1 shop, and I've never used mod_perl v2 at all. Heck, I've only played with mp v1 in my own time 2. Because I have to justify my investigative time to the boss, I need to know that what I want to do is possible, namely: providing a reverse proxy to an existing website, where the proxy will programmatically allow users through depending on their access rights. It's due to this authentication requirement that I can't use mod_rewrite by itself Dan -Original Message- From: Stas Bekman [mailto:[EMAIL PROTECTED] Sent: Thursday, 12 August 2004 5:07 p.m. To: Dan Horne Cc: [EMAIL PROTECTED] Subject: Re: Proxying access to restricted information Dan Horne wrote: Following on from this, it seems that the PerlTransHandler looked like my best bet, but it doesn't seem to be able to alter the hostname (please correct me if there is a way to do this, as I struggled with it so far) I guess mod_rewrite allows the hostname to be altered, but I need to intercept the request and perform access checks, and I don't know if I can do this before mod_rewrite kicks in during the request lifecycle. With mod_perl 2, you can use http://search.cpan.org/dist/Apache-Filter-HTTPHeadersFixup/ which is perfect for proxying as it does the work long before mod_rewrite kicks in. This module is a connection level filter. -- __ Stas BekmanJAm_pH -- Just Another mod_perl Hacker http://stason.org/ mod_perl Guide --- http://perl.apache.org mailto:[EMAIL PROTECTED] http://use.perl.org http://apacheweek.com http://modperlbook.org http://apache.org http://ticketmaster.com -- Report problems: http://perl.apache.org/bugs/ Mail list info: http://perl.apache.org/maillist/modperl.html List etiquette: http://perl.apache.org/maillist/email-etiquette.html
Re: Proxying access to restricted information
Hi Dan, We are using mod_auth_tkt to solve the problem of having backend servers handle authentication, but front end reverse proxies handle access control. Here's a link: http://www.openfusion.com.au/labs/mod_auth_tkt/ There are a couple other variation out there as well. HTH, Aaron Dan Horne wrote: Thanks for your suggestion. I know nothing about mod_perl 2, and will look at the documentation today. I do have a couple of questions: 1. Is Apache 2 and mod_perl 2 stable? It may be a silly question, as they've been around for a while, but we've been an Apache v1 shop, and I've never used mod_perl v2 at all. Heck, I've only played with mp v1 in my own time 2. Because I have to justify my investigative time to the boss, I need to know that what I want to do is possible, namely: providing a reverse proxy to an existing website, where the proxy will programmatically allow users through depending on their access rights. It's due to this authentication requirement that I can't use mod_rewrite by itself Dan -Original Message- From: Stas Bekman [mailto:[EMAIL PROTECTED] Sent: Thursday, 12 August 2004 5:07 p.m. To: Dan Horne Cc: [EMAIL PROTECTED] Subject: Re: Proxying access to restricted information Dan Horne wrote: Following on from this, it seems that the PerlTransHandler looked like my best bet, but it doesn't seem to be able to alter the hostname (please correct me if there is a way to do this, as I struggled with it so far) I guess mod_rewrite allows the hostname to be altered, but I need to intercept the request and perform access checks, and I don't know if I can do this before mod_rewrite kicks in during the request lifecycle. With mod_perl 2, you can use http://search.cpan.org/dist/Apache-Filter-HTTPHeadersFixup/ which is perfect for proxying as it does the work long before mod_rewrite kicks in. This module is a connection level filter. -- Report problems: http://perl.apache.org/bugs/ Mail list info: http://perl.apache.org/maillist/modperl.html List etiquette: http://perl.apache.org/maillist/email-etiquette.html
RE: Proxying access to restricted information
On Thu, 2004-08-12 at 14:26, Dan Horne wrote: 1. Is Apache 2 and mod_perl 2 stable? It has a very solid test suite and is in use in production by a growing number of people. I think it's past the point where you should be worried about stability. The major issue would just be learning the APIs that have changed. However, as Aaron pointed out, mod_auth_tkt is a much better solution for your problem. - Perrin -- Report problems: http://perl.apache.org/bugs/ Mail list info: http://perl.apache.org/maillist/modperl.html List etiquette: http://perl.apache.org/maillist/email-etiquette.html
Re: Proxying access to restricted information
Perrin Harkins wrote: However, as Aaron pointed out, mod_auth_tkt is a much better solution for your problem. It seems to be using mod_cgi to do that? If that's the case, then it probably can't beat modperl: quote mod_auth_tkt is a lightweight cookie-based authentication module for Apache 1.3.x, written in C. It implements a single-signon framework that works across multiple apache instances and multiple machines. The actual authentication is done by a user-supplied CGI or script in whatever ^^^ language you like (examples are provided in Perl), meaning you can authenticate against any kind of user repository you can access (password files, ldap, databases, etc.) /quote no? -- __ Stas BekmanJAm_pH -- Just Another mod_perl Hacker http://stason.org/ mod_perl Guide --- http://perl.apache.org mailto:[EMAIL PROTECTED] http://use.perl.org http://apacheweek.com http://modperlbook.org http://apache.org http://ticketmaster.com -- Report problems: http://perl.apache.org/bugs/ Mail list info: http://perl.apache.org/maillist/modperl.html List etiquette: http://perl.apache.org/maillist/email-etiquette.html
Re: make test hangs
William Fulmer wrote: I did find some discussion of old HP-UX patches that fixed problems with stat calls that some of HP's apps had. There are no particulars and none pertain to system libraries, so they were no help. The issue here may be that I'm a relative novice when it comes to C/C++ programming. For instance, where does the magic happen that masks all of perls stat calls to stat64 when you compile with LFS support? Some of the info out there may contain the answer, but I can't see it for lack of this knowledge. It happens during Perl compilation, where depending on compilation flags, either stat or stat64 is chosen. I'm also wondering if the problem is not the actually call to stat64, which looks like it returns the requested info, but whatever comes next. That last line of the trace bothers me: [5889] In user-mode.[running] Very uninformative. Any guesses as to the meaning? Not really. One of the other things that has been bothering me is that when I built MP2 with perl 5.8.2, I couldn't get it to work without useshrlib defined. For perl 5.6.2, perl won't even compile successfully if you define this option. It tries to run miniperl during the compile and that hangs with a trace ending in the same mysterious line. The frustration thing about that is that LFS does not seem to affect this particular problem. I'm left wondering if perhaps the real problem here is that these two scenarios are trying to dynamically load libraries that don't lend themselves to dynamic loading (e.g. libpthread.sl) I eliminated the usual culprits such as pthread and libcl.sl and of course there are no helpful messages to point at something else. I do see warnings about a symbol _attribute_ being defined again and internal linking will occur, but as I said before, I don't know enough about C to know if that has any significance at all. Any thought on these? All I can say that these aren't really mod_perl problems per se, even though they prevent you from using mod_perl. They are all OS level issues. You need to find someone who groks your platform's specifics and can advise us on using the right compile/linking flags to get things working. HP-UX is not the only platform mod_perl has a problem with. We have issues with AIX and other platforms. We have Randy Kobes and Steve Hay who do a great work handling the win32 build (which won't be possible w/o having an inhouse expert). The rest of us develop and familiar with Linux. We get random help for other platforms. Ideally what we need is to have an expert on those platforms Apache and Perl are running on to get mod_perl to run. I apologize for not being much of help with the problems you are having, William. -- __ Stas BekmanJAm_pH -- Just Another mod_perl Hacker http://stason.org/ mod_perl Guide --- http://perl.apache.org mailto:[EMAIL PROTECTED] http://use.perl.org http://apacheweek.com http://modperlbook.org http://apache.org http://ticketmaster.com -- Report problems: http://perl.apache.org/bugs/ Mail list info: http://perl.apache.org/maillist/modperl.html List etiquette: http://perl.apache.org/maillist/email-etiquette.html
Re: Proxying access to restricted information
On Thu, 2004-08-12 at 15:22, Stas Bekman wrote: Perrin Harkins wrote: However, as Aaron pointed out, mod_auth_tkt is a much better solution for your problem. It seems to be using mod_cgi to do that? No. It's a C module. You send the actual cookie from your application after the user logs in. Their example is a CGI or servlet, but you can use literally anything. The cookie is a ticket saying that this person is verified to be in group X. All that mod_auth_tkt does is read the cookie and use it to check against a list of groups with access to specific sections of the site. - Perrin -- Report problems: http://perl.apache.org/bugs/ Mail list info: http://perl.apache.org/maillist/modperl.html List etiquette: http://perl.apache.org/maillist/email-etiquette.html
Re: Proxying access to restricted information
Perrin Harkins wrote: On Thu, 2004-08-12 at 15:22, Stas Bekman wrote: Perrin Harkins wrote: However, as Aaron pointed out, mod_auth_tkt is a much better solution for your problem. It seems to be using mod_cgi to do that? No. It's a C module. You send the actual cookie from your application after the user logs in. Their example is a CGI or servlet, but you can use literally anything. The cookie is a ticket saying that this person is verified to be in group X. All that mod_auth_tkt does is read the cookie and use it to check against a list of groups with access to specific sections of the site. Great then. Their description is a bit misleading :) Thanks Perrin -- __ Stas BekmanJAm_pH -- Just Another mod_perl Hacker http://stason.org/ mod_perl Guide --- http://perl.apache.org mailto:[EMAIL PROTECTED] http://use.perl.org http://apacheweek.com http://modperlbook.org http://apache.org http://ticketmaster.com -- Report problems: http://perl.apache.org/bugs/ Mail list info: http://perl.apache.org/maillist/modperl.html List etiquette: http://perl.apache.org/maillist/email-etiquette.html
Re: make test hangs
I understand. I've already appealed to a perl.HPUX list to no avail. I've only been dealing with HP-UX myself for about a year now (mostly Linux and Solaris before this). I agree though. This is most likely not a problem with mod_perl itself, but rather some interaction with perl 5.6 and HP-UX. I may return with other questions if I decide to pursue the non LFS install (which at least completes the make test with failed tests rather than hanging). I will post the particulars if I ever track down this particular bugaboo. Thanks for your time. --- Will Fulmer Database Administrator Northampton Community College Bethlehem, PA Stas Bekman [EMAIL PROTECTED] 8/12/2004 3:32:49 PM William Fulmer wrote: I did find some discussion of old HP-UX patches that fixed problems with stat calls that some of HP's apps had. There are no particulars and none pertain to system libraries, so they were no help. The issue here may be that I'm a relative novice when it comes to C/C++ programming. For instance, where does the magic happen that masks all of perls stat calls to stat64 when you compile with LFS support? Some of the info out there may contain the answer, but I can't see it for lack of this knowledge. It happens during Perl compilation, where depending on compilation flags, either stat or stat64 is chosen. I'm also wondering if the problem is not the actually call to stat64, which looks like it returns the requested info, but whatever comes next. That last line of the trace bothers me: [5889] In user-mode.[running] Very uninformative. Any guesses as to the meaning? Not really. One of the other things that has been bothering me is that when I built MP2 with perl 5.8.2, I couldn't get it to work without useshrlib defined. For perl 5.6.2, perl won't even compile successfully if you define this option. It tries to run miniperl during the compile and that hangs with a trace ending in the same mysterious line. The frustration thing about that is that LFS does not seem to affect this particular problem. I'm left wondering if perhaps the real problem here is that these two scenarios are trying to dynamically load libraries that don't lend themselves to dynamic loading (e.g. libpthread.sl) I eliminated the usual culprits such as pthread and libcl.sl and of course there are no helpful messages to point at something else. I do see warnings about a symbol _attribute_ being defined again and internal linking will occur, but as I said before, I don't know enough about C to know if that has any significance at all. Any thought on these? All I can say that these aren't really mod_perl problems per se, even though they prevent you from using mod_perl. They are all OS level issues. You need to find someone who groks your platform's specifics and can advise us on using the right compile/linking flags to get things working. HP-UX is not the only platform mod_perl has a problem with. We have issues with AIX and other platforms. We have Randy Kobes and Steve Hay who do a great work handling the win32 build (which won't be possible w/o having an inhouse expert). The rest of us develop and familiar with Linux. We get random help for other platforms. Ideally what we need is to have an expert on those platforms Apache and Perl are running on to get mod_perl to run. I apologize for not being much of help with the problems you are having, William. -- __ Stas BekmanJAm_pH -- Just Another mod_perl Hacker http://stason.org/ mod_perl Guide --- http://perl.apache.org mailto:[EMAIL PROTECTED] http://use.perl.org http://apacheweek.com http://modperlbook.org http://apache.org http://ticketmaster.com -- Report problems: http://perl.apache.org/bugs/ Mail list info: http://perl.apache.org/maillist/modperl.html List etiquette: http://perl.apache.org/maillist/email-etiquette.html
[OT] printing docs on perl.apache.org
hello we'd like the pages on perl.apache.org to print prettier while the screen rendering should look as always, so we made a few changes that hopefully didn't mess anything up. we have only semi-tested this feature and would like a broader browser/platform matrix experience before commiting the change please try this URL http://www.bullitt.suite.dk/dst_html/ and verify that: 1) the screen rendering is as good as the corresponding page on perl.apache.org 2) printing a page (or print previewing a page) from your browser looks simple and contain only the relevant documentation (no menus, logos etc.) please email any feedback to lambretta at inet.uni2.dk thanks ./allan -- Report problems: http://perl.apache.org/bugs/ Mail list info: http://perl.apache.org/maillist/modperl.html List etiquette: http://perl.apache.org/maillist/email-etiquette.html
[OT] printing docs on perl.apache.org
hello we'd like the pages on perl.apache.org to print prettier while the screen rendering should look as always, so we made a few changes that hopefully didn't mess anything up. we have only semi-tested this feature and would like a broader browser/platform matrix experience before commiting the change please try this URL http://www.bullitt.suite.dk/dst_html/ and verify that: 1) the screen rendering is as good as the corresponding page on perl.apache.org 2) printing a page (or print previewing a page) from your browser looks simple and contain only the relevant documentation (no menus, logos etc.) please email any feedback to lambretta at inet.uni2.dk thanks ./allan -- Report problems: http://perl.apache.org/bugs/ Mail list info: http://perl.apache.org/maillist/modperl.html List etiquette: http://perl.apache.org/maillist/email-etiquette.html
libapreq and filters
suppose i wanted to significantly alter the structure of a POST request via Apache::Request, but i wanted to re-inject the request body back into the input bucket brigade to be processed by a later module? i'm thinking something like this: POST from client Apache::Request-based handler consumes request body entirely creates document based on POSTdata changes request method to PUT inserts new document back into stream mod_put_takes document to be PUT and PUTs it somewhere is this kind of thing possible in any way? .dorian -- Report problems: http://perl.apache.org/bugs/ Mail list info: http://perl.apache.org/maillist/modperl.html List etiquette: http://perl.apache.org/maillist/email-etiquette.html
Re: libapreq and filters
dorian taylor wrote: suppose i wanted to significantly alter the structure of a POST request via Apache::Request, but i wanted to re-inject the request body back into the input bucket brigade to be processed by a later module? i'm thinking something like this: POST from client Apache::Request-based handler consumes request body entirely creates document based on POSTdata changes request method to PUT inserts new document back into stream mod_put_takes document to be PUT and PUTs it somewhere is this kind of thing possible in any way? Use a subrequest? -- __ Stas BekmanJAm_pH -- Just Another mod_perl Hacker http://stason.org/ mod_perl Guide --- http://perl.apache.org mailto:[EMAIL PROTECTED] http://use.perl.org http://apacheweek.com http://modperlbook.org http://apache.org http://ticketmaster.com -- Report problems: http://perl.apache.org/bugs/ Mail list info: http://perl.apache.org/maillist/modperl.html List etiquette: http://perl.apache.org/maillist/email-etiquette.html
RE: Apache::SubProcess build problem
Resurrecting an old one here, but I am running into the same issue. Has anyone successfully ported Apache::SubProcess to work with Perl 5.8.x and MP1? If not, a pointer to anything that will help with the transition. Thanks, Tom Murphy -Original Message- From: Stas Bekman [mailto:[EMAIL PROTECTED] Sent: Tuesday, November 25, 2003 3:12 PM To: Rafael Garcia-Suarez Cc: [EMAIL PROTECTED] Subject: Re: Apache::SubProcess build problem Rafael Garcia-Suarez wrote: I can't build Apache::SubProcess 0.03 on AIX 5.2 with perl 5.8.2, mod_perl 1.29 and apache 1.3.29. The error (pasted below) puzzles me ; any clues ? $ make cp SubProcess.pm blib/lib/Apache/SubProcess.pm /opt/hexaflux/perl/bin/perl -e 'use ExtUtils::Mksymlists; Mksymlists(NAME = Apache::SubProcess, DL_FUNCS = { }, FUNCLIST = [], DL_VARS = []);' /opt/hexaflux/perl/bin/perl /opt/hexaflux/perl/lib/5.8.2/ExtUtils/xsubpp -typemap /opt/hexaflux/perl/lib/5.8.2/ExtUtils/typemap -typemap /opt/hexaflux/perl/lib/site_perl/5.8.2/aix/auto/Apache/typemap SubProcess.xs SubProcess.xsc mv SubProcess.xsc SubProcess.c cc -c -I/opt/hexaflux/perl/lib/site_perl/5.8.2/aix/auto/Apache/inclu de -I/opt/hexaflux/perl/lib/site_perl/5.8.2/aix/auto/Apache/inclu de/modules/perl -I/opt/hexaflux/perl/lib/site_perl/5.8.2/aix/auto/Apache/inclu de/include -I/opt/hexaflux/perl/lib/site_perl/5.8.2/aix/auto/Apache/inclu de/regex -I/opt/hexaflux/perl/lib/site_perl/5.8.2/aix/auto/Apache/inclu de/os/unix -D_ALL_SOURCE -D_ANSI_C_SOURCE -D_POSIX_SOURCE -qmaxmem=16384 -qnoansialias -DUSE_NATIVE_DLOPEN -DNO_LOCALE -q32 -D_LARGE_FILES -qlonglong -O-DVERSION=\0.03\ -DXS_VERSION=\0.03\ -I/opt/hexaflux/perl/lib/5.8.2/aix/CORE -g SubProcess.c SubProcess.xs, line 15.28: 1506-280 (W) Function argument assignment between types struct _PerlIO** and struct {...}* is not allowed. SubProcess.xs, line 19.18: 1506-068 (W) Operation between types struct {...}* and struct _PerlIO** is not allowed. SubProcess.xs, line 36.26: 1506-068 (W) Operation between types struct _PerlIO** and struct {...}* is not allowed. SubProcess.xs, line 40.26: 1506-068 (W) Operation between types struct _PerlIO** and struct {...}* is not allowed. SubProcess.xs, line 137.25: 1506-280 (W) Function argument assignment between types struct {...}* and struct _PerlIO** is not allowed. Running Mkbootstrap for Apache::SubProcess () It seems that that module needs to be updated to support 5.8.x IO, I get similar problems: perl-5.8.2 Makefile.PL make Writing Makefile for Apache::SubProcess cc -c -I/home/stas/perl/5.8.2/lib/site_perl/5.8.2/i686-linux/auto/Ap ache/include -I/home/stas/perl/5.8.2/lib/site_perl/5.8.2/i686-linux/auto/Ap ache/include/modules/perl -I/home/stas/perl/5.8.2/lib/site_perl/5.8.2/i686-linux/auto/Ap ache/include/include -I/home/stas/perl/5.8.2/lib/site_perl/5.8.2/i686-linux/auto/Ap ache/include/regex -I/home/stas/perl/5.8.2/lib/site_perl/5.8.2/i686-linux/auto/Ap ache/include/os/unix -DDEBUGGING -fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/include/gdbm -g -DVERSION=\0.03\ -DXS_VERSION=\0.03\ -fpic -I/home/stas/perl/5.8.2/lib/5.8.2/i686-linux/CORE -g SubProcess.c SubProcess.xs: In function `io_dup': SubProcess.xs:15: warning: passing arg 1 of `Perl_PerlIO_fileno' from incompatible pointer type SubProcess.xs:19: warning: assignment from incompatible pointer type SubProcess.xs: In function `io_hook': SubProcess.xs:36: warning: assignment from incompatible pointer type SubProcess.xs:40: warning: assignment from incompatible pointer type SubProcess.xs: In function `XS_Apache_pfclose': SubProcess.xs:137: warning: passing arg 2 of `ap_pfclose' from incompatible pointer type Running Mkbootstrap for Apache::SubProcess () chmod 644 SubProcess.bs rm -f blib/arch/auto/Apache/SubProcess/SubProcess.so LD_RUN_PATH= cc -shared -L/usr/local/lib SubProcess.o -o blib/arch/auto/Apache/SubProcess/SubProcess.so chmod 755 blib/arch/auto/Apache/SubProcess/SubProcess.so cp SubProcess.bs blib/arch/auto/Apache/SubProcess/SubProcess.bs chmod 644 blib/arch/auto/Apache/SubProcess/SubProcess.bs It builds fine with 5.6.x. I ported it to mp2 (it's now part of the core), so I guess parts can be re-used from there. I had to reimplement the IO part for 5.8+. chmod 644 SubProcess.bs rm -f blib/arch/auto/Apache/SubProcess/SubProcess.so LD_RUN_PATH= ld -bhalt:4 -bM:SRE -bI:/opt/hexaflux/perl/lib/5.8.2/aix/CORE/perl.exp -bE:SubProcess.exp -bnoentry -lc SubProcess.o -o blib/arch/auto/Apache/SubProcess/SubProcess.so ld: 0711-317 ERROR: Undefined symbol: .sv2request_rec ld: 0711-317 ERROR: Undefined symbol: .ap_cleanup_for_exec ld: 0711-317 ERROR: Undefined symbol: .ap_pfclose ld: 0711-317 ERROR: Undefined symbol: .ap_create_environment ld:
Modperl and Distance Education
Hi, Are there any major distance education sites powered by modperl technology? I work for a University with 7 campuses scattered around the country. Provision of distance education through online access to teaching material and academic transcripts are among the long term goals of the university. I find it challenging to develop a site to meet the university's requirements. It has been proposed that I consider Java or PHP applications to develop the site to include online directory for all staff and students connected to the university. However, I am confident that I can meet the same objectives using modperl technology. Somewhere I think I can use Bricolage or Mason and I am wondering whether these are appropriate technologies to consider. Or are there other applications of modperl relating to delivery of distance education that I am not aware of. Coming from a traditional Unix background in connection with academic research, I turned to Perl in 2000 to survive in an environment dominated by Windows operating system. I continue to work on my own Breeze Project for which an early account was posted on the Oreilly site in 2002. Since then I have been following developments and have tested modperl and apache on trial basis. Any pointers to help in broadening my options would be highly appreciated. Many thanks in advance, Alfred Vahau Director Information Technology Services University of Papua New Guinea Information Resources Centre
Re: [OT] printing docs on perl.apache.org
allan juul wrote: hello we'd like the pages on perl.apache.org to print prettier while the screen rendering should look as always, so we made a few changes that hopefully didn't mess anything up. we have only semi-tested this feature and would like a broader browser/platform matrix experience before commiting the change please try this URL http://www.bullitt.suite.dk/dst_html/ and verify that: 1) the screen rendering is as good as the corresponding page on perl.apache.org 2) printing a page (or print previewing a page) from your browser looks simple and contain only the relevant documentation (no menus, logos etc.) Looks great on linux, tried: mozilla, lynx and links Great work, Allan! -- __ Stas BekmanJAm_pH -- Just Another mod_perl Hacker http://stason.org/ mod_perl Guide --- http://perl.apache.org mailto:[EMAIL PROTECTED] http://use.perl.org http://apacheweek.com http://modperlbook.org http://apache.org http://ticketmaster.com -- Report problems: http://perl.apache.org/bugs/ Mail list info: http://perl.apache.org/maillist/modperl.html List etiquette: http://perl.apache.org/maillist/email-etiquette.html
RE: Proxying access to restricted information
Thanks for everyone's responses. I managed to get this working in principle by: 1) using mod_proxy and mod_rewite to create the proxy through to the server. 2) PerlAuth* handlers to determine user access Thanks Dan -Original Message- From: Dan Horne [mailto:[EMAIL PROTECTED] Sent: Friday, 13 August 2004 6:27 a.m. To: 'Stas Bekman' Cc: [EMAIL PROTECTED] Subject: RE: Proxying access to restricted information Thanks for your suggestion. I know nothing about mod_perl 2, and will look at the documentation today. I do have a couple of questions: 1. Is Apache 2 and mod_perl 2 stable? It may be a silly question, as they've been around for a while, but we've been an Apache v1 shop, and I've never used mod_perl v2 at all. Heck, I've only played with mp v1 in my own time 2. Because I have to justify my investigative time to the boss, I need to know that what I want to do is possible, namely: providing a reverse proxy to an existing website, where the proxy will programmatically allow users through depending on their access rights. It's due to this authentication requirement that I can't use mod_rewrite by itself Dan -Original Message- From: Stas Bekman [mailto:[EMAIL PROTECTED] Sent: Thursday, 12 August 2004 5:07 p.m. To: Dan Horne Cc: [EMAIL PROTECTED] Subject: Re: Proxying access to restricted information Dan Horne wrote: Following on from this, it seems that the PerlTransHandler looked like my best bet, but it doesn't seem to be able to alter the hostname (please correct me if there is a way to do this, as I struggled with it so far) I guess mod_rewrite allows the hostname to be altered, but I need to intercept the request and perform access checks, and I don't know if I can do this before mod_rewrite kicks in during the request lifecycle. With mod_perl 2, you can use http://search.cpan.org/dist/Apache-Filter-HTTPHeadersFixup/ which is perfect for proxying as it does the work long before mod_rewrite kicks in. This module is a connection level filter. -- __ Stas BekmanJAm_pH -- Just Another mod_perl Hacker http://stason.org/ mod_perl Guide --- http://perl.apache.org mailto:[EMAIL PROTECTED] http://use.perl.org http://apacheweek.com http://modperlbook.org http://apache.org http://ticketmaster.com -- Report problems: http://perl.apache.org/bugs/ Mail list info: http://perl.apache.org/maillist/modperl.html List etiquette: http://perl.apache.org/maillist/email-etiquette.html -- Report problems: http://perl.apache.org/bugs/ Mail list info: http://perl.apache.org/maillist/modperl.html List etiquette: http://perl.apache.org/maillist/email-etiquette.html
Re: [OT] printing docs on perl.apache.org
Stas Bekman wrote: allan juul wrote: hello we'd like the pages on perl.apache.org to print prettier while the screen rendering should look as always, so we made a few changes that hopefully didn't mess anything up. we have only semi-tested this feature and would like a broader browser/platform matrix experience before commiting the change please try this URL http://www.bullitt.suite.dk/dst_html/ and verify that: 1) the screen rendering is as good as the corresponding page on perl.apache.org 2) printing a page (or print previewing a page) from your browser looks simple and contain only the relevant documentation (no menus, logos etc.) Looks great on linux, tried: mozilla, lynx and links Looks great on firefox too! Great work, Allan! signature.asc Description: OpenPGP digital signature
cvs commit: modperl-2.0/todo release
stas2004/08/11 23:13:56 Modified:todo release Log: typo Revision ChangesPath 1.44 +1 -1 modperl-2.0/todo/release Index: release === RCS file: /home/cvs/modperl-2.0/todo/release,v retrieving revision 1.43 retrieving revision 1.44 diff -u -u -r1.43 -r1.44 --- release 12 Aug 2004 06:13:28 - 1.43 +++ release 12 Aug 2004 06:13:56 - 1.44 @@ -25,7 +25,7 @@ above example, we can check that the pool object doesn't have the TEMP flag on. - but that does really solve the problem. So we aren't sure how to + but that doesn't really solve the problem. So we aren't sure how to deal with that. * $bb-cleanup segfaults (originally in TestProtocol::echo_bbs2
cvs commit: modperl-2.0/t/response/TestAPI command.pm
geoff 2004/08/12 07:28:01 Modified:t/response/TestAPI command.pm Log: PerlHandler only works in mp1 compat mode - use PerlResponseHandler Revision ChangesPath 1.3 +1 -1 modperl-2.0/t/response/TestAPI/command.pm Index: command.pm === RCS file: /home/cvs/modperl-2.0/t/response/TestAPI/command.pm,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- command.pm11 Aug 2004 00:15:39 - 1.2 +++ command.pm12 Aug 2004 14:28:00 - 1.3 @@ -28,7 +28,7 @@ ok UNIVERSAL::isa($cmd, 'Apache::Command'); while ($cmd) { -if ($cmd-name eq 'PerlHandler') { +if ($cmd-name eq 'PerlResponseHandler') { ok t_cmp($cmd-args_how, Apache::ITERATE, 'args_how'); ok t_cmp($cmd-errmsg, qr/Subroutine name/, 'errmsg'); ok t_cmp($cmd-req_override, Apache::OR_ALL, 'req_override');
Re: cvs commit: modperl-2.0/t/response/TestAPI command.pm
[EMAIL PROTECTED] wrote: geoff 2004/08/12 07:28:01 Modified:t/response/TestAPI command.pm Log: PerlHandler only works in mp1 compat mode - use PerlResponseHandler Oups! Guess you caught it with your nightlies ? Thanks geoff! Revision ChangesPath 1.3 +1 -1 modperl-2.0/t/response/TestAPI/command.pm Index: command.pm === RCS file: /home/cvs/modperl-2.0/t/response/TestAPI/command.pm,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- command.pm 11 Aug 2004 00:15:39 - 1.2 +++ command.pm 12 Aug 2004 14:28:00 - 1.3 @@ -28,7 +28,7 @@ ok UNIVERSAL::isa($cmd, 'Apache::Command'); while ($cmd) { -if ($cmd-name eq 'PerlHandler') { +if ($cmd-name eq 'PerlResponseHandler') { ok t_cmp($cmd-args_how, Apache::ITERATE, 'args_how'); ok t_cmp($cmd-errmsg, qr/Subroutine name/, 'errmsg'); ok t_cmp($cmd-req_override, Apache::OR_ALL, 'req_override'); -- Philippe M. Chiasson m/gozer\@(apache|cpan|ectoplasm)\.org/ GPG KeyID : 88C3A5A5 http://gozer.ectoplasm.org/ F9BF E0C2 480E 7680 1AE5 3631 CB32 A107 88C3A5A5 signature.asc Description: OpenPGP digital signature
cvs commit: modperl-2.0/t/conf modperl_extra.pl
stas2004/08/12 16:38:03 Modified:ModPerl-Registry/t/conf modperl_extra_startup.pl src/modules/perl modperl_error.c t/conf modperl_extra.pl Log: add a proper workaround for the requiring file when ERRSV is true within nested eval_sv. Thanks to Dave Mitchell for finding out that bug in perl (and solving it in perl Change 23209) Revision ChangesPath 1.20 +0 -3 modperl-2.0/ModPerl-Registry/t/conf/modperl_extra_startup.pl Index: modperl_extra_startup.pl === RCS file: /home/cvs/modperl-2.0/ModPerl-Registry/t/conf/modperl_extra_startup.pl,v retrieving revision 1.19 retrieving revision 1.20 diff -u -u -r1.19 -r1.20 --- modperl_extra_startup.pl 16 Jul 2004 22:43:11 - 1.19 +++ modperl_extra_startup.pl 12 Aug 2004 23:38:02 - 1.20 @@ -1,9 +1,6 @@ use strict; use warnings FATAL = 'all'; -# XXX: temp workaround for t/filter/TestFilter/in_error.pm -use APR::Error; - use ModPerl::RegistryLoader (); use Apache::ServerRec (); 1.5 +20 -4 modperl-2.0/src/modules/perl/modperl_error.c Index: modperl_error.c === RCS file: /home/cvs/modperl-2.0/src/modules/perl/modperl_error.c,v retrieving revision 1.4 retrieving revision 1.5 diff -u -u -r1.4 -r1.5 --- modperl_error.c 8 Jul 2004 06:59:38 - 1.4 +++ modperl_error.c 12 Aug 2004 23:38:02 - 1.5 @@ -43,6 +43,16 @@ return Perl_form(aTHX_ %s, ptr); } + +/* modperl_croak notes: under -T we can't really do anything when die + * was called in the stacked eval_sv (which is the case when a + * response handler calls a filter handler and that filter calls die + * ). for example trying to require a file in modperl_croak(), will + * cause 'panic: POPSTACK' and the process will exit. Dave fixed that + * in perl Change 23209 by [EMAIL PROTECTED] on 2004/08/09 19:48:57, + * which will hopefully appear in perl 5.8.6. + */ + /* croak with $@ as a APR::Error object * rc - set to apr_status_t value * file - set to the callers filename @@ -53,14 +63,20 @@ { HV *stash; HV *data; - -/* XXX: it'd be nice to arrange for it to load early */ -/* XXX: temp loaded from startup.pl +int is_tainted = PL_tainted; + +/* see the explanation above */ +if (is_tainted) { +TAINT_NOT; +} Perl_require_pv(aTHX_ APR/Error.pm); +if (is_tainted) { +TAINT; +} + if (SvTRUE(ERRSV)) { Perl_croak(aTHX_ %s, SvPV_nolen(ERRSV)); } -*/ stash = gv_stashpvn(APR::Error, 10, FALSE); data = newHV(); 1.60 +0 -3 modperl-2.0/t/conf/modperl_extra.pl Index: modperl_extra.pl === RCS file: /home/cvs/modperl-2.0/t/conf/modperl_extra.pl,v retrieving revision 1.59 retrieving revision 1.60 diff -u -u -r1.59 -r1.60 --- modperl_extra.pl 24 Jul 2004 07:27:03 - 1.59 +++ modperl_extra.pl 12 Aug 2004 23:38:02 - 1.60 @@ -7,9 +7,6 @@ use Apache2 (); -# XXX: temp workaround for t/filter/TestFilter/in_error.pm -use APR::Error; - use Apache::ServerRec (); use Apache::ServerUtil (); use Apache::Process ();
cvs commit: modperl-2.0/xs/tables/current/Apache ConstantsTable.pm
gozer 2004/08/12 17:13:18 Modified:lib/Apache ParseSource.pm xs/tables/current/Apache ConstantsTable.pm Log: I should not have added the context constants manually, but rather made sure ParseSource.pm would pick them up. Revision ChangesPath 1.59 +1 -0 modperl-2.0/lib/Apache/ParseSource.pm Index: ParseSource.pm === RCS file: /home/cvs/modperl-2.0/lib/Apache/ParseSource.pm,v retrieving revision 1.58 retrieving revision 1.59 diff -u -r1.58 -r1.59 --- ParseSource.pm12 Jul 2004 08:14:27 - 1.58 +++ ParseSource.pm13 Aug 2004 00:13:17 - 1.59 @@ -233,6 +233,7 @@ Apache = { common = [qw{OK DECLINED DONE}], config = [qw{DECLINE_CMD}], +context= [qw(NOT_IN_ GLOBAL_ONLY)], http = [qw{HTTP_}], log= [qw(APLOG_)], methods= [qw{M_ METHODS}], 1.42 +10 -10modperl-2.0/xs/tables/current/Apache/ConstantsTable.pm Index: ConstantsTable.pm === RCS file: /home/cvs/modperl-2.0/xs/tables/current/Apache/ConstantsTable.pm,v retrieving revision 1.41 retrieving revision 1.42 diff -u -r1.41 -r1.42 --- ConstantsTable.pm 11 Aug 2004 22:49:15 - 1.41 +++ ConstantsTable.pm 13 Aug 2004 00:13:18 - 1.42 @@ -2,7 +2,7 @@ # !! # ! WARNING: generated by Apache::ParseSource/0.02 -# ! Mon May 3 13:30:11 2004 +# ! Thu Aug 12 17:10:15 2004 # ! do NOT edit, any changes will be lost ! # !! @@ -56,15 +56,6 @@ 'OPT_MULTI', 'OPT_ALL' ], -'context' = [ - 'NOT_IN_VIRTUALHOST', - 'NOT_IN_LIMIT', - 'NOT_IN_DIRECTORY', - 'NOT_IN_LOCATION', - 'NOT_IN_FILES', - 'NOT_IN_DIR_LOC_FILE', - 'GLOBAL_ONLY', -], 'mpmq' = [ 'AP_MPMQ_NOT_SUPPORTED', 'AP_MPMQ_STATIC', @@ -194,6 +185,15 @@ 'AP_FTYPE_TRANSCODE', 'AP_FTYPE_CONNECTION', 'AP_FTYPE_NETWORK' +], +'context' = [ + 'NOT_IN_VIRTUALHOST', + 'NOT_IN_LIMIT', + 'NOT_IN_DIRECTORY', + 'NOT_IN_LOCATION', + 'NOT_IN_FILES', + 'NOT_IN_DIR_LOC_FILE', + 'GLOBAL_ONLY' ], 'conn_keepalive' = [ 'AP_CONN_UNKNOWN',
cvs commit: modperl-2.0 Changes
stas2004/08/12 18:41:35 Modified:src/modules/perl modperl_bucket.c t/lib/TestAPRlib bucket.pm .Changes Log: Fix a bug in APR::Bucket-new when a passed argument was of type PADTMP Revision ChangesPath 1.12 +17 -8 modperl-2.0/src/modules/perl/modperl_bucket.c Index: modperl_bucket.c === RCS file: /home/cvs/modperl-2.0/src/modules/perl/modperl_bucket.c,v retrieving revision 1.11 retrieving revision 1.12 diff -u -u -r1.11 -r1.12 --- modperl_bucket.c 13 Jun 2004 05:39:09 - 1.11 +++ modperl_bucket.c 13 Aug 2004 01:41:35 - 1.12 @@ -85,22 +85,31 @@ svbucket = (modperl_bucket_sv_t *)malloc(sizeof(*svbucket)); bucket = apr_bucket_shared_make(bucket, svbucket, offset, len); +if (!bucket) { +free(svbucket); +return NULL; +} /* XXX: need to deal with PerlInterpScope */ #ifdef USE_ITHREADS svbucket-perl = aTHX; #endif -svbucket-sv = sv; -if (!bucket) { -free(svbucket); -return NULL; +/* PADTMP SVs belong to perl and can't be stored away, since perl + * is going to reuse them, so we have no choice but to copy the + * data away, before storing sv */ +if (SvPADTMP(sv)) { +STRLEN len; +char *pv = SvPV(sv, len); +svbucket-sv = newSVpvn(pv, len); } - -(void)SvREFCNT_inc(svbucket-sv); - +else { +svbucket-sv = sv; +(void)SvREFCNT_inc(svbucket-sv); +} + MP_TRACE_f(MP_FUNC, sv=0x%lx, refcnt=%d\n, - (unsigned long)sv, SvREFCNT(sv)); + (unsigned long)svbucket-sv, SvREFCNT(svbucket-sv)); bucket-type = modperl_bucket_sv_type; bucket-free = free; 1.2 +52 -1 modperl-2.0/t/lib/TestAPRlib/bucket.pm Index: bucket.pm === RCS file: /home/cvs/modperl-2.0/t/lib/TestAPRlib/bucket.pm,v retrieving revision 1.1 retrieving revision 1.2 diff -u -u -r1.1 -r1.2 --- bucket.pm 15 Jul 2004 15:25:36 - 1.1 +++ bucket.pm 13 Aug 2004 01:41:35 - 1.2 @@ -12,7 +12,7 @@ use APR::BucketType (); sub num_of_tests { -return 11; +return 13; } sub test { @@ -70,6 +70,57 @@ qr/the length argument can't be bigger than the total/, 'new($data, $offset, $len_too_big)'); } + +# modification of the source variable, affects the data +# inside the bucket +{ +my $data = A x 10; +my $orig = $data; +my $b = APR::Bucket-new($data); +$data =~ s/^//; +$b-read(my $read); +ok !t_cmp($read, $orig, + data inside the bucket should get affected by . + the changes to the Perl variable it's created from); +} + + +# APR::Bucket-new() with the argument PADTMP (which happens when +# some function is re-entered) and the same SV is passed to +# different buckets, which must be detected and copied away. +{ +my @buckets = (); +my @data = qw(ABCD EF); +my @received = (); +for my $str (@data) { +my $b = func($str); +push @buckets, $b; +} + +# the creating of buckets and reading from them is done +# separately on purpose +for my $b (@buckets) { +$b-read(my $out); +push @received, $out; +#Devel::Peek::Dump $out; +} + +# here we used to get: two pv: ef\0d\0, ef\0, as you can see +# the first bucket had corrupted data. +my @expected = map { lc } @data; +ok t_cmp [EMAIL PROTECTED], [EMAIL PROTECTED], new(PADTMP SV); + +# this function will pass the same SV to new(), causing two +# buckets point to the same SV, and having the latest bucket's +# data override the previous one +sub func { +my $data = shift; +return APR::Bucket-new(lc $data); +} + +} + + # remove { 1.443 +3 -0 modperl-2.0/Changes Index: Changes === RCS file: /home/cvs/modperl-2.0/Changes,v retrieving revision 1.442 retrieving revision 1.443 diff -u -u -r1.442 -r1.443 --- Changes 12 Aug 2004 06:40:45 - 1.442 +++ Changes 13 Aug 2004 01:41:35 - 1.443 @@ -12,6 +12,9 @@ =item 1.99_15-dev +Fix a bug in APR::Bucket-new when a passed argument was of type +PADTMP [Stas] + Apache::Connection changes [Stas, Fred Moyer fred /about/ taperfriendlymusic.org] - readwrite =
cvs commit: modperl-2.0/src/modules/perl modperl_error.c
stas2004/08/12 18:49:54 Modified:src/modules/perl modperl_error.c Log: more comments Revision ChangesPath 1.6 +2 -1 modperl-2.0/src/modules/perl/modperl_error.c Index: modperl_error.c === RCS file: /home/cvs/modperl-2.0/src/modules/perl/modperl_error.c,v retrieving revision 1.5 retrieving revision 1.6 diff -u -u -r1.5 -r1.6 --- modperl_error.c 12 Aug 2004 23:38:02 - 1.5 +++ modperl_error.c 13 Aug 2004 01:49:54 - 1.6 @@ -50,7 +50,8 @@ * ). for example trying to require a file in modperl_croak(), will * cause 'panic: POPSTACK' and the process will exit. Dave fixed that * in perl Change 23209 by [EMAIL PROTECTED] on 2004/08/09 19:48:57, - * which will hopefully appear in perl 5.8.6. + * which will hopefully appear in perl 5.8.6. for now workaround this + * perl bug by setting the taint mode off for the APR/Error loading. */ /* croak with $@ as a APR::Error object
cvs commit: modperl-2.0/t/api custom_response.t
stas2004/08/12 18:56:49 Modified:t/apicustom_response.t Log: needs binmode to succeed on Win32 Submitted by: Markus Wichitill [EMAIL PROTECTED] Revision ChangesPath 1.3 +1 -1 modperl-2.0/t/api/custom_response.t Index: custom_response.t === RCS file: /home/cvs/modperl-2.0/t/api/custom_response.t,v retrieving revision 1.2 retrieving revision 1.3 diff -u -u -r1.2 -r1.3 --- custom_response.t 3 Aug 2004 16:22:44 - 1.2 +++ custom_response.t 13 Aug 2004 01:56:49 - 1.3 @@ -20,7 +20,7 @@ qw(api custom_response.txt); open my $fh, $file or die Can't open $file: $!; -my $data = do { local $/; $fh }; +my $data = do { binmode $fh; local $/; $fh }; close $fh; plan tests = 4, need_lwp;
cvs commit: modperl-2.0/t/response/TestAPI conn_rec.pm
stas2004/08/12 19:01:47 Modified:t/response/TestAPI conn_rec.pm Log: $c-id could be zero Revision ChangesPath 1.14 +2 -1 modperl-2.0/t/response/TestAPI/conn_rec.pm Index: conn_rec.pm === RCS file: /home/cvs/modperl-2.0/t/response/TestAPI/conn_rec.pm,v retrieving revision 1.13 retrieving revision 1.14 diff -u -u -r1.13 -r1.14 --- conn_rec.pm 12 Aug 2004 06:45:53 - 1.13 +++ conn_rec.pm 13 Aug 2004 02:01:46 - 1.14 @@ -48,7 +48,8 @@ ok $c-local_host || 1; -ok $c-id; +t_debug id, ($c-id == 0 ? zero : $c-id); +ok $c-id || 1; ok $c-notes;
cvs commit: modperl-2.0/t/response/TestAPI conn_rec.pm
stas2004/08/12 19:06:02 Modified:t/response/TestAPI conn_rec.pm Log: add space Revision ChangesPath 1.15 +1 -1 modperl-2.0/t/response/TestAPI/conn_rec.pm Index: conn_rec.pm === RCS file: /home/cvs/modperl-2.0/t/response/TestAPI/conn_rec.pm,v retrieving revision 1.14 retrieving revision 1.15 diff -u -u -r1.14 -r1.15 --- conn_rec.pm 13 Aug 2004 02:01:46 - 1.14 +++ conn_rec.pm 13 Aug 2004 02:06:02 - 1.15 @@ -48,7 +48,7 @@ ok $c-local_host || 1; -t_debug id, ($c-id == 0 ? zero : $c-id); +t_debug id , ($c-id == 0 ? zero : $c-id); ok $c-id || 1; ok $c-notes;
cvs commit: modperl-2.0/xs/maps apache_structures.map
gozer 2004/08/12 21:42:37 Modified:.Changes xs/maps apache_structures.map Log: Apache::CmdParms changes - readwrite = readonly: override, limited, directive, pool, temp_pool, server, path, cmd, context, err_directive - removed: limited_xmethods, xlimited, config_file, err_directive Revision ChangesPath 1.444 +7 -0 modperl-2.0/Changes Index: Changes === RCS file: /home/cvs/modperl-2.0/Changes,v retrieving revision 1.443 retrieving revision 1.444 diff -u -r1.443 -r1.444 --- Changes 13 Aug 2004 01:41:35 - 1.443 +++ Changes 13 Aug 2004 04:42:37 - 1.444 @@ -12,6 +12,13 @@ =item 1.99_15-dev +Apache::CmdParms changes [Gozer] +- readwrite = readonly: +override, limited, directive, pool, temp_pool, server, path, +cmd, context, err_directive + +- removed: limited_xmethods, xlimited, config_file, err_directive + Fix a bug in APR::Bucket-new when a passed argument was of type PADTMP [Stas] 1.43 +13 -13modperl-2.0/xs/maps/apache_structures.map Index: apache_structures.map === RCS file: /home/cvs/modperl-2.0/xs/maps/apache_structures.map,v retrieving revision 1.42 retrieving revision 1.43 diff -u -r1.42 -r1.43 --- apache_structures.map 12 Aug 2004 06:40:45 - 1.42 +++ apache_structures.map 13 Aug 2004 04:42:37 - 1.43 @@ -233,19 +233,19 @@ cmd_parms - info - override - limited - limited_xmethods - xlimited - config_file - directive - pool - temp_pool - server - path - cmd - context - err_directive + override + limited +! limited_xmethods +! xlimited +! config_file + directive + pool + temp_pool + server + path + cmd + context +! err_directive /cmd_parms !ap_mgmt_item_t
cvs commit: modperl-2.0/t/response/TestDirective cmdparms.pm perlloadmodule4.pm
gozer 2004/08/12 22:27:11 Modified:t/response/TestDirective cmdparms.pm perlloadmodule4.pm Log: Move test for Apache::CmdParms out of perlloadmodule4 and along with all the other Apache::CmdParms tests in directive/cmdparms Revision ChangesPath 1.2 +6 -3 modperl-2.0/t/response/TestDirective/cmdparms.pm Index: cmdparms.pm === RCS file: /home/cvs/modperl-2.0/t/response/TestDirective/cmdparms.pm,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- cmdparms.pm 13 Aug 2004 04:35:09 - 1.1 +++ cmdparms.pm 13 Aug 2004 05:27:11 - 1.2 @@ -21,6 +21,7 @@ OR_LIMIT OR_OPTIONS RSRC_CONF +NOT_IN_LOCATION ); use constant KEY = TestCmdParms; @@ -52,6 +53,7 @@ foreach my $method (@methods) { $srv_cfg-{$args}{$method} = $parms-$method(); } +$srv_cfg-{$args}{check_ctx} = $parms-check_cmd_context(Apache::NOT_IN_LOCATION); } sub get_config { @@ -62,10 +64,10 @@ ### response handler ### sub handler : method { my ($self, $r) = @_; - +my $override; my $srv_cfg = $self-get_config($r-server); -plan $r, tests = 4 + ( 8 * keys(%$srv_cfg) ); +plan $r, tests = 6 + ( 8 * keys(%$srv_cfg) ); foreach my $cfg (values %$srv_cfg) { ok t_cmp (ref($cfg-{cmd}), 'Apache::Command', 'cmd'); @@ -87,6 +89,7 @@ ok t_cmp ($vhost-{override}, $override, 'override'); ok t_cmp ($vhost-{path}, undef, 'path'); +ok t_cmp ($vhost-{check_ctx}, undef, 'check_cmd_ctx'); my $loc = $srv_cfg-{Location}; @@ -99,7 +102,7 @@ ok t_cmp ($loc-{override}, $override, 'override'); ok t_cmp ($loc-{path}, '/TestDirective__cmdparms', 'path'); - +ok t_cmp ($loc-{check_ctx}, KEY . ' cannot occur within Location section', 'check_cmd_ctx'); return Apache::OK; } 1.7 +2 -7 modperl-2.0/t/response/TestDirective/perlloadmodule4.pm Index: perlloadmodule4.pm === RCS file: /home/cvs/modperl-2.0/t/response/TestDirective/perlloadmodule4.pm,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- perlloadmodule4.pm11 Aug 2004 23:03:18 - 1.6 +++ perlloadmodule4.pm13 Aug 2004 05:27:11 - 1.7 @@ -22,7 +22,7 @@ use Apache::Module (); use Apache::ServerUtil (); -use Apache::Const -compile = qw(OK NOT_IN_LOCATION); +use Apache::Const -compile = qw(OK); use constant KEY = MyTest4; @@ -32,8 +32,6 @@ my($self, $parms, $arg) = @_; $self-{+KEY} = $arg; -$self-{KEY.'-Error'} = $parms-check_cmd_context(Apache::NOT_IN_LOCATION); - unless ($parms-path) { my $srv_cfg = Apache::Module-get_config($self, $parms-server); $srv_cfg-{+KEY} = $arg; @@ -66,7 +64,7 @@ my $dir_cfg = get_config($s, $r-per_dir_config); my $srv_cfg = get_config($s); -plan $r, tests = 5; +plan $r, tests = 3; ok $s-is_virtual; @@ -74,9 +72,6 @@ ok t_cmp($srv_cfg-{+KEY}, Vhost, Section); -ok t_cmp($dir_cfg-{KEY.'-Error'}, KEY . cannot occur within Location section, check_cmd_context); -ok t_cmp($srv_cfg-{KEY.'-Error'}, undef, check_cmd_context); - return Apache::OK; }