summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
| * | Fix previously fixed typos in docs tooLennart Kloock2021-08-101-2/+2
| | |
| * | Fix a typo in tor-rtmock README.mdLennart Kloock2021-08-101-1/+0
| | | | | | | | | | | | Remove a '#'
| * | Fix a few typos in tor-rtcompat README.mdLennart Kloock2021-08-101-3/+3
| | |
| * | Fix typo in tor-rtcompat README.mdLennart Kloock2021-08-101-1/+1
| | | | | | | | | | | | Change 'if' to 'is'
* | | Fix documentation link issues.Nick Mathewson2021-08-123-4/+5
| | |
* | | Use real network parameter values to tune test circuits.Nick Mathewson2021-08-123-6/+30
| | | | | | | | | | | | Finishes #145.
* | | Periodically launch timeout-testing circuits.Nick Mathewson2021-08-122-35/+78
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Our path-spec says that, if we don't have enough build-time data to make a good estimate for our timeouts, we should periodically try launching testing circuits just to see how long they take to build. Here we implement that. The implementation is a bit wonky because of how our crates are factored; see arti#161 for more info. Closes #145. Closes #57.
* | | WIP: Launch testing circuits as needed to find timeoutsNick Mathewson2021-08-112-0/+64
| | | | | | | | | | | | This won't work yet, since it needs directories and doesn't have them.
* | | For timeout testing, support for "useless" circuits.Nick Mathewson2021-08-112-0/+32
| | | | | | | | | | | | | | | We need the idea of launching a circuit for timeout testing, and getting something that either exits someplace or exits noplace at all.
* | | tor-client: remove workaround now that #155 is in.Nick Mathewson2021-08-111-10/+0
| | |
* | | Add ability to launch a circuit to _some_ exit, without giving ports.Nick Mathewson2021-08-113-3/+67
| | | | | | | | | | | | | | | | | | We'll want this for testing circuits and for RESOLVE requests. Closes #155.
* | | Add functions to check whether port policies are nonempty.Nick Mathewson2021-08-112-1/+33
| | |
* | | fallbackdir: Regenerate listDavid Goulet2021-08-111-869/+879
| | | | | | | | | | | | | | | | | | Closes #160 Signed-off-by: David Goulet <[email protected]>
* | | Bump to latest arti-corpora.Nick Mathewson2021-08-111-0/+0
| | |
* | | Upgrade to latest fslock and use its per-fd exclusion feature.Nick Mathewson2021-08-116-23/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The latest version of the fslock crate has an optional feature that allows file-locks to exclude one another even if they are opened within the same process. On Windows this behavior comes for free; on Unix it depends on an internal map of (dev,inode) pairs. Here we upgrade to the latest version of the fslock crate, and use this feature.
* | | Use the correct unused-circuit timeout when we're learning timeouts.Nick Mathewson2021-08-105-5/+32
|/ /
* | Make a basic daemon task to close circuits.Nick Mathewson2021-08-102-7/+41
| | | | | | | | | | | | The timing is not ideal here; we'll want to refactor it later. Closes #51
* | Use real network parameters to set unused-circ timeouts.Nick Mathewson2021-08-105-5/+110
| |
* | Initial code to expire unused circuits.Nick Mathewson2021-08-103-39/+121
| |
* | Make MAX_CIRC_DIRTINESS configurable.Nick Mathewson2021-08-104-14/+46
| |
* | Note functionality that maybe could move.Nick Mathewson2021-08-101-0/+5
| |
* | Have CircMgr::new() return an Arc<>.Nick Mathewson2021-08-102-9/+10
| |
* | Update state.rs info messageBen Armstead2021-08-091-1/+1
| |
* | Merge remote-tracking branch 'origin/mr/51'Nick Mathewson2021-08-091-7/+21
|\ \
| * | shrink result to actual number of bytes read once on returnFelipe Lema2021-08-051-6/+8
| | |
| * | fix clippy::redundant_slicingFelipe Lema2021-08-051-1/+1
| | |
| * | use loop + `read` + slice-of-resultFelipe Lema2021-08-051-20/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | Loop into several reads because we want to short-circuit if case we're reading too many bytes. Added handling of allocation of `result` so we can use the "next window buffer" for `read`. This way we can read on steps and short-circuit when needed.
| * | read from stream in a single go (not looping)Felipe Lema2021-08-031-27/+21
| | |
| * | don't use intermediate buffer, but read directly into `result`Felipe Lema2021-08-031-3/+1
| | |
* | | Refactor double_timeout() to make its timeouts futures in advanceNick Mathewson2021-08-091-2/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since these futures rely on the current time when they decide when to expire, we don't want them looking at the current time from inside the call to runtime.spawn or after that call. Instead we'd like them to look immediately on construction. This approach is based on a comment from janimo on #149. It doesn't fix #149, though.
* | | Light edits on CONTRIBUTING.mdNick Mathewson2021-08-091-9/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Mainly, drop the suggestion to fetch submodules, and explain what more things do. (The only submodule we have now is the fuzzing corpora, which most people won't want.) (I am not 100% convinced that we should keep 100% of the instructions for working with git in the long term. Do many other projects have these? Is there a tutorial we should link to instead?)
* | | Merge remote-tracking branch 'origin/mr/54'Nick Mathewson2021-08-091-0/+63
|\ \ \
| * | | WIP: Add development environment setup tipsS0AndS02021-08-061-0/+63
| | | |
* | | | Flush persistent state periodically, and on (clean-ish) exit.Nick Mathewson2021-08-094-10/+98
| | | |
* | | | Don't try to lock an already-locked lockfile.Nick Mathewson2021-08-091-2/+5
| | | | | | | | | | | | | | | | Also, remove a dbg
* | | | Implement initial persistence for circuit timeout dataNick Mathewson2021-08-0610-30/+214
| | | | | | | | | | | | | | | | | | | | There's more to do here: we never actually store the data we get here, and we won't work at all when somebody else has the lock.
* | | | Initial persistent-state-manager code.Nick Mathewson2021-08-065-0/+311
| | | | | | | | | | | | | | | | | | | | | | | | This commit defines a crate (tor-persist) that describes an abstract key-value store using serde, plus an on-disk implementation using Toml and fslock.
* | | | Add unnecessary_wraps to the big warning list.Nick Mathewson2021-08-0626-1/+26
|/ / /
* | | Update READMEs.Nick Mathewson2021-08-063-11/+15
| | |
* | | Update arti-corpora to latest.Nick Mathewson2021-08-062-1/+1
| | |
* | | Simplify SqliteStore::from_pathNick Mathewson2021-08-061-10/+4
| | |
* | | Missing tor-circmgr/src/config.rsNick Mathewson2021-08-051-0/+67
| | |
* | | Update to rsa 0.5.0. Minor compatibility issues.Nick Mathewson2021-08-052-5/+6
| | |
* | | Make circuit building and management configurable from the CLI.Nick Mathewson2021-08-053-3/+44
| | |
* | | Add a configuration structure for CircMgr.Nick Mathewson2021-08-0510-39/+127
| | | | | | | | | | | | | | | | | | This patch makes path configuration and request timing options get exposed up to the tor-client level. I'm trying `derive_build` here so we can eventually get consistent across all our builders.
* | | Small cleanups and tweaks to same_subnet code.Nick Mathewson2021-08-052-44/+48
| | |
* | | Merge remote-tracking branch 'origin/mr/45'Nick Mathewson2021-08-053-11/+92
|\ \ \
| * | | Support EnforceDistinctSubnetsSmitty2021-08-013-11/+92
| |/ / | | | | | | | | | | | | Relays on the same IPv4 /16 or IPv6 /32 are treated as being in the same family.
* | | Remove spurious "exit 0"Nick Mathewson2021-08-041-2/+0
| | |
* | | Add my "fuzz everything" script that I like to run overnightNick Mathewson2021-08-041-0/+47
| | |