| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
This is a somewhat obnoxious change in its scope and requirements,
but it makes it easier to understand what the real public and
private parts of our APIs are.
|
| |
|
|
|
|
| |
At this point I'm going to pause writing tor-proto tests for a
little while and think about refactoring that could make these tests
simpler. I'm doing way too much copy-paste here.
|
| |
|
|
|
|
| |
Semantically, cloning a Channel or Circuit is actually increasing an
internal reference count. We should name the functions to reflect
that, to be more explicit about what we're doing.
|
| | |
|
| |
|
|
|
| |
Previously we would fail if a sendme window was exhausted and two
tasks were waiting for it to be replenished at the same time.
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
| |
"M3" is for "milestone 3" -- my target to fix the technical debt
that I think will be bad if we ship even a pre-alpha with it.
These aren't necessarily _all_ must-resolve, but they're all
must-look-at.
Closes #15
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
| |
When a stream is closed and we haven't adjusted its state in the
stream map yet, remember how many cells we've dropped so we can
decrement them from the window later on.
|
| |
|
|
|
|
| |
This is the first step along the line to handling Tor issue
tor#27557. We want to remember streams that we've ended and treat
them as distinct from streams that have never existed
|
| |
|
|
|
|
|
|
|
| |
The problem is that we would count begin and end cells towards
towards window totals when we are only supposed to count DATA
cells, *and* that we would we send our sendmes one cell too early
(or maybe late?).
Closes #1.
|
| | |
|
| | |
|
| |
|
|
|
| |
I had thought that the sendme authentication things used for
onion services were 32-byte; they're still only 20.
|
| |
|
|
|
|
|
| |
This code deviates from current tor in that it allows missing
sendme authentications only when we know we're talking to an old
relay, or when we don't know the version of the relay we're talking
to.
|
| | |
|
| |
|
|
| |
This patch has a XXXXX kludge note in it.
|
| |
|
|
|
|
|
|
| |
There's a problem, though: this code assumes that tags are 20 bytes
long whereas actually the tag type is part of the crypto layer info.
So maybe in the long term we need to move the queue of tags from the
send window into being part of the crypto layers.
|
| |
|
|
|
|
| |
This is incomplete because the cell crypto code doesn't actually
expose tags yet, and because it demands tags unconditionally,
without caring about the linkspec protocol version.
|
| | |
|
|
|
Parameterized for authenticated/unauthenticated operation, and
operation on circuits and streams.
|