Skip to content
  1. Sep 19, 2016
  2. Sep 17, 2016
  3. Sep 15, 2016
  4. Sep 13, 2016
  5. Sep 12, 2016
  6. Sep 11, 2016
  7. Sep 10, 2016
  8. Sep 09, 2016
  9. Sep 07, 2016
  10. Sep 06, 2016
  11. Sep 03, 2016
  12. Sep 01, 2016
  13. Aug 31, 2016
  14. Aug 30, 2016
  15. Aug 29, 2016
    • Jacob Champion's avatar
      mpm_winnt: clear OVERLAPPED structs before reuse · 82764bd9
      Jacob Champion authored
      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.)
      
      git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1758310 13f79535-47bb-0310-9956-ffa450edef68
      82764bd9
    • Jacob Champion's avatar
      mpm_winnt: remove duplication of ap_process_connection · d64bc3e4
      Jacob Champion authored
      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.
      
      git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1758309 13f79535-47bb-0310-9956-ffa450edef68
      d64bc3e4
    • Jacob Champion's avatar
      mpm_winnt: remove the AcceptEx data network bucket · 57ae9eb2
      Jacob Champion authored
      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.
      
      git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1758308 13f79535-47bb-0310-9956-ffa450edef68
      57ae9eb2
    • Jacob Champion's avatar
      mpm_winnt: remove 'data' AcceptFilter in favor of 'connect' · f6070d35
      Jacob Champion authored
      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
      
      git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1758307 13f79535-47bb-0310-9956-ffa450edef68
      f6070d35