aboutsummaryrefslogtreecommitdiff
path: root/src/or/connection.c
Commit message (Collapse)AuthorAge
* commit my annotations while i was hunting down the host order bugRoger Dingledine2010-03-05
|
* Merge remote branch 'origin/maint-0.2.1'Nick Mathewson2010-02-27
|\ | | | | | | | | | | Conflicts: src/common/test.h src/or/test.c
| * Update Tor Project copyright yearsNick Mathewson2010-02-27
| |
* | Don't spam controllers with TOO_MANY_CONNECTIONS eventsSebastian Hahn2010-02-08
| | | | | | | | | | | | We implemented ratelimiting for warnings going into the logfile, but didn't rate-limit controller events. Now both log warnings and controller events are rate-limited.
* | Don't use OutboundBindAddress to connect to localhostNick Mathewson2010-01-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The OutboundBindAddress option is useful for making sure that all of your outbond connections use a given interface. But when connecting to 127.0.0.1 (or ::1 even) it's important to actually have the connection come _from_ localhost, since lots of programs running on localhost use the source address to authenticate that the connection is really coming from the same host. Our old code always bound to OutboundBindAddress, whether connecting to localhost or not. This would potentially break DNS servers on localhost, and socks proxies on localhost. This patch changes the behavior so that we only look at OutboundBindAddress when connecting to a non-loopback address.
* | Log a notice when we get a new control connectionSebastian Hahn2010-01-18
| |
* | whitespace fixesRoger Dingledine2010-01-15
| |
* | add separate per-conn write limitingRoger Dingledine2009-12-29
| |
* | Merge branch 'ewma'Nick Mathewson2009-12-18
|\ \
| * | Optimize cell-ewma circuit priority algorithm.Nick Mathewson2009-12-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There are two big changes here: - We store active circuits in a priority queue for each or_conn, rather than doing a linear search over all the active circuits before we send each cell. - Rather than multiplying every circuit's cell-ewma by a decay factor every time we send a cell (thus normalizing the value of a current cell to 1.0 and a past cell to alpha^t), we instead only scale down the cell-ewma every tick (ten seconds atm), normalizing so that a cell sent at the start of the tick has value 1.0).
| * | Adjust EWMA patch to conform to whitespace style.Nick Mathewson2009-12-12
| | |
| * | Favor quiet circuits when choosing which order to relay cells in.Can Tang2009-12-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Each circuit is ranked in terms of how many cells from it have been relayed recently, using a time-weighted average. This patch has been tested this on a private Tor network on PlanetLab, and gotten improvements of 12-35% in time it takes to fetch a small web page while there's a simultaneous large data transfer going on simultaneously. [Commit msg by nickm based on mail from Ian Goldberg.]
* | | Remove duplicate words and a duplicate newline.Karsten Loesing2009-12-18
| | |
* | | Merge branch 'safelogging2'Nick Mathewson2009-12-15
|\ \ \ | |/ / |/| | | | | | | | Conflicts: ChangeLog
| * | Refactor the safe_str_*() API to make more sense.Nick Mathewson2009-12-15
| | | | | | | | | | | | | | | | | | The new rule is: safe_str_X() means "this string is a piece of X information; make it safe to log." safe_str() on its own means "this string is a piece of who-knows-what; make it safe to log".
| * | Allow SafeLogging to exclude client related informationSebastian Hahn2009-12-12
| | |
* | | Now that FOO_free(NULL) always works, remove checks before calling it.Nick Mathewson2009-12-12
| | |
* | | *_free functions now accept NULLSebastian Hahn2009-12-12
|/ / | | | | | | | | | | | | | | Some *_free functions threw asserts when passed NULL. Now all of them accept NULL as input and perform no action when called that way. This gains us consistence for our free functions, and allows some code simplifications where an explicit null check is no longer necessary.
* | clobber connections with different number than we clobber circuitsRoger Dingledine2009-11-21
| |
* | stop assuming that our downcasts have a struct offset of 0Roger Dingledine2009-11-21
| | | | | | | | shouldn't actually change anything, but who knows.
* | Remove checks for array existence. (CID 410..415)Nick Mathewson2009-10-26
| | | | | | | | | | | | | | | | | | | | | | | | In C, the code "char x[10]; if (x) {...}" always takes the true branch of the if statement. Coverity notices this now. In some cases, we were testing arrays to make sure that an operation we wanted to do would suceed. Those cases are now always-true. In some cases, we were testing arrays to see if something was _set_. Those caes are now tests for strlen(s), or tests for !tor_mem_is_zero(d,len).
* | fix a bug where we were decrementing the wrong bucketRoger Dingledine2009-10-10
| | | | | | | | | | i think this doesn't actually affect anything, since linked conns usually don't impact buckets
* | minor fixes in some commentsRoger Dingledine2009-09-06
| |
* | Merge commit 'karsten/proposal-166-impl-master'Nick Mathewson2009-08-26
|\ \
| * | Write all statistics to disk exactly every 24 hours.Karsten Loesing2009-08-19
| | |
| * | Clean up proposal 166 and its implementation.Karsten Loesing2009-08-18
| | |
| * | Remove ./configure option for entry and dir request statistics.Karsten Loesing2009-08-17
| | |
* | | Merge commit 'public/socks-client'Nick Mathewson2009-08-26
|\ \ \ | |/ / |/| | | | | | | | Resolved conflict in: src/or/or.h
| * | Clean up a couple of style issues in the socks-client branch.Nick Mathewson2009-08-25
| | |
| * | Enable Tor to connect through SOCKS 4/5 proxiesChristopher Davis2009-06-19
| | | | | | | | | | | | | | | | | | Added a sanity check in config.c and a check in directory.c directory_initiate_command_rend() to catch any direct connection attempts when a socks proxy is configured.
* | | Some tweaks to statistics.Karsten Loesing2009-07-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Changes to directory request statistics: - Rename GEOIP statistics to DIRREQ statistics, because they now include more than only GeoIP-based statistics, whereas other statistics are GeoIP-dependent, too. - Rename output file from geoip-stats to dirreq-stats. - Add new config option DirReqStatistics that is required to measure directory request statistics. - Clean up ChangeLog. Also ensure that entry guards statistics have access to a local GeoIP database.
* | | Some tweaks to directory request download times.Karsten Loesing2009-07-15
| | | | | | | | | | | | | | | - Use common prefixes DIRREQ_* and dirreq_*. - Replace enums in structs with bitfields.
* | | Directories now also measure download times of network statuses.Karsten Loesing2009-07-15
| | |
* | | If configured, write per-port exit statistics to disk periodically.Karsten Loesing2009-07-02
|/ / | | | | | | [Original patch series from Karsten, revised and squashed by Nick]
* | Isolate Libevent API dependency to just main.c and dns.c in src/or.Nick Mathewson2009-06-12
| | | | | | | | | | | | The rest of the code was only including event.h so that it could see EV_READ and EV_WRITE, which we were using as part of the connection_watch_events interface for no very good reason.
* | Merge commit 'origin/maint-0.2.1'Nick Mathewson2009-05-27
|\|
| * Spell-check Tor.Nick Mathewson2009-05-27
| |
| * Fix misreporting of stream bandwidths.Mike Perry2009-05-14
| |
| * Update copyright to 2009.Karsten Loesing2009-05-04
| |
* | Fix misreporting of stream bandwidths.potentiate2009-05-14
| |
* | Remove unused rendversion parameters. YAGNI.Karsten Loesing2009-05-04
| |
* | Clients do not request version 0 hidserv descs anymore.Karsten Loesing2009-05-04
| |
* | Update copyright to 2009.Karsten Loesing2009-05-02
|/
* If we're using bridges and our network goes away, be more willingRoger Dingledine2009-02-04
| | | | | | | | to forgive our bridges and try again when we get an application request. Bugfix on 0.2.0.x. svn:r18396
* Remove svn $Id$s from our source, and remove tor --version --version.Nick Mathewson2009-01-04
| | | | | | | | The subversion $Id$ fields made every commit force a rebuild of whatever file got committed. They were not actually useful for telling the version of Tor files in the wild. svn:r17867
* Downgrade some xxx021s, comment more on others, etcNick Mathewson2008-12-29
| | | | svn:r17823
* Refactor sockaddr family match check into a new functionNick Mathewson2008-12-29
| | | | svn:r17820
* remove the responsibility for setting listensocklen to the function that ↵Nick Mathewson2008-12-27
| | | | | | made the sockaddr svn:r17799
* Make connection_create_listener take a sockaddr_len, not just a sockaddr ↵Nick Mathewson2008-12-27
| | | | | | whose length we try to divine. svn:r17792
* Add more missing documentation, and correct an error in container.c ↵Nick Mathewson2008-12-26
| | | | | | documentation: Don't introduce two parameters called n when you're calling an algorithm O(n). svn:r17783