aboutsummaryrefslogtreecommitdiff
path: root/crates
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | Handle panics from circuit construction.Nick Mathewson2022-02-182-3/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We handle them by reporting them to task that's waiting for the circuit, then relaying the panic. Doing so allows the waiting task to distinguish panics (EK::Internal) from cases where the reactor dropped the task entirely (EK::ReactorShuttingDown). And doing _that_ removes one case of EK::Canceled, which helps us on our goals towards #348. Closes #347.
| * | | Move the main body of our circuit-launching task into a new functionNick Mathewson2022-02-181-47/+55
| | |/ | |/| | | | | | | This reduces our nesting, and will help us handle panics.
* | | Merge branch 'proxy-sooner' into 'main'eta2022-02-181-10/+16
|\ \ \ | | | | | | | | | | | | | | | | arti cli: socks proxy: Start listening immedately See merge request tpo/core/arti!333
| * | | arti cli: Add some anyhow context() callsIan Jackson2022-02-181-5/+8
| | | |
| * | | arti cli: socks proxy: Start listening immedatelyIan Jackson2022-02-181-4/+7
| | | | | | | | | | | | | | | | This makes arti less awkward to use.
| * | | arti cli: Do config watch setup before entering future selectIan Jackson2022-02-181-3/+3
| |/ / | | | | | | | | | IMO this clarifies things a bit, and makes things more deterministic.
* / / Fix typosDimitris Apostolou2022-02-181-2/+2
|/ /
* | Merge branch 'script-filenames' into 'main'eta2022-02-181-0/+0
|\ \ | |/ |/| | | | | Remove extension from scripts See merge request tpo/core/arti!328
| * rename *.py scripts to bare nameIan Jackson2022-02-181-0/+0
| | | | | | | | | | | | 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.
* | Merge branch 'no-http-status-err' into 'main'Ian Jackson2022-02-183-9/+18
|\ \ | |/ |/| | | | | | | | | dirclient: Remove HttpStatus error variant Closes #349 See merge request tpo/core/arti!329
| * dirclient: Remove HttpStatus error variantNick Mathewson2022-02-173-9/+18
| | | | | | | | | | | | | | Getting a non-200 status is no longer a failure condition; it's just a different kind of answer. Closes #349.
* | spelling fixNick Mathewson2022-02-171-1/+1
| |
* | Add #[display] annotations for remaining ErrorKinds.Nick Mathewson2022-02-171-0/+2
|/
* Merge branch 'remaining-errors'Nick Mathewson2022-02-1718-153/+508
|\
| * Use TorConnectionFailed for failure to download directory.Nick Mathewson2022-02-172-9/+1
| |
| * Clarify state vs cache in ErrorKindNick Mathewson2022-02-171-4/+20
| |
| * Correct ErrorKinds for some tor-dirclient errors.Nick Mathewson2022-02-172-2/+10
| |
| * Rename CircuitTimeout to TorNetworkTimeout.Nick Mathewson2022-02-172-6/+7
| |
| * Rename ExitTimeout to RemoteNetworkTimeout.Nick Mathewson2022-02-174-4/+4
| |
| * tor_circmgr::Error: Sort variants by interesting-ness.Nick Mathewson2022-02-171-37/+37
| | | | | | | | We can't use discriminants here now, but maybe we can in the future.
| * Tweak documentation on ErrorKind::TransientNick Mathewson2022-02-171-5/+4
| |
| * tor-dirmgr: Use Bug type for sqlite-detected bugsIan Jackson2022-02-171-1/+9
| | | | | | | | So we get a stack trace
| * tor-dirmgr: Make sqlite_error_kind take rusqlite::ErrorIan Jackson2022-02-171-32/+34
| | | | | | | | | | We're about to reuse this and we'll want it to take the higher-level type. Also it seems more proper like this.
| * tor-error: splitting/lumping guidelinesIan Jackson2022-02-171-0/+32
| |
| * tor-dirclient: Error::HttpError: add a TODO saying to abolishIan Jackson2022-02-171-0/+4
| |
| * ErrorKind::RemoteRefused: Expand on description, narrowing scopeIan Jackson2022-02-171-0/+3
| |
| * ErrorKind::Csnceled: Expand on descriptionIan Jackson2022-02-171-0/+3
| |
| * ErrorKind::CircuitTimeout: Expand on descriptionIan Jackson2022-02-171-1/+2
| |
| * ErrorKind::DirectoryExpired: Add possible deprecation notesIan Jackson2022-02-171-0/+6
| |
| * tor-circmgr: errors: Use autoconversion for BugIan Jackson2022-02-171-2/+2
| |
| * tor_error: a couple of spelling/formatting issuesNick Mathewson2022-02-161-4/+4
| |
| * Finally remove ErrorKind::TODO.Nick Mathewson2022-02-161-8/+0
| | | | | | | | Closes #322.
| * arti_client: provide Kinds for all errors.Nick Mathewson2022-02-162-1/+26
| |
| * dirmgr: Remember where netdocs came from.Nick Mathewson2022-02-165-16/+61
| | | | | | | | | | This isn't complete (see TODO), but it's enough to let us report the right ErrorKind if something fails to parse.
| * dirmgr: eliminate StringParsingError.Nick Mathewson2022-02-164-29/+23
| | | | | | | | | | | | | | | | It had too many possible Kinds depending on what kind of string had failed to parse. I decided to use #[source] here instead of #[from], so that we would have to explicitly convert these errors where they show up.
| * dirmgr: HasKind for internal and sqlite errorsNick Mathewson2022-02-162-13/+54
| | | | | | | | | | At first I had thought that all sqlite errors would be internal, but that's not the case.
| * dirmgr: implement HasKind for the easier variantsNick Mathewson2022-02-162-10/+61
| |
| * Implement HasKind for tor_dirclient::ErrorNick Mathewson2022-02-162-0/+25
| |
| * dirclient: remove an unused error type.Nick Mathewson2022-02-161-4/+0
| |
| * Clarify and rename PendingCanceledNick Mathewson2022-02-162-8/+9
| | | | | | | | | | | | | | | | From its old name, this error had implied that we were giving no useful information when we were waiting on a pending cirucit request that failed. In fact, this error would only happen if we dropped the `mpsc::Sender` for a circuit attempt without reporting success or failure.
| * Provide a better ErrorKind from RetryError.Nick Mathewson2022-02-161-3/+26
| | | | | | | | (Instead of reporting the _last_ error, report the _worst_ error.)
| * circmgr: Add a Kind for speculative guard failure.Nick Mathewson2022-02-162-1/+13
| | | | | | | | | | | | | | | | | | | | These errors should almost never be seen by the user; we should instead retry the circuit. But they _can_ be seen by the use if selecting a guard takes too long, or too many attempts. (Therefore, they aren't true "internal" errors.) I suspect that we might not want to keep this TransientFailure kind, but I'm not sure what else to do here for now.
| * Add kinds for *most* circmgr errors.Nick Mathewson2022-02-167-35/+104
| | | | | | | | There are a couple of tricky ones I'll do separately.
| * circmgr: Port InternalError to use Bug.Nick Mathewson2022-02-163-6/+12
| |
* | Fix compilation on mainNick Mathewson2022-02-171-1/+2
| |
* | Merge branch 'clippy-followup' into 'main'Nick Mathewson2022-02-172-3/+4
|\ \ | | | | | | | | | | | | Remove some needless refs and slicing See merge request tpo/core/arti!327
| * | Avoid recursive From implsIan Jackson2022-02-172-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | These (&foo).into() constructions are needed so we use the implemnetation of `From<&Foo>`, not a recursive call to this very function. This is a partial revert of the previous commit. I'm making this a separate commit for the benefit of posterity.
| * | Remove some needless refs and slicingIan Jackson2022-02-173-6/+6
| | | | | | | | | | | | | | | Prompted by nightly's clippy (which has some false positives, so is currently disabled).
| * | Add a comment about "&mut [&mut ]"Ian Jackson2022-02-171-0/+1
| | |
* | | Merge branch 'issue-325' into 'main'eta2022-02-172-26/+84
|\ \ \ | | | | | | | | | | | | | | | | Make CircMap open_ent_count O(1) See merge request tpo/core/arti!302