aboutsummaryrefslogtreecommitdiff
path: root/src/or/circuit.c
Commit message (Collapse)AuthorAge
* create a separate connection_edge_destroy() functionRoger Dingledine2004-02-29
| | | | svn:r1176
* clean up some log messages and severitiesRoger Dingledine2004-02-28
| | | | | | | still plenty more left to clean svn:r1158
* if a relay cell is unrecognized at the end of the circuit,Roger Dingledine2004-02-28
| | | | | | | send back a destroy svn:r1153
* Make has_sent_end irrelevant: only try to send end if reason is nonzeroNick Mathewson2004-02-28
| | | | svn:r1148
* patches/answers to nick's commitRoger Dingledine2004-02-27
| | | | svn:r1146
* Refactor mark_for_close, connection_edge_end and friends. Now, everybodyNick Mathewson2004-02-27
| | | | | | | | | | | | | | | | who wants to shut down a connection calls connection_mark_for_close instead of setting marked_for_close to 1. This automatically removes the connection from the DNS cache if needed, sends a RELAY END cell if appropriate, and can be changed to do whatever else is needed. Still to do: - The same for circuits, maybe. - Add some kind of hold_connection_open_until_flushed flag, maybe. - Change stuff that closes connections with return -1 to use mark_for_close, maybe. svn:r1145
* clean up an ia64 warningRoger Dingledine2004-02-27
| | | | svn:r1140
* Basic RAM poisoning and magic-checking to notice connection and circuitNick Mathewson2004-02-25
| | | | | | | | corruption faster; also, check for corruption in dns.c so we can fail fast for the bug that's nailing Lucky and moria3. svn:r1123
* adding the reattach-after-timeout feature wasn't so easy after all.Roger Dingledine2004-02-18
| | | | | | | maybe it works now. svn:r1101
* Propagate yes/no/maybe a little farther forward.Nick Mathewson2004-02-17
| | | | svn:r1096
* turn some knobs, add more debuggingRoger Dingledine2004-01-30
| | | | svn:r1023
* add an ap_conn connecting state; report connecting delayRoger Dingledine2004-01-20
| | | | svn:r1011
* fix endian issue: rh.integrity was getting sent wrongRoger Dingledine2004-01-02
| | | | | | | now it's a char[4] rather than an int svn:r966
* make loglevel info less noisyRoger Dingledine2003-12-30
| | | | svn:r961
* randomize the initial circ_id and stream_id, so an adversary whoRoger Dingledine2003-12-28
| | | | | | | | breaks in part-way through can't learn how many circs/streams have been made svn:r960
* back out the insert-padding-if-conflict codeRoger Dingledine2003-12-26
| | | | | | | use recognized + digest instead, just assume it's enough bits svn:r959
* checkpoint: revamp relay cell packaging and handlingRoger Dingledine2003-12-23
| | | | | | | | include the infrastructure for inserting padding cells when there's a relay-recognized conflict, but it does not work currently. svn:r958
* rename circ_id_t to uint16_t for code clarityRoger Dingledine2003-12-19
| | | | | | | change message when using non-recommended tor version svn:r954
* make a relay_header_t struct and pack/unpack funcsRoger Dingledine2003-12-19
| | | | | | | | | | | | | | split 7-byte stream_id string into 2-byte recognized and 2-byte stream_id fix two seg faults in fetch_from_buf_http fix several lurking seg faults in handling unexpected relay cells still need to * clean up relay_crypt * use relay dummies if there's going to be a conflict with rh.recognized * check for a conflict when generating stream_ids svn:r953
* 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