Skip to content
  1. Aug 04, 2018
  2. Aug 03, 2018
  3. Aug 01, 2018
  4. Jul 31, 2018
  5. Jul 30, 2018
  6. Jul 27, 2018
  7. Jul 26, 2018
  8. Jul 25, 2018
  9. Jul 24, 2018
    • Yann Ylavic's avatar
      mod_proxy_http: forward 100-continue. · 5b92eb42
      Yann Ylavic authored
      Handle end-to-end 100-continue, according to RFC 7231, such that the client
      request body is not read/forwarded (according to its "Expect:" header) until
      the backend wants to receive it (with interim 100 continue response), or never
      forwarded if the backend provides a (non-interim) response and doesn't need
      the client body at all.
      
      This is achieved by filling the header_brigade in ap_proxy_http_prefetch()
      and letting ap_proxy_http_request() determine whether it should forward that
      brigade only (with the "Expect: 100-continue" specified by the client or added
      according to "ping=" configuration), or forward the whole body for the usual
      case (as before).
      
      When 100-continue expectation is in place, the body is actually forwarded by
      ap_proxy_http_process_response() when/if a "100 continue" response is sent by
      the backend, otherwise the body is discarded; a future enhancement could make
      so that in a balancer configuration, the body could be forwarded to another
      balancer member depending on the status/error from the backend.
      
      So stream_reqbody_cl() and stream_reqbody_chunked() functions are adapted to be
      called by either ap_proxy_http_request() or ap_proxy_http_process_response(),
      while spool_reqbody_cl() still spools the body in ap_proxy_http_prefetch() thus
      before the backend is connected/reused to avoid inactivity on the connection
      for the prefetch time (the prefetched body is also forwarded according to the
      100-continue expectation, though).
      
      Also, since the brigades and other runtime objects now need to be shared by the
      ap_proxy_http_*() functions chain, a proxy_http_req_t struct/context is created
      from the start and passed to them as (the single) argument. This is also a good
      candidate for a future async baton, if we wanted to let the MPM event wait for
      connection data for us at any stage and be called back ;)
      
      Finally, ap_send_interim_response() is modified to correcly handle 100 continue
      responses once, and take care of clearing r->expecting_100 only for them.
      
      PR 60330.
      
      
      
      git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1836588 13f79535-47bb-0310-9956-ffa450edef68
      5b92eb42
    • Joe Orton's avatar
      * modules/ssl/ssl_engine_pphrase.c: Fix linking against OpenSSL without · a45c7956
      Joe Orton authored
        ENGINE support.
      
      PR: 62563
      
      
      git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1836547 13f79535-47bb-0310-9956-ffa450edef68
      a45c7956
  10. Jul 23, 2018