Skip to content
Snippets Groups Projects
  1. Jan 15, 2021
  2. Jan 12, 2021
  3. Dec 16, 2020
  4. Dec 15, 2020
  5. Dec 02, 2020
    • Patrick Cloke's avatar
      Apply an IP range blacklist to push and key revocation requests. (#8821) · 30fba621
      Patrick Cloke authored
      Replaces the `federation_ip_range_blacklist` configuration setting with an
      `ip_range_blacklist` setting with wider scope. It now applies to:
      
      * Federation
      * Identity servers
      * Push notifications
      * Checking key validitity for third-party invite events
      
      The old `federation_ip_range_blacklist` setting is still honored if present, but
      with reduced scope (it only applies to federation and identity servers).
      30fba621
  6. Nov 16, 2020
  7. Nov 15, 2020
  8. Sep 29, 2020
    • Richard van der Hoff's avatar
      Fix handling of connection timeouts in outgoing http requests (#8400) · 1c262431
      Richard van der Hoff authored
      
      * Remove `on_timeout_cancel` from `timeout_deferred`
      
      The `on_timeout_cancel` param to `timeout_deferred` wasn't always called on a
      timeout (in particular if the canceller raised an exception), so it was
      unreliable. It was also only used in one place, and to be honest it's easier to
      do what it does a different way.
      
      * Fix handling of connection timeouts in outgoing http requests
      
      Turns out that if we get a timeout during connection, then a different
      exception is raised, which wasn't always handled correctly.
      
      To fix it, catch the exception in SimpleHttpClient and turn it into a
      RequestTimedOutError (which is already a documented exception).
      
      Also add a description to RequestTimedOutError so that we can see which stage
      it failed at.
      
      * Fix incorrect handling of timeouts reading federation responses
      
      This was trapping the wrong sort of TimeoutError, so was never being hit.
      
      The effect was relatively minor, but we should fix this so that it does the
      expected thing.
      
      * Fix inconsistent handling of `timeout` param between methods
      
      `get_json`, `put_json` and `delete_json` were applying a different timeout to
      the response body to `post_json`; bring them in line and test.
      
      Co-authored-by: default avatarPatrick Cloke <clokep@users.noreply.github.com>
      Co-authored-by: default avatarErik Johnston <erik@matrix.org>
      1c262431
  9. Sep 10, 2020
  10. Sep 04, 2020
  11. Sep 01, 2020
  12. Aug 27, 2020
  13. Jul 30, 2020
  14. Jul 23, 2020
  15. Jul 03, 2020
  16. Jun 16, 2020
  17. Mar 24, 2020
    • Richard van der Hoff's avatar
      Clean up some LoggingContext stuff (#7120) · 39230d21
      Richard van der Hoff authored
      * Pull Sentinel out of LoggingContext
      
      ... and drop a few unnecessary references to it
      
      * Factor out LoggingContext.current_context
      
      move `current_context` and `set_context` out to top-level functions.
      
      Mostly this means that I can more easily trace what's actually referring to
      LoggingContext, but I think it's generally neater.
      
      * move copy-to-parent into `stop`
      
      this really just makes `start` and `stop` more symetric. It also means that it
      behaves correctly if you manually `set_log_context` rather than using the
      context manager.
      
      * Replace `LoggingContext.alive` with `finished`
      
      Turn `alive` into `finished` and make it a bit better defined.
      39230d21
  18. Mar 17, 2020
  19. Nov 01, 2019
    • Richard van der Hoff's avatar
      Support for routing outbound HTTP requests via a proxy (#6239) · 1cb84c64
      Richard van der Hoff authored
      The `http_proxy` and `HTTPS_PROXY` env vars can be set to a `host[:port]` value which should point to a proxy.
      
      The address of the proxy should be excluded from IP blacklists such as the `url_preview_ip_range_blacklist`.
      
      The proxy will then be used for
       * push
       * url previews
       * phone-home stats
       * recaptcha validation
       * CAS auth validation
      
      It will *not* be used for:
       * Application Services
       * Identity servers
       * Outbound federation
       * In worker configurations, connections from workers to masters
      
      Fixes #4198.
      1cb84c64
  20. Aug 20, 2019
  21. Aug 15, 2019
    • Erik Johnston's avatar
      Refactor MatrixFederationAgent to retry SRV. · f299c541
      Erik Johnston authored
      This refactors MatrixFederationAgent to move the SRV lookup into the
      endpoint code, this has two benefits:
      	1. Its easier to retry different host/ports in the same way as
      	   HostnameEndpoint.
      	2. We avoid SRV lookups if we have a free connection in the pool
      f299c541
    • Erik Johnston's avatar
      Retry well known on fail. · e6e136de
      Erik Johnston authored
      If we have recently seen a valid well-known for a domain we want to
      retry on (non-final) errors a few times, to handle temporary blips in
      networking/etc.
      e6e136de
  22. Aug 13, 2019
    • Erik Johnston's avatar
      Retry well-known lookup before expiry. · 17e1e807
      Erik Johnston authored
      This gives a bit of a grace period where we can attempt to refetch a
      remote `well-known`, while still using the cached result if that fails.
      
      Hopefully this will make the well-known resolution a bit more torelant
      of failures, rather than it immediately treating failures as "no result"
      and caching that for an hour.
      17e1e807
  23. Aug 07, 2019
  24. Aug 06, 2019
    • Erik Johnston's avatar
      Add a lower bound for TTL on well known results. · af9f1c07
      Erik Johnston authored
      It costs both us and the remote server for us to fetch the well known
      for every single request we send, so we add a minimum cache period. This
      is set to 5m so that we still honour the basic premise of "refetch
      frequently".
      af9f1c07
  25. Jul 31, 2019
  26. Jul 23, 2019
  27. Jul 03, 2019
  28. Jun 24, 2019
  29. Jun 20, 2019
  30. Jun 10, 2019
  31. Jun 06, 2019
    • Richard van der Hoff's avatar
      Stop hardcoding trust of old matrix.org key (#5374) · 9fbb20a5
      Richard van der Hoff authored
      There are a few changes going on here:
      
      * We make checking the signature on a key server response optional: if no
        verify_keys are specified, we trust to TLS to validate the connection.
      
      * We change the default config so that it does not require responses to be
        signed by the old key.
      
      * We replace the old 'perspectives' config with 'trusted_key_servers', which
        is also formatted slightly differently.
      
      * We emit a warning to the logs every time we trust a key server response
        signed by the old key.
      9fbb20a5
  32. Jun 05, 2019
  33. May 13, 2019
Loading