Commit Graph

11509 Commits

Author SHA1 Message Date
Nick Mathewson
5e2eaa37f1 Add a changelog entry for the circuit priority logic 2009-12-18 22:32:56 -05:00
Nick Mathewson
7ab824c8cf Document CircuitPriorityHalflife on the manpage 2009-12-15 14:04:30 -05:00
Nick Mathewson
60b01c6d5e Change interface for configuring cell ewma algorithm.
The rule is now: take the value from the CircuitPriorityHalflife
config option if it is set.  If it zero, disable the cell_ewma
algorithm.  If it is set, use it to calculate the scaling factor.
If it is not set, look for a CircPriorityHalflifeMsec parameter in the
consensus networkstatus.  If *that* is zero, then disable the cell_ewma
algorithm; if it is set, use it to calculate the scaling factor.
If it is not set at all, disable the algorithm.
2009-12-15 13:58:24 -05:00
Nick Mathewson
296381eda0 Merge commit 'sebastian/ewma2' into ewma
Conflicts:
	src/or/relay.c
2009-12-15 13:23:27 -05:00
Nick Mathewson
1292a9ddfe Fix various comment typos in ewma patch; found by arma. 2009-12-15 13:20:22 -05:00
Nick Mathewson
2c672f73bf Fix comment typos in container.c 2009-12-15 13:20:02 -05:00
Sebastian Hahn
27b7746c51 Fix Snow Leopard compile and a codestyle violation
When calculating the current tick, cap (tv_sec / EWMA_TICK_LEN) to an unsigned int.
2009-12-14 05:17:45 +01:00
Nick Mathewson
06e8370c33 Optimize cell-ewma circuit priority algorithm.
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).
2009-12-13 21:05:53 -05:00
Nick Mathewson
c43fee131d Adjust EWMA patch to conform to whitespace style. 2009-12-12 19:06:38 -05:00
Can Tang
d3be00e0f4 Favor quiet circuits when choosing which order to relay cells in.
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.]
2009-12-12 19:06:38 -05:00
Nick Mathewson
c210db0d41 Enhance pqueue so we can remove items from the middle.
This changes the pqueue API by requiring an additional int in every
structure that we store in a pqueue to hold the index of that structure
within the heap.
2009-12-12 19:06:38 -05:00
Nick Mathewson
d086c9a7f7 Merge commit 'sebastian/fixes' 2009-12-12 02:10:57 -05:00
Nick Mathewson
9e6225ae16 Merge commit 'sebastian/coverity' 2009-12-12 02:10:19 -05:00
Nick Mathewson
0c1b3070cf Now that FOO_free(NULL) always works, remove checks before calling it. 2009-12-12 02:07:59 -05:00
Nick Mathewson
79f72d0ef6 Make rend_cache_entry_free() typecheck when possible. 2009-12-12 01:31:35 -05:00
Sebastian Hahn
3807db001d *_free functions now accept NULL
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.
2009-12-12 03:29:44 +01:00
Sebastian Hahn
28b29e0fd7 Fix typo in a comment 2009-12-12 02:53:27 +01:00
Sebastian Hahn
4116a00679 List all the excluded files for make check-spaces
The file listing for excluded files was outdated. tree.h doesn't
exist anymore, and several other files were missing.
2009-12-12 02:53:27 +01:00
Nick Mathewson
4afdb79051 add changelog entry for making openssl 0.9.8m work 2009-12-04 14:32:10 -05:00
Nick Mathewson
b51a33e527 Merge commit 'origin/maint-0.2.1' 2009-12-04 14:31:17 -05:00
Martin Peck
3a2d677fa7 Improved workaround for disabled OpenSSL renegotiation.
It turns out that OpenSSL 0.9.8m is likely to take a completely
different approach for reenabling renegotiation than OpenSSL 0.9.8l
did, so we need to work with both. :p   Fixes bug 1158.

