aboutsummaryrefslogtreecommitdiff
path: root/src/or/onion.c
Commit message (Expand)AuthorAge
* getting closer to having dirserv working•••we now add our own descriptor to the descriptor list and we rebuild the directory (and dump to disk) after receiving a POST svn:r509 Roger Dingledine2003-09-30
* first pass: obey log convention•••ERR is if something fatal just happened WARNING is something bad happened, but we're still running. The bad thing is either a bug in the code, an attack or buggy protocol/implementation of the remote peer, etc. The operator should examine the bad thing and try to correct it. (No error or warning messages should be expected. I expect most people to run on -l warning eventually.) NOTICE is never ever used. INFO means something happened (maybe bad, maybe ok), but there's nothing you need to (or can) do about it. DEBUG is for everything louder than INFO. svn:r486 Roger Dingledine2003-09-26
* Refactor buffers; implement descriptors.•••'buf_t' is now an opaque type defined in buffers.c . Router descriptors now include all keys; routers generate keys as needed on startup (in a newly defined "data directory"), and generate their own descriptors. Descriptors are now self-signed. Implementation is not complete: descriptors are never published; and upon receiving a descriptor, the directory doesn't do anything with it. At least "routers.or" and orkeygen are now obsolete, BTW. svn:r483 Nick Mathewson2003-09-25
* bugfixes and refactorings•••svn:r468 Roger Dingledine2003-09-16
* clean up exported api's•••svn:r461 Roger Dingledine2003-09-16
* bugfix: onion pending queue now works•••and fixed recent memory leak svn:r456 Roger Dingledine2003-09-14
* fix the cpuworker circ-had-vanished bug (maybe)•••still several (many) tls-related bugs outstanding. svn:r454 Roger Dingledine2003-09-14
* implemented cpuworkers•••please poke at it and report bugs still needs polishing, and only handles onions now (should handle OR handshakes too) svn:r402 Roger Dingledine2003-08-20
* start refactoring dnsworker so testing won't be so darn hard•••add NumCpus config variable in preparation for cpuworkers hardcode /etc/torrc path for config (simplifies win32 port) improve exit policy debugging during router entry parsing svn:r397 Roger Dingledine2003-08-14
* src/or•••svn:r371 Nick Mathewson2003-07-30
* Remove false warnings from printf checks•••svn:r340 Nick Mathewson2003-06-21
* When debugging, dump key material•••svn:r323 Nick Mathewson2003-06-14
* Fix the periodic bug that would make handshaking fail.•••The culprit: sometimes DH_calculate_key returns less than DH_KEY_LEN bytes; we needed to check the return value. svn:r322 Nick Mathewson2003-06-14
* Better test messages for onion skin bug•••svn:r319 Nick Mathewson2003-06-13
* relay queues are obsolete (woo!)•••they used to be used for * queueing relay cells at the edge of the network, when windows are empty * queueing relay cells that arrive after an onion but before the onion has been processed. both of these uses are gone. so out they go. svn:r315 Roger Dingledine2003-06-13
* implement truncate and truncated (untested)•••clean up circuit_deliver_relay_cell convention svn:r312 Roger Dingledine2003-06-12
* Answer question about eliminating symmetric encryption from onion skins•••svn:r304 Nick Mathewson2003-06-02
* OPport is gone. So is conn type OP.•••svn:r298 Roger Dingledine2003-05-28
* correct the comments, plus a question for nick•••svn:r295 Roger Dingledine2003-05-26
* remove dead code•••circuits no longer queue more cells when the windows are empty -- they simply don't package it from the buffer if they're not going to want it. we can restore this code later if we need to resume queueing. svn:r294 Roger Dingledine2003-05-20
* add circuit-level sendme relay cells•••remove sendme cells replace malloc with tor_malloc patch (but not track down) bug in onion pending list streamline connection_ap handshake svn:r293 Roger Dingledine2003-05-20
* sign directories with the signing key•••svn:r274 Roger Dingledine2003-05-07
* Refactor directories; add unit tests; add router keyword•••svn:r266 Nick Mathewson2003-05-06
* put some symbolic constants to the onion skin lengths•••svn:r265 Roger Dingledine2003-05-06
* incremental path building in; uses ephemeral DH; onions are gone•••still need to change circuit-level sendmes svn:r264 Roger Dingledine2003-05-05
* Tests, headers, and debugging for onion skin backend•••svn:r263 Nick Mathewson2003-05-05
* 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 Roger Dingledine2003-05-02
* cpath is now a doubly linked list, not an array•••svn:r260 Roger Dingledine2003-05-01
* Implement core of onion-skin-based handshake•••svn:r259 Nick Mathewson2003-05-01
* terminology shift: data->relay, topic->relay, topic->stream•••svn:r258 Roger Dingledine2003-05-01
* Adjust straggling users of payload field•••svn:r250 Nick Mathewson2003-04-17
* Choose correct abstraction for topic_foo. Abstract random-integer code•••svn:r249 Nick Mathewson2003-04-17
* Remove the last vestige of code that claims to know the inner structure of an...•••svn:r239 Nick Mathewson2003-04-16
* bugfix: make onions work again•••svn:r238 Roger Dingledine2003-04-16
* Remove the notion of "onion ciphers"; make packing and unpacking separate fns•••svn:r236 Nick Mathewson2003-04-16
* 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 Roger Dingledine2003-04-16
* put most of the remaining exit policy stuff in•••route selection still doesn't pay attention to exit policies though svn:r227 Roger Dingledine2003-04-08
* Add magic to end of C files to make emacs happy; split test invocation into s...•••svn:r224 Nick Mathewson2003-04-07
* Finish zlib and half-open; switch to 3des (ede/ofb)•••svn:r198 Nick Mathewson2003-03-19
* greatly simplify this notion of 'roles':•••if your ORPort is non-zero then you must connect to all nodes if your DirPort is non-zero then you must act like a directory server svn:r192 Roger Dingledine2003-03-18
* Remove extraneous (and non-ansi) semis•••svn:r186 Nick Mathewson2003-03-17
* rudimentary dns caching (of both resolves and resolve failures)•••serious performance increase over non-caching svn:r158 Roger Dingledine2003-02-14
* major overhaul: dns slave subsystem, topics•••on startup, it forks off a master dns handler, which forks off dns slaves (like the apache model). slaves as spawned as load increases, and then reused. excess slaves are not ever killed, currently. implemented topics. each topic has a receive window in each direction at each edge of the circuit, and sends sendme's at the data level, as per before. each circuit also has receive windows in each direction at each hop; an edge sends a circuit-level sendme as soon as enough data cells have arrived (regardless of whether the data cells were flushed to the exit conns). removed the 'connected' cell type, since it's now a topic command within data cells. at the edge of the circuit, there can be multiple connections associated with a single circuit. you find them via the linked list conn->next_topic. currently each new ap connection starts its own circuit, so we ought to see comparable performance to what we had before. but that's only because i haven't written the code to reattach to old circuits. please try to break it as-is, and then i'll make it reuse the same circuit and we'll try to break that. svn:r152 Roger Dingledine2003-01-26
* use a rbtree for replay detection, rather than linear search•••when we had lots of new onions coming in, we were using 40% of our time searching through the tracked_onions linked list. svn:r150 Roger Dingledine2002-12-31
* onions go on and off the network correctly now•••we're closer to an OS X port CVS: ---------------------------------------------------------------------- svn:r146 Roger Dingledine2002-12-03
* onions expire after a day, not an hour•••this was a major faq, because it would fail with an error only on the *server* side when the client-side time was wrong. the client would simply not work. svn:r145 Roger Dingledine2002-12-03
* two more rare race conditions•••svn:r143 Roger Dingledine2002-11-28
* create cells are now queued and processed only when idle•••we also queue data cells destined for a circuit that is pending, and process them once the circuit opens destroys reach into the queue and remove the pending onion, along with its collected data cells svn:r142 Roger Dingledine2002-11-27
* remove popt dependency, consolidate config stuff•••reformat parts of onion.c svn:r136 Roger Dingledine2002-11-23
* cleanup and a variety of bugfixes•••svn:r132 Roger Dingledine2002-10-02