aboutsummaryrefslogtreecommitdiff
path: root/src/or/rephist.c
Commit message (Collapse)AuthorAge
* use tor_mem_is_zero() in more places.Roger Dingledine2006-07-23
| | | | svn:r6814
* whitespace and docsRoger Dingledine2006-07-23
| | | | svn:r6808
* i lied, that won't work at all. maybe this will.Roger Dingledine2006-07-22
| | | | svn:r6805
* MSVC6 is apparently terrified of unnatural cross-breeding between uint64_t ↵Nick Mathewson2006-07-17
| | | | | | and double, and needs more persuasion than usual to cast one to the other. Issue identified by Frediano Ziglio; patch revised for minimal impact on non-MSVC6 compilers. svn:r6768
* ok, ok, maybe *this* time my rep_hist_circbuilding_dormant() will work.Roger Dingledine2006-06-08
| | | | svn:r6568
* ah, that explains why we weren't going dormant withRoger Dingledine2006-06-08
| | | | | | | respect to descriptor fetches. maybe now it will work. svn:r6565
* Add async dns code from Adam Langley, tweaked to build on OSX. Long-term, ↵Nick Mathewson2006-06-03
| | | | | | we may want to switch to libevnet/c-ares, if they ever handle 10k fd situations properly. This one still needs work too, but at least it is small. This code is disabled by default, and not integrated with dns.c. svn:r6524
* don't stop fetching server descriptors if we're a server andRoger Dingledine2006-06-03
| | | | | | | haven't found ourselves reachable yet. svn:r6522
* stop fetching descriptors if we're not a dir mirror and weRoger Dingledine2006-05-30
| | | | | | | haven't tried to establish any circuits lately. svn:r6516
* forward-port: "Resolve" all XXX011 items, mostly by marking them non-011.Nick Mathewson2006-04-18
| | | | svn:r6396
* When the controller's *setconf commands fail, collect an error messageRoger Dingledine2006-03-26
| | | | | | | in a string and hand it back. This starts to resolve bug 275. svn:r6241
* Cleanup on time-relaqted constants. New conventions:Nick Mathewson2006-03-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* the last of the log convention conversion. finally.Roger Dingledine2006-02-13
| | | | svn:r6005
* Happy new year!Roger Dingledine2006-02-09
| | | | svn:r5949
* Fix wide linesNick Mathewson2006-01-11
| | | | svn:r5793
* Convert some more ints to long longs in rephist.c, as suggested by windows ↵Nick Mathewson2006-01-11
| | | | | | compiler. svn:r5789
* only print bandwidth lines to the state file if we're being a server.Roger Dingledine2006-01-02
| | | | | | | otherwise this is pointless and probably bad for security. svn:r5704
* Possible fix to state-load bug reported by weasel.Nick Mathewson2006-01-02
| | | | svn:r5692
* Appease some verbose GCC warnings.Nick Mathewson2005-12-29
| | | | svn:r5679
* simplify because we weren't using those return values anywayRoger Dingledine2005-12-24
| | | | svn:r5643
* Keep bandwidth history accross restarts/crashesPeter Palfrader2005-12-23
| | | | svn:r5637
* Bite the bullet and limit all our source lines to 80 characters, the way IBM ↵Nick Mathewson2005-12-14
| | | | | | intended. svn:r5582
* Start the process of treating internal circuits and exit circuitsRoger Dingledine2005-11-25
| | | | | | | | | | | | | | | | | | | 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
* Replace balanced trees with hash tables: this should make stuff ↵Nick Mathewson2005-11-23
| | | | | | significantly faster. svn:r5441
* Remove last vestiges of old logging interface.Nick Mathewson2005-10-25
| | | | svn:r5317
* Update more files to new log stuff.Nick Mathewson2005-10-18
| | | | svn:r5286
* Use digestmap_t instead of strmap_t where appropriate. Do less hex en/decodingNick Mathewson2005-10-18
| | | | svn:r5279
* even better function start checks; give dmalloc a chance of working.Nick Mathewson2005-09-30
| | | | svn:r5162
* Reformat inconsistent function declarations.Nick Mathewson2005-09-30
| | | | svn:r5160
* Remove extraneous space on read-history lines.Nick Mathewson2005-09-23
| | | | svn:r5123
* make the numbers in read-history and write-history into uint64s,Roger Dingledine2005-09-23
| | | | | | | | so they don't overflow and publish negatives in the descriptor. fixes bug 193. svn:r5119
* predict required circuits better, with an eye toward makingRoger Dingledine2005-08-13
| | | | | | | hidden services faster on the service end. svn:r4772
* parameterize RephistTrackTimeRoger Dingledine2005-07-25
| | | | svn:r4673
* add a trivial tor-counting variableRoger Dingledine2005-07-18
| | | | svn:r4593
* Remove code that has been #if-0ed for a long time.Nick Mathewson2005-06-15
| | | | svn:r4435
* Docment or add DOCDOC comments to undocumented functions in src/or. Make ↵Nick Mathewson2005-06-11
| | | | | | function definition format uniform. svn:r4411
* Change end-of-file NLNL convention. It turns out arma I and I agree.Nick Mathewson2005-06-09
| | | | svn:r4382
* Instrument buffers.c and rephist.c memory usageNick Mathewson2005-06-06
| | | | svn:r4317
* update copyright notices.Nick Mathewson2005-04-01
| | | | svn:r3982
* free some more memory at shutdownRoger Dingledine2005-02-28
| | | | svn:r3707
* Free even more things on shutdown. Temporarily move tor_free_all out from ↵Nick Mathewson2005-02-11
| | | | | | #ifdef so it gets tested more. svn:r3614
* Add more functions to free things to help dmalloc allong.Nick Mathewson2005-02-10
| | | | svn:r3613
* Introduce a notion of 'internal' circs, which are chosen without regardRoger Dingledine2005-01-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | to the exit policy of the last hop. Intro and rendezvous circs must be internal circs, to avoid leaking information. Resolve and connect streams can use internal circs if they want. New circuit pooling algorithm: make sure to have enough circs around to satisfy any predicted ports, and also make sure to have 2 internal circs around if we've required internal circs lately (with high uptime if we've seen that lately). Split NewCircuitPeriod config option into NewCircuitPeriod (30 secs), which describes how often we retry making new circuits if current ones are dirty, and MaxCircuitDirtiness (10 mins), which describes how long we're willing to make use of an already-dirty circuit. Once rendezvous circuits are established, keep using the same circuit as long as you attach a new stream to it at least every 10 minutes. (So web browsing doesn't require you to build new rend circs every 30 seconds.) Cannibalize GENERAL circs to be C_REND, C_INTRO, S_INTRO, and S_REND circ as necessary, if there are any completed ones lying around when we try to launch one. Re-instate the ifdef's to use version-0 style introduce cells, since there was yet another bug in handling version-1 style. We'll try switching over again after 0.0.9 is obsolete. Bugfix: when choosing an exit node for a new non-internal circ, don't take into account whether it'll be useful for any pending x.onion addresses -- it won't. Bugfix: we weren't actually publishing the hidden service descriptor when it became dirty. So we only published it every 20 minutes or so, which means when you first start your Tor, the hidden service will seem broken. svn:r3360
* I'm a bad person.Roger Dingledine2004-12-07
| | | | | | | | | Stop treating the uint16_t's as null-terminated strings, and stop looking at the byte after them to see if it's null, because sometimes you're not allowed to look there. svn:r3108
* Renormalize whitespaceNick Mathewson2004-12-07
| | | | svn:r3095
* New circuit building strategy: keep a list of ports that we've used in ↵Roger Dingledine2004-12-05
| | | | | | | | | | | | | | | | | | | | | | | | | the past 6 hours, and always try to have 2 circuits open or on the way that will handle each such port. (We can extend this to include addresses if exit policies shift to require that.) Seed us with port 80 so web browsers won't complain that Tor is "slow to start up". This was necessary because our old circuit building strategy just involved counting circuits, and as time went by we would build up a big pile of circuits that had peculiar exit policies (e.g. only exit to 9001-9100) which would take up space in the circuit pile but never get used. Fix router_compare_addr_to_addr_policy: it was not treating a port of * as always matching, so we were picking reject *:* nodes as exit nodes too. If you haven't used a clean circuit in an hour, throw it away, just to be on the safe side. This means after 6 hours a totally unused Tor client will have no circuits open. svn:r3078
* bugfix: router_exit_policy_rejects_all() was broken, so we wereRoger Dingledine2004-12-04
| | | | | | | | sometimes picking middleman nodes as our last hop, which wasn't very useful. svn:r3075
* Spell-check strings and commentsNick Mathewson2004-12-01
| | | | svn:r3052
* do even less inside our signal handler,Roger Dingledine2004-12-01
| | | | | | | just to be extra paranoidly safe svn:r3050
* Suggestion from weasel: Make tor --version --version dump the cvs Id of ↵Nick Mathewson2004-11-29
| | | | | | every file. svn:r3019