1. 17 Jul, 2017 4 commits
    • Jim Jagielski's avatar
      Merge r1762580, r1762701, r1762702, r1762718, r1762723, r1762742, r1762743,... · b0d9c063
      Jim Jagielski authored
      Merge r1762580, r1762701, r1762702, r1762718, r1762723, r1762742, r1762743, r1774538, r1779354 from trunk:
      
      event: use atomics for *timeout_queue->total since it's updated concurrently,
      and move TO_QUEUE_*() macros to functions.
      
      
      event: add/remove from/to the pollset outside of the critical sections.
      
      We don't need external locking since it's created with APR_POLLSET_THREADSAFE,
      hence reduce those sections to the lowest cycles possible.
      
      A spinlock may be interesting instead of the mutex now, we won't block and the
      TO_QUEUE_*() and process_timeout_queue() operations are fast...
      
      
      
      event: follow up to r1762701: update log tag.
      
      event: avoid unnecessary listener/polling wake ups (context switches) by using
      apr_pollset_wakeup(), when implemented, to signal the listener according to the
      next timers or timeout queues expiry (updated at insert and maintenance time).
      
      
      
      Follow up to r1762718: CHANGES entry.
      
      event: follow up to r1762718.
      We still need to kill kept-alive connections in normal/expiry processing if
      the workers are busy or dying.
      
      
      
      event: follow up to r1762718 and r1762742: put de condition where it belongs.
      
      
      
      event: follow up to r1762718.
      
      On graceful shutdown/restart, kill kept-alive connections before poll()ing
      again, avoiding to wait for their "normal" timers (before being woken up)
      when they remain the last handled connections.
      
      
      
      event: follow up to r1762701.
      Keep QUEUE_APPEND()+pollset_add() or QUEUE_REMOVE()+pollset_remove() atomic.
      
      Otherwise when a worker adds an entry in some queue (e.g. KA, lingering), it
      might race with the listener in the time between the mutex is released and the
      pollset is updated; meanwhile the listener might process the queue and find an
      entry no yet in its pollset.
      
      For the lingering queue, the entry could then have been used after its pool
      destroyed.
      
      Submitted by: ylavic
      Reviewed by: ylavic, icing, jim
      
      
      git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x@1802146 13f79535-47bb-0310-9956-ffa450edef68
      b0d9c063
    • Jim Jagielski's avatar
      Merge r1754164, r1801994, r1801995 from trunk: · ca6bf55c
      Jim Jagielski authored
      mod_proxy_wstunnel: we want to detect whether some response was sent to
      the client when forwarding data from the backend to the client, not the
      reverse.
      
      
      Follow up to r1754164: CHANGES entry.
      
      Follow up to r1801994: CHANGES' PR reference.
      Submitted by: ylavic
      Reviewed by: ylavic, jchampion, jim
      
      
      git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x@1802144 13f79535-47bb-0310-9956-ffa450edef68
      ca6bf55c
    • Yann Ylavic's avatar
      Credits. · e51a3d94
      Yann Ylavic authored
      git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x@1802129 13f79535-47bb-0310-9956-ffa450edef68
      e51a3d94
    • Yann Ylavic's avatar
      Add CHANGES' security entries for 2.4.27. · dcfafbeb
      Yann Ylavic authored
      git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x@1802121 13f79535-47bb-0310-9956-ffa450edef68
      dcfafbeb
  2. 08 Jul, 2017 1 commit
  3. 06 Jul, 2017 5 commits
  4. 04 Jul, 2017 3 commits
  5. 03 Jul, 2017 1 commit
  6. 29 Jun, 2017 1 commit
  7. 26 Jun, 2017 1 commit
    • Jim Jagielski's avatar
      Merge r1799784, r1799786 from trunk: · e7c35344
      Jim Jagielski authored
      Since r1753257, "HEAD" method is registered into the registry hash with the M_GET ID.
      (r1757672 in 2.4.x)
      
      We iterate over all the values of the registery, so there is no need anymore to have a special case for "HEAD" in  'make_allow()'. It has its own entry now.
      
      With the current code, we have "HEAD" 3 times in the Allow Header field.
      This is because we find M_GET 2 times in the registry hash. The first one gives "GET" and "HEAD" (as the special handling), and the second "HEAD" and "HEAD" (as the special handling).
      
      
      BTW, use APR_ARRAY_PUSH instead of hand coding it, in oder to have the code more readable.
      
      PR 61207
      
      Add  CHANGE entry
      Submitted by: jailletc36
      Reviewed by: jailletc36, rpluem, jim
      
      
      git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x@1799890 13f79535-47bb-0310-9956-ffa450edef68
      e7c35344
  8. 19 Jun, 2017 2 commits
  9. 14 Jun, 2017 1 commit
  10. 13 Jun, 2017 1 commit
  11. 12 Jun, 2017 1 commit
  12. 06 Jun, 2017 1 commit
  13. 05 Jun, 2017 2 commits
  14. 02 Jun, 2017 1 commit
  15. 30 May, 2017 6 commits
  16. 28 May, 2017 1 commit
  17. 27 May, 2017 4 commits
  18. 23 May, 2017 1 commit
    • Jim Jagielski's avatar
      Merge r1792589 from trunk: · 0e4494a2
      Jim Jagielski authored
      Evaluate nested If/ElseIf/Else config sections
      
      It has been reported multiple times that nested
      If/ElseIf/Else sections are not evaluated but
      silently ignored.
      
      This patch adds a simple recursion to the ap_if_walk
      logic in order to allow arbitrary nested configs.
      The overhead seems negligible compared to the actual
      version of the ap_if_walk, but more expert feedback
      is surely needed since this code gets called for every
      HTTP request.
      
      Tests are going to be added to t/apache/if_sections.t
      
      
      Submitted by: elukey
      Reviewed by: elukey, jim, yalvic
      
      
      git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x@1795906 13f79535-47bb-0310-9956-ffa450edef68
      0e4494a2
  19. 11 May, 2017 1 commit
    • Eric Covener's avatar
      Merge r1791400 from trunk: · 53463dbf
      Eric Covener authored
      mod_substitute: use local/native LF for splitting
      
      On platforms where the APR_ASCII_LF != '\n', like EBCDIC systems,
      strmatch or pcre patterns from the source or config will be in
      the native encoding, and this module will really only work on 
      content in the native encoding.
      
      (mod_substitute runs before mod_charset_lite for a similar reason)
      
      I thought #if APR_CHARSET_EBCDIC or even #ifdef __MVS__ was overkill
      here. 
      
      
      
      (CTR due to ebcdic-only)
      
      
      git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x@1794856 13f79535-47bb-0310-9956-ffa450edef68
      53463dbf
  20. 05 May, 2017 1 commit
  21. 02 May, 2017 1 commit