This has been filed as issue https://issues.apache.org/bugzilla/show_bug.cgi?id=47973

Further testing of our application has shown up a problem using
mod_fcgid 2.3.4.

With the following configuration we are seeing the request body
of POST messages get stripped out if FcgidAuthorizer is used for
Location /player.  If we comment out the "Require onelan magic" the
POSTs work.

Looking at bridge_request we see the code is reading the input buckets
and feeding then to the Authorizer.

It seems to us that:

Either this must not happen if the fcgid is an authorizer
or the buckets must be put back for whatever handles
the POST to process.

Barry


...
LoadModule fcgid_module modules/mod_fcgid.so

FcgidCmdOptions /usr/local/onelan/html/dsmauthorizer.fcgi MaxProcesses 1
FcgidCmdOptions /usr/local/onelan/html/dsm.fcgi MaxProcesses 1
FcgidCmdOptions /usr/local/onelan/html/dsmxml.fcgi MaxProcesses 1


<VirtualHost *:80>

  #+ Rewrite Web API Rules
  RewriteEngine on

  # security - deny TRACE and TRACK requests
  RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK)
  RewriteRule .* - [F]
  #- Rewrite Web API Rules

  #+ Rewrite Web API Rules
  # make the URLs hide the use of dsm.fcgi
  RewriteRule ^/$ /dsm.fcgi [L]
RewriteRule ^/(status|options|organisation|tools|setup|help)($|.*$) /dsm.fcgi/$1$2 [L]
  #- Rewrite Web API Rules

  #+ Rewrite XML API Rules
  # make the URLs hide the use of dsmxml.fcgi
  RewriteRule ^/(XML)($|.*$) /dsmxml.fcgi/$1$2 [L]
  #- Rewrite XML API Rules

  #+ Rewrite VPN
ReWriteMap ntb_ip_address prg:/usr/local/onelan/dsm/bin/vpn_lookup_ip_address RewriteRule ^/player/(\d+)\.(.*) http://${ntb_ip_address:$1}:8080/player/$1.$2 [P]
  #- Rewrite VPN

  #+ Locations Web VPN API
  <Location /player>
        #+ HTTP auth file
      Order allow,deny
      Allow from all
      AuthType Digest
      AuthName "Manager System"
      AuthGroupFile /etc/onelan/common/http.group
      AuthUserFile /etc/onelan/common/http.passwd
      Require onelan magic
      #- HTTP auth file

      FcgidAuthorizer /usr/local/onelan/html/dsmauthorizer.fcgi
  </Location>
</VirtualHost>


Reply via email to