- Jun 03, 2006
-
-
Nick Mathewson authored
Add async dns code from Adam Langley, tweaked to build on OSX. Long-term, 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
-
Roger Dingledine authored
haven't found ourselves reachable yet. svn:r6522
-
- May 30, 2006
-
-
Roger Dingledine authored
haven't tried to establish any circuits lately. svn:r6516
-
- Apr 18, 2006
-
-
Nick Mathewson authored
svn:r6396
-
- Mar 26, 2006
-
-
Roger Dingledine authored
in a string and hand it back. This starts to resolve bug 275. svn:r6241
-
- Mar 12, 2006
-
-
Nick Mathewson authored
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
-
- Feb 13, 2006
-
-
Roger Dingledine authored
svn:r6005
-
- Feb 09, 2006
-
-
Roger Dingledine authored
svn:r5949
-
- Jan 11, 2006
-
-
Nick Mathewson authored
svn:r5793
-
Nick Mathewson authored
svn:r5789
-
- Jan 02, 2006
-
-
Roger Dingledine authored
otherwise this is pointless and probably bad for security. svn:r5704
-
Nick Mathewson authored
svn:r5692
-
- Dec 29, 2005
-
-
Nick Mathewson authored
svn:r5679
-
- Dec 24, 2005
-
-
Roger Dingledine authored
svn:r5643
-
- Dec 23, 2005
-
-
Peter Palfrader authored
svn:r5637
-
- Dec 14, 2005
-
-
Nick Mathewson authored
svn:r5582
-
- Nov 25, 2005
-
-
Roger Dingledine authored
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
-
- Nov 23, 2005
-
-
Nick Mathewson authored
svn:r5441
-
- Oct 25, 2005
-
-
Nick Mathewson authored
svn:r5317
-
- Oct 18, 2005
-
-
Nick Mathewson authored
svn:r5286
-
Nick Mathewson authored
svn:r5279
-
- Sep 30, 2005
-
-
Nick Mathewson authored
svn:r5162
-
Nick Mathewson authored
svn:r5160
-
- Sep 23, 2005
-
-
Nick Mathewson authored
svn:r5123
-
Roger Dingledine authored
so they don't overflow and publish negatives in the descriptor. fixes bug 193. svn:r5119
-
- Aug 13, 2005
-
-
Roger Dingledine authored
hidden services faster on the service end. svn:r4772
-
- Jul 25, 2005
-
-
Roger Dingledine authored
svn:r4673
-
- Jul 18, 2005
-
-
Roger Dingledine authored
svn:r4593
-
- Jun 15, 2005
-
-
Nick Mathewson authored
svn:r4435
-
- Jun 11, 2005
-
-
Nick Mathewson authored
Docment or add DOCDOC comments to undocumented functions in src/or. Make function definition format uniform. svn:r4411
-
- Jun 09, 2005
-
-
Nick Mathewson authored
svn:r4382
-
- Jun 06, 2005
-
-
Nick Mathewson authored
svn:r4317
-
- Apr 01, 2005
-
-
Nick Mathewson authored
svn:r3982
-
- Feb 28, 2005
-
-
Roger Dingledine authored
svn:r3707
-
- Feb 11, 2005
-
-
Nick Mathewson authored
Free even more things on shutdown. Temporarily move tor_free_all out from #ifdef so it gets tested more. svn:r3614
-
- Feb 10, 2005
-
-
Nick Mathewson authored
svn:r3613
-
- Jan 17, 2005
-
-
Roger Dingledine authored
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
-
- Dec 07, 2004
-
-
Roger Dingledine authored
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
-
Nick Mathewson authored
svn:r3095
-
- Dec 05, 2004
-
-
Roger Dingledine authored
New circuit building strategy: keep a list of ports that we've used in 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
-