Re: svn commit: r823703 - in /httpd/httpd/trunk: CHANGES modules/dav/fs/repos.c modules/dav/main/mod_dav.h
On Fri, Oct 09, 2009 at 09:41:32PM -, Graham Leggett wrote: --- httpd/httpd/trunk/modules/dav/main/mod_dav.h (original) +++ httpd/httpd/trunk/modules/dav/main/mod_dav.h Fri Oct 9 21:41:31 2009 @@ -1940,6 +1940,12 @@ ** then this field may be used. In most cases, it will just be NULL. */ void *ctx; + +/* return request record */ +request_rec * (*get_request_rec)(const dav_resource *resource); + +/* return path */ +const char * (*get_pathname)(const dav_resource *resource); }; What is a pathname in this context? A URI path? A filesystem path? If the latter, what is get_pathname supposed to do for a non-fs-backed repository provider? (Also - compare and contrast how all the rest of the comments in this structure are descriptive phrases and start with capital letters and everything) Regards, Joe
Re: svn commit: r823703 - in /httpd/httpd/trunk: CHANGES modules/dav/fs/repos.c modules/dav/main/mod_dav.h
On Sat, Oct 10, 2009 at 10:04:57AM +0200, Ruediger Pluem wrote: On 10/09/2009 11:41 PM, minf...@apache.org wrote: == --- httpd/httpd/trunk/modules/dav/fs/repos.c (original) +++ httpd/httpd/trunk/modules/dav/fs/repos.c Fri Oct 9 21:41:31 2009 @@ -1816,6 +1823,9 @@ dav_fs_remove_resource, dav_fs_walk, dav_fs_getetag, +dav_fs_get_request_rec, +dav_fs_pathname, +NULL This creates the following warning: repos.c:1827: warning: initialization from incompatible pointer type Plus the dav_fs_get_request_rec prototype needs to be moved up. /local/asf/httpd-trunk/modules/dav/fs/repos.c:214: warning: no previous prototype for ‘dav_fs_get_request_rec’
Re: mod_fcgid POST broken if FcgiAuthorizer is run
Jeff Trawick wrote: Variation number three: As with your patch, it remembers to add the eos bucket to the brigade of data sent to the app. As with my earlier patch, it doesn't send the trailing FCGI_STDIN record. In the spec (http://www.fastcgi.com/devkit/doc/fcgi-spec.html#S6.3), there's no mention of FCGI_STDIN for an FCGI_AUTHORIZER. I double-checked that mod_fcgid.c strips any CONTENT_LENGTH when calling the authorizer, which the spec does call for. I won't be shocked if it still fails for you; in that case I think we need to try to understand exactly why the trailing FCGI_STDIN record is needed. Our fastcgi code was expecting FCGI_STDIN. As you point out the spec does not need or allow FCGI_STDIN for an authorizer. I have fixed this bug in our fastcgi code. Now your original patch works for me now. Barry
Re: mod_fcgid POST broken if FcgiAuthorizer is run
Jeff Trawick wrote: On Fri, Oct 9, 2009 at 3:30 PM, Jeff Trawick traw...@gmail.com wrote: ... Silly me. Chris's patch at http://people.apache.org/~chrisd/patches/mod_fcgid_auth/mod_fcgid-1auth-trunk.patch handles this, and it does send a trailing FCGI_STDIN record to an authorizer. Chris, AYT I wonder if other fastcgi implementation made the same bad assumption about FCGI_STDIN always being sent as ours did. FYI: The other change I made to our fastcgi was to parse out multiple values from FCGI_PARAMS records. mod_fastcgi sends one name-value pair in a FCGI_PARAMS record and sends as many FCGI_PARAMS records as it needs to to send the environment. Where as mod_fcgid sends multiple name-value pairs in asingle FCGI_PARAMS record. Barry
Re: mod_fcgid POST broken if FcgiAuthorizer is run
Jeff Trawick wrote: On Fri, Oct 9, 2009 at 1:26 PM, Barry Scott barry.sc...@onelan.co.uk wrote: One test that needs doing is to have a Responder and an Authorizer running for the same request. I'll see if I can do that test for you next week with the pieces I have. Chris Darroch has a patch for that, which is a small part of http://people.apache.org/~chrisd/patches/mod_fcgid_auth/mod_fcgid-1auth-trunk.patch which applies to the old mod_fcgid 2.2 but which he has submitted here for inclusion. If you get stuck, look in there at some of the checks for role == responder, one or more of which are for the responder+authorizer-on-same-request issue. I'll hold off on testing this until Chris' patches are available in trunk. (I don't need this to work today, but I will need it later in the year expect) Barry
Re: mod_fcgid POST broken if FcgiAuthorizer is run
On Mon, Oct 12, 2009 at 5:51 AM, Barry Scott barry.sc...@onelan.co.uk wrote: Jeff Trawick wrote: On Fri, Oct 9, 2009 at 3:30 PM, Jeff Trawick traw...@gmail.com wrote: ... Silly me. Chris's patch at http://people.apache.org/~chrisd/patches/mod_fcgid_auth/mod_fcgid-1auth-trunk.patch handles this, and it does send a trailing FCGI_STDIN record to an authorizer. Chris, AYT I wonder if other fastcgi implementation made the same bad assumption about FCGI_STDIN always being sent as ours did. FYI: The other change I made to our fastcgi was to parse out multiple values from FCGI_PARAMS records. mod_fastcgi sends one name-value pair in a FCGI_PARAMS record and sends as many FCGI_PARAMS records as it needs to to send the environment. Where as mod_fcgid sends multiple name-value pairs in asingle FCGI_PARAMS record. Thanks for all the info. I'm inclined to commit what we think is proper for FCGI_STDIN on FCGI_AUTHORIZER and then see if it absolutely has to be adjusted later once other issues with FCGI_AUTHORIZER are cleared up and we see a variety of implementations being tested with it. (I'll go with patch 3, which adds the eos bucket to the brigade.)
Re: problem with build on AIX 6.1
On Wed, 7 Oct 2009, Michael Felt wrote: Would you care to comment on a preference for CC definition when using XL compilers. I am leaning towards xlc. I've had a long standing problem with CC=xlc optimizing away some crucial part of the accept-loop in httpd, so it wouldn't process connections. The workaround has been to use CC=cc. Haven't tried CC=xlc or xlc_r with the recent patchsets of xlc/vac 9/10 though, so this might just be me emitting stale noise. You'll notice if you hit this issue ;) And yes, everything Jeff stated is of course correct. /Nikke -- -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- Niklas Edmundsson, Admin @ {acc,hpc2n}.umu.se | ni...@acc.umu.se --- RETIREMENT: When you stop living at work and start working at life. =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Re: problem with build on AIX 6.1
You mean it would not accept any connections, or just some? On Mon, Oct 12, 2009 at 2:00 PM, Niklas Edmundsson ni...@acc.umu.se wrote: On Wed, 7 Oct 2009, Michael Felt wrote: Would you care to comment on a preference for CC definition when using XL compilers. I am leaning towards xlc. I've had a long standing problem with CC=xlc optimizing away some crucial part of the accept-loop in httpd, so it wouldn't process connections. The workaround has been to use CC=cc. Haven't tried CC=xlc or xlc_r with the recent patchsets of xlc/vac 9/10 though, so this might just be me emitting stale noise. You'll notice if you hit this issue ;) And yes, everything Jeff stated is of course correct. /Nikke -- -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- Niklas Edmundsson, Admin @ {acc,hpc2n}.umu.se | ni...@acc.umu.se --- RETIREMENT: When you stop living at work and start working at life. =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Re: Making a binary distribution package... for AIX
I just ran the build/binbuild.sh script - unchanged. Never had it respond with a LIBPATH like this before. In any case, without expat installed the build/binbuild.sh script failed - cannot find expat. For the next test I downloaded, compiled, and make installed expat to /usr/local (actually /usr/local is a symbolic link to /data/local and I am beginning to think that some of these tools are reacting to the symbolic link in some way). On Fri, Oct 9, 2009 at 10:51 PM, Rainer Jung rainer.j...@kippdata.dewrote: On 09.10.2009 00:39, Michael Felt wrote: In case the question is not obvious - why is the code not finding it's own expat.h file? Is it not suppossed to - meaning install the expat package? Yes, it should. On Thu, Oct 8, 2009 at 6:11 PM, Michael Felt mamf...@gmail.com mailto:mamf...@gmail.com wrote: ok. build/binbuild.sh is the starting point it seems - and I get an error. /bin/sh /data/prj/httpd-2.2.14/srclib/apr/libtool --silent --mode=compile cc -qlanglvl=extc89 -g -qHALT=E -DHAVE_CONFIG_H -U__STR__ -D_THREAD_SAFE -D_LARGEFILE64_SOURCE -I/data/prj/httpd-2.2.14/srclib/apr-util/include -I/data/prj/httpd-2.2.14/srclib/apr-util/include/private -I/data/prj/httpd-2.2.14/srclib/apr/include -I/data/prj/httpd-2.2.14/srclib/apr-util/xml/expat/include -o xml/apr_xml.lo -c xml/apr_xml.c touch xml/apr_xml.lo xml/apr_xml.c, line 35.10: 1506-296 (S) #include file expat.h not found. xml/apr_xml.c, line 66.5: 1506-046 (S) Syntax error. xml/apr_xml.c, line 67.10: 1506-007 (S) enum XML_Error is undefined. xml/apr_xml.c, line 344.28: 1506-022 (S) xp is not a member of struct apr_xml_parser. xml/apr_xml.c, line 345.13: 1506-022 (S) xp is not a member of struct apr_xml_parser. xml/apr_xml.c, line 364.60: 1506-277 (S) Syntax error: possible missing ')' or ','? xml/apr_xml.c, line 381.13: 1506-022 (S) xp is not a member of struct apr_xml_parser. xml/apr_xml.c, line 382.17: 1506-022 (S) xp is not a member of struct apr_xml_parser. xml/apr_xml.c, line 390.29: 1506-022 (S) xp is not a member of struct apr_xml_parser. xml/apr_xml.c, line 391.35: 1506-022 (S) xp is not a member of struct apr_xml_parser. xml/apr_xml.c, line 392.41: 1506-022 (S) xp is not a member of struct apr_xml_parser. xml/apr_xml.c, line 404.35: 1506-022 (S) xp is not a member of struct apr_xml_parser. xml/apr_xml.c, line 414.17: 1506-022 (S) xp is not a member of struct apr_xml_parser. xml/apr_xml.c, line 418.36: 1506-022 (S) xp is not a member of struct apr_xml_parser. xml/apr_xml.c, line 422.55: 1506-022 (S) xp is not a member of struct apr_xml_parser. make[3]: *** [xml/apr_xml.lo] Error 1 make[3]: Leaving directory `/data/prj/httpd-2.2.14/srclib/apr-util' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/data/prj/httpd-2.2.14/srclib/apr-util' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/data/prj/httpd-2.2.14/srclib' make: *** [all-recursive] Error 1 ERROR: Failed to build Apache. See build.log for details. When I do a build (not on AIX), then configure produces an output line setting APRUTIL_INCLUDES to -I/my/apache/build/dir/srclib/apr-util/xml/expat/lib and later setting EXTRA_INCLUDES to -I$(top_builddir)/srclib/pcre -I. ... -I/my/apache/build/dir/srclib/apr/include -I/my/apache/build/dir/srclib/apr-util/include -I/my/apache/build/dir/srclib/apr-util/xml/expat/lib ... Then when doing the make, /usr/bin/ksh /my/apache/build/dir/srclib/apr/libtool --silent --mode=compile ... -I/my/apache/build/dir/srclib/apr-util/include -I/my/apache/build/dir/srclib/apr-util/include/private -I/my/apache/build/dir/srclib/apr/include -I/my/apache/build/dir/srclib/apr-util/xml/expat/lib -o xml/apr_xml.lo -c xml/apr_xml.c touch xml/apr_xml.lo So the path -I/my/apache/build/dir/srclib/apr-util/xml/expat/lib is correct and the header file gets found. In your snippet there is a -I/data/prj/httpd-2.2.14/srclib/apr-util/xml/expat/include which is wrong. Did you give explicit instructions to configure where to find expat? You don't need to. Reminder: I ran build/binbuild.sh unmodified from the 2.2.14 distribution. mich...@x054:[/data/prj/httpd-2.2.14]find . -name expat.h ./srclib/apr-util/xml/expat.h mich...@x054:[/data/prj/httpd-2.2.14]find . -name apr_xml.c ./srclib/apr-util/xml/apr_xml.c mich...@x054:[/data/prj/httpd-2.2.14]find / -fstype jfs2 -name expat.h /data/prj/httpd-2.2.14/srclib/apr-util/xml/expat/lib/expat.h /data/prj/Python-2.6.3/Modules/expat/expat.h /usr/local/apache2/include/expat.h That contradicts the result of your first find: /data/prj/httpd-2.2.14 + ./srclib/apr-util/xml/expat.h !=
Re: svn commit: r823794 - in /httpd/httpd/trunk: CHANGES server/mpm/config.m4
On Sat, Oct 10, 2009 at 1:32 AM, taka...@apache.org wrote: Author: takashi Date: Sat Oct 10 05:32:37 2009 New Revision: 823794 URL: http://svn.apache.org/viewvc?rev=823794view=rev Log: configure: Fix THREADED_MPMS so that mod_cgid is enabled again for worker MPM. Modified: httpd/httpd/trunk/CHANGES The last release (2.3.2 alpha) wasn't affected by this problem, so there is no need to mention the fix in CHANGES.
Re: Making a binary distribution package... for AIX
OK. It is probably something really really simple - but as I am trying to be guided by what is already there I am trying to do a build using paramters similar to the build/binbuild.sh. /configure --enable-layout=Apache --enable-mods-shared=most --enable-modules=most --enable-static-support although I wonder why this choice for --enable-static-support When configure and make finish I get: mich...@x054:[/data/prj/httpd-2.2.14]./httpd -l Compiled in modules: core.c prefork.c http_core.c mod_so.c mich...@x054:[/data/prj/httpd-2.2.14]./httpd -t [Mon Oct 12 18:43:58 2009] [warn] module headers_module is already loaded, skipping Syntax error on line 69 of /usr/local/apache2/conf/httpd.conf: Invalid command 'AddHandler', perhaps misspelled or defined by a module not included in the server configuration and in httpd.conf - I have: LoadModule php5_modulemodules/libphp5.so AddHandler php5-script php What mod should I enable, besides most. Maybe most should include it by default. Or have I disabled it via the --enable-static-support. Normally I have used: mich...@x054:[/data/prj/httpd-2.2.14]cat ../http_configure ./configure --prefix=/usr/local/apache2 \ --enable-module=so \ --enable-module=unique_id \ --enable-module=usertrack \ --enable-module=vhost_alias \ --enable-rewrite=shared \ --enable-speling=shared \ --enable-digest=shared \ --enable-cgi=shared \ --enable-headers=shared \ --enable-info=shared \ --enable-log_forensic=shared \ --enable-proxy=shared \ --enable-proxy-connect=shared \ --enable-proxy-ftp=shared \ --enable-proxy-http=shared \ --enable-proxy-ajp=shared \ --enable-proxy-balancer=shared \ --with-z=/data/prj/zlib-1.2.3 And AddHandler has just worked. So I am a bit confused. On Mon, Oct 12, 2009 at 6:34 PM, Michael Felt mamf...@gmail.com wrote: I just ran the build/binbuild.sh script - unchanged. Never had it respond with a LIBPATH like this before. In any case, without expat installed the build/binbuild.sh script failed - cannot find expat. For the next test I downloaded, compiled, and make installed expat to /usr/local (actually /usr/local is a symbolic link to /data/local and I am beginning to think that some of these tools are reacting to the symbolic link in some way). On Fri, Oct 9, 2009 at 10:51 PM, Rainer Jung rainer.j...@kippdata.dewrote: On 09.10.2009 00:39, Michael Felt wrote: In case the question is not obvious - why is the code not finding it's own expat.h file? Is it not suppossed to - meaning install the expat package? Yes, it should. On Thu, Oct 8, 2009 at 6:11 PM, Michael Felt mamf...@gmail.com mailto:mamf...@gmail.com wrote: ok. build/binbuild.sh is the starting point it seems - and I get an error. /bin/sh /data/prj/httpd-2.2.14/srclib/apr/libtool --silent --mode=compile cc -qlanglvl=extc89 -g -qHALT=E -DHAVE_CONFIG_H -U__STR__ -D_THREAD_SAFE -D_LARGEFILE64_SOURCE -I/data/prj/httpd-2.2.14/srclib/apr-util/include -I/data/prj/httpd-2.2.14/srclib/apr-util/include/private -I/data/prj/httpd-2.2.14/srclib/apr/include -I/data/prj/httpd-2.2.14/srclib/apr-util/xml/expat/include -o xml/apr_xml.lo -c xml/apr_xml.c touch xml/apr_xml.lo xml/apr_xml.c, line 35.10: 1506-296 (S) #include file expat.h not found. xml/apr_xml.c, line 66.5: 1506-046 (S) Syntax error. xml/apr_xml.c, line 67.10: 1506-007 (S) enum XML_Error is undefined. xml/apr_xml.c, line 344.28: 1506-022 (S) xp is not a member of struct apr_xml_parser. xml/apr_xml.c, line 345.13: 1506-022 (S) xp is not a member of struct apr_xml_parser. xml/apr_xml.c, line 364.60: 1506-277 (S) Syntax error: possible missing ')' or ','? xml/apr_xml.c, line 381.13: 1506-022 (S) xp is not a member of struct apr_xml_parser. xml/apr_xml.c, line 382.17: 1506-022 (S) xp is not a member of struct apr_xml_parser. xml/apr_xml.c, line 390.29: 1506-022 (S) xp is not a member of struct apr_xml_parser. xml/apr_xml.c, line 391.35: 1506-022 (S) xp is not a member of struct apr_xml_parser. xml/apr_xml.c, line 392.41: 1506-022 (S) xp is not a member of struct apr_xml_parser. xml/apr_xml.c, line 404.35: 1506-022 (S) xp is not a member of struct apr_xml_parser. xml/apr_xml.c, line 414.17: 1506-022 (S) xp is not a member of struct apr_xml_parser. xml/apr_xml.c, line 418.36: 1506-022 (S) xp is not a member of struct apr_xml_parser. xml/apr_xml.c, line 422.55: 1506-022 (S) xp is not a member of struct apr_xml_parser. make[3]: *** [xml/apr_xml.lo] Error 1 make[3]: Leaving directory `/data/prj/httpd-2.2.14/srclib/apr-util' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/data/prj/httpd-2.2.14/srclib/apr-util' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/data/prj/httpd-2.2.14/srclib' make: *** [all-recursive] Error
Re: mod_fcgid: Problem serving binary content with Apache 2.2.13 - PHP 5.2.9
On Sun, Oct 11, 2009 at 6:16 AM, Marcus Merz mm...@gmx.de wrote: Is this issue solved in 2.3.4? no
Re: svn commit: r823703 - in /httpd/httpd/trunk: CHANGES modules/dav/fs/repos.c modules/dav/main/mod_dav.h
On Oct 10, 2009, at 4:04 AM, Ruediger Pluem wrote: On 10/09/2009 11:41 PM, minf...@apache.org wrote: Author: minfrin Date: Fri Oct 9 21:41:31 2009 New Revision: 823703 URL: http://svn.apache.org/viewvc?rev=823703view=rev Log: mod_dav: Provide a mechanism to obtain the request_rec and pathname from the dav_resource. Submitted by: Jari Urpalainen jari.urpalainen nokia.com, Brian France brian brianfrance.com Modified: httpd/httpd/trunk/CHANGES httpd/httpd/trunk/modules/dav/fs/repos.c httpd/httpd/trunk/modules/dav/main/mod_dav.h Modified: httpd/httpd/trunk/modules/dav/fs/repos.c URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/modules/dav/fs/repos.c?rev=823703r1=823702r2=823703view=diff = = = = = = = = = = --- httpd/httpd/trunk/modules/dav/fs/repos.c (original) +++ httpd/httpd/trunk/modules/dav/fs/repos.c Fri Oct 9 21:41:31 2009 @@ -1816,6 +1823,9 @@ dav_fs_remove_resource, dav_fs_walk, dav_fs_getetag, +dav_fs_get_request_rec, +dav_fs_pathname, +NULL This creates the following warning: repos.c:1827: warning: initialization from incompatible pointer type I assume the order of the arguments is wrong and needs to be NULL, dav_fs_get_request_rec, dav_fs_pathname instead. See below in the snipped from mod_dav.h: Modified: httpd/httpd/trunk/modules/dav/main/mod_dav.h URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/modules/dav/main/mod_dav.h?rev=823703r1=823702r2=823703view=diff = = = = = = = = = = --- httpd/httpd/trunk/modules/dav/main/mod_dav.h (original) +++ httpd/httpd/trunk/modules/dav/main/mod_dav.h Fri Oct 9 21:41:31 2009 @@ -1940,6 +1940,12 @@ ** then this field may be used. In most cases, it will just be NULL. */ void *ctx; + +/* return request record */ +request_rec * (*get_request_rec)(const dav_resource *resource); + +/* return path */ +const char * (*get_pathname)(const dav_resource *resource); }; Below is a patch to fix the bad struct declaration, sorry about that. I missed it on the binary compatibility conversion. Brian Index: modules/dav/fs/repos.c === --- modules/dav/fs/repos.c (revision 824480) +++ modules/dav/fs/repos.c (working copy) @@ -1823,9 +1823,9 @@ dav_fs_remove_resource, dav_fs_walk, dav_fs_getetag, +NULL, dav_fs_get_request_rec, -dav_fs_pathname, -NULL +dav_fs_pathname }; static dav_prop_insert dav_fs_insert_prop(const dav_resource *resource,
Re: svn commit: r823703 - in /httpd/httpd/trunk: CHANGES modules/dav/fs/repos.c modules/dav/main/mod_dav.h
On Oct 12, 2009, at 3:58 AM, Joe Orton wrote: On Sat, Oct 10, 2009 at 10:04:57AM +0200, Ruediger Pluem wrote: On 10/09/2009 11:41 PM, minf...@apache.org wrote: = = = = = = = = = = --- httpd/httpd/trunk/modules/dav/fs/repos.c (original) +++ httpd/httpd/trunk/modules/dav/fs/repos.c Fri Oct 9 21:41:31 2009 @@ -1816,6 +1823,9 @@ dav_fs_remove_resource, dav_fs_walk, dav_fs_getetag, +dav_fs_get_request_rec, +dav_fs_pathname, +NULL This creates the following warning: repos.c:1827: warning: initialization from incompatible pointer type Plus the dav_fs_get_request_rec prototype needs to be moved up. /local/asf/httpd-trunk/modules/dav/fs/repos.c:214: warning: no previous prototype for ‘dav_fs_get_request_rec’ I don't know why that warning is happening. dav_fs_get_request_rec is defined on line 214 and used in the struct on line 1827. Brian
Re: svn commit: r823703 - in /httpd/httpd/trunk: CHANGES modules/dav/fs/repos.c modules/dav/main/mod_dav.h
On Oct 12, 2009, at 3:57 AM, Joe Orton wrote: On Fri, Oct 09, 2009 at 09:41:32PM -, Graham Leggett wrote: --- httpd/httpd/trunk/modules/dav/main/mod_dav.h (original) +++ httpd/httpd/trunk/modules/dav/main/mod_dav.h Fri Oct 9 21:41:31 2009 @@ -1940,6 +1940,12 @@ ** then this field may be used. In most cases, it will just be NULL. */ void *ctx; + +/* return request record */ +request_rec * (*get_request_rec)(const dav_resource *resource); + +/* return path */ +const char * (*get_pathname)(const dav_resource *resource); }; What is a pathname in this context? A URI path? A filesystem path? If the latter, what is get_pathname supposed to do for a non-fs-backed repository provider? That I don't know, it could use bogus paths. I haven't gone down the path of creating a new mod_dav_fs module, so I don't know exactly how it would work. (Also - compare and contrast how all the rest of the comments in this structure are descriptive phrases and start with capital letters and everything) Patch below fixes up the comments for the new functions. Index: modules/dav/main/mod_dav.h === --- modules/dav/main/mod_dav.h (revision 824480) +++ modules/dav/main/mod_dav.h (working copy) @@ -1941,10 +1941,10 @@ */ void *ctx; -/* return request record */ +/* Get the request rec for a resource */ request_rec * (*get_request_rec)(const dav_resource *resource); -/* return path */ +/* Get the pathname for a resource */ const char * (*get_pathname)(const dav_resource *resource); };
Re: svn commit: r823703 - in /httpd/httpd/trunk: CHANGES modules/dav/fs/repos.c modules/dav/main/mod_dav.h
On 10/12/2009 10:17 PM, Brian J. France wrote: On Oct 12, 2009, at 3:58 AM, Joe Orton wrote: On Sat, Oct 10, 2009 at 10:04:57AM +0200, Ruediger Pluem wrote: On 10/09/2009 11:41 PM, minf...@apache.org wrote: = = = = = = = = = = --- httpd/httpd/trunk/modules/dav/fs/repos.c (original) +++ httpd/httpd/trunk/modules/dav/fs/repos.c Fri Oct 9 21:41:31 2009 @@ -1816,6 +1823,9 @@ dav_fs_remove_resource, dav_fs_walk, dav_fs_getetag, +dav_fs_get_request_rec, +dav_fs_pathname, +NULL This creates the following warning: repos.c:1827: warning: initialization from incompatible pointer type Plus the dav_fs_get_request_rec prototype needs to be moved up. /local/asf/httpd-trunk/modules/dav/fs/repos.c:214: warning: no previous prototype for ‘dav_fs_get_request_rec’ I don't know why that warning is happening. dav_fs_get_request_rec is defined on line 214 and used in the struct on line 1827. I guess because there is no prototype defined in repos.h like for dav_fs_pathname. Furthermore I guess Joe didn't like that *ctx is no longer at the end of the struct. I assume you did this to stay backportable, but IMHO this cannot be backported anyway since adding fields to this struct and using them would cause old providers that don't provide them when registering to possibly segfault. Regards Rüdiger
Re: svn commit: r823703 - in /httpd/httpd/trunk: CHANGES modules/dav/fs/repos.c modules/dav/main/mod_dav.h
On Mon, Oct 12, 2009 at 04:23:59PM -0400, Brian J. France wrote: On Oct 12, 2009, at 3:57 AM, Joe Orton wrote: On Fri, Oct 09, 2009 at 09:41:32PM -, Graham Leggett wrote: --- httpd/httpd/trunk/modules/dav/main/mod_dav.h (original) +++ httpd/httpd/trunk/modules/dav/main/mod_dav.h Fri Oct 9 21:41:31 + +/* return request record */ +request_rec * (*get_request_rec)(const dav_resource *resource); + +/* return path */ +const char * (*get_pathname)(const dav_resource *resource); }; What is a pathname in this context? A URI path? A filesystem path? If the latter, what is get_pathname supposed to do for a non-fs-backed repository provider? That I don't know, it could use bogus paths. I haven't gone down the path of creating a new mod_dav_fs module, so I don't know exactly how it would work. Well, there needs to be some API contract specified so that repos backends can implement it. So: why does the resource abstraction need to be extended to return the filesystem path? What will mod_dav use it for? Regards, Joe
Re: svn commit: r823703 - in /httpd/httpd/trunk: CHANGES modules/dav/fs/repos.c modules/dav/main/mod_dav.h
On Mon, Oct 12, 2009 at 04:17:00PM -0400, Brian J. France wrote: On Oct 12, 2009, at 3:58 AM, Joe Orton wrote: On Sat, Oct 10, 2009 at 10:04:57AM +0200, Ruediger Pluem wrote: This creates the following warning: repos.c:1827: warning: initialization from incompatible pointer type Plus the dav_fs_get_request_rec prototype needs to be moved up. /local/asf/httpd-trunk/modules/dav/fs/repos.c:214: warning: no previous prototype for ‘dav_fs_get_request_rec’ I don't know why that warning is happening. dav_fs_get_request_rec is defined on line 214 and used in the struct on line 1827. Sorry, my mistake, it's not a positioning problem - the function needs to be made static.
Re: mod_fcgid: Problem serving binary content with Apache 2.2.13 - PHP 5.2.9
On Mon, Oct 12, 2009 at 4:14 PM, Jeff Trawick traw...@gmail.com wrote: On Sun, Oct 11, 2009 at 6:16 AM, Marcus Merz mm...@gmx.de wrote: Is this issue solved in 2.3.4? no BTW, I'm sorry I haven't followed up to your last couple of posts. I should be honest with you: All that Plesk-generated config and/or attempts to interject tweaks to that config makes my head explode. Maybe somebody else here has the time and will power to dig through it. My general thoughts: I don't think mod_fcgid's processing can be compared to mod_php's in any meaningful way. Instead, it should be compared to mod_cgi's (mod_cgid's). FastCGI is essentially CGI, but with the request information passed over in a way that allows the script to handle multiple requests without exiting. mod_cgi and mod_fcgid should pass the same request environment variables to the CGI/FastCGI application, and in fact they use the same core httpd code to build that information. (The notable exception is when FcgidFixPathInfo is turned on, in which case mod_fcgid modifies one of the request environment variables I can't say if/when exactly that helps.) Good luck!
Re: svn commit: r823703 - in /httpd/httpd/trunk: CHANGES modules/dav/fs/repos.c modules/dav/main/mod_dav.h
On Oct 12, 2009, at 4:38 PM, Joe Orton wrote: On Mon, Oct 12, 2009 at 04:23:59PM -0400, Brian J. France wrote: On Oct 12, 2009, at 3:57 AM, Joe Orton wrote: On Fri, Oct 09, 2009 at 09:41:32PM -, Graham Leggett wrote: --- httpd/httpd/trunk/modules/dav/main/mod_dav.h (original) +++ httpd/httpd/trunk/modules/dav/main/mod_dav.h Fri Oct 9 21:41:31 + +/* return request record */ +request_rec * (*get_request_rec)(const dav_resource *resource); + +/* return path */ +const char * (*get_pathname)(const dav_resource *resource); }; What is a pathname in this context? A URI path? A filesystem path? If the latter, what is get_pathname supposed to do for a non-fs- backed repository provider? That I don't know, it could use bogus paths. I haven't gone down the path of creating a new mod_dav_fs module, so I don't know exactly how it would work. Well, there needs to be some API contract specified so that repos backends can implement it. So: why does the resource abstraction need to be extended to return the filesystem path? What will mod_dav use it for? mod_dav_acl would use the filename to validate the acls. Like I said, I don't know if get_pathname is needed or we should just use r- filename and make sure a mod_dav_fs_db module updated it. Brian
Re: svn commit: r823703 - in /httpd/httpd/trunk: CHANGES modules/dav/fs/repos.c modules/dav/main/mod_dav.h
On Oct 12, 2009, at 4:39 PM, Joe Orton wrote: On Mon, Oct 12, 2009 at 04:17:00PM -0400, Brian J. France wrote: On Oct 12, 2009, at 3:58 AM, Joe Orton wrote: On Sat, Oct 10, 2009 at 10:04:57AM +0200, Ruediger Pluem wrote: This creates the following warning: repos.c:1827: warning: initialization from incompatible pointer type Plus the dav_fs_get_request_rec prototype needs to be moved up. /local/asf/httpd-trunk/modules/dav/fs/repos.c:214: warning: no previous prototype for ‘dav_fs_get_request_rec’ I don't know why that warning is happening. dav_fs_get_request_rec is defined on line 214 and used in the struct on line 1827. Sorry, my mistake, it's not a positioning problem - the function needs to be made static. Updated patch: Index: modules/dav/fs/repos.c === --- modules/dav/fs/repos.c (revision 824480) +++ modules/dav/fs/repos.c (working copy) @@ -211,7 +211,7 @@ ** ** PRIVATE REPOSITORY FUNCTIONS */ -request_rec *dav_fs_get_request_rec(const dav_resource *resource) +status request_rec *dav_fs_get_request_rec(const dav_resource *resource) { return resource-info-r; } @@ -1823,9 +1823,9 @@ dav_fs_remove_resource, dav_fs_walk, dav_fs_getetag, +NULL, dav_fs_get_request_rec, -dav_fs_pathname, -NULL +dav_fs_pathname }; static dav_prop_insert dav_fs_insert_prop(const dav_resource *resource,
Re: svn commit: r823703 - in /httpd/httpd/trunk: CHANGES modules/dav/fs/repos.c modules/dav/main/mod_dav.h
On Oct 12, 2009, at 5:15 PM, Brian J. France wrote: On Oct 12, 2009, at 4:39 PM, Joe Orton wrote: On Mon, Oct 12, 2009 at 04:17:00PM -0400, Brian J. France wrote: On Oct 12, 2009, at 3:58 AM, Joe Orton wrote: On Sat, Oct 10, 2009 at 10:04:57AM +0200, Ruediger Pluem wrote: This creates the following warning: repos.c:1827: warning: initialization from incompatible pointer type Plus the dav_fs_get_request_rec prototype needs to be moved up. /local/asf/httpd-trunk/modules/dav/fs/repos.c:214: warning: no previous prototype for ‘dav_fs_get_request_rec’ I don't know why that warning is happening. dav_fs_get_request_rec is defined on line 214 and used in the struct on line 1827. Sorry, my mistake, it's not a positioning problem - the function needs to be made static. Updated patch: Scratch that, here is a patch: Index: modules/dav/fs/repos.c === --- modules/dav/fs/repos.c (revision 824480) +++ modules/dav/fs/repos.c (working copy) @@ -211,7 +211,7 @@ ** ** PRIVATE REPOSITORY FUNCTIONS */ -request_rec *dav_fs_get_request_rec(const dav_resource *resource) +static request_rec *dav_fs_get_request_rec(const dav_resource *resource) { return resource-info-r; } @@ -1823,9 +1823,9 @@ dav_fs_remove_resource, dav_fs_walk, dav_fs_getetag, +NULL, dav_fs_get_request_rec, -dav_fs_pathname, -NULL +dav_fs_pathname }; static dav_prop_insert dav_fs_insert_prop(const dav_resource *resource,