- Mar 24, 2018
-
-
Nick Mathewson authored
These tests handle incoming and outgoing cells on a three-hop circuit, and make sure that the crypto works end-to-end. They don't yet test spec conformance, leaky-pipe, or various error cases.
-
- Mar 17, 2018
-
-
Nick Mathewson authored
Additionally, this change extracts the functions that created and freed these elements. These structures had common "forward&reverse stream&digest" elements, but they were initialized and freed through cpath objects, and different parts of the code depended on them. Now all that code is extacted, and kept in relay_crypto.c
-
Nick Mathewson authored
This should help us improve modularity, and should also make it easier for people to experiment with other relay crypto strategies down the road. This commit is pure function movement.
-
Nick Mathewson authored
-
Nick Mathewson authored
This function is used upon receiving a cell, and only handles the decrypting part. The encryption part is currently handled inside circuit_package_relay_cell.
-
- Mar 13, 2018
-
-
-
Nick Mathewson authored
-
- Mar 04, 2018
-
-
Nick Mathewson authored
Fixes bug 25415; bugfix on 0.3.3.2-alpha.
-
- Mar 03, 2018
-
-
Nick Mathewson authored
-
Nick Mathewson authored
-
Nick Mathewson authored
-
Nick Mathewson authored
- Mar 01, 2018
-
-
Nick Mathewson authored
-
Nick Mathewson authored
-
Nick Mathewson authored
-
Nick Mathewson authored
-
Nick Mathewson authored
These were meant to demonstrate old behavior, or old rust behavior. One of them _should_ work in Rust, but won't because of implementation details. We'll fix that up later.
-
Nick Mathewson authored
-
Nick Mathewson authored
The C code and the rust code had different separate integer overflow bugs here. That suggests that we're better off just forbidding this pathological case. Also, add tests for expected behavior on receiving a bad protocol list in a consensus. Fixes another part of 25249.
-
Nick Mathewson authored
Fixes part of 24249; bugfix on 0.2.9.4-alpha.
-
Nick Mathewson authored
These are as Teor wrote them; I've disabled the ones that don't pass yet, with XXXX comments.
-
Nick Mathewson authored
I've refactored these to be a separate function, to avoid tricky merge conflicts. Some of these are disabled with "XXXX" comments; they should get fixed moving forward.
-
Nick Mathewson authored
This one can only be exploited if you can generate a correctly signed consensus, so it's not as bad as 25074. Fixes bug 25251; also tracked as TROVE-2018-004.
-
Nick Mathewson authored
In some cases we had checked for it, but in others we had not. One of these cases could have been used to remotely cause denial-of-service against directory authorities while they attempted to vote. Fixes TROVE-2018-001.
-
- Feb 21, 2018
-
-
Nick Mathewson authored
Apparently some versions of the mac sdk care about the ordering of net/if.h wrt other headers. Fixes bug 25319; bug not in any released tor.
-
- Feb 20, 2018
-
-
Nick Mathewson authored
Folks have found two in the past week or so; we may as well fix the others. Found with: \#!/usr/bin/python3 import re def findMulti(fname): includes = set() with open(fname) as f: for line in f: m = re.match(r'^\s*#\s*include\s+["<](\S+)[>"]', line) if m: inc = m.group(1) if inc in includes: print("{}: {}".format(fname, inc)) includes.add(m.group(1)) import sys for fname in sys.argv[1:]: findMulti(fname)
-
- Feb 18, 2018
-
-
Nick Mathewson authored
Fixes a bug in our zstd-static code. Bug not in any released version of Tor.
-
- Feb 16, 2018
-
-
Nick Mathewson authored
-
Nick Mathewson authored
This is necessary because apparently v3 rendezvous cpath hops use sha3, which I had forgotten. Bugfix on master; bug not in any released Tor.
-
since all it does is produce false positives this commit should get merged into 0.2.9 and 0.3.0 *and* 0.3.1, even though the code in the previous commit is already present in 0.3.1. sorry for the mess. [Cherry-picked]
-
since all it does is produce false positives this commit should get merged into 0.2.9 and 0.3.0 *and* 0.3.1, even though the code in the previous commit is already present in 0.3.1. sorry for the mess.
-
This commit takes a piece of commit af8cadf3 and a piece of commit 46fe353f25, with the goal of making channel_is_client() be based on what sort of connection handshake the other side used, rather than seeing whether the other side ever sent a create_fast cell to us.
-
-
Nick Mathewson authored
Bug not in any released Tor.
-
Nick Mathewson authored
Fixes bug 25276; bugfix not in any released Tor.
-
Nick Mathewson authored
Instead, define a maximum size, and enforce it with an assertion.
-
Nick Mathewson authored
-
Nick Mathewson authored
(When a variable isn't going to be declared extern in the header, we require that it be static.)
-
Isis Lovecruft authored
* FIXES #25271: https://bugs.torproject.org/25271
-