(patch by coderman; commit message by nickm)
2009-12-04 14:25:08 -05:00
Roger Dingledine
0faf5c5fd2 Merge commit 'debian-tor-0.2.2.6-alpha-1' 2009-11-23 14:29:43 -05:00
Peter Palfrader
0da554dbc5 Merge branch 'debian-merge' into debian
* debian-merge: (81 commits)
  Drop debian/patches/0a58567c-work-with-reneg-ssl.dpatch (part of upstream)
  New upstream version
  bump to 0.2.2.6-alpha
  remove the 0.2.1.20 debian changelog from master's changelog
  Not everybody likes debugging printfs as much as I
  add the 0.2.1.20 changelog blurb, plus update the releasenotes
  Do not report a partially-successful detached signature add as failed.
  only complain when rejecting a descriptor if it has contact info
  clean up changelog for the 0.2.2.6-alpha release
  Fix compilation with with bionic libc.
  New upstream version
  Fix a memory leak on directory authorities during voting
  Fix building from a separate build directory.
  Add changelog entry to 0.2.2.x about openssl 0.9.8l fix
  Make Tor work with OpenSSL 0.9.8l
  Fix a URL in a log message.
  Implement DisableAllSwap to avoid putting secret info in page files.
  Fix bug 1113.
  Improve log statement when publishing v2 hs desc.
  Fix bug 1042.
  ...
2009-11-23 18:59:23 +01:00
Peter Palfrader
50feca0dcb Drop debian/patches/0a58567c-work-with-reneg-ssl.dpatch (part of upstream) 2009-11-23 18:59:05 +01:00
Peter Palfrader
c9935358b0 New upstream version 2009-11-23 18:58:42 +01:00
Peter Palfrader
1f3977b658 Merge commit 'tor-0.2.2.6-alpha' into debian-merge
* commit 'tor-0.2.2.6-alpha': (79 commits)
  bump to 0.2.2.6-alpha
  remove the 0.2.1.20 debian changelog from master's changelog
  Not everybody likes debugging printfs as much as I
  add the 0.2.1.20 changelog blurb, plus update the releasenotes
  Do not report a partially-successful detached signature add as failed.
  only complain when rejecting a descriptor if it has contact info
  clean up changelog for the 0.2.2.6-alpha release
  Fix compilation with with bionic libc.
  New upstream version
  Fix a memory leak on directory authorities during voting
  Fix building from a separate build directory.
  Add changelog entry to 0.2.2.x about openssl 0.9.8l fix
  Make Tor work with OpenSSL 0.9.8l
  Fix a URL in a log message.
  Implement DisableAllSwap to avoid putting secret info in page files.
  Fix bug 1113.
  Improve log statement when publishing v2 hs desc.
  Fix bug 1042.
  Fix an apparently bogus check; fortunately, it seems to be untriggered.
  Fix an accidentally removed free in 385853a282, and repair a check.
  ...
