aboutsummaryrefslogtreecommitdiff
path: root/src/or/rephist.c
Commit message (Collapse)AuthorAge
* 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
* Normalize space: add one between every control keyword and control clause.Nick Mathewson2004-11-28
| | | | svn:r3003
* remove emacs droppings, since nick says he doesn't need them anymoreRoger Dingledine2004-11-26
| | | | svn:r2989
* fail more gracefully next timeRoger Dingledine2004-11-23
| | | | svn:r2954
* Dont keep rephist info for routers that havent had activity for 24 hours.Nick Mathewson2004-11-21
| | | | svn:r2926
* Resolve a bunch of FIXME items; mark a lot more for attention; ask for ↵Nick Mathewson2004-11-12
| | | | | | 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
* Normalize whitespace; add a "tell me about all the unnormalized whitespace" ↵Nick Mathewson2004-11-09
| | | | | | target; fix a braino in dirserv.c svn:r2758
* Resolve many XXXs and all DOCDOCsNick Mathewson2004-11-09
| | | | svn:r2755
* Clean up copyrights.Roger Dingledine2004-11-07
| | | | | | | | Break connection_consider_empty_buckets() out of connection_read_bucket_decrement(). svn:r2698
* Fix in warning fixNick Mathewson2004-10-27
| | | | svn:r2617
* Check return of tor_snprintfNick Mathewson2004-10-27
| | | | svn:r2616
* Use strlcpy, not strcpy.Nick Mathewson2004-10-27
| | | | svn:r2610
* Use tor_snprintf, not snprintfNick Mathewson2004-10-27
| | | | svn:r2609
* Avoid strcat; use snprintf or strlcat insteadNick Mathewson2004-10-27
| | | | svn:r2605
* Replace sprintf with snprintfNick Mathewson2004-10-27
| | | | svn:r2602
* more int to size_t conversions, fixing one or more amd64 bugsRoger Dingledine2004-10-14
| | | | | | | plus a whitespace patch on config.c from vicman svn:r2482
* Fix a potential buffer overflow found by Ilja van Sprundel.Roger Dingledine2004-10-11
| | | | | | | We don't think this is exploitable, but best to fix it anyway. svn:r2437
* even better, only print extend attempts if there are any.Roger Dingledine2004-08-18
| | | | svn:r2285
* stop taking strlen of an uninitialized bufferRoger Dingledine2004-08-18
| | | | | | | we were (are?) printing garbage in the rephist stats svn:r2284
* make last patch compileNick Mathewson2004-08-17
| | | | svn:r2255
* Stop logging events that happen to uninitialized digestsNick Mathewson2004-08-17
| | | | svn:r2254
* Fix commentNick Mathewson2004-08-09
| | | | svn:r2207
* Fix a fencepost error in the last bandwidth reporting fixNick Mathewson2004-08-08
| | | | svn:r2202
* touch-upsRoger Dingledine2004-08-07
| | | | svn:r2192
* Handle loop initialization for bandwidth tracking properlyNick Mathewson2004-08-07
| | | | svn:r2190
* Refactor ISO-style (yyyy-mm-dd hh:mm:ss) time parsing into util.c; rename ↵Nick Mathewson2004-08-07
| | | | | | format/parse_rfc1123_time; make rephist remember used bandwidth; published used bandwidth in descriptors in 15-minute chunks. Breaks unittests. svn:r2182
* Keep track of a whole day of bandwidth, not just 12 hrsNick Mathewson2004-08-06
| | | | svn:r2168
* Fix all warnings on win32 buildNick Mathewson2004-08-03
| | | | svn:r2127
* when we get a sigint, don't accept new connections/circuits,Roger Dingledine2004-07-20
| | | | | | | | but delay 30 seconds until exiting. if we get a second sigint, exit immediately. svn:r2070
* Correct "advance-time" logicNick Mathewson2004-07-20
| | | | svn:r2069
* Track bandwidth usage to estimate capacityNick Mathewson2004-07-20
| | | | svn:r2065
* Resolve all DOCDOCs.Nick Mathewson2004-07-16
| | | | svn:r2050
* Finish most pre2 items: make running-routers list work right; rename secret ↵Nick Mathewson2004-07-13
| | | | | | key files; make even more lookup-by-nickname use lookup-by-id; default nicknames to hostname. svn:r2043
* only count bytes transmitted to/from non-local IPsRoger Dingledine2004-07-13
| | | | svn:r2041
* checkpoint: start working on bandwidth tracking andRoger Dingledine2004-07-13
| | | | | | | letting clients evaluate whether they're suitable servers svn:r2037
* Remaining 008pre1 items done; deferred where more design is needed.Nick Mathewson2004-06-25
| | | | | | | | | | | | | 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
* Resolve some XXXsNick Mathewson2004-05-18
| | | | svn:r1889