- Mar 21, 2022
-
-
Nick Mathewson authored
We already have the ability to get peer information from ChanMgr errors, and therefore from any RetryErrors that contain ChanMgr errors. This commit adds optional peer information to tor-proto errors, and a function to expose whatever peer information is available.
-
Nick Mathewson authored
-
Nick Mathewson authored
-
Nick Mathewson authored
It'll soon more convenient to pass in FallbackDirs as a slice of references, rather than just a slice of FallbackDirs: I'm going to be changing how we handle these in tor-dirmgr.
-
Nick Mathewson authored
If all guards are down and they won't be retriable for a while, try waiting that long to get whichever guard _is_ retriable. Additionally, if we are making multiple circuit plans in parallel, only report our planning as having failed if we failed at making _all_ the plans. Previously we treated any failure as fatal for the other plans, which could lead to trouble in the case when guards were all down or pending. Part of #407.
-
Nick Mathewson authored
When all guards are down, we would previously mark them all as up, and retry aggressively. But that's far too aggressive: if there's something wrong with our ability to connect to guards, it makes us hammer the network over and over, ignoring all the guard retry timeouts in practice. Instead, * We now allow the `pick_guard()` function to fail without automatically retrying. * We give different errors in the cases when all our guards are down, and when all of the guards selected by our active usage are down. * Our "guards are down" error includes the time at which a guard will next be retriable. This is part of #407.
-
Nick Mathewson authored
C tor used one schedule, and guard-spec specified another. But in reality we should probably use a randomized schedule to retry guards, for the reasons explained in the documentation for RetrySchedule. I've chosen the minima to be not too far from our previous minima for primary and non-primary guards. This is part of #407.
-
Nick Mathewson authored
-
Ian Jackson authored
UdpSocket: remove support for connect(). Closes #410 See merge request tpo/core/arti!424
-
Nick Mathewson authored
Combine logging config and implementation in arti lib crate See merge request tpo/core/arti!421
-
Ian Jackson authored
This was clumsy. Now it is brought together it can be simplified.
-
Ian Jackson authored
This de-duplicates the code that was in those accessors, and is now in filt_from_opt_str. Code motion and direct field access.
-
Ian Jackson authored
There are no longer needed, because the code that uses this configuration now lives in the same module as the configuration itself.
-
Ian Jackson authored
Code motion and import fixups.
-
Ian Jackson authored
We are going to move LoggingConfig here. We should follow the already-public name IMO.
-
Ian Jackson authored
Code motion and import fixups.
-
- Mar 18, 2022
-
-
Nick Mathewson authored
Abolish some accessors in drmgr See merge request tpo/core/arti!423
-
-
This makes this information crate-private. The crate can reasonably just access it.
-
-
-
Using accessors for crate-only fields is otiose.
-
Rename this to be named the same as its accessor, and use the rename feature of builder and serde. (The shorter name is nicer in the code IMO.)
-
Nick Mathewson authored
Currently, Arti doesn't need this. But once it does, it will be way better to have a separate type for connected sockets, rather than having to error-check every time somebody gives us a socket. Part of #410
-
Nick Mathewson authored
Actually throw an anyhow See merge request tpo/core/arti!422
-
Ian Jackson authored
Prompted by a compiler warning which I weirdly can't seem to reproduce?
-
Ian Jackson authored
ClientCirc: add functions to return the circuit's actual path Closes #415 See merge request tpo/core/arti!419
-
- Mar 17, 2022
-
-
Nick Mathewson authored
Use less space in hashtables for microdescriptors Closes #386 See merge request tpo/core/arti!415
-
Nick Mathewson authored
Closes #415
-
Ian Jackson authored
-
Ian Jackson authored
Alternative API for set_isolation_group(). See merge request tpo/core/arti!418
-
Nick Mathewson authored
Each channel now remembers an OwnedChanTarget. Each circuit now remembers a vector of OwnedChanTarget to represent the path that it was constructed for. Part of #415.
-
Ian Jackson authored
-
Ian Jackson authored
-
Ian Jackson authored
-
Nick Mathewson authored
This will help with #415
-
Nick Mathewson authored
Instead of requiring a `Box<dyn Isolation>`, it now takes either a `Box<dyn Isolation>`, or an arbitrary `T` that implements `Isolation`. This API still allows the user to pass in a `Box<dyn Isolation>` if that's what they have, but it doesn't require them to Box the isolation on their own. Part of #414.
-
Nick Mathewson authored
-
Nick Mathewson authored
new api for isolation See merge request tpo/core/arti!377
-
Ian Jackson authored
Absolish builders for CircMgrConfig and DirMgrConfig See merge request tpo/core/arti!417
-