aboutsummaryrefslogtreecommitdiff
path: root/src/or/onion.c
Commit message (Collapse)AuthorAge
* bugfix: onion pending queue now worksRoger Dingledine2003-09-14
| | | | | | | and fixed recent memory leak svn:r456
* fix the cpuworker circ-had-vanished bug (maybe)Roger Dingledine2003-09-14
| | | | | | | still several (many) tls-related bugs outstanding. svn:r454
* implemented cpuworkersRoger Dingledine2003-08-20
| | | | | | | | | | please poke at it and report bugs still needs polishing, and only handles onions now (should handle OR handshakes too) svn:r402
* start refactoring dnsworker so testing won't be so darn hardRoger Dingledine2003-08-14
| | | | | | | | | 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
* src/orNick Mathewson2003-07-30
| | | | svn:r371
* Remove false warnings from printf checksNick Mathewson2003-06-21
| | | | svn:r340
* When debugging, dump key materialNick Mathewson2003-06-14
| | | | svn:r323
* Fix the periodic bug that would make handshaking fail.Nick Mathewson2003-06-14
| | | | | | | | The culprit: sometimes DH_calculate_key returns less than DH_KEY_LEN bytes; we needed to check the return value. svn:r322
* Better test messages for onion skin bugNick Mathewson2003-06-13
| | | | svn:r319
* relay queues are obsolete (woo!)Roger Dingledine2003-06-13
| | | | | | | | | | | 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
* implement truncate and truncated (untested)Roger Dingledine2003-06-12
| | | | | | | clean up circuit_deliver_relay_cell convention svn:r312
* Answer question about eliminating symmetric encryption from onion skinsNick Mathewson2003-06-02
| | | | svn:r304
* OPport is gone. So is conn type OP.Roger Dingledine2003-05-28
| | | | svn:r298
* correct the comments, plus a question for nickRoger Dingledine2003-05-26
| | | | svn:r295
* remove dead codeRoger Dingledine2003-05-20
| | | | | | | | | | 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
* add circuit-level sendme relay cellsRoger Dingledine2003-05-20
| | | | | | | | | | remove sendme cells replace malloc with tor_malloc patch (but not track down) bug in onion pending list streamline connection_ap handshake svn:r293
* sign directories with the signing keyRoger Dingledine2003-05-07
| | | | svn:r274
* Refactor directories; add unit tests; add router keywordNick Mathewson2003-05-06
| | | | svn:r266
* put some symbolic constants to the onion skin lengthsRoger Dingledine2003-05-06
| | | | svn:r265
* incremental path building in; uses ephemeral DH; onions are goneRoger Dingledine2003-05-05
| | | | | | | still need to change circuit-level sendmes svn:r264
* Tests, headers, and debugging for onion skin backendNick Mathewson2003-05-05
| | | | svn:r263
* streams are now 8 bytes, and are recognized by intermediate hopsRoger Dingledine2003-05-02
| | | | | | | | the OP only crypts the appropriate number of times depending on which layer (hop on the path) it's for/from. svn:r262
* cpath is now a doubly linked list, not an arrayRoger Dingledine2003-05-01
| | | | svn:r260
* Implement core of onion-skin-based handshakeNick Mathewson2003-05-01
| | | | svn:r259
* terminology shift: data->relay, topic->relay, topic->streamRoger Dingledine2003-05-01
| | | | svn:r258
* Adjust straggling users of payload fieldNick Mathewson2003-04-17
| | | | svn:r250
* Choose correct abstraction for topic_foo. Abstract random-integer codeNick Mathewson2003-04-17
| | | | svn:r249
* Remove the last vestige of code that claims to know the inner structure of ↵Nick Mathewson2003-04-16
| | | | | | an onion on the network svn:r239
* bugfix: make onions work againRoger Dingledine2003-04-16
| | | | svn:r238
* Remove the notion of "onion ciphers"; make packing and unpacking separate fnsNick Mathewson2003-04-16
| | | | svn:r236
* divorce circuit building from user connectionsRoger Dingledine2003-04-16
| | | | | | | | 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
* put most of the remaining exit policy stuff inRoger Dingledine2003-04-08
| | | | | | | route selection still doesn't pay attention to exit policies though svn:r227
* Add magic to end of C files to make emacs happy; split test invocation into ↵Nick Mathewson2003-04-07
| | | | | | separate file. svn:r224
* Finish zlib and half-open; switch to 3des (ede/ofb)Nick Mathewson2003-03-19
| | | | svn:r198
* greatly simplify this notion of 'roles':Roger Dingledine2003-03-18
| | | | | | | | 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
* Remove extraneous (and non-ansi) semisNick Mathewson2003-03-17
| | | | svn:r186
* rudimentary dns caching (of both resolves and resolve failures)Roger Dingledine2003-02-14
| | | | | | | serious performance increase over non-caching svn:r158
* major overhaul: dns slave subsystem, topicsRoger Dingledine2003-01-26
| | | | | | | | | | | | | | | | | | | | | | | | | | 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
* use a rbtree for replay detection, rather than linear searchRoger Dingledine2002-12-31
| | | | | | | | 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
* onions go on and off the network correctly nowRoger Dingledine2002-12-03
| | | | | | | | we're closer to an OS X port CVS: ---------------------------------------------------------------------- svn:r146
* onions expire after a day, not an hourRoger Dingledine2002-12-03
| | | | | | | | | 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
* two more rare race conditionsRoger Dingledine2002-11-28
| | | | svn:r143
* create cells are now queued and processed only when idleRoger Dingledine2002-11-27
| | | | | | | | | | | 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
* remove popt dependency, consolidate config stuffRoger Dingledine2002-11-23
| | | | | | | reformat parts of onion.c svn:r136
* cleanup and a variety of bugfixesRoger Dingledine2002-10-02
| | | | svn:r132
* Add convenience functions to wrap create and init for symmetric ciphers; ↵Nick Mathewson2002-10-02
| | | | | | clean up error handling in onion.c svn:r131
* cleanupRoger Dingledine2002-09-28
| | | | | | | | | | prkey is only fetched when it's needed tor nodes who aren't dirservers now fetch directories and autoconnect to new nodes listed in the directory default role is a non-dirserver node svn:r120
* laying the groundwork for dynamic router listsRoger Dingledine2002-09-24
| | | | | | | | | | | | | | | | revamped the router reading section reference counting for crypto pk env's (so we can dup them) we now read and write pem pk keys from string rather than from FILE*, in anticipation of fetching directories over a socket (so now on startup we slurp in the whole file, then parse it as a string) fixed a bug in the proxy side, where you could get some circuits wedged if they showed up while the connection was being made svn:r110
* synchronize to the version i've been giving people to testRoger Dingledine2002-09-19
| | | | svn:r104
* onion proxies now work (i think)Roger Dingledine2002-09-04
| | | | svn:r96