Skip to content
Snippets Groups Projects
  1. Mar 30, 2022
    • eta's avatar
      Make daemon tasks self-contained; introduce NetDirProvider · ac64bdea
      eta authored
      The various background daemon tasks that `arti-client` used to spawn are
      now handled inside their respective crates instead, with functions
      provided to spawn them that return `TaskHandle`s.
      
      This required introducing a new trait, `NetDirProvider`, which steals
      some functionality from the `DirProvider` trait to enable `tor-circmgr`
      to depend on it (`tor-circmgr` is a dependency of `tor-dirmgr`, so it
      can't depend on `DirProvider` directly).
      
      While we're at it, we also make some of the tasks wait for events from
      the `NetDirProvider` instead of sleeping, slightly increasing
      efficiency.
      ac64bdea
    • eta's avatar
      Merge branch 'no-system-time' into 'main' · fd081742
      eta authored
      Don't use SystemTime::now()
      
      Closes #306
      
      See merge request tpo/core/arti!365
      fd081742
  2. Mar 29, 2022
  3. Mar 28, 2022
  4. Mar 27, 2022
  5. Mar 25, 2022
  6. Mar 24, 2022
  7. Mar 23, 2022
    • eta's avatar
      Implement a periodic task scheduler, and a basic dormant mode · 1ca79ff9
      eta authored
      This is a revised version of !397; it implements a scheduling system for
      periodic tasks that can be externally controlled, and then uses the
      external control aspect to implement a basic dormant mode (#90).
      
      More technically, the scheduling system consists of a `Stream` that
      periodic tasks are expected to embed in a `while` loop or similar, a
      way for tasks themselves to choose how long to wait until the stream
      next yields a result, and a handle to control this outside of the task.
      1ca79ff9
    • Nick Mathewson's avatar
      Merge branch 'netinfo-clock-skew' into 'main' · 791394cd
      Nick Mathewson authored
      tor-proto: add the ability to learn clock skew from NETINFO cells
      
      See merge request tpo/core/arti!410
      791394cd
    • Nick Mathewson's avatar
      tor-proto: better errors when handshake fails due to untimely certs · 0b2cf533
      Nick Mathewson authored
      We now check the handshake certificates unconditionally, and only
      report them as _expired_ as a last resort.
      
      (Rationale: if somebody is presenting the wrong identity from a year
      ago, it is more interesting that they are presenting the wrong ID
      than it is that they are doing so with an expired cert.
      
      We also now report a different error if the certificate is expired,
      but its expiration is within the range of reported clock skew.
      
      (Rationale: it's helpful to distinguish this case, so that we can
      blame the failure on possible clock skew rather than definitely
      attributing it to a misbehaving relay.)
      
      Part of #405.
      0b2cf533
    • Nick Mathewson's avatar
      tor-proto: add a backend to detect reported clock skew. · 3885a2c0
      Nick Mathewson authored
      NETINFO cells, which are sent in every handshake, may contain
      timestamps.  This patch adds an accessor for the timestamp in the
      Netinfo messages, and teaches the tor-proto code how to compute the
      minimum clock skew in the code.
      
      The computation isn't terribly precise, but it doesn't need to be:
      Tor should work fine if your clock is accurate to within a few
      hours.
      
      This patch also notes a Y2038 problem in the protocol: see
      torspec#80.
      
      Part of #405.
      3885a2c0
    • eta's avatar
      Merge branch 'move-system-config' into 'main' · 082a968e
      eta authored
      Move SystemConfig to arti::cfg
      
      Closes #418 and #314
      
      See merge request tpo/core/arti!427
      082a968e
    • eta's avatar
      Merge branch 'more_iso_docs' into 'main' · c35bd79f
      eta authored
      Expand documentation for isolation traits
      
      See merge request tpo/core/arti!420
      c35bd79f
  8. Mar 21, 2022
Loading