Commit Graph

277 Commits

Author SHA1 Message Date
Nick Mathewson 33005f950a Get directories working.
Or at least, directories get generated, signed, download, and checked, with
nobody seeming to crash.

In config/*, added 'signing-key' blocks to dirservers and routers.or, so
that everyone will know about the directories' signing keys.

In or/directory.c, refrained from using a dirserver's signing key when
no such key is known; added more debugging output.

In or/main.c, added debugging output and fixed a few logic errors.

In or/routers.c, added debugging output and prevented a segfault on
routers_resolve_directory.  The interleaving of arrays and lists on
routerinfo_t is still messy, but at least it seems to work again.


svn:r278
2003-05-08 21:35:11 +00:00
Nick Mathewson a2b976cd47 (possibly incorrect) code to make routers get resolved when they're
inserted into the directory.

Roger: If you can answer the question with your name on it, you may
prevent a segfault before it happens. :)


svn:r277
2003-05-08 12:32:30 +00:00
Nick Mathewson 2bc7a909de Call the right signed-directory functions; try to describe the difference between everything; remove some unused interfaces
svn:r276
2003-05-08 03:36:53 +00:00
Roger Dingledine adee094641 cheap hack so the dirservers have a signing key
svn:r275
2003-05-07 22:41:12 +00:00
Roger Dingledine adcd601777 sign directories with the signing key
svn:r274
2003-05-07 22:40:03 +00:00
Roger Dingledine 59b9a9456c hints for nick on where to integrate
svn:r273
2003-05-07 21:42:17 +00:00
Nick Mathewson 87a441de7d Do not replace old directory if new one is invalid
svn:r272
2003-05-07 18:39:44 +00:00
Nick Mathewson ff62e898d7 Tested backends for directory signing and checking. Directory parser completely refactored. Need documentation and integration. Explanitory mail forthcoming.
svn:r271
2003-05-07 18:30:46 +00:00
Roger Dingledine 0e1842c2df fix double-semicolon parse error
svn:r270
2003-05-07 03:32:18 +00:00
Nick Mathewson b2ae81b88c Decrease DH group length to 1024. (Roger, you may want to read section 1 of the IETF draft: a 1024-bit DH key probably reduces our cipher strength to ~80 bits.)
svn:r269
2003-05-07 02:28:42 +00:00
Nick Mathewson 02a17b3cc6 More work on directories. Signed directories not yet tested. No support for checking sigs yet
svn:r268
2003-05-07 02:13:23 +00:00
Roger Dingledine a9ad088775 update the todo
svn:r267
2003-05-07 02:02:52 +00:00
Nick Mathewson 5d7ce01b75 Refactor directories; add unit tests; add router keyword
svn:r266
2003-05-06 17:38:16 +00:00
Roger Dingledine 104c0579e6 put some symbolic constants to the onion skin lengths
svn:r265
2003-05-06 05:54:42 +00:00
Roger Dingledine efa66fa642 incremental path building in; uses ephemeral DH; onions are gone
still need to change circuit-level sendmes


svn:r264
2003-05-05 23:24:46 +00:00
Nick Mathewson 920e995d23 Tests, headers, and debugging for onion skin backend
svn:r263
2003-05-05 04:27:00 +00:00
Roger Dingledine 44e6f60cec streams are now 8 bytes, and are recognized by intermediate hops
the OP only crypts the appropriate number of times depending on which
layer (hop on the path) it's for/from.


svn:r262
2003-05-02 21:29:25 +00:00
Roger Dingledine eb98f2b482 remove obsolete test code
svn:r261
2003-05-01 23:22:35 +00:00
Roger Dingledine f686299c31 cpath is now a doubly linked list, not an array
svn:r260
2003-05-01 22:55:51 +00:00
Nick Mathewson 66a5306a93 Implement core of onion-skin-based handshake
svn:r259
2003-05-01 19:42:51 +00:00
Roger Dingledine 3bb5bd96f1 terminology shift: data->relay, topic->relay, topic->stream
svn:r258
2003-05-01 06:42:29 +00:00
Nick Mathewson 69921711b3 Basic diffie-helman wrappers with fixed modulus and tests
svn:r257
2003-05-01 00:53:46 +00:00
Roger Dingledine d567449d8a update based on discussions at discex iii
svn:r256
2003-04-25 18:29:45 +00:00
Roger Dingledine 81ab0c3988 bugfix: a circ can't be youngest if it's still connecting to the first hop
svn:r255
2003-04-20 21:56:44 +00:00
Roger Dingledine 11eee85576 bugfix: refactor to always use circuit_remove
this way we can always check if a new circ needs to be launched


svn:r254
2003-04-20 19:47:33 +00:00
Roger Dingledine f85ea447db bugfix: don't segfault if there's no valid circuit open
svn:r253
2003-04-19 00:24:17 +00:00
Roger Dingledine 4404e25623 update docs to reflect a bit more reality
svn:r252
2003-04-18 18:57:22 +00:00
Roger Dingledine 7a45454b74 bugfix: only close old circuits if they have no connections!
svn:r251
2003-04-18 18:47:49 +00:00
Nick Mathewson f3f76b881e Adjust straggling users of payload field
svn:r250
2003-04-17 17:25:32 +00:00
Nick Mathewson 6966c069bb Choose correct abstraction for topic_foo. Abstract random-integer code
svn:r249
2003-04-17 17:10:41 +00:00
Nick Mathewson 54d1b05671 Use cell.topic* fields in ap_handshake_send_begin
svn:r248
2003-04-17 16:46:44 +00:00
Nick Mathewson c134e37e58 Rebuild or and test binaries when a libor.a changes but or/*.c does not.
svn:r247
2003-04-17 02:24:55 +00:00
Nick Mathewson 53f25b813f Apply algebra; remove a condition
svn:r246
2003-04-17 02:03:55 +00:00
Nick Mathewson 17f848993e tv_udiff: do not modify arguments, and compute results correctly.
svn:r245
2003-04-17 01:59:41 +00:00
Nick Mathewson 5c9441c543 17 does not divide 1024, but it can stomp some interesting pointers and segfault the test suite
svn:r244
2003-04-17 01:56:06 +00:00
Nick Mathewson 616daf56ce Fix test.h to have once-only evalutation of arguments
svn:r243
2003-04-17 01:55:13 +00:00
Roger Dingledine 12e1b4eee8 more cleanup
svn:r242
2003-04-16 23:22:05 +00:00
Roger Dingledine 80fa9e3079 further cleanup, test.c still has some bugs
svn:r241
2003-04-16 23:21:44 +00:00
Nick Mathewson 6a0ac0ce2d Factor out cell packing and unpacking
svn:r240
2003-04-16 17:44:33 +00:00
Nick Mathewson dd2a0e7db9 Remove the last vestige of code that claims to know the inner structure of an onion on the network
svn:r239
2003-04-16 17:11:56 +00:00
Roger Dingledine 5fa2591647 bugfix: make onions work again
svn:r238
2003-04-16 17:07:46 +00:00
Nick Mathewson 4176c7f016 Factor out timeval-related functions.
svn:r237
2003-04-16 17:04:58 +00:00
Nick Mathewson eab5be35b9 Remove the notion of "onion ciphers"; make packing and unpacking separate fns
svn:r236
2003-04-16 16:19:27 +00:00
Roger Dingledine cb825d3711 add missing prototype
svn:r235
2003-04-16 16:17:27 +00:00
Nick Mathewson a4e932d2b8 Tests for crypto; more tests for buffers
svn:r234
2003-04-16 15:24:09 +00:00
Roger Dingledine 243498ee78 divorce circuit building from user connections
now we rebuild the circuit periodically (but only if it's been used),
and we can further abstract it to do incremental circuit building, etc.


svn:r233
2003-04-16 06:18:31 +00:00
Nick Mathewson b18969e1e8 Introduce a few unit tests (from older code), refactor compression setup/teardown
svn:r232
2003-04-15 19:10:18 +00:00
Roger Dingledine e7c4bcbeee make it work (heh)
svn:r231
2003-04-11 22:28:51 +00:00
Roger Dingledine dc1a241034 refactored some duplicate code into connection_edge.c
svn:r230
2003-04-11 22:11:11 +00:00
Roger Dingledine da9eb613ff bugfix: make onion proxies actually obey their requested bandwidth
svn:r229
2003-04-08 22:31:48 +00:00