2009-11-23 18:50:53 +01:00
Roger Dingledine
cee9a28d1e Merge commit 'origin/maint-0.2.1' 2009-11-23 10:16:38 -05:00
Roger Dingledine
a89f51c936 fix race condition that can cause crashes at client or exit relay
Avoid crashing if the client is trying to upload many bytes and the
circuit gets torn down at the same time, or if the flip side
happens on the exit relay. Bugfix on 0.2.0.1-alpha; fixes bug 1150.
2009-11-23 10:13:50 -05:00
Roger Dingledine
403f99eaa4 add a minimum for CircuitStreamTimeout, plus a man page
plus some other unrelated touchups that have been sitting in my
sandbox
2009-11-22 07:15:30 -05:00
Roger Dingledine
7f3f88bed3 New config option "CircuitStreamTimeout"
New config option "CircuitStreamTimeout" to override our internal
timeout schedule for how many seconds until we detach a stream from
a circuit and try a new circuit. If your network is particularly
slow, you might want to set this to a number like 60.
2009-11-21 23:36:36 -05:00
Roger Dingledine
fdd58f3bd5 If somebody tries to overflow my dirport, don't log his IP by default.
aka Fix an instance where a Tor directory mirror might accidentally
log the IP address of a misbehaving Tor client. Bugfix on
0.1.0.1-rc.
2009-11-21 23:09:24 -05:00
Roger Dingledine
4f8b36a1e2 clobber connections with different number than we clobber circuits 2009-11-21 23:02:10 -05:00
Roger Dingledine
7b6b931ccc stop assuming that our downcasts have a struct offset of 0
shouldn't actually change anything, but who knows.
2009-11-21 22:59:18 -05:00
Roger Dingledine
01a9cc0413 bump to 0.2.2.6-alpha-dev 2009-11-21 22:57:05 -05:00
Nick Mathewson
2b1bb233b3 Use the same mlockall checks with tor_set_max_memlock 2009-11-20 14:45:29 -05:00
Nick Mathewson
444eff6286 Fix compilation on OSX 10.3.
On this OSX version, there is a stub mlockall() function
that doesn't work, *and* the declaration for it is hidden by
an '#ifdef _P1003_1B_VISIBLE'.  This would make autoconf
successfully find the function, but our code fail to build
when no declaration was found.

This patch adds an additional test for the declaration.
2009-11-20 13:28:16 -05:00
Roger Dingledine
1ee580407c bump to 0.2.2.6-alpha 2009-11-19 14:16:11 -05:00
Roger Dingledine
b5462efd60 remove the 0.2.1.20 debian changelog from master's changelog 2009-11-19 14:11:54 -05:00
Nick Mathewson
9be682942c Not everybody likes debugging printfs as much as I 2009-11-18 11:26:44 -05:00
Roger Dingledine
55cd2fa310 Merge commit 'origin/maint-0.2.1'
Conflicts:

	debian/changelog
2009-11-17 15:39:46 -05:00
Roger Dingledine
0656c12b07 add the 0.2.1.20 changelog blurb, plus update the releasenotes 2009-11-17 15:35:14 -05:00
Nick Mathewson
e722ffa605 Do not report a partially-successful detached signature add as failed.
Also, regenerate the detached-signature document whenever any signatures are
successfully added.
2009-11-17 14:24:59 -05:00
Roger Dingledine
2ebd22152e only complain when rejecting a descriptor if it has contact info 2009-11-17 07:39:15 -05:00
Roger Dingledine
2bcb90a308 clean up changelog for the 0.2.2.6-alpha release 2009-11-17 07:02:17 -05:00
Roger Dingledine
dabf4423b8 Merge commit 'debian-tor-0.2.2.5-alpha-1' 2009-11-15 10:36:30 -05:00
Peter Palfrader
327e4dfe2b Change the dependency on tsocks to torsocks | tsocks (see: #554717) 2009-11-15 11:04:15 +01:00
Peter Palfrader
fbe455fec3 Allegedly echo -e is a bashism. Remove it from debian/rules, we don't need it anyways (closes: #478631) 2009-11-15 11:03:04 +01:00
Peter Palfrader
b0430672ea Change order of recommends from privoxy | polipo to polipo | privoxy. 2009-11-15 10:56:06 +01:00
Peter Palfrader
a19140828d Build-Depend on libssl-dev >= 0.9.8k-6.
libssl 0.9.8k-6 disabled autorenegotation, and the -dev package
introduced the SSL3_FLAGS_ALLOW_UNSAFE_LEGACY_RENEGOTIATION flag.

Since we now set that flag if available we want to make sure that it
*is* available when building.

Therefore build-depend on libssl-dev >= 0.9.8k-6.

If we build against earlier versions we will not work once libssl gets
upgraded to a version that disabled renegotiations.
2009-11-15 10:51:08 +01:00
Peter Palfrader
a28b5628c2 Pick 0a58567ce3 from master git tree
work with libssl that has renegotiation disabled by default.
(debian/patches/0a58567c-work-with-reneg-ssl.dpatch)
2009-11-15 10:41:33 +01:00