| Commit message (Collapse) | Author | Age | Files | Lines | ||
|---|---|---|---|---|---|---|
| ... | ||||||
| * | tor-proto: Handle new BEGIN cells for rejected stream. | Gabriela Moldovan | 2023-08-03 | 2 | -0/+101 | |
| | | | | | | | | | | This updates the reactor to call the incoming stream handler even for streams for which we have a stream map entry of `EndSent`. If we've sent an END message for a stream but have not yet received an END message back from the other party, but we later receive a BEGIN from them, it is safe to assume we cam remove the stream from the stream map and handle the new incoming stream request. | |||||
| * | tor-proto: Clarify what we mean by "stream" in allow_stream_requests. | Gabriela Moldovan | 2023-08-03 | 1 | -3/+3 | |
| | | ||||||
| * | tor-proto: Add note about making hop_num optional. | Gabriela Moldovan | 2023-08-03 | 1 | -0/+7 | |
| | | ||||||
| * | tor-proto: Add a TODO about checking if a hop is allowed to create streams. | Gabriela Moldovan | 2023-08-03 | 1 | -0/+3 | |
| | | ||||||
| * | tor-proto: Remove unnecessary else-branch. | Gabriela Moldovan | 2023-08-03 | 1 | -38/+38 | |
| | | | | | | We return early if `message_closes_stream == true`, so we can get rid of the `else` to remove one level of indentation. | |||||
| * | tor-proto: Update the stream map if we get an END message. | Gabriela Moldovan | 2023-08-03 | 1 | -1/+5 | |
| | | | | | | This handles the previously not handled `message_closes_stream == true` case. | |||||
| * | tor-proto: Add TODO regarding allow_stream_requests corner case. | Gabriela Moldovan | 2023-08-03 | 1 | -0/+24 | |
| | | ||||||
| * | tor-proto: Remove outdated comments. | Gabriela Moldovan | 2023-08-03 | 1 | -3/+0 | |
| | | ||||||
| * | tor-proto: Add a test for allow_stream_requests. | Gabriela Moldovan | 2023-08-03 | 1 | -0/+70 | |
| | | ||||||
| * | tor-proto: Implement allow_stream_requests. | Gabriela Moldovan | 2023-08-03 | 1 | -7/+49 | |
| | | ||||||
| * | tor-proto: Handle RELAY_BEGIN cells if we have an incoming req handler. | Gabriela Moldovan | 2023-08-03 | 1 | -0/+84 | |
| | | ||||||
| * | tor-proto: Implement IncomingStream::{accept_data, request, reject}. | Gabriela Moldovan | 2023-08-03 | 1 | -6/+32 | |
| | | ||||||
| * | tor-proto: Add StreamTarget function for sending CtrlMsg::CloseStream . | Gabriela Moldovan | 2023-08-03 | 1 | -0/+46 | |
| | | | | | This will be used by `IncomingStream` to implement `reject()`. | |||||
| * | tor-proto: Add reactor control commands for accepting/closing incoming streams. | Gabriela Moldovan | 2023-08-03 | 1 | -4/+62 | |
| | | | | | | | | | | This adds a new `AwaitIncomingStream` control message for registering an interest in an incoming stream. This also adds a `ClosePendingStream` control message for explicitly closing a stream with a given END message (needed for implementing `IncomingStream::reject`). | |||||
| * | tor-proto: Add types for sharing stream request info with the reactor. | Gabriela Moldovan | 2023-08-03 | 1 | -0/+49 | |
| | | ||||||
| * | tor-proto: Add a helper for adding a stream entry with a specific stream ID. | Gabriela Moldovan | 2023-08-03 | 2 | -2/+47 | |
| | | | | | | | | | | This adds a new `add_ent_with_id` function for adding a new entry to the `StreamMap`. The existing `add_ent` function auto-generates a new stream ID, which is not good if we're a hidden service, as stream IDs are supposed to be chosen by the OP (client). When accepting a new stream, services, exit relays, and dir auths need to use the stream ID received in the BEGIN cell (instead of generating a new stream ID). | |||||
| * | tor-proto: Remove extraneous space. | Gabriela Moldovan | 2023-08-03 | 2 | -2/+2 | |
| | | ||||||
| * | tor-proto: Add constructors for pre-connected DataStreams. | Gabriela Moldovan | 2023-08-03 | 1 | -2/+41 | |
| | | | | | | | | | | When accepting a new stream, hidden services, exit relays and dirauths don't wait for a `CONNECTED` cell from the initiator. This commit adds constructors for building `DataStream`s and `DataCmdChecker`s that can immediately receive data cells (and don't expect to receive `CONNECTED` cells at all). | |||||
| * | tor-proto: Add a constructor for IncomingStream. | Gabriela Moldovan | 2023-08-03 | 1 | -0/+13 | |
| | | ||||||
| * | tor-proto: Add imports for commonly used types. | Gabriela Moldovan | 2023-08-03 | 1 | -4/+4 | |
| | | ||||||
| * | tor-proto: Add IncomingCmdChecker for IncomingStream. | Gabriela Moldovan | 2023-08-03 | 2 | -2/+62 | |
| | | ||||||
| * | tor-proto: Rename create_firsthop() to wait_for_create(). | Gabriela Moldovan | 2023-07-27 | 1 | -2/+2 | |
| | | ||||||
| * | tor-proto: Update handle_control docs. | Gabriela Moldovan | 2023-07-26 | 1 | -1/+1 | |
| | | ||||||
| * | tor-proto: Add functions for handling Shutdown and AddFakeHop messages. | Gabriela Moldovan | 2023-07-26 | 1 | -42/+37 | |
| | | | | | | This helps reduce code duplication, as `CtrlMsg::Shutdown` and `CtrlMsg::AddFakeHop` are now handled in multiple places. | |||||
| * | tor-proto: Extract first-hop creation to a separate function. | Gabriela Moldovan | 2023-07-26 | 1 | -37/+11 | |
| | | | | | | | I think it's safe to handle `ChanMsg::Create` separately, because there's nothing for the reactor to do until the first hop of the circuit is created (so blocking on this _should_ be alright). | |||||
| * | tor-proto: Create a function for handling the initial CREATE cell. | Gabriela Moldovan | 2023-07-26 | 1 | -1/+89 | |
| | | | | | | | This logic from `create_firsthop()` was extracted (copied) from `Reactor::run_once()`. A future commit will update `Reactor::run_once()` to use `create_firsthop()`. | |||||
| * | tor-circmgr: Add two possibly-needed docsrs annotations | Ian Jackson | 2023-07-12 | 2 | -0/+2 | |
| | | | | | | I don't know if these are needed because the rules are not documented afaict. But it seems like probably they ought to be there? | |||||
| * | tor-proto: Conversation: drop two otiose cfg(feature) | Ian Jackson | 2023-07-12 | 2 | -2/+0 | |
| | | | | | These fns are in a feature-gated impls on feature-gated structs. | |||||
| * | Merge branch 'clippy-allow' into 'main' | Ian Jackson | 2023-07-11 | 17 | -0/+17 | |
| |\ | | | | | | | | | clippy: Allow some of our existing code patterns See merge request tpo/core/arti!1396 | |||||
| | * | Run maint/add_warning to actually apply new lint allows | Ian Jackson | 2023-07-10 | 17 | -0/+17 | |
| | | | ||||||
| * | | Merge branch 'conversation' into 'main' | Alexander Færøy | 2023-07-10 | 3 | -113/+203 | |
| |\ \ | |/ |/| | | | | | Overhaul send_control_message See merge request tpo/core/arti!1367 | |||||
| | * | tor-proto: run rustfmt | Ian Jackson | 2023-06-30 | 3 | -8/+18 | |
| | | | ||||||
| | * | tor-proto conversations: Drop a TODO | Ian Jackson | 2023-06-30 | 1 | -1/+0 | |
| | | | | | | | | | I think this name is fine. | |||||
| | * | tor-proto conversation API: Provide ConversationInHandler | Ian Jackson | 2023-06-30 | 3 | -6/+58 | |
| | | | ||||||
| | * | tor-proto circuit: Plumb async Context through | Ian Jackson | 2023-06-30 | 2 | -3/+8 | |
| | | | | | | | | | handle_msg is going to want this in a moment. | |||||
| | * | tor-proto conversation API: Soften a warning | Ian Jackson | 2023-06-30 | 1 | -1/+4 | |
| | | | | | | | | | | | If the circuit is just being used by us (which is likely, if we're using this API) then the only reactor we're blocking is our own. | |||||
| | * | tor-proto conversation API: Implement Conversation | Ian Jackson | 2023-06-30 | 1 | -89/+98 | |
| | | | | | | | | | | | Now, after you call start_conversation_last_hop, you can send more messages if you like. | |||||
| | * | tor-proto: Make the handler in SendMsgAndInstallHandler optional | Ian Jackson | 2023-06-30 | 2 | -3/+10 | |
| | | | | | | | | | | | We're going to want to do almost-the-same thing but without installing a new handler. | |||||
| | * | tor-proto conversation API: Return a Conversation | Ian Jackson | 2023-06-30 | 1 | -8/+15 | |
| | | | | | | | | | | | This is just a placeholder for now, but it'll be a thing you can send more messages with. | |||||
| | * | tor-proto conversation API: Rename to start_conversation_last_hop | Ian Jackson | 2023-06-30 | 2 | -9/+9 | |
| | | | | | | | | | Was send_control_message. | |||||
| | * | tor-proto conversation API: Make starting message optional | Ian Jackson | 2023-06-30 | 2 | -5/+7 | |
| | | | | | | | | | | | We're going to let people start a conversation and either expect to receive first, or send messages ad-hoc later. | |||||
| | * | tor-proto conversation API: Rename to ConversationFinished | Ian Jackson | 2023-06-30 | 1 | -7/+3 | |
| | | | | | | | | | | | | | Was UninstallHandler. We are going to talk more about conversations and less about handlers (although, the fact of there being a handler will still be visible). | |||||
| | * | tor-proto circuit: Make reactor::run_once modulae-private | Ian Jackson | 2023-06-30 | 1 | -1/+1 | |
| | | | | | | | | | Nothing else wants this and having it pub(super) is confusing. | |||||
| * | | Merge branch 'allow_missing_panics' into 'main' | Ian Jackson | 2023-07-07 | 3 | -8/+2 | |
| |\ \ | | | | | | | | | | | | | | | | | | | add_warning: Tolerate clippy::missing_panics_doc Closes #950 See merge request tpo/core/arti!1380 | |||||
| | * | | Remove explicit allows for missing_panics_docs. | Nick Mathewson | 2023-07-06 | 2 | -7/+2 | |
| | | | | | | | | | | | | | These are no longer needed. | |||||
| | * | | Run add_warning to remove `missing_panics_doc` deny. | Nick Mathewson | 2023-07-06 | 1 | -1/+0 | |
| | |/ | | | | | | | Closes #950. | |||||
| * / | Avoid matches!(x, None), matches!(x, Ok(_)) | Nick Mathewson | 2023-07-06 | 1 | -2/+2 | |
| |/ | | | | This appeases clippy-nightly. | |||||
| * | proto: ClientCirc: remove now-obsolete note on Clone-ness | Nick Mathewson | 2023-06-28 | 1 | -5/+0 | |
| | | ||||||
| * | proto: document ClientCirc lifecycle better. | Nick Mathewson | 2023-06-28 | 1 | -0/+29 | |
| | | ||||||
| * | proto: document channel lifecycle better. | Nick Mathewson | 2023-06-28 | 1 | -5/+24 | |
| | | ||||||
