1. 29 Oct, 2021 18 commits
  2. 28 Oct, 2021 16 commits
  3. 27 Oct, 2021 6 commits
    • Nick Mathewson's avatar
      tor_circmgr: Refactor and re-enable build_timeout() test · b7c7c8ba
      Nick Mathewson authored
      The previous version of this test used the old, racy version of
      wait_for (see #149).  The new version is refactored so that
      simulated time is only allowed to advance after each step is done,
      so that we can actually be sure that each step in the process will
      happen as it should.
      In order to get the time-advances to proceed properly, and avoid
      polluting state between tests, I've had to introduce some machinery
      to encode the proper amount for time to advance.  It isn't something
      I'd want to use for a whole bunch of tests, but for just one set,
      it's fine.
      These tests now pass reliably for me.
      I wonder if a discrete-event-simulation approach (hello, Shadow)
      would let us write tests like these to our hearts' content?
    • Nick Mathewson's avatar
      Small FAQ update. · 3c82666d
      Nick Mathewson authored
    • Nick Mathewson's avatar
      Add missing entries to Architecture.md · 01894dcd
      Nick Mathewson authored
    • Nick Mathewson's avatar
      Upgrade to fslock version 0.2 · 2fae63b5
      Nick Mathewson authored
      This version makes all locks per-handle rather than per-process, by
      moving from lockf() to flock() on unix.
    • eta's avatar
      Improve and future-proof the `arti` CLI · 4fa0122d
      eta authored
      This switches out `arti`'s argument-parsing library with `clap`, which
      is a lot more featureful (and very widely used within the Rust
      ecosystem). We also now use a lot of `clap`'s features to improve the
      CLI experience:
      - The CLI now expects a subcommand (currently, either "help", or "proxy"
        for the existing SOCKS proxy behaviour). This should let us add
        additional non-SOCKS-proxy features to arti in future.
      - `clap` supports default values determined at runtime, so the way the
        default config file is loaded was changed: now, we determine the
        OS-specific path for said file before invoking `clap`, so the help
        command can show it properly.
        - The behaviour of `tor_config` was also changed; now, one simply
          specifies a list of configuration files to load, together with
          whether they're required.
        - That function also way overused generics; this has been fixed.
      - Instead of using the ARTI_LOG environment variable to configure
        logging, one now uses the `-l, --log-level` CLI option.
        (The intent is for this option to be more discoverable by users.)
      - The `proxy` subcommand allows the user to override the SOCKS port used
        on the CLI without editing the config file.
    • Nick Mathewson's avatar