summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2013-01-14bump to 0.2.4.8-alphator-0.2.4.8-alphaRoger Dingledine
2013-01-14finish poking at the changelogRoger Dingledine
2013-01-14Revert junk accidentally included with "start folding in the changes entries"Nick Mathewson
Looks like Roger's debugging code wanted to take a tour of the world outside his sandbox. This reverts part of commit 19d37202362c0298ae2f3954b0065ccfcef0dbda.
2013-01-14Merge remote-tracking branch 'origin/maint-0.2.3'Nick Mathewson
2013-01-14Merge remote-tracking branch 'origin/maint-0.2.2' into maint-0.2.3Nick Mathewson
2013-01-14start folding in the changes entriesRoger Dingledine
2013-01-14Merge branch 'bug7869'Nick Mathewson
2013-01-13Merge remote-tracking branch 'mikeperry/bug7691-rebased'Nick Mathewson
2013-01-13Merge branch 'bug7935'Nick Mathewson
2013-01-11Handle EWOULDBLOCK as EAGAIN if they happen to be different.Nick Mathewson
Fixes bug 7935. Reported by 'oftc_must_be_destroyed'.
2013-01-08Bug 7691 review fixes.Mike Perry
Also add in the random nonce generation.
2013-01-08Bug 7341 code review fixes.Mike Perry
2013-01-08Bug 7691: Send a probe cell down certain types of circs.Mike Perry
In general, if we tried to use a circ for a stream, but then decided to place that stream on a different circuit, we need to probe the original circuit before deciding it was a "success". We also need to do the same for cannibalized circuits that go unused.
2013-01-08Fix bug 7341.Mike Perry
Fix cannibalize, rend circ and intro circ timeout handling.
2013-01-05Make the = at the end of ntor-onion-key optional.Nick Mathewson
Makes bug 7869 more easily fixable if we ever choose to do so.
2013-01-05Update to the January 2013 GeoIP database.Karsten Loesing
2013-01-03Whoops; make that unit test actually pass :/Nick Mathewson
2013-01-03Add a unit test for the curve25519 keypair persistence functionsNick Mathewson
2013-01-03Merge branch 'ntor-resquashed'Nick Mathewson
Conflicts: src/or/cpuworker.c src/or/or.h src/test/bench.c
2013-01-03Check all crypto_rand return values for ntor.Nick Mathewson
2013-01-03Complete all DOCDOC entries from the ntor branchNick Mathewson
2013-01-03Use safe_mem_is_zero for checking curve25519 output for 0-nessNick Mathewson
This should make the intent more explicit. Probably needless, though.
2013-01-03Implement a constant-time safe_mem_is_zero.Nick Mathewson
2013-01-03changes file for the ntor branchNick Mathewson
2013-01-03Document UseNTorHandshakeNick Mathewson
2013-01-03Add new ntor bits to gitignoreNick Mathewson
2013-01-03Add reference implementation for ntor, plus compatibility testNick Mathewson
Before I started coding ntor in C, I did another one in Python. Turns out, they interoperate just fine.
2013-01-03ntor: Don't fail fast server-side on an unrecognized KEYID(B)Nick Mathewson
2013-01-03Update our copy of curve25519-donna-c64.Nick Mathewson
This now matches upstream at version 59a896970a1ad0a6cd7d0. (Adam took my patches.)
2013-01-03Use always_inline only with inline; otherwise GCC gripesNick Mathewson
2013-01-03Make libcurve25519_donna get built as a .aNick Mathewson
This lets us give it compiler flags differing from the rest of libor-crypto.a
2013-01-03Fix an unused-variable warningNick Mathewson
2013-01-03Enable the ntor handshake on the client side.Nick Mathewson
"works for me"
2013-01-03Enable handling of create2/extend2/created2/extended2Nick Mathewson
2013-01-03Don't check create cells too much when we're relaying themNick Mathewson
We want to sanity-check our own create cells carefully, and other people's loosely.
2013-01-03Implement scheme to allow ntor requests/responses via older serversNick Mathewson
2013-01-03Use created_cell_format where appropriateNick Mathewson
2013-01-03Use new wrappers for making,sending,processing create/extend cellsNick Mathewson
2013-01-03Teach cpuworker and others about create_cell_t and friendsNick Mathewson
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
2013-01-03Code to parse and format CREATE{,2,_FAST} cells and their alliesNick Mathewson
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.
2013-01-03Rename handshake_digest to rend_circ_nonceNick Mathewson
The handshake_digest field was never meaningfully a digest *of* the handshake, but rather is a digest *from* the handshake that we exapted to prevent replays of ESTABLISH_INTRO cells. The ntor handshake will generate it as more key material rather than taking it from any part of the circuit handshake reply..
2013-01-03Massive refactoring of the various handshake typesNick Mathewson
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.
2013-01-03Refactor the CREATE_FAST handshake code to match the others.Nick Mathewson
2013-01-02Split onion.[ch] into onion{,_fast,_tap}.[ch]Nick Mathewson
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.
2013-01-02Wrangle curve25519 onion keys: generate, store, load, publish, republishNick Mathewson
Here we try to handle curve25519 onion keys from generating them, loading and storing them, publishing them in our descriptors, putting them in microdescriptors, and so on. This commit is untested and probably buggy like whoa
2013-01-02Move curve25519 keypair type to src/common; give it functionsNick Mathewson
This patch moves curve25519_keypair_t from src/or/onion_ntor.h to src/common/crypto_curve25519.h, and adds new functions to generate, load, and store keypairs.
2013-01-02Refactor strong os-RNG into its own functionNick Mathewson
Previously, we only used the strong OS entropy source as part of seeding OpenSSL's RNG. But with curve25519, we'll have occasion to want to generate some keys using extremely-good entopy, as well as the means to do so. So let's! This patch refactors the OS-entropy wrapper into its own crypto_strongest_rand() function, and makes our new curve25519_secret_key_generate function try it as appropriate.
2013-01-02curve25519-donna-c64: make endian-neutralness fns staticNick Mathewson
2013-01-02Implementat the ntor handshakeNick Mathewson
The ntor handshake--described in proposal 216 and in a paper by Goldberg, Stebila, and Ustaoglu--gets us much better performance than our current approach.
2013-01-02Add a wrapper around, and test and build support for, curve25519.Nick Mathewson
We want to use donna-c64 when we have a GCC with support for 64x64->uint128_t multiplying. If not, we want to use libnacl if we can, unless it's giving us the unsafe "ref" implementation. And if that isn't going to work, we'd like to use the portable-and-safe-but-slow 32-bit "donna" implementation. We might need more library searching for the correct libnacl, especially once the next libnacl release is out -- it's likely to have bunches of better curve25519 implementations. I also define a set of curve25519 wrapper functions, though it really shouldn't be necessary. We should eventually make the -donna*.c files get build with -fomit-frame-pointer, since that can make a difference.