mirror repository of the tor core protocol in case of issues
Go to file
Nick Mathewson 50aecc68ca Use a smarter fix for bug 1203.
Previously, we had incremented rand_bw so that when we later tested
"tmp >= rand_bw", we wouldn't have an off-by-one error.  But instead,
it makes more sense to leave rand_bw alone and test "tmp > rand_bw".

Note that this is still safe.  To take the example from the bug1203
writeup: Suppose that we have 3 nodes with bandwidth 1.  So the
bandwidth array is { 1, 1, 1 }, and the total bandwidth is 3.  We
choose rand_bw == 0, 1, or 2.  With the first iteration of the loop,
tmp is now 1; with the second, tmp is 2; with the third, tmp is 3.
Now that our check is tmp > rand_bw, we will set i in the first
iteration of the loop iff rand_bw == 0; in the second iteration of
the loop iff rand_bw == 1, and in the third iff rand_bw == 2.
That's what we want.

Incidentally, this change makes the bug 6538 fix more ironclad: once
rand_bw is set to UINT64_MAX, tmp > rand_bw is obviously false
regardless of the value of tmp.
2012-08-09 12:41:28 -04:00
changes Remove remaining timing-dependency in choosing nodes by bandwidth 2012-08-09 12:40:03 -04:00
contrib bump version to 0.2.3.18-rc-dev 2012-06-28 16:01:55 -04:00
doc Fixes/beautification of RPM spec. Tiny improvements in RPM build docs. 2012-07-31 11:41:40 -04:00
src Use a smarter fix for bug 1203. 2012-08-09 12:41:28 -04:00
.gitignore Add some MSVC stuff to gitignore 2012-05-14 12:35:10 -04:00
acinclude.m4 oops: AC_RUN_IFELSE gets offended if I don't give it a AC_LANG_PROGRAM 2012-06-18 11:48:45 -04:00
autogen.sh Use autoreconf, not autoconf&&automake&&etc in autogen.sh 2010-09-27 11:20:12 -04:00
ChangeLog add a blurb for 0.2.3.18-rc, other minor cleanups 2012-06-28 15:32:36 -04:00
configure.in Change smartlist_choose_node_by_bandwidth to avoid double 2012-08-09 12:21:37 -04:00
Doxyfile.in Fix up all doxygen warnings other than "foo is not documented" 2011-03-16 14:47:27 -04:00
INSTALL Small fixes for the 2702 implementation 2011-04-02 12:15:08 +02:00
LICENSE Update copyright dates to 2012; add a few missing copyright statements 2012-06-04 20:58:17 -04:00
Makefile.am Workaround for building EL5 RPMs by specifying rpmbuild-md5. Updated old note about using static libevent when building RPMs. 2012-07-31 11:41:40 -04:00
Makefile.nmake Initial patch to build Tor with msvc and nmake 2011-08-01 12:36:59 -04:00
README we have two faqs for now 2010-02-22 00:41:48 -05:00
ReleaseNotes forward-port the 0.2.2.37 changelog 2012-06-12 07:50:34 -04:00
tor.spec.in Fixes/beautification of RPM spec. Tiny improvements in RPM build docs. 2012-07-31 11:41:40 -04:00

Tor protects your privacy on the internet by hiding the connection
between your Internet address and the services you use. We believe Tor
is reasonably secure, but please ensure you read the instructions and
configure it properly.

To build Tor from source:
        ./configure && make && make install

Home page:
        https://www.torproject.org/

Download new versions:
        https://www.torproject.org/download.html

Documentation, including links to installation and setup instructions:
        https://www.torproject.org/documentation.html

Making applications work with Tor:
        https://wiki.torproject.org/noreply/TheOnionRouter/TorifyHOWTO

Frequently Asked Questions:
        https://www.torproject.org/faq.html
        https://wiki.torproject.org/noreply/TheOnionRouter/TorFAQ