aboutsummaryrefslogtreecommitdiff
path: root/src/or/circuit.c
Commit message (Expand)AuthorAge
* Fix possible bug in circID selection when building circuits on combination OP...•••svn:r830 Nick Mathewson2003-11-17
* more verbose info for circuits when kill -USR1•••svn:r829 Roger Dingledine2003-11-17
* finally find and possibly fix the circuit_deliver_relay_cell warn bug•••svn:r827 Roger Dingledine2003-11-17
* catch the last missing log line i hope•••svn:r825 Roger Dingledine2003-11-17
* Remove a possible source of error in circID picking.•••svn:r824 Nick Mathewson2003-11-17
* continue the circuit_deliver_relay_cell forward-failure bughunt•••svn:r823 Roger Dingledine2003-11-17
* trivial bugfixes•••svn:r821 Roger Dingledine2003-11-17
* recognize in-progress circs and don't start redundant ones•••quickly notice streams that don't have a circ on the way, and start one svn:r819 Roger Dingledine2003-11-17
* change when circuits are built and expired•••not quite happy with it yet svn:r817 Roger Dingledine2003-11-16
* bugfix: if you recognize a relay cell, don't also pass it on.•••svn:r816 Roger Dingledine2003-11-16
* initial patches on patches•••svn:r814 Roger Dingledine2003-11-16
* Improved exit policy syntax; basic client-side DNS caching.•••- Exit policies now support bitmasks (18.0.0.0/255.0.0.0) and bitcounts 18.0.0.0/8. Policies are parsed on startup, not when comparing to them. - desired_path_len is now part of an opaque cpath_build_state_t structure. - END_REASON_EXITPOLICY cells no longer include a port. - RELAY_COMMAND_CONNECTED cells now include the IP address we've connected to. - connection_edge now has a client_dns cache to remember resolved addresses. It gets populated by RELAY_COMMAND_CONNECTED cells and END_REASON_EXITPOLICY cells. It gets used by connection_ap_handshake_send_begin. We don't compare it to exit policies yet. svn:r812 Nick Mathewson2003-11-14
* commencing the bughunt•••svn:r811 Roger Dingledine2003-11-14
* lay groundwork for EntryNodes and ExitNodes•••svn:r805 Roger Dingledine2003-11-12
* Restore erroneously removed assert•••svn:r796 Nick Mathewson2003-11-12
* Fix thinko: Failure and success are different things.•••svn:r795 Nick Mathewson2003-11-12
* Remove dead code•••svn:r794 Nick Mathewson2003-11-12
* Compute paths as we build them.•••svn:r793 Nick Mathewson2003-11-12
* Refactor onion_generate_cpath to build cpaths one hop at a time. This•••is a the first step in computing hops one step at a time. Next, we move the responsibility for calling onion_extend_cpath into circuit.c (Later, we may want to special-case onion_extend_cpath to treat entry and exit routers differently.) svn:r792 Nick Mathewson2003-11-12
* more cleanups and bugfix•••svn:r790 Roger Dingledine2003-11-11
* Rename aci to circ_id throughout.•••svn:r784 Nick Mathewson2003-11-11
* Make AP connections wait for a circuit if none exists.•••Also: - Refactor socks request into a separate struct - Add a separate 'waiting for circuit' state to AP connections between 'waiting for socks' and 'open'. Arma: can you check out the XXX's I've added to connection_edge? I may be mishandling some async and close logic. svn:r783 Nick Mathewson2003-11-11
* move closer to being able to reload config on HUP•••rename APPort to SocksPort introduce new tor_free() macro svn:r642 Roger Dingledine2003-10-21
* send the end cell when we realize we're going to end,•••not when we're closing the stream. this lets us put a payload in the end cell if we want to, to describe why we're closing the stream. there are still some places where we don't send the end cell immediately. i need to track them down. but it's a low priority, since i've made it send the end cell when we close the stream if we haven't already sent it. svn:r640 Roger Dingledine2003-10-21
* Stop using stdout for non-debugging cases•••svn:r592 Nick Mathewson2003-10-15
* change WARNING to WARN•••and fix a few typos svn:r571 Roger Dingledine2003-10-10
* Refactor, rename, and clarify•••svn:r569 Nick Mathewson2003-10-09
* Update LICENSE and copyright dates.•••svn:r560 Nick Mathewson2003-10-08
* refactor around connection_edge_send_command()•••svn:r539 Roger Dingledine2003-10-04
* wrap strdup; prefer time() to gettimeofday()•••svn:r538 Roger Dingledine2003-10-04
* refactor so connection_write_to_buf() never fails•••svn:r537 Roger Dingledine2003-10-04
* Add new cell fullness and bandwidth stats.•••svn:r533 Nick Mathewson2003-10-02
* my_routerinfo, router_is_me, and learn_my_address are obsolete•••ACIs are decided now by strcmp'ing nicknames, rather than comparing addr:port svn:r529 Roger Dingledine2003-10-01
* clean up receiver buckets; prepare for payloads in relay_end; note a few bugs•••svn:r502 Roger Dingledine2003-09-27
* 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
* cleanups, bugfixes, more verbose logs•••Fixed up the assert_*_ok funcs some (more work remains) Changed config so it reads either /etc/torrc or the -f arg, never both Finally tracked down a nasty bug with our use of tls: It turns out that if you ask SSL_read() for no more than n bytes, it will read the entire record from the network (and maybe part of the next record, I'm not sure), give you n bytes of it, and keep the remaining bytes internally. This is fine, except our poll-for-read looks at the network, and there are no bytes pending on the network, so we never know to ask SSL_read() for more bytes. Currently I've hacked it so if we ask for n bytes and it returns n bytes, then it reads again right then. This will interact poorly with our rate limiting; we need a cleaner solution. svn:r481 Roger Dingledine2003-09-24
* leave the socks handshake on the inbuf until it's complete•••this paves the way for supporting socks5 and other handshakes it also removes those pesky AP-only variables from connection_t also hacked a fix for a bug where some streams weren't ending properly -- maybe because marked connections weren't flushing properly? svn:r472 Roger Dingledine2003-09-18
* bugfixes and refactorings•••svn:r468 Roger Dingledine2003-09-16
* Make sequential ACI selection logic handle HIGHER/LOWER•••svn:r466 Nick Mathewson2003-09-16
* Add first cut of assert_*_ok functions•••svn:r464 Nick Mathewson2003-09-16
* Add #ifdef'd code (on by default) to allocate ACIs sequentially.•••svn:r462 Nick Mathewson2003-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
* Attempt to track down bug in conn->package_window•••svn:r415 Nick Mathewson2003-08-25
* better log output for debugging•••svn:r375 Roger Dingledine2003-08-11
* Fix typo: ports are 16 bits.•••svn:r374 Nick Mathewson2003-08-11
* src/or•••svn:r371 Nick Mathewson2003-07-30
* fix many bugs in package_window handling•••svn:r363 Roger Dingledine2003-07-03
* slightly happier on 64-bit archs•••svn:r349 Roger Dingledine2003-06-24