aboutsummaryrefslogtreecommitdiff
path: root/src/or/rephist.c
AgeCommit message (Collapse)Author
2005-02-28free some more memory at shutdownRoger Dingledine
svn:r3707
2005-02-11Free even more things on shutdown. Temporarily move tor_free_all out from ↵Nick Mathewson
#ifdef so it gets tested more. svn:r3614
2005-02-10Add more functions to free things to help dmalloc allong.Nick Mathewson
svn:r3613
2005-01-17Introduce a notion of 'internal' circs, which are chosen without regardRoger Dingledine
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
2004-12-07I'm a bad person.Roger Dingledine
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
2004-12-07Renormalize whitespaceNick Mathewson
svn:r3095
2004-12-05New circuit building strategy: keep a list of ports that we've used in ↵Roger Dingledine
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
2004-12-04bugfix: router_exit_policy_rejects_all() was broken, so we wereRoger Dingledine
sometimes picking middleman nodes as our last hop, which wasn't very useful. svn:r3075
2004-12-01Spell-check strings and commentsNick Mathewson
svn:r3052
2004-12-01do even less inside our signal handler,Roger Dingledine
just to be extra paranoidly safe svn:r3050
2004-11-29Suggestion from weasel: Make tor --version --version dump the cvs Id of ↵Nick Mathewson
every file. svn:r3019
2004-11-28Normalize space: add one between every control keyword and control clause.Nick Mathewson
svn:r3003
2004-11-26remove emacs droppings, since nick says he doesn't need them anymoreRoger Dingledine
svn:r2989
2004-11-23fail more gracefully next timeRoger Dingledine
svn:r2954
2004-11-21Dont keep rephist info for routers that havent had activity for 24 hours.Nick Mathewson
svn:r2926
2004-11-12Resolve a bunch of FIXME items; mark a lot more for attention; ask for ↵Nick Mathewson
clarification on some. Turn all XXXX008 ("showstopper for 0.0.8 release") items into XXXX009 or XXXX, since plainly they were not showstoppers for 0.0.8. Add/clean some docs. svn:r2808
2004-11-09Normalize whitespace; add a "tell me about all the unnormalized whitespace" ↵Nick Mathewson
target; fix a braino in dirserv.c svn:r2758
2004-11-09Resolve many XXXs and all DOCDOCsNick Mathewson
svn:r2755
2004-11-07Clean up copyrights.Roger Dingledine
Break connection_consider_empty_buckets() out of connection_read_bucket_decrement(). svn:r2698
2004-10-27Fix in warning fixNick Mathewson
svn:r2617
2004-10-27Check return of tor_snprintfNick Mathewson
svn:r2616
2004-10-27Use strlcpy, not strcpy.Nick Mathewson
svn:r2610
2004-10-27Use tor_snprintf, not snprintfNick Mathewson
svn:r2609
2004-10-27Avoid strcat; use snprintf or strlcat insteadNick Mathewson
svn:r2605
2004-10-27Replace sprintf with snprintfNick Mathewson
svn:r2602
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 a potential buffer overflow found by Ilja van Sprundel.Roger Dingledine
We don't think this is exploitable, but best to fix it anyway. svn:r2437
2004-08-18even better, only print extend attempts if there are any.Roger Dingledine
svn:r2285
2004-08-18stop taking strlen of an uninitialized bufferRoger Dingledine
we were (are?) printing garbage in the rephist stats svn:r2284
2004-08-17make last patch compileNick Mathewson
svn:r2255
2004-08-17Stop logging events that happen to uninitialized digestsNick Mathewson
svn:r2254
2004-08-09Fix commentNick Mathewson
svn:r2207
2004-08-08Fix a fencepost error in the last bandwidth reporting fixNick Mathewson
svn:r2202
2004-08-07touch-upsRoger Dingledine
svn:r2192
2004-08-07Handle loop initialization for bandwidth tracking properlyNick Mathewson
svn:r2190
2004-08-07Refactor ISO-style (yyyy-mm-dd hh:mm:ss) time parsing into util.c; rename ↵Nick Mathewson
format/parse_rfc1123_time; make rephist remember used bandwidth; published used bandwidth in descriptors in 15-minute chunks. Breaks unittests. svn:r2182
2004-08-06Keep track of a whole day of bandwidth, not just 12 hrsNick Mathewson
svn:r2168
2004-08-03Fix all warnings on win32 buildNick Mathewson
svn:r2127
2004-07-20when we get a sigint, don't accept new connections/circuits,Roger Dingledine
but delay 30 seconds until exiting. if we get a second sigint, exit immediately. svn:r2070
2004-07-20Correct "advance-time" logicNick Mathewson
svn:r2069
2004-07-20Track bandwidth usage to estimate capacityNick Mathewson
svn:r2065
2004-07-16Resolve all DOCDOCs.Nick Mathewson
svn:r2050
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-13only count bytes transmitted to/from non-local IPsRoger Dingledine
svn:r2041
2004-07-13checkpoint: start working on bandwidth tracking andRoger Dingledine
letting clients evaluate whether they're suitable servers svn:r2037
2004-06-25Remaining 008pre1 items done; deferred where more design is needed.Nick Mathewson
More docs and (way more!) testing needed. Done: - Authdirservers down directories from others. - Generate and use running-routers lists - Cache directories; store across reboots. - Refactor directory parsing a bit; note potential trouble spots. svn:r1985
2004-05-18Resolve some XXXsNick Mathewson
svn:r1889
2004-05-10More doxygenation.Nick Mathewson
svn:r1832
2004-05-05Comments for nearly all non-tricky filesNick Mathewson
svn:r1796
2004-04-25use tor_assertRoger Dingledine
remove obsolete BUF_OK macro svn:r1697