aboutsummaryrefslogtreecommitdiff
path: root/src/or/circuit.c
Commit message (Collapse)AuthorAge
* remove trailing whitespaceRoger Dingledine2003-12-17
| | | | svn:r951
* make fetch_from_buf_http malloc its strings ratherRoger Dingledine2003-12-17
| | | | | | | | | | than use fixed-size strings reorganize directory_handle_command so it'll be easier to do more with our directory servers svn:r950
* end-to-end integrity checking now worksRoger Dingledine2003-12-17
| | | | | | | | initialize digests from shared secrets at handshake make circuit_send_next_onion_skin use connection_edge_send_command svn:r948
* infrastructure for integrity-checks in relay cellsRoger Dingledine2003-12-16
| | | | | | | | make circuit_consider_sending_sendme use connection_edge_send_command fix endian bug in relay length handling (maybe) svn:r946
* resolve an edge case in get_unique_circ_id_by_connRoger Dingledine2003-12-16
| | | | svn:r944
* move cell size to 512 bytesRoger Dingledine2003-12-16
| | | | | | | | | move length to 2 bytes, put it in the relay header remove 4 reserved bytes in cell add 4 bytes to relay header for the integrity check svn:r942
* add H(K|1) to the onionskin replyRoger Dingledine2003-12-16
| | | | | | | | | | verify it at the client end abstract the onionskin handshake lengths breaks backward compatibility (again) svn:r941
* Make compile warning-free on cygwinNick Mathewson2003-12-15
| | | | svn:r936
* start tracking the 'It appears I've already sent the end' warningRoger Dingledine2003-12-14
| | | | svn:r932
* more friendly warning when there are too many dns workersRoger Dingledine2003-12-14
| | | | svn:r919
* bugfix: a circuit that immediately failed still counts as a failed circuitRoger Dingledine2003-12-13
| | | | svn:r905
* if >=2 circs are being built that handle a given stream,Roger Dingledine2003-12-12
| | | | | | | no need to have new circs handle it too. svn:r896
* close the circuit when we get a truncated cellRoger Dingledine2003-12-09
| | | | svn:r893
* fix vicious bug in connection_ap_attach_pending that caused it toRoger Dingledine2003-12-03
| | | | | | | | | | | never work. fix vicious bug in choose_good_exit_server that caused it to *skip over* pending circuits, and look only at *non-pending circuits*, when choosing a good exit node for the new circuit. bugfix: remove incorrect asserts in circuit_get_newest() svn:r876
* simplify: options.OnionRouter==1 iff options.ORPort>0Roger Dingledine2003-11-20
| | | | svn:r857
* bugfix and cleanupsRoger Dingledine2003-11-19
| | | | svn:r848
* Separate failure-count tracking from circuit-launching.Nick Mathewson2003-11-19
| | | | | | | | Increment failure counts only when circuits close without having been built. Reset failure counts only on the second, and when circuits are done building. svn:r847
* bugfix: sometimes we closed a circ while cpuworker was cranking,Roger Dingledine2003-11-18
| | | | | | | and it didn't notice svn:r841
* bugfix: don't ask for ->next of an expired circuitRoger Dingledine2003-11-18
| | | | | | | | | | | | | | | bugfix: keep going when a circ fails in circuit_n_conn_open (make circuit_enumerate_by_naddr_nport obsolete) bugfix: make circuit_n_conn_open only look at circ's that start at us bugfix: only try circuit_n_conn_open if we're an OP. Otherwise we expect connections to always already be up. bugfix: when choosing path length, pay attention to whether the directory says a router is down. bugfix: when picking good exit, skip routers which are known to be down (more work needs to be done on this one) svn:r838
* use the tor_malloc_zero wrapperRoger Dingledine2003-11-18
| | | | svn:r837
* don't build too many circs at onceRoger Dingledine2003-11-18
| | | | | | | expire circs that have been building for too long svn:r835
* Fix possible bug in circID selection when building circuits on combination ↵Nick Mathewson2003-11-17
| | | | | | OP/OR servers svn:r830
* more verbose info for circuits when kill -USR1Roger Dingledine2003-11-17
| | | | svn:r829
* finally find and possibly fix the circuit_deliver_relay_cell warn bugRoger Dingledine2003-11-17
| | | | svn:r827
* catch the last missing log line i hopeRoger Dingledine2003-11-17
| | | | svn:r825
* Remove a possible source of error in circID picking.Nick Mathewson2003-11-17
| | | | svn:r824
* continue the circuit_deliver_relay_cell forward-failure bughuntRoger Dingledine2003-11-17
| | | | svn:r823
* trivial bugfixesRoger Dingledine2003-11-17
| | | | svn:r821
* recognize in-progress circs and don't start redundant onesRoger Dingledine2003-11-17
| | | | | | | quickly notice streams that don't have a circ on the way, and start one svn:r819
* change when circuits are built and expiredRoger Dingledine2003-11-16
| | | | | | | not quite happy with it yet svn:r817
* bugfix: if you recognize a relay cell, don't also pass it on.Roger Dingledine2003-11-16
| | | | svn:r816
* initial patches on patchesRoger Dingledine2003-11-16
| | | | svn:r814
* Improved exit policy syntax; basic client-side DNS caching.Nick Mathewson2003-11-14
| | | | | | | | | | | | | | | | | | | | - 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
* commencing the bughuntRoger Dingledine2003-11-14
| | | | svn:r811
* lay groundwork for EntryNodes and ExitNodesRoger Dingledine2003-11-12
| | | | svn:r805
* Restore erroneously removed assertNick Mathewson2003-11-12
| | | | svn:r796
* Fix thinko: Failure and success are different things.Nick Mathewson2003-11-12
| | | | svn:r795
* Remove dead codeNick Mathewson2003-11-12
| | | | svn:r794
* Compute paths as we build them.Nick Mathewson2003-11-12
| | | | svn:r793
* Refactor onion_generate_cpath to build cpaths one hop at a time. ThisNick Mathewson2003-11-12
| | | | | | | | | | | 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
* more cleanups and bugfixRoger Dingledine2003-11-11
| | | | svn:r790
* Rename aci to circ_id throughout.Nick Mathewson2003-11-11
| | | | svn:r784
* Make AP connections wait for a circuit if none exists.Nick Mathewson2003-11-11
| | | | | | | | | | | | | 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
* move closer to being able to reload config on HUPRoger Dingledine2003-10-21
| | | | | | | | rename APPort to SocksPort introduce new tor_free() macro svn:r642
* send the end cell when we realize we're going to end,Roger Dingledine2003-10-21
| | | | | | | | | | | | | | | 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
* Stop using stdout for non-debugging casesNick Mathewson2003-10-15
| | | | svn:r592
* change WARNING to WARNRoger Dingledine2003-10-10
| | | | | | | and fix a few typos svn:r571
* Refactor, rename, and clarifyNick Mathewson2003-10-09
| | | | svn:r569
* Update LICENSE and copyright dates.Nick Mathewson2003-10-08
| | | | svn:r560
* refactor around connection_edge_send_command()Roger Dingledine2003-10-04
| | | | svn:r539