Skip to content
Snippets Groups Projects
  1. Mar 23, 2022
    • 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
  2. Mar 14, 2022
  3. Mar 11, 2022
  4. Mar 07, 2022
    • Ian Jackson's avatar
    • Ian Jackson's avatar
      Have ArtiConfig contain a TorClientConfig, and drop builder retcon · 56cb1cef
      Ian Jackson authored
      Replace the recapitulation of TorClientConfig fields in ArtiConfig and
      instead just have it contain one.  This is part of #374.
      
      The conversions from ArtiConfig back to ArtiConfigBuilder and
      TorClientConfigBuilder would need to change, but, since we don't want
      them anyway,
      
      No longer impl Deserialize for ArtiConfig.  (As per #371 this will
      want to become a private type.)
      
      No longer impl From<ArtiConfig> for ArtiConfigBuilder and
      TorClientConfigBuilder.  And abolish tests of that code.
      
      (This all has to be in one commit, because previously
      ArtiConfig::tor_client_config used the validated-to-builder config
      retcon.)
      56cb1cef
  5. Mar 04, 2022
    • Nick Mathewson's avatar
      Add a from_hex method for RsaIdentity. · b6452b48
      Nick Mathewson authored
      We perform this operation in a bunch of places, and most of them
      use hex::decode().  That's not great, since hex::decode() has to do
      heap allocation.  This implementation uses hex::decode_to_slice(),
      which should be faster.
      
      (In the future we might choose to use one of the faster hex
      implementations, but I'm hoping that this change will be sufficient
      to get hex decoding out of our profiles.)
      
      Part of #377.
      b6452b48
  6. Mar 03, 2022
    • Nick Mathewson's avatar
      arti-client: Make dirmgr() and circmgr() return &Arc<..> · a4914b99
      Nick Mathewson authored
      Previously they returned an Arc, which wasn't necessary unless the
      client actually _wanted_ a new Arc.
      
      This would be an API break, except that these functions are marked
      'experimental-api', so semver does not apply; nonetheless I've noted
      the break in semver_status.md, just in case we care.
      
      Closes #369
      a4914b99
  7. Mar 01, 2022
  8. Feb 28, 2022
  9. Feb 18, 2022
    • Ian Jackson's avatar
      rename *.py scripts to bare name · 1c301230
      Ian Jackson authored
      Update all references.  There are three remaining hits for
        git-grep '\.py\b'
      all of which are scripts in "little-t-tor", not here in arti.
      1c301230
    • Ian Jackson's avatar
      rename *.sh scripts to bare name · 9aefbf42
      Ian Jackson authored
      As per #309
      
      Update all references.  There is one remaining hit for
        git-grep '\.sh\b'
      namely "build.sh" in maint/reproducible_build, which I think is
      the build script for osxcross - ie, an external project.
      9aefbf42
  10. Feb 10, 2022
  11. Feb 04, 2022
  12. Feb 02, 2022
  13. Jan 31, 2022
  14. Jan 27, 2022
  15. Jan 21, 2022
  16. Jan 20, 2022
  17. Jan 19, 2022
  18. Jan 18, 2022
  19. Jan 16, 2022
  20. Jan 11, 2022
  21. Dec 08, 2021
Loading