mirror repository of the tor core protocol in case of issues
Go to file
David Goulet 46a0709261 channel: Remove incoming/outgoing queue
For the rationale, see ticket #23709.

This is a pretty massive commit. Those queues were everywhere in channel.c and
it turns out that it was used by lots of dead code.

The channel subsystem *never* handles variable size cell (var_cell_t) or
unpacked cells (cell_t). The variable ones are only handled in channeltls and
outbound cells are always packed from the circuit queue so this commit removes
code related to variable and unpacked cells.

However, inbound cells are unpacked (cell_t), that is untouched and is handled
via channel_process_cell() function.

In order to make the commit compile, test have been modified but not passing
at this commit. Also, many tests have been removed but better improved ones
get added in future commits.

This commit also adds a XXX: which indicates that the handling process of
outbound cells isn't fully working. This as well is fixed in a future commit.

Finally, at this commit, more dead code remains, it will be cleanup in future
commits.

Fixes #23709

Signed-off-by: David Goulet <dgoulet@torproject.org>
2017-11-22 15:37:59 -05:00
changes Merge branch 'ticket23953_033_squashed' 2017-11-21 14:06:57 -05:00
contrib Bump to 0.3.2.4-alpha 2017-11-07 13:22:27 -05:00
doc Merge remote-tracking branch 'ahf-gitlab/ahf/24062-simpleperf' 2017-11-21 14:09:56 -05:00
m4 Replace obsolete macros with modern equivalents 2016-12-23 10:34:11 -05:00
scripts Merge branch 'maint-0.3.2' 2017-11-05 14:41:53 -05:00
src channel: Remove incoming/outgoing queue 2017-11-22 15:37:59 -05:00
.gitignore Add a small library to emulate tor_run_main() with exec() 2017-11-01 13:22:09 -04:00
.gitlab-ci.yml Match .travis.yml more closely 2017-10-05 22:42:00 -05:00
.gitmodules Allow Rust build using locally supplied crates or crates.io 2017-05-19 08:47:11 -04:00
.travis.yml Merge branch 'maint-0.3.0' into maint-0.3.1 2017-07-26 15:39:56 -04:00
acinclude.m4 Run the copyright update script. 2017-03-15 16:13:17 -04:00
autogen.sh Report errors when updating configuration files 2016-12-23 10:35:26 -05:00
ChangeLog forwardport a changelog 2017-11-22 08:27:35 -05:00
configure.ac Merge branch 'ticket23953_033_squashed' 2017-11-21 14:06:57 -05:00
Doxyfile.in doxygen says these options are obsolete 2016-10-24 10:31:05 -04:00
INSTALL Small fixes for the 2702 implementation 2011-04-02 12:15:08 +02:00
LICENSE Run the copyright update script. 2017-03-15 16:13:17 -04:00
Makefile.am Make distcleancheck pass with --enable-rust 2017-10-27 12:35:13 -04:00
Makefile.nmake Clean up the MVSC nmake files so they work again. 2014-09-09 10:27:05 -04:00
README doc: Put the release timeline link in README 2017-11-08 10:44:00 -05:00
ReleaseNotes reach into the past and fix a typo 2017-10-25 13:13:52 -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

To build Tor from a just-cloned git repository:
        sh autogen.sh && ./configure && make && make install

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

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

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

Making applications work with Tor:
        https://wiki.torproject.org/projects/tor/wiki/doc/TorifyHOWTO

Frequently Asked Questions:
        https://www.torproject.org/docs/faq.html


To get started working on Tor development:
        See the doc/HACKING directory.

Release timeline:
         https://trac.torproject.org/projects/tor/wiki/org/teams/NetworkTeam/CoreTorReleases