1. 06 Sep, 2016 4 commits
    • Jim Jagielski's avatar
      Merge r1758307, r1758308, r1758309, r1758311 from trunk: · 0a4ab924
      Jim Jagielski authored
      mpm_winnt: remove 'data' AcceptFilter in favor of 'connect'
      
      The 'data' AcceptFilter optimization instructs Windows to wait until
      data is received on a connection before completing the AcceptEx
      operation. Unfortunately, it seems this isn't performed atomically --
      AcceptEx "partially" accepts the incoming connection during the wait for
      data, leaving all other incoming connections in the accept queue. This
      opens the server to a denial of service.
      
      Since the fix for this requires a substantial rearchitecture (likely
      involving multiple outstanding calls to AcceptEx), disable the 'data'
      filter for now and replace it with 'connect', which uses the AcceptEx
      interface but does not wait for data.
      
      Users running prior releases of httpd on Windows should explicitly move
      to a 'connect' AcceptFilter in their configurations if they are
      currently using the default 'data' filter.
      
      Many thanks to mludha, Arthur Ramsey, Paul Spangler, and many others for
      their assistance in tracking down and diagnosing this issue.
      
      PR: 59970
      
      mpm_winnt: remove the AcceptEx data network bucket
      
      Follow-up to the prior commit: without an incoming data buffer, the
      custom network bucket code is now orphaned and we can remove it
      entirely. This has the added benefit that we are no longer using the
      internal OVERLAPPED.Pointer field, which is discouraged by the MSDN
      docs.
      
      mpm_winnt: remove duplication of ap_process_connection
      
      Further follow-up to the previous commit: now that we no longer patch a
      network bucket into the brigade, we can revert to calling
      ap_process_connection() directly instead of duplicating its logic.
      
      docs: rebuild
      Submitted by: jchampion
      Reviewed/backported by: jim
      
      
      git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x@1759471 13f79535-47bb-0310-9956-ffa450edef68
      0a4ab924
    • Jim Jagielski's avatar
      Merge r1758310 from trunk: · bbe5a751
      Jim Jagielski authored
      mpm_winnt: clear OVERLAPPED structs before reuse
      
      MSDN documentation states that
      
          Any unused members of [an OVERLAPPED] structure should always be
          initialized to zero before the structure is used in a function call.
          Otherwise, the function may fail and return ERROR_INVALID_PARAMETER.
      
      Prior to this patch, the internal state left over from previous
      overlapped I/O was passed into the next call. It's unclear what effect
      this might have, if any. (I have not personally witnessed an
      ERROR_INVALID_PARAMETER myself.)
      Submitted by: jchampion
      Reviewed/backported by: jim
      
      
      git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x@1759470 13f79535-47bb-0310-9956-ffa450edef68
      bbe5a751
    • Jim Jagielski's avatar
      Merge r1756852, r1756853 from trunk: · c6f08a39
      Jim Jagielski authored
      Be more consistent when we alocate this brigade.
      This should save a few bytes in case of early exit and is, IMHO, cleaner.
      
      Fix some style (spaces only)
      Submitted by: jailletc36
      Reviewed/backported by: jim
      
      
      git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x@1759469 13f79535-47bb-0310-9956-ffa450edef68
      c6f08a39
    • Jim Jagielski's avatar
      Merge r1756846 from trunk: · 9895d79a
      Jim Jagielski authored
      Remove unused typedef uthn_dbd_conf
      Submitted by: jailletc36
      Reviewed/backported by: jim
      
      
      git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x@1759468 13f79535-47bb-0310-9956-ffa450edef68
      9895d79a
  2. 05 Sep, 2016 1 commit
  3. 01 Sep, 2016 3 commits
  4. 31 Aug, 2016 1 commit
  5. 30 Aug, 2016 7 commits
  6. 29 Aug, 2016 2 commits
  7. 28 Aug, 2016 2 commits
  8. 27 Aug, 2016 2 commits
  9. 26 Aug, 2016 1 commit
  10. 25 Aug, 2016 15 commits
  11. 24 Aug, 2016 2 commits