mirror repository of the tor core protocol in case of issues
Go to file
David Goulet 2bb8988629 Fix cases where edge connections can stall.
We discovered two cases where edge connections can stall during testing:
  1. Due to final data sitting in the edge inbuf when it was resumed
  2. Due to flag synchronization between the token bucket and XON/XOFF

The first issue has always existed in C-Tor, but we were able to tickle it
in scp testing. If the last data from the protocol is able to fit in the
inbuf, but not large enough to send, if an XOFF or connection block comes in
at exactly that point, when the edge connection resumes, there will be no
data to read from the socket, but the inbuf can just sit there, never
draining.

We noticed the second issue along the way to finding the first. It seems
wrong, but it didn't seem to affect anything in practice.

These are extremely rare in normal operation, but with conflux, XON/XOFF
activity is more common, so we hit these.

Signed-off-by: David Goulet <dgoulet@torproject.org>
2023-04-06 15:57:11 +00:00
.gitlab/issue_templates Remove Proposal.md. 2021-02-12 20:39:48 +00:00
changes Merge branch 'tor-gitlab/mr/700' 2023-03-13 11:22:31 -04:00
contrib version: Bump version to 0.4.7.13-dev 2023-01-12 12:09:34 -05:00
doc Prop#329 params: Consensus parameter and torrc handling 2023-04-06 15:57:10 +00:00
m4 added check for compiler support of Wextra-semi 2022-11-01 15:32:43 -06:00
scripts scripts: Bye bye 0.4.5, you have reached end of life 2023-02-16 15:25:16 -05:00
src Fix cases where edge connections can stall. 2023-04-06 15:57:11 +00:00
.appveyor.yml CI: Remove VS2015 AppVeyor build 2020-08-12 14:09:32 +03:00
.clang-format Add a dire warning about not reformatting the whole codebase yet. 2020-02-12 18:52:35 -05:00
.editorconfig Add .editorconfig to follow coding standards style 2018-06-17 19:24:40 -04:00
.gitignore gitignore: Add tags file from ctags 2023-03-15 11:13:43 -04:00
.gitlab-ci.yml Merge branch 'tor-gitlab/mr/555' 2022-05-16 08:45:32 -04:00
.travis.yml rust: Remove Rust support from tree 2021-10-06 15:12:04 -04:00
acinclude.m4 m4: Change LIBS order of TOR_SEARCH_LIBRARY() 2021-01-13 09:52:10 -05:00
autogen.sh Cleanup shellcheck warnings in autogen.sh 2019-01-18 13:49:30 +02:00
ChangeLog changelog: Update with latest releases 2023-01-12 12:11:16 -05:00
CODE_OF_CONDUCT Add CODE_OF_CONDUCT file 2018-07-05 11:22:33 +03:00
configure.ac version: Bump version to 0.4.7.13-dev 2023-01-12 12:09:34 -05:00
CONTRIBUTING Add CODE_OF_CONDUCT file 2018-07-05 11:22:33 +03:00
Doxyfile.in Remove last artifacts of Rust related code 2021-10-06 15:12:04 -04:00
INSTALL Remove old instructions from INSTALL 2018-07-03 16:34:52 +03:00
LICENSE Merge branch 'maint-0.3.5' into maint-0.4.4 2021-03-12 11:36:34 -05:00
Makefile.am Remove broken MSVC support 2022-04-27 23:09:44 -04:00
README.md readme: Fix sentence in Releases section 2022-03-09 14:13:34 -05:00
ReleaseNotes changelog: Update with latest releases 2023-01-12 12:11:16 -05:00
warning_flags.in Try @warning_flags to avoid bloating verbose make logs 2018-12-21 10:00:23 -05: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.

Build

To build Tor from source:

./configure
make
make install

To build Tor from a just-cloned git repository:

./autogen.sh
./configure
make
make install

Releases

The tarballs, checksums and signatures can be found here: https://dist.torproject.org

  • Checksum: <tarball-name>.sha256sum
  • Signatures: <tarball-name>.sha256sum.asc

Schedule

You can find our release schedule here:

Keys that CAN sign a release

The following keys are the maintainers of this repository. One or many of these keys can sign the releases, do NOT expect them all:

Development

See our hacking documentation in doc/HACKING/.

Resources

Home page:

Download new versions:

Documentation, including links to installation and setup instructions:

Frequently Asked Questions: