aboutsummaryrefslogtreecommitdiff
path: root/src/or/circuituse.c
Commit message (Expand)AuthorAge
* Finish the transition from the word 'verified' to the words•••'named' and 'valid'. svn:r6188 Roger Dingledine2006-03-19
* Comments: cleanups and additions.•••svn:r6174 Nick Mathewson2006-03-17
* Cleanup on time-relaqted constants. New conventions:••• 1) Surround all constants by (parens), whether we'll be using them in a denominator or not. 2) Express all time periods as products (24*60*60), not as multiplied-out constants (86400). 3) Comments like "(60*60) /* one hour */" are as pointless as comments like "c = a + b; /* set c to the sum of a and b */". Remove them. 4) All time periods should be #defined constants, not given inline. 5) All time periods should have doxygen comments. 6) All time periods, unless specified, are in seconds. It's not necessary to say so. To summarize, the old (lack of) style would allow: #define FOO_RETRY_INTERVAL 60*60 /* one hour (seconds) */ next_try = now + 3600; The new style is: /** How often do we reattempt foo? */ #define FOO_RETRY_INTERVAL (60*60) next_try = now + RETRY_INTERVAL; svn:r6142 Nick Mathewson2006-03-12
* Add some functions to escape values from the network before sending them to t...•••svn:r6087 Nick Mathewson2006-03-05
* convert some more source files to the new log convention•••svn:r6002 Roger Dingledine2006-02-13
* Retry pending server downloads as well as pending networkstatus downloads whe...•••svn:r5962 Nick Mathewson2006-02-11
* Happy new year!•••svn:r5949 Roger Dingledine2006-02-09
* entry nodes are now entry guards.•••this is our last easy chance for a wholesale change. heave ho. svn:r5782 Roger Dingledine2006-01-10
* Add reasons to DESTROY and RELAY_TRUNCATED cells.•••svn:r5734 Nick Mathewson2006-01-05
* helper nodes are dead. long live entry nodes.•••(config options EntryNodes and StrictEntryNodes still not implemented.) svn:r5673 Roger Dingledine2005-12-28
* fix a spacing problem introduced by our 80-column requirement•••svn:r5669 Roger Dingledine2005-12-27
* if the network is down, and we try to connect to a conn because we•••have a circuit in mind, and we timeout (30 seconds) because the network never answers, we were expiring the circuit, but we weren't obsoleting the connection or telling the helper functions. now do that. svn:r5668 Roger Dingledine2005-12-27
* Clean fake_status a bit. Switch from has_fetched_directory to have_minimum_d...•••svn:r5591 Nick Mathewson2005-12-15
* Bite the bullet and limit all our source lines to 80 characters, the way IBM ...•••svn:r5582 Nick Mathewson2005-12-14
* mark the helper node as down if we time-out on the circuit handshake•••with him. svn:r5567 Roger Dingledine2005-12-11
* when we changed from log_fn to debug/info/notice/warn/err,•••we screwed up the formatting in wild and unpredictable ways. fix it before it becomes convention to format logs in wild and unpredictable ways. still need to do src/common/ someday. svn:r5551 Roger Dingledine2005-12-10
* Better fix for last bug: avoids trying to double-mark circuits.•••svn:r5511 Nick Mathewson2005-12-05
* Bugfix for trackhostexits: write down the fingerprint of the chosen exit,•••not its nickname, because the chosen exit might not be verified. svn:r5499 Roger Dingledine2005-12-05
* Fix another time comparison bug in circuit_stream_is_being_handled().•••Nick, can you confirm this one? This is also a backport candidate. svn:r5497 Roger Dingledine2005-12-04
* ok, i know this one was a bug. we were expiring open general•••circuits after they had been around for 30 seconds. svn:r5496 Roger Dingledine2005-12-04
* take back half of my bugfix. comparing times sucks.•••but leave the other half. svn:r5495 Roger Dingledine2005-12-04
* fix the first bug with our optimization to circuit_expire_building():•••we were killing off rendezvous circuits unless they magically time-warped to be too old before we got around to killing them, in which case we would leave them alone. this made it hard to rendezvous with hidden services. svn:r5494 Roger Dingledine2005-12-04
* Clean up some comments; remove some dead code•••svn:r5493 Nick Mathewson2005-12-03
* Use a switch statement and some mild refactoring to try to speed up circuit_e...•••svn:r5492 Nick Mathewson2005-12-03
* Make arguments to circuit_set_circid_orconn match the connection that is clos...•••svn:r5465 Nick Mathewson2005-11-29
* "How about 'never'? Does 'never' work for you?"•••Weasel says circuit_get_by_conn is his main timesink. Most of its users were just checking whether OR conns had circuits, so add a circuit count to OR conns, and check that. One was circuit_about_to_close_conn, which was doing an O(n^2) series of calls to get all circs on an OR conn, so make an O(n) function for that. Finally, circuit_get_by_edge_conn was using it as a sanity test that has been around for a while but never found any actualy insanity, so kill that. circuit_get_by_conn is finally dead, which is good, since it was never sane to begin with. svn:r5460 Nick Mathewson2005-11-26
* Start the process of treating internal circuits and exit circuits•••separately. It's important to keep them separate because internal circuits have their last hops picked like middle hops, rather than like exit hops. So exiting on them will break the user's expectations. - Stop cannibalizing internal circuits for general exits, and stop cannibalizing exit circuits for rendezvous stuff. - Don't let new exit streams attach to internal circuits. - When deciding if we have enough circuits for internal and for exit, don't count the wrong ones. - Treat predicted resolves as predicted port 80 exits. svn:r5457 Roger Dingledine2005-11-25
* Recover better from TCP connections to Tor servers that are broken but•••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 Roger Dingledine2005-11-19
* Make new logging stuff work on windows; fix a couple of windows typos.•••svn:r5375 Nick Mathewson2005-11-15
* when we were cannibalizing a circuit with a particular exit•••node in mind, we weren't checking to see if that exit node was already present earlier in the circuit. oops. svn:r5357 Roger Dingledine2005-11-11
* Remove last vestiges of old logging interface.•••svn:r5317 Nick Mathewson2005-10-25
* Convert circuituse, command, config, connection, relay, router, test to new l...•••svn:r5308 Nick Mathewson2005-10-25
* Use LD_BUG as appropriate; convert rend* and router* to new logging interface...•••svn:r5302 Nick Mathewson2005-10-24
* replace former relaunches of directory downloads with reset of failure count ...•••svn:r5195 Nick Mathewson2005-10-05
* Note the two places where clients will still try to fetch old-style (v1) dire...•••svn:r5193 Nick Mathewson2005-10-05
* Check for named servers when looking them up by nickname;•••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 Nick Mathewson2005-10-04
* Reformat inconsistent function declarations.•••svn:r5160 Nick Mathewson2005-09-30
* Implement exit enclaves: if we know an IP address for the destination,•••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 Roger Dingledine2005-08-15
* predict required circuits better, with an eye toward making•••hidden services faster on the service end. svn:r4772 Roger Dingledine2005-08-13
* We weren't cannibilizing circuits correctly for•••CIRCUIT_PURPOSE_C_ESTABLISH_REND and CIRCUIT_PURPOSE_S_ESTABLISH_INTRO so we were being forced to build those from scratch. This should save us a bit of time. Also fixes bug 173. svn:r4763 Roger Dingledine2005-08-12
* trivial changes on nick's rendezvous commit•••svn:r4553 Roger Dingledine2005-07-14
* Logic to implement rendezvous/introduction via unknown servers.•••- 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 Nick Mathewson2005-06-29
* Docment or add DOCDOC comments to undocumented functions in src/or. Make fun...•••svn:r4411 Nick Mathewson2005-06-11
* flesh out the source file descriptions for doxygen•••svn:r4404 Roger Dingledine2005-06-11
* Change end-of-file NLNL convention. It turns out arma I and I agree.•••svn:r4382 Nick Mathewson2005-06-09
* clean up some log entries•••svn:r4228 Roger Dingledine2005-05-15
* first iteration of scrubbing sensitive strings from logs.•••also generally clean up log messages. svn:r4174 Roger Dingledine2005-05-03
* clean up this TOR_FRAGILE business•••svn:r4116 Roger Dingledine2005-04-26
* Improve conn_*_to_string; add circuit_state_to_string; make skewed-descriptor...•••svn:r4047 Nick Mathewson2005-04-07
* Rename circuit_get_by_stream to circuit_get_by_edge_conn, and actually start ...•••svn:r4026 Nick Mathewson2005-04-06