aboutsummaryrefslogtreecommitdiff
path: root/src/or/circuitbuild.c
Commit message (Collapse)AuthorAge
...
* remove a redundant memcpy when extending to a new serverRoger Dingledine2005-12-08
| | | | | | | and attaching circuits to it. svn:r5537
* Document CREATE_FAST better in the code. Move our key expansion algorithm ↵Nick Mathewson2005-12-08
| | | | | | into a separate function in crypto.c svn:r5530
* Make clients use CREATE_FAST cells. add an option to disable this.Nick Mathewson2005-12-07
| | | | svn:r5524
* what the heck is wrong with this little piece of code?Roger Dingledine2005-12-07
| | | | | | | | why can none of us get it right? it looks so simple. svn:r5521
* Clean up some comments; remove some dead codeNick Mathewson2005-12-03
| | | | svn:r5493
* Shave off another 4.7%: remove a linear search when figuring out which ↵Nick Mathewson2005-12-03
| | | | | | circuits wanted us to open a given OR connection. svn:r5489
* Rename connection_get_by_identity_digest to reflect that it is OR-only. ↵Nick Mathewson2005-11-30
| | | | | | Make it use a hashtable instead of a linear search. svn:r5469
* minor cleanupRoger Dingledine2005-11-24
| | | | svn:r5454
* Fix a bug found by Lasse Overlier: when we were making internal circuitsRoger Dingledine2005-11-24
| | | | | | | | | (intended to be cannibalized later for rendezvous and introduction circuits), we were picking them so that they had useful exit nodes. There was no need for this, and it actually aids some statistical attacks. svn:r5453
* remove some more dead code (found while hunting lasse's bug)Roger Dingledine2005-11-24
| | | | svn:r5452
* Recover better from TCP connections to Tor servers that are broken butRoger Dingledine2005-11-19
| | | | | | | | | | | | | | | | don't tell you (it happens!); and rotate TLS connections once a week. 1) If an OR conn becomes more than a week old, make it obsolete. 2) If it's obsolete and empty, kill it. 3) When an OR makes a second connection to you, allow it. 4) If we want to send a new create cell, but the best conn we've got is obsolete, and the router is 0.1.1.9-alpha-cvs or later, ask for a new conn instead. 5) When we time out on circuit building on the first hop, make that connection obsolete. svn:r5429
* Bugfix: it looks like some middleman circuits were spending theRoger Dingledine2005-11-19
| | | | | | | | | | | | | first few moments of their existence in CIRCUIT_STATE_OPEN, then when Alice sent an extend request for a Tor that they're not connected to, they switched to CIRCUIT_STATE_OR_WAIT and spent the rest of their sorry little lives in that state, even when the connection was established and they were shuttling relay cells back and forth. And I'm not going to backport this (yet), because somehow it worked! svn:r5427
* On directory servers, old_routers was wasting hundreds of bytes per ↵Nick Mathewson2005-11-05
| | | | | | superseded router descriptor. Roll the signed descriptor info and identifying info into a cache_info struct, and use only that for old_routers. svn:r5349
* make circ->onionskin a pointer, not a static array. moria2 was usingRoger Dingledine2005-10-29
| | | | | | | | 125000 circuit_t's after it had been up for a few weeks, which translates to 20+ megs of wasted space. svn:r5333
* Remove last vestiges of old logging interface.Nick Mathewson2005-10-25
| | | | svn:r5317
* Fix possible minor memory leak when parsing helpernode stateNick Mathewson2005-10-25
| | | | svn:r5305
* Fix one possible source of reuse-a-circuit-id bug; convert circuitbuild to ↵Nick Mathewson2005-10-24
| | | | | | new logging svn:r5301
* Refactor routerlist access slightly: always use router_get_by_routerlist(); ↵Nick Mathewson2005-10-18
| | | | | | change its interface; add modifier functions to add/remove elements from the current routerlist (so we can add indices). svn:r5276
* fix a few commentsRoger Dingledine2005-10-17
| | | | svn:r5262
* Make a few INFO log lines into DEBUGPeter Palfrader2005-10-17
| | | | svn:r5257
* more log unclutteringRoger Dingledine2005-10-17
| | | | svn:r5254
* Make --hash-password not craash on exit.Nick Mathewson2005-10-12
| | | | svn:r5243
* Check for named servers when looking them up by nickname;Nick Mathewson2005-10-04
| | | | | | | | | | | | | | | | | | | warn when we'recalling a non-named server by its nickname; don't warn twice about the same name. Fix a bug in routers_update_status_from_networkstatus that made nearly all clients never update routerinfo_t.is_named. Try to list MyFamily elements by key, not by nickname. Only warn about names that we generated ourself, or got from the local user. On TLS handshake, only check the other router's nickname against its expected nickname if is_named is set. svn:r5185
* comment cleanupsRoger Dingledine2005-10-04
| | | | svn:r5181
* free helper node status info on shutdownNick Mathewson2005-09-30
| | | | svn:r5177
* Add a bunch more warnings to out warning suite; resolve them; pack structs a ↵Nick Mathewson2005-09-29
| | | | | | little better. svn:r5150
* Fix a bunch of log messages. Deprecate some routerlist fields; remove ↵Nick Mathewson2005-09-14
| | | | | | others, and status_set_at from routerinfo_t. Compress routerlist.c cleanup functions. Update cached networkstatus mtime when we download the same one twice. Change some interfaces. svn:r5068
* Clean up a few warnings that make gcc twig out a bit.Nick Mathewson2005-09-14
| | | | svn:r5062
* a bit more code cleanupRoger Dingledine2005-09-13
| | | | svn:r5033
* generalize route length to three plus one if the exit node is risky.Roger Dingledine2005-09-10
| | | | svn:r4978
* add punctuationRoger Dingledine2005-09-08
| | | | svn:r4924
* Log when falling back to nonfast/nonstabl routersNick Mathewson2005-08-26
| | | | svn:r4869
* when we're trying to build a circuit and we're being picky about whatRoger Dingledine2005-08-26
| | | | | | | | sort we get but there aren't any suitable servers, try being less picky rather than simply failing. svn:r4867
* whoops, avoid printing a null string sometimesRoger Dingledine2005-08-22
| | | | svn:r4815
* when we begin reachability testing, log the address:port for eachRoger Dingledine2005-08-22
| | | | | | | | port we're testing, so people are more likely to notice that they're using the wrong ip address. svn:r4808
* Implement exit enclaves: if we know an IP address for the destination,Roger Dingledine2005-08-15
| | | | | | | | | and there's a running Tor server at that address which allows exit to the destination, then extend the circuit to that exit first. Also, if the user asks for a .exit node, cannibalize general circs for it. svn:r4779
* Make GCC very happy, even with lots of warnings set. Also, try to fix some ↵Nick Mathewson2005-08-12
| | | | | | reported Solaris x86 warnings. svn:r4770
* Replace (Fascist)Firewall* with a new ReachableAddresses option that ↵Nick Mathewson2005-08-08
| | | | | | understands address policies. svn:r4751
* Generalize FirewallPorts to FirewallIPs so I can run happily when locked in ↵Nick Mathewson2005-08-07
| | | | | | net 18. svn:r4737
* Implement some more GETINFO goodness: expose helper nodes, config options, ↵Nick Mathewson2005-08-04
| | | | | | getinfo keys. svn:r4694
* Fix bug in state parsingNick Mathewson2005-07-28
| | | | svn:r4681
* Possibly broken implementation of persistant state; handles helper nodes; ↵Nick Mathewson2005-07-28
| | | | | | does not handle accounting info yet. svn:r4680
* fix typosRoger Dingledine2005-07-23
| | | | svn:r4645
* document code for hibernationNick Mathewson2005-07-23
| | | | svn:r4644
* Be consistent about preferring foo* to struct foo*Nick Mathewson2005-07-22
| | | | svn:r4637
* Initial, somewhat dodgy implementation of helper nodes. It has too many ↵Nick Mathewson2005-07-22
| | | | | | XXXXs, it logs too verbosely, and it doesnt do persistence. svn:r4633
* in circuit_list_path(), don't redundantly print the intended exitRoger Dingledine2005-07-20
| | | | | | | nickname when the circuit is open. svn:r4622
* stop asserting if we have a controller listening for circuit eventsRoger Dingledine2005-07-18
| | | | | | | | and we're offline so we fail to make a circuit and it tries to notify us about the zero-length circuit. svn:r4600
* trivial changes on nick's rendezvous commitRoger Dingledine2005-07-14
| | | | svn:r4553
* Logic to implement rendezvous/introduction via unknown servers.Nick Mathewson2005-06-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Add a new extend_info_t datatype to hold information needed to extend a circuit (addr,port,keyid,onion_key). Use it in cpath and build_state. Make appropriate functions take or return it instead of routerinfo_t or keyid. - #if 0 needless check in circuit_get_by_edge_conn; if nobody triggers this error in 0.1.0.10, nobody will trigger it. - Implement new hidden service descriptor format, which contains "extend info" for introduction points, along with protocol version list. - Parse new format. - Generate new format - Cache old and new formats alongside each other. - Directories serve "old" format if asked in old way, "newest available" format if asked in new way. - Use new format to find introduction points if possible; otherwise fall back. Keep nickname lists and extendinfo lists in sync. - Tests for new format. - Implement new "v2" INTRODUCE cell format. - Accept new format - Use new format if we have a versioned service descriptor that says the server accepts the new format. - Add documentation for functions and data types. svn:r4506