Skip to content
  1. Aug 25, 2016
    • Jim Jagielski's avatar
      Merge r1753167 from trunk: · 9dbd74ee
      Jim Jagielski authored
      mod_proxy_fcgi: avoid loops serving proxied error documents
      
      This commit should solve the issue indicated in PR 55415.
      Httpd loops while serving a error document if:
      1) The error document's content is proxied.
      2) ProxyErrorOverride is set.
      The solution proposed is to limit the use of ap_die only
      to the initial request. I tested the change with very basic
      scenarios but I am not sure if I got all the use cases,
      feedback is really welcome.
      
      
      Submitted by: elukey
      Reviewed/backported by: jim
      
      
      git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x@1757671 13f79535-47bb-0310-9956-ffa450edef68
      9dbd74ee
    • Jim Jagielski's avatar
      Merge r1752347 from trunk: · 370e6b4f
      Jim Jagielski authored
      Force mod_proxy_fcgi to read the whole FCGI response 
      even when the content has not been modified (HTTP 304).
      
      The problem is described in PR 59838. This patch should 
      avoid bogus reads causing the following issues with
      HTTP 304 responses:
      - AH01068: Got bogus version X, expected 1
      - AH01069: Got bogus rid X, expected 1
      - AH01075: Error dispatching request to :
      - HTTP 503 logged instead of 304 (even if the external 
        client gets correctly a 304)
      
      As discussed on IRC the HTTP_PRECONDITION_FAILED use case
      should be handled like the HTTP_NOT_MODIFIED one but it will
      be done in a separate commit.
      
      
      Submitted by: elukey
      Reviewed/backported by: jim
      
      
      git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x@1757670 13f79535-47bb-0310-9956-ffa450edef68
      370e6b4f
    • Jim Jagielski's avatar
      Merge r1756038 from trunk: · fa600fa4
      Jim Jagielski authored
      Fix spelling in comments and text files.
      No functional change.
      PR 59990
      
      Submitted by: rjung
      Reviewed/backported by: jim
      
      
      git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x@1757669 13f79535-47bb-0310-9956-ffa450edef68
      fa600fa4
  2. Aug 24, 2016
  3. Aug 16, 2016
  4. Aug 03, 2016
  5. Jul 22, 2016
  6. Jul 20, 2016
  7. Jul 10, 2016
  8. Jun 30, 2016
  9. Jun 28, 2016
  10. Jun 26, 2016
  11. Jun 22, 2016
  12. Jun 20, 2016
  13. Jun 16, 2016
  14. Jun 15, 2016
  15. Jun 14, 2016
  16. Jun 13, 2016
  17. Jun 09, 2016
  18. Jun 07, 2016
  19. Jun 06, 2016
  20. May 23, 2016
  21. May 21, 2016
    • Jim Jagielski's avatar
      Merge r1722177, r1722195, r1722229, r1722320, r1722328, r1722334, r1722350,... · 27853774
      Jim Jagielski authored
      Merge r1722177, r1722195, r1722229, r1722320, r1722328, r1722334, r1722350, r1722351, r1722358, r1722377, r1723953, r1724879, r1724992, r1724993, r1724995, r1725018, r1725031, r1725120, r1725328, r1725387, r1725489, r1725498, r1725499, r1725523, r1725545, r1725567, r1725581, r1725602, r1725822, r1725967, r1726038, r1726049, r1726051, r1726052, r1726055, r1725090, r1728326, r1737020 from trunk:
      
      Commit framework impl of health-check module plus
      required changes. The actual health checking is
      currently in progress, but wanted to add in at
      this stage.
      
      Make aware of new status: Failed Health Check.
      Store the number of current passes/fails in shm
      
      finish looping logic... place-holder for actual checking
      
      Better check
      
      move to per server conf, useful for adding HealthCheckCondition
      
      Now implement the condition ruleset definition. The
      actual checking will be done in the actual health check
      routine.
      
      just check watched servers... use 'hc' prefix for sub directives
      
      Check that we have names for both templates and
      conditions
      
      command changes
      
      Don't bother w/ methods that return bodies. We don't
      handle them now anyway.
      
      Use enums and structs to keep things better organized
      
      1st cut of 'simple' tcp check... We reuse various proxy
      function and so this *could* be more streamlined, but
      use this to show how the other would work, since we need
      brigades, SSL/TLS support, etc.
      
      Since every check needs this, do this in the main
      check loop. Allows some optimizations.
      
      move scope
      
      pull this out... large enough for a func
      
      Move to a set of health check workers, mapping to
      each worker itself, instead of a single reused generic
      worker.
      
      some ordering optimization
      
      Make balancer manager health-check aware
      
      And we now allow for health checks via OPTIONS *
      
      Leverage the OPTIONS code for HEAD as well...
      So we now support: TCP, OPTIONS and HEAD.
      
      Right now, anything other than an error (even a 404)
      is consider a PASS.
      
      Fill in APLOGNO.
      
      I hope that doesn't result in merge trouble
      for Jim.
      
      
      Open up hook/scar to allow for passes/fails and
      method to be changed via bal-man...
      
      OPTIONS/HEAD proxy function should be diff from simple TCP check
      
      For OPTIONS and HEAD, only 2xx and 3xx are considered "passing"
      (until I implement the conditions expr testing)... honor
      the pass/fail count and LOG_INFO when the health check enables
      or disables a backend worker.
      
      Start impl of expr conditions for runtime checks
      
      Adjust log levels
      
      correct error string
      
      Use worker status character defines taken
      from mod_proxy.h instead of explicit characters.
      
      Noted by rpluem.
      
      
      With the updated ap_expr, we can now check for the
      returned response body, stored in kept_body
      
      Assign log message tags
      
      
      Implement expr lookup in mod_proxy_hcheck for
      variables whose names start with "HC_" and for
      the new function hc().
      
      Currently only HC_BODY and hc(body) are supported.
      Both return the saved body of the health check
      response to be used in an expr that decides about
      success of a check.
      
      
      Fix copy&paste error in new function.
      
      
      Try fixing new proxy_hcheck expr extension.
      
      Interestingly mod_ssl using NULL as well,
      but some other module I wrote uses parms->name.
      
      
      Adjust
      
      clash :)
      
      
      Enabling a worker via health-check also moves them out of
      ERROR more (which may have been set via the static
      "health" check done via mod_proxy).
      
      Some flow improvements...
      
      Submitted by: jim, rjung, jim, jim, jim, jim, jim, jim, rjung, jim, jim, rjung, rjung, rjung, jim, jim, olegk, jim, jim
      Reviewed/backported by: jim
      
      
      git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x@1744951 13f79535-47bb-0310-9956-ffa450edef68
      27853774