summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* | | Merge branch 'matrix-features' into 'main'Nick Mathewson2022-10-216-4/+118
|\ \ \ | |/ / |/| | | | | | | | | | | | | | add checks for many feature combinations Closes #303 See merge request tpo/core/arti!775
| * | move test to dedicated jobtrinity-1686a2022-10-171-2/+8
| | |
| * | fix doc-feature synchrotrinity-1686a2022-10-163-2/+10
| | |
| * | add test for many featurestrinity-1686a2022-10-163-2/+102
| | | | | | | | | | | | and fix issue compiling tor-rtcompat with on ssl runtime
* | | Merge branch 'no_redundant_allocation' into 'main'Nick Mathewson2022-10-211-1/+1
|\ \ \ | | | | | | | | | | | | | | | | tor-cell: Avoid redundant allocation See merge request tpo/core/arti!790
| * | | tor-cell: Avoid redundant allocationEmil Engler2022-10-211-1/+1
| | |/ | |/| | | | | | | | | | | | | This commit changes the way how a vector with a known sized gets allocated, by using Vec::with_capacity() instead of Vec::new(). It will eventually avoid an allocation of more memory than required.
* | | Merge branch 'fixed_len_handshake' into 'main'Nick Mathewson2022-10-211-7/+7
|\ \ \ | |/ / |/| | | | | | | | tor-cell: Rename fixed_len to fixed_len_handshake See merge request tpo/core/arti!789
| * | tor-cell: Rename fixed_len to fixed_len_handshakeEmil Engler2022-10-211-7/+7
|/ / | | | | | | | | | | This commit renames the fixed_len! macro to fixed_len_handshake!, in order to indicate, that this macro is only suited for cells with commands related to handshaking.
* | Merge branch 'dirclient-errors' into 'main'Ian Jackson2022-10-205-43/+147
|\ \ | | | | | | | | | | | | Make DirResponse API not an error handling footgun See merge request tpo/core/arti!782
| * | tor-dirclient: Provide fallible DirResponse::output and into_outputIan Jackson2022-10-202-1/+82
| | |
| * | tor-dirclient: Make DirResponse be CloneIan Jackson2022-10-202-1/+2
| | | | | | | | | | | | I want this for testing. It seems friendly to provide it, though.
| * | tor-dirclient: Introduce RequestError:HttpStatusIan Jackson2022-10-201-0/+5
| | |
| * | tor-dirclient: Make RequestFailed its own error type (rustfmt)Ian Jackson2022-10-201-12/+18
| | | | | | | | | | | | Split off to assist review.
| * | tor-dirclient: Make RequestFailed its own error typeIan Jackson2022-10-204-31/+38
| | | | | | | | | | | | | | | | | | | | | We're going to have functions on Response that fail by returning only one of these. Sadly this diff is quite noisy.
| * | tor-dirclient Response: Rename output methodsIan Jackson2022-10-203-7/+11
| | | | | | | | | | | | | | | These don't check errors and are therefore quite hazardous. I'm going to introduce a more cooked version in a moment.
* | | Merge branch 'pt-serde' into 'main'Nick Mathewson2022-10-205-78/+26
|\ \ \ | | | | | | | | | | | | | | | | serde support for PtTarget See merge request tpo/core/arti!780
| * | | Remove now-needless check_doc_features exception.Nick Mathewson2022-10-201-6/+0
| | | |
| * | | Implement serde for PtTarget and its members.Nick Mathewson2022-10-203-5/+21
| | | | | | | | | | | | | | | | This will let us remember bridges that use pluggable transports.
| * | | Inline now-needless variant constructors for PtTargetAddrNick Mathewson2022-10-201-22/+2
| | | |
| * | | Remove a now-needless `allow(dead_code)`Nick Mathewson2022-10-201-1/+0
| | | |
| * | | linkspec: Always expose PT-related types.Nick Mathewson2022-10-202-46/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The `PtTarget` type and its contents (`TransportName`, `PtTargetAddr`, `PtSettings`) are now unconditionally compiled and exposed. This will allow us to serialize and deserialize them in our guard-state files even when we have been built without explicit PT support. The `pt-client` feature controls whether `TransportName` is a variant of `TransportId`, and whether `PtTarget` is a variant of `ChanMethod`: this in turn means that we'll still have simpler binary code and smaller structures when we're building without PT support (which is what we wanted when we initially made these types conditional).
* | | | Merge branch 'connect-via-proxy' into 'main'Nick Mathewson2022-10-208-3/+479
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | Implement a TransportHelper to connect via a SOCKS-based pluggable transport See merge request tpo/core/arti!776
| * | | | transport: Escape = signs in keys only.Nick Mathewson2022-10-201-8/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a compromise between C tor (never escapes = signs) and the spec (calls for escaping all = signs). In C tor there is no way to actually construct a key with an = sign in it, so this difference should be undetectable.
| * | | | Clarify comment on ExternalProxyPlugin.Nick Mathewson2022-10-201-1/+2
| | | | |
| * | | | transport: rename "ExtraneousData" to "UnexpectedData"Nick Mathewson2022-10-201-5/+5
| | | | |
| * | | | chanmgr: Add the code necessary to use SOCKS PTs via a TransportHelperNick Mathewson2022-10-204-5/+254
| | | | | | | | | | | | | | | | | | | | | | | | | This is mostly a matter of encoding parameters in the format used for socks authentication.
| * | | | chanmgr: Begin a socks-client implementation.Nick Mathewson2022-10-204-0/+220
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This code is _not_ conditional, since we want to support running with a proxy even if we don't support pluggable transports. We may eventually want to refactor this into a new create.
| * | | | socksproto: Make a method conditional.Nick Mathewson2022-10-201-0/+1
| | | | |
| * | | | socksproto: impl Clone for Error.Nick Mathewson2022-10-202-2/+2
| | | | |
* | | | | Merge branch 'bridge-internal-apis' into 'main'Ian Jackson2022-10-204-6/+48
|\ \ \ \ \ | |_|/ / / |/| | | | | | | | | | | | | | Use BridgeConfig to identify bridges in two places See merge request tpo/core/arti!781
| * | | | tor-linkspec: impl From<&ChanTarget> for OwnedChanTargetIan Jackson2022-10-201-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This lets us write functions which can either take an existing owned OwnedChanTarget, or copy out of some other kind of ChanTarget passed by reference.
| * | | | circmgr: Plumbing for direct to target directory circuitsIan Jackson2022-10-202-2/+29
| | | | | | | | | | | | | | | | | | | | | | | | | The target is identified by Into<OwnedChanTarget>. We introduce corresponding TargetCircUsage and SupportedCircUsage.
| * | | | bridge descriptors: Change types of the descriptor cacheIan Jackson2022-10-201-3/+12
| | |/ / | |/| | | | | | | | | | | | | | | | | | | | | | Now keyed by Arc<BridgeConfig>, and the values can be errors. Currently there is no implementation so there can't be any errors, but the error enum will become nonempty.
* | | | Merge branch 'bridge-hasaddrs' into 'main'Ian Jackson2022-10-203-2/+50
|\ \ \ \ | |/ / / |/| | | | | | | | | | | impl ChanTarget for BridgeConfig See merge request tpo/core/arti!783
| * | | impl ChanTarget etc. for BridgeConfigIan Jackson2022-10-201-1/+17
| | | |
| * | | impl HasAddrs for PtChannelAddr and ChannelMethodIan Jackson2022-10-201-0/+29
| | | |
| * | | HasAddrs: Make it clear that the set of addresses can be emptyIan Jackson2022-10-201-1/+4
|/ / / | | | | | | | | | Eg, a PT bridge may not have an address.
* / / integration-shadow: "shadow-small" tag -> "tpa"Jim Newsome2022-10-191-1/+1
|/ / | | | | The "shadow-small" tag no longer exists, and all "tpa" x86-64 runners can now run Shadow. https://gitlab.torproject.org/tpo/tpa/team/-/issues/40833#note_2835576
* | Merge branch 'update-shadow-stop-time' into 'main'Nick Mathewson2022-10-191-4/+1
|\ \ | | | | | | | | | | | | shadow ci: Set stop time to 30m instead of 27m See merge request tpo/core/arti!772
| * | shadow ci: Set stop time to 30m instead of 27mJim Newsome2022-10-141-4/+1
| |/ | | | | | | | | This was a temporary stop-gap to work around a busy loop that seemed to happen before. I am no longer able to reproduce any such problem.
* | Merge branch 'guard_spelling' into 'main'Nick Mathewson2022-10-192-2/+2
|\ \ | | | | | | | | | | | | fix a couple of spelling errors in guardmgr See merge request tpo/core/arti!778
| * | fix a couple of spelling errors in guardmgrNick Mathewson2022-10-192-2/+2
|/ /
* | Merge branch 'spelling_20221008' into 'main'Nick Mathewson2022-10-188-12/+12
|\ \ | | | | | | | | | | | | Several spelling fixes. See merge request tpo/core/arti!777
| * | Fix various typos (using typos tool and hand-inspection)Nick Mathewson2022-10-187-10/+10
| | |
| * | linkspec: Fix typo in error messages.Nick Mathewson2022-10-181-2/+2
|/ /
* | Merge branch 'channel_map' into 'main'Nick Mathewson2022-10-1812-502/+778
|\ \ | | | | | | | | | | | | ChanMgr: Revise code to tolerate multiple identities See merge request tpo/core/arti!773
| * | chanmgr: Add an error case if a final_attempt neither succeeds or failsNick Mathewson2022-10-182-1/+11
| | | | | | | | | | | | | | | This can happen in weird corner cases, so it's probably best to report it rather than having an "internal error."
| * | Refactor flow control in get_or_launch.Nick Mathewson2022-10-182-54/+97
| | | | | | | | | | | | | | | | | | | | | Now, instead of duplicate checks in various cases, we simply go through the loop one last time. This allows us to simplify some of our other logic around here.
| * | chanmgr: Split get_or_launch into sub-functions.Nick Mathewson2022-10-181-92/+95
| | | | | | | | | | | | | | | This function had grown huge and hard to reason about. Before I make it even worse, let's split it up.
| * | chanmgr: Refactor choose_action code into its own function.Nick Mathewson2022-10-181-86/+92
| | |