| Commit message (Expand) | Author | Age |
* | Fix a warning when building with --disable-curve25519•••It appears that the code for 7291 gave an unused-value warning when
built with --disable-curve25519.
| Nick Mathewson | 2013-02-04 |
* | Rename all of the macros in tor_queue.h to start with TOR_ | Nick Mathewson | 2013-01-30 |
* | Merge branch 'time_based_onionqueue_v2' of ssh://git-rw.torproject.org/nickm/tor | Andrea Shepard | 2013-01-24 |
|\ |
|
| * | Use a TAILQ, not a singly-linked queue, for the onion queue.•••This makes removing items from the middle of the queue into an O(1)
operation, which could prove important as we let onionqueues grow
longer.
Doing this actually makes the code slightly smaller, too.
| Nick Mathewson | 2013-01-03 |
| * | Eliminate MaxOnionsPending; replace it with MaxOnionQueueDelay•••The right way to set "MaxOnionsPending" was to adjust it until the
processing delay was appropriate. So instead, let's measure how long
it takes to process onionskins (sampling them once we have a big
number), and then limit the queue based on its expected time to
finish.
This change is extra-necessary for ntor, since there is no longer a
reasonable way to set MaxOnionsPending without knowing what mix of
onionskins you'll get.
This patch also reserves 1/3 of the onionskin spots for ntor
handshakes, on the theory that TAP handshakes shouldn't be allowed to
starve their speedier cousins. We can change this later if need be.
Resolves 7291.
| Nick Mathewson | 2013-01-03 |
* | | Update the copyright date to 201. | Nick Mathewson | 2013-01-16 |
* | | Clean up odds and ends | Roger Dingledine | 2013-01-15 |
* | | Fix handling of ntor handshakes received via CREATE cells•••Fixes bug 7959; bugfix on 0.2.4.8-alpha.
| Nick Mathewson | 2013-01-15 |
|/ |
|
* | Complete all DOCDOC entries from the ntor branch | Nick Mathewson | 2013-01-03 |
* | ntor: Don't fail fast server-side on an unrecognized KEYID(B) | Nick Mathewson | 2013-01-03 |
* | Fix an unused-variable warning | Nick Mathewson | 2013-01-03 |
* | Don't check create cells too much when we're relaying them•••We want to sanity-check our own create cells carefully, and other
people's loosely.
| Nick Mathewson | 2013-01-03 |
* | Implement scheme to allow ntor requests/responses via older servers | Nick Mathewson | 2013-01-03 |
* | Use created_cell_format where appropriate | Nick Mathewson | 2013-01-03 |
* | Teach cpuworker and others about create_cell_t and friends•••The unit of work sent to a cpuworker is now a create_cell_t; its
response is now a created_cell_t. Several of the things that call or
get called by this chain of logic now take create_cell_t or
created_cell_t too.
Since all cpuworkers are forked or spawned by Tor, they don't need a
stable wire protocol, so we can just send structs. This saves us some
insanity, and helps p
| Nick Mathewson | 2013-01-03 |
* | Code to parse and format CREATE{,2,_FAST} cells and their allies•••As elsewhere, it makes sense when adding or extending a cell type to
actually make the code to parse it into a separate tested function.
This commit doesn't actually make anything use these new functions;
that's for a later commit.
| Nick Mathewson | 2013-01-03 |
* | Massive refactoring of the various handshake types•••The three handshake types are now accessed from a unified interface;
their state is abstracted from the rest of the cpath state, and so on.
| Nick Mathewson | 2013-01-03 |
* | Split onion.[ch] into onion{,_fast,_tap}.[ch]•••I'm going to want a generic "onionskin" type and set of wrappers, and
for that, it will be helpful to isolate the different circuit creation
handshakes. Now the original handshake is in onion_tap.[ch], the
CREATE_FAST handshake is in onion_fast.[ch], and onion.[ch] now
handles the onion queue.
This commit does nothing but move code and adjust header files.
| Nick Mathewson | 2013-01-02 |
* | Implement HKDF from RFC5869•••This is a customizable extract-and-expand HMAC-KDF for deriving keys.
It derives from RFC5869, which derives its rationale from Krawczyk,
H., "Cryptographic Extraction and Key Derivation: The HKDF Scheme",
Proceedings of CRYPTO 2010, 2010, <http://eprint.iacr.org/2010/264>.
I'm also renaming the existing KDF, now that Tor has two of them.
This is the key derivation scheme specified in ntor.
There are also unit tests.
| Nick Mathewson | 2012-12-06 |
* | Merge remote-tracking branch 'origin/maint-0.2.3'•••Conflicts:
src/common/crypto.c
src/or/rendservice.c
| Nick Mathewson | 2012-11-08 |
|\ |
|
| * | Add and use and unlikely-to-be-eliminated memwipe()•••Apparently some compilers like to eliminate memset() operations on
data that's about to go out-of-scope. I've gone with the safest
possible replacement, which might be a bit slow. I don't think this
is critical path in any way that will affect performance, but if it
is, we can work on that in 0.2.4.
Fixes bug 7352.
| Nick Mathewson | 2012-11-08 |
* | | Switch onion.c over to channel_t | Andrea Shepard | 2012-10-08 |
|/ |
|
* | Update copyright dates to 2012; add a few missing copyright statements | Nick Mathewson | 2012-06-04 |
* | Add about 60 more DOCDOC comments to 0.2.3•••Also, try to resolve some doxygen issues. First, define a magic
"This is doxygen!" macro so that we take the correct branch in
various #if/#else/#endifs in order to get the right documentation.
Second, add in a few grouping @{ and @} entries in order to get some
variables and fields to get grouped together.
| Nick Mathewson | 2012-06-04 |
* | Rename nonconformant identifiers.•••Fixes bug 4893.
These changes are pure mechanical, and were generated with this
perl script:
/usr/bin/perl -w -i.bak -p
s/crypto_pk_env_t/crypto_pk_t/g;
s/crypto_dh_env_t/crypto_dh_t/g;
s/crypto_cipher_env_t/crypto_cipher_t/g;
s/crypto_digest_env_t/crypto_digest_t/g;
s/aes_free_cipher/aes_cipher_free/g;
s/crypto_free_cipher_env/crypto_cipher_free/g;
s/crypto_free_digest_env/crypto_digest_free/g;
s/crypto_free_pk_env/crypto_pk_free/g;
s/_crypto_dh_env_get_dh/_crypto_dh_get_dh/g;
s/_crypto_new_pk_env_rsa/_crypto_new_pk_from_rsa/g;
s/_crypto_pk_env_get_evp_pkey/_crypto_pk_get_evp_pkey/g;
s/_crypto_pk_env_get_rsa/_crypto_pk_get_rsa/g;
s/crypto_new_cipher_env/crypto_cipher_new/g;
s/crypto_new_digest_env/crypto_digest_new/g;
s/crypto_new_digest256_env/crypto_digest256_new/g;
s/crypto_new_pk_env/crypto_pk_new/g;
s/crypto_create_crypto_env/crypto_cipher_new/g;
s/connection_create_listener/connection_listener_new/g;
s/smartlist_create/smartlist_new/g;
s/transport_create/transport_new/g;
| Nick Mathewson | 2012-01-18 |
* | Merge remote-tracking branch 'public/3122_memcmp_squashed' into bug3122_memcm...•••Conflicts throughout. All resolved in favor of taking HEAD and
adding tor_mem* or fast_mem* ops as appropriate.
src/common/Makefile.am
src/or/circuitbuild.c
src/or/directory.c
src/or/dirserv.c
src/or/dirvote.c
src/or/networkstatus.c
src/or/rendclient.c
src/or/rendservice.c
src/or/router.c
src/or/routerlist.c
src/or/routerparse.c
src/or/test.c
| Nick Mathewson | 2011-05-11 |
|\ |
|
| * | Hand-conversion and audit phase of memcmp transition•••Here I looked at the results of the automated conversion and cleaned
them up as follows:
If there was a tor_memcmp or tor_memeq that was in fact "safe"[*] I
changed it to a fast_memcmp or fast_memeq.
Otherwise if there was a tor_memcmp that could turn into a
tor_memneq or tor_memeq, I converted it.
This wants close attention.
[*] I'm erring on the side of caution here, and leaving some things
as tor_memcmp that could in my opinion use the data-dependent
fast_memcmp variant.
| Nick Mathewson | 2011-05-11 |
| * | Automated conversion of memcmp to tor_memcmp/tor_mem[n]eq•••This commit is _exactly_ the result of
perl -i -pe 's/\bmemcmp\(/tor_memcmp\(/g' src/*/*.[ch]
perl -i -pe 's/\!\s*tor_memcmp\(/tor_memeq\(/g' src/*/*.[ch]
perl -i -pe 's/0\s*==\s*tor_memcmp\(/tor_memeq\(/g' src/*/*.[ch]
perl -i -pe 's/0\s*!=\s*tor_memcmp\(/tor_memneq\(/g' src/*/*.[ch]
git checkout src/common/di_ops.[ch]
git checkout src/or/test.c
git checkout src/common/test.h
| Nick Mathewson | 2011-05-11 |
| * | Make the DH parameter we use for TLS match the one from Apache's mod_ssl•••Our regular DH parameters that we use for circuit and rendezvous
crypto are unchanged. This is yet another small step on the path of
protocol fingerprinting resistance.
(Backport from 0.2.2's 5ed73e3807d90dd0a3)
| Nick Mathewson | 2011-02-10 |
* | | Handle failing cases of DH allocation | Nick Mathewson | 2011-01-25 |
* | | Make the DH parameter we use for TLS match the one from Apache's mod_ssl•••Our regular DH parameters that we use for circuit and rendezvous
crypto are unchanged. This is yet another small step on the path of
protocol fingerprinting resistance.
| Nick Mathewson | 2011-01-24 |
* | | Merge remote branch 'origin/maint-0.2.1' into maint-0.2.2•••Conflicts:
src/or/config.c
src/or/networkstatus.c
src/or/rendcommon.c
src/or/routerparse.c
src/or/test.c
| Nick Mathewson | 2011-01-15 |
|\| |
|
| * | Fix a heap overflow found by debuger, and make it harder to make that mistake...•••Our public key functions assumed that they were always writing into a
large enough buffer. In one case, they weren't.
(Incorporates fixes from sebastian)
| Nick Mathewson | 2011-01-15 |
* | | Merge remote branch 'origin/maint-0.2.1' into maint-0.2.2•••Conflicts:
src/or/routerparse.c
| Nick Mathewson | 2011-01-03 |
|\| |
|
| * | fix whitespace issues | Nick Mathewson | 2011-01-03 |
* | | Merge remote branch 'origin/maint-0.2.1' into maint-0.2.2•••Conflicts:
src/common/test.h
src/or/test.c
| Nick Mathewson | 2011-01-03 |
|\| |
|
| * | Bump copyright statements to 2011 | Nick Mathewson | 2011-01-03 |
* | | Merge remote branch fix_security_bug_021 into fix_security_bug_022•••Conflicts:
src/common/memarea.c
src/or/or.h
src/or/rendclient.c
| Nick Mathewson | 2010-12-15 |
|\| |
|
| * | Make payloads into uint8_t.•••This will avoid some signed/unsigned assignment-related bugs.
| Nick Mathewson | 2010-12-15 |
* | | Add a generic rate-limited log mechanism, and use it in a few places•••Incidentally fixes bug 1042.
| Nick Mathewson | 2010-08-18 |
* | | Create rephist.h | Sebastian Hahn | 2010-07-27 |
* | | Create onion.h | Sebastian Hahn | 2010-07-27 |
* | | Create config.h | Sebastian Hahn | 2010-07-27 |
* | | Create circuitlist.h | Sebastian Hahn | 2010-07-27 |
* | | Merge remote branch 'origin/maint-0.2.1'•••Conflicts:
src/common/test.h
src/or/test.c
| Nick Mathewson | 2010-02-27 |
|\| |
|
| * | Update Tor Project copyright years | Nick Mathewson | 2010-02-27 |
* | | Fix bug 1042.•••If your relay can't keep up with the number of incoming create cells, it
would log one warning per failure into your logs. Limit warnings to 1 per
minute.
| Karsten Loesing | 2009-10-26 |
* | | Reduce log level for someone else sending us weak DH keys.•••See task 1114. The most plausible explanation for someone sending us weak
DH keys is that they experiment with their Tor code or implement a new Tor
client. Usually, we don't care about such events, especially not on warn
level. If we really care about someone not following the Tor protocol, we
can set ProtocolWarnings to 1.
| Karsten Loesing | 2009-10-25 |
|/ |
|
* | Spell-check Tor. | Nick Mathewson | 2009-05-27 |
* | Update copyright to 2009. | Karsten Loesing | 2009-05-04 |