summaryrefslogtreecommitdiff
path: root/src/or/circuitbuild.c
AgeCommit message (Collapse)Author
2004-10-15Implement "families" of coadministered nodes; prevent them all from ↵Nick Mathewson
appearing on the same circuit. svn:r2523
2004-10-14Try to always dtrt if routerlist==NULLNick Mathewson
svn:r2489
2004-10-14more int to size_t conversions, fixing one or more amd64 bugsRoger Dingledine
plus a whitespace patch on config.c from vicman svn:r2482
2004-10-11fix the stale pointer assert bug reported by joe magicRoger Dingledine
svn:r2436
2004-09-30Fix a rare assert trigger, where routerinfos for entries in our cpathRoger Dingledine
would expire while we're building the path. Thanks to Eugene Armstead for pointing it out. svn:r2402
2004-09-10don't pick administrative-friends when picking your pathRoger Dingledine
(just a skeleton for now) svn:r2349
2004-08-20when picking unverified routers, skip those with bad uptime orRoger Dingledine
bad bandwidth, depending on what properties you care about svn:r2302
2004-08-18remove last vestiges of this 'twin' conceptRoger Dingledine
svn:r2291
2004-08-18tolerate old 0.0.7 clients that demand a certain ip:port for a routerRoger Dingledine
even though it's moved on to another one. also reduce some log verbosity. svn:r2288
2004-08-18when we try to exclude our routerinfo from being picked in theRoger Dingledine
path, it fails because we're using a pointer to the routerinfo we generate, not a pointer to the routerinfo in the routerlist. so look up the right one and use that. svn:r2286
2004-08-18remove crazy notion that clique_mode() means we areRoger Dingledine
already connected to everybody we could be connected to. svn:r2283
2004-08-18be more aggressive about trying to make circuits:Roger Dingledine
try once a second for 30 seconds, and only when the entire previous period has failed do we pause after MAX_CIRCUIT_FAILURES failures. svn:r2281
2004-08-18choose exit nodes by bandwidth tooRoger Dingledine
svn:r2274
2004-08-17deal better if we don't have enough available nodes to choose a pathRoger Dingledine
svn:r2262
2004-08-17if they ask for exactly one entrynode, don't pick it as an exitnode.Roger Dingledine
also, fix part of the zero-identity-router-in-stats bug svn:r2252
2004-08-17use unverified routers in the desired positionsRoger Dingledine
svn:r2249
2004-08-16Add a generic Comma-separated-value config type, and a FirewallPorts option ↵Nick Mathewson
to tell FascistFirewall which ports are open. (Defaults to 80,443) svn:r2244
2004-08-15Implement strict{entry|exit}nodes config optionsNick Mathewson
svn:r2236
2004-08-15o clients choose nodes proportional to advertised bandwidthRoger Dingledine
o and/or while avoiding unreliable nodes, depending on goals o 'fascistfirewall' option to pick dirservers on port 80 and ORs on port 443. o if a begin failed due to exit policy, but we believe the IP should have been allowed, switch that router to exitpolicy reject *:* until we get our next directory. svn:r2231
2004-08-08fix a race condition in 008pre2: don't try to extend onto a connectionRoger Dingledine
that's still handshaking. for servers in clique mode, require the conn to be open before you'll choose it for your path. svn:r2198
2004-08-08let children survive sigint, sigterm, etc.Roger Dingledine
this was biting us because ^c would get delivered to all of them, maybe because they were all still listening to stdin? svn:r2197
2004-08-04commit some odds and ends, so my tree is cleanRoger Dingledine
svn:r2137
2004-07-22change 0.0.8 extend cell format so it's compatible with 0.0.7Roger Dingledine
svn:r2094
2004-07-21disallow picking unverified routers in circuitsRoger Dingledine
(for now) svn:r2082
2004-07-21we were counting incorrectly when trying to figure out whetherRoger Dingledine
a given AP stream was being handled or not. (how did this work?) svn:r2077
2004-07-21make connection_tls_finish_handshake() more plausible.Roger Dingledine
now we accept connections from unknown routers. svn:r2074
2004-07-21Misc small code cleanups; remove exit_server_mode(); change tor_tls_verify ↵Nick Mathewson
behavior svn:r2073
2004-07-18abstract ORPort/SocksPort checks into server_mode(), proxy_mode(), ↵Nick Mathewson
clique_mode(), etc. Dont change underlying comments. svn:r2054
2004-07-13Finish most pre2 items: make running-routers list work right; rename secret ↵Nick Mathewson
key files; make even more lookup-by-nickname use lookup-by-id; default nicknames to hostname. svn:r2043
2004-07-13refuse to build a circuit before the directory has arrivedRoger Dingledine
this will prevent a few of the 'couldn't decrypt onionskin' errors, maybe svn:r2036
2004-07-12bugfix: tell circuits what id_digest to look for, soRoger Dingledine
n_conn_open() can find waiting circuits. svn:r2034
2004-07-03populate circ->n_conn_id_digest when we set circ->n_connRoger Dingledine
svn:r2001
2004-07-02More digest/nickname fixesNick Mathewson
svn:r2000
2004-07-02another checkpoint toward letting ORs connect on demandRoger Dingledine
svn:r1999
2004-07-02some of the infrastructure to let ORs connect on demandRoger Dingledine
svn:r1998
2004-07-01Switch most uses of *_by_addr_port to *_by_identity_digestNick Mathewson
svn:r1997
2004-07-01Track routers by hash of identity key; use hex hash of identity key in place ↵Nick Mathewson
of nickname; accept (and use) hash of identity key in EXTEND cells. svn:r1994
2004-05-20router_choose_random_node() was ignoring its routerlist argument.Roger Dingledine
so now we don't pass it one. svn:r1911
2004-05-13Break files apart into more modulesRoger Dingledine
* \file circuitbuild.c * \brief The actual details of building circuits. * \file circuitlist.c * \brief Manage the global circuit list. * \file circuituse.c * \brief Launch the right sort of circuits, attach streams to them. * \file connection_edge.c * \brief Handle edge streams. * \file onion.c * \brief Functions to queue create cells, and handle onionskin * parsing and creation. * \file relay.c * \brief Handle relay cell encryption/decryption, plus packaging and * receiving from circuits. svn:r1863