httpd-bugs mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From bugzi...@apache.org
Subject DO NOT REPLY [Bug 41114] ACL HTTP method is rejected by mod_proxy_ajp
Date Wed, 07 May 2008 19:16:09 GMT
https://issues.apache.org/bugzilla/show_bug.cgi?id=41114


Eirikur Sveinn Hrafnsson <eiki@idega.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         OS/Version|other                       |All




--- Comment #2 from Eirikur Sveinn Hrafnsson <eiki@idega.com>  2008-05-07 12:16:08 PST
---
We found out why SEARCH method does not work and know how to fix it for now.

The problem is that M_INVALID that is used to limit which methods are allowed
is defined in httpd.h and has the value 26, SEARCH HTTP METHOD gives the value
28 into the method sc_for_req_method_by_id(..) so it won't work. Comparing
method_id to positions in an array is at best dubious coding. mod_jk uses some
other way to do this and mod_dav obviously since they do work.

The fix:
Edit ajp_header.c under modules/proxy

line 161 in Apache 2.2.8
find:
     SC_M_MKACTIVITY,
     SC_M_BASELINE_CONTROL,
     SC_M_MERGE,
     0                       /* M_INVALID */

remove that last 0 /* M_INVALID */ line
and add instead:
    SC_M_ACL,
    0,
    SC_M_SEARCH /* needs to be the 28 in the array...*/

and in the method:
static int sc_for_req_method_by_id(request_rec *r)

change:
 if (method_id < 0 || method_id > M_INVALID) {

to:
    if (method_id < 0 || method_id > 28) {

Where 28 is the size of the methods array we just added to in the beginning.

Then compile apache again using for example:
> ./configure --prefix=/usr/local/apache2 --enable-mods-shared="all proxy proxy-ajp proxy-balancer
filter deflate expires ssl rewrite mime-magic mem-cache info disk-cache dav dav-fs dav-lock"
--with-mpm=worker 
> make 
> make install


Cheers
Eirikur S. Hrafnsson and Pall Helgason
Idega Software
http://www.idega.com


-- 
Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.

---------------------------------------------------------------------
To unsubscribe, e-mail: bugs-unsubscribe@httpd.apache.org
For additional commands, e-mail: bugs-help@httpd.apache.org


Mime
View raw message