Nick Mathewson
4bfc64ba1c
New function to grab a directory connection fetching a resource
...
We need this to tell if a given consensus flavor is being downloaded
or not.
2010-09-27 18:04:43 -04:00
Nick Mathewson
af7fab020a
Merge remote branch 'origin/maint-0.2.2'
...
Conflicts:
src/or/config.c
2010-09-27 17:52:20 -04:00
Roger Dingledine
8df3a90946
the actual changelog entry this time
2010-09-27 17:44:51 -04:00
Roger Dingledine
9d7f0badb5
changelog entry for bug1751
2010-09-27 17:44:00 -04:00
Nick Mathewson
614eeb378b
Merge remote branch 'sebastian/bug1964' into maint-0.2.2
2010-09-27 17:26:32 -04:00
Sebastian Hahn
c951830002
Fix a bridge segfault
...
When we enabled support to change statistic options without restarting
Tor we forgot to initialize geoip_countries. Fix that.
2010-09-27 23:19:25 +02:00
Nick Mathewson
7c83b0a2a2
Merge branch 'refuseunknown' into maint-0.2.2
2010-09-27 17:15:57 -04:00
Sebastian Hahn
8ac2de5ab9
Add RefuseUnknownExits to the manpage
2010-09-27 17:15:41 -04:00
Nick Mathewson
c97072ef34
Merge branch 'bug1751_enabling' into maint-0.2.2
2010-09-27 17:08:03 -04:00
Nick Mathewson
6c5b9ba625
Change bug1751 enabling code based on comments from arma
2010-09-27 17:07:22 -04:00
Nick Mathewson
5c83c06c98
Merge branch 'bufferevent5'
2010-09-27 16:48:25 -04:00
Nick Mathewson
6950749c0a
Make the bufferevent code use the renegotiation-reenabling hack
2010-09-27 16:07:14 -04:00
Nick Mathewson
501399d14a
Merge remote branch 'origin/maint-0.2.2'
2010-09-27 15:42:08 -04:00
Nick Mathewson
e385961542
Merge remote branch 'public/bug1954' into maint-0.2.2
2010-09-27 15:39:40 -04:00
Nick Mathewson
21e5f3c431
Detect Libevent version at configure time when using bufferevents
2010-09-27 14:29:49 -04:00
Nick Mathewson
b7ae108e18
Always defer bufferevent_openssl callbacks to avoid reentrant invocations
2010-09-27 14:29:42 -04:00
Nick Mathewson
89e8f31c42
Add a changes file for bufferevents
2010-09-27 14:22:18 -04:00
Nick Mathewson
c93cceb919
note that libevent does not have an an easy way to reset buckets atm
2010-09-27 14:22:18 -04:00
Nick Mathewson
b49cf6a77a
Fix whitespace in bufferevents branch
2010-09-27 14:22:18 -04:00
Nick Mathewson
a16ed90ec8
Document and/or fix stuff found by Sebastian in code review
...
Thanks to Sebastian for his code-review of the bufferevents patch series.x
2010-09-27 14:22:18 -04:00
Sebastian Hahn
865bea3b89
Some bufferevents related fixes and pointers for nickm
2010-09-27 14:22:18 -04:00
Nick Mathewson
beb52352f2
Fix build with automake 1.6
...
automake 1.6 doesn't like using a conditional += to add stuff to foo_LDADD.
Instead you need to conditionally define a variable, then non-conditionally
put that variable in foo_LDADD.
2010-09-27 14:22:18 -04:00
Nick Mathewson
ffd5070b04
Convert bufferevents to use rate-limiting.
...
This requires the latest Git version of Libevent as of 24 March 2010.
In the future, we'll just say it requires Libevent 2.0.5-alpha or
later.
Since Libevent doesn't yet support hierarchical rate limit groups,
there isn't yet support for tracking relayed-bytes separately when
using the bufferevent system. If a future version does add support
for hierarchical buckets, we can add that back in.
2010-09-27 14:22:18 -04:00
Nick Mathewson
98ec959c9c
Fix a couple of bufferevent incompatibilities that snuck in.
2010-09-27 14:22:18 -04:00
Nick Mathewson
0c9b64d449
Get zlib compression working with bufferevents.
2010-09-27 14:22:11 -04:00
Nick Mathewson
9796b9bfa6
Implement SOCKS-client support for bufferevents
2010-09-27 12:31:14 -04:00
Nick Mathewson
c74a4ab515
Documentation for a few bufferevent functions.
2010-09-27 12:31:14 -04:00
Nick Mathewson
bd3612cd2b
Get SSL connections and linked connections working with bufferevents.
...
Clients are now verified to work and build circuits correctly. There
are still a few warnings given here and there that I need to look into.
2010-09-27 12:31:14 -04:00
Nick Mathewson
fc4ddafab8
Make control connections use bufferevents
2010-09-27 12:31:14 -04:00
Nick Mathewson
84bb5d573c
Fix crash/warning bug when we get an unexpected close.
...
This was possible if we have already decided to close a bufferevent
connection, but the other side decides to close it first.
2010-09-27 12:31:13 -04:00
Nick Mathewson
44375d4eb8
Add a 0-pullup version of fetch_from_evbuffer_socks
2010-09-27 12:31:13 -04:00
Nick Mathewson
f6899f3a74
Documentation for inspect_evbuffer
2010-09-27 12:31:13 -04:00
Nick Mathewson
698085d56e
Add pullup-free version of fetch_from_evbuffer_http
2010-09-27 12:31:13 -04:00
Nick Mathewson
4af6887d20
Add support for linked connections with bufferevent_pair.
...
Also, set directory connections (linked and otherwise) to use bufferevents.
Also, stop using outbuf_flushlen anywhere except for OR connections.
2010-09-27 12:31:13 -04:00
Nick Mathewson
b63f6518cb
Add bufferevent support for outgoing connections; exits are now supported.
2010-09-27 12:31:13 -04:00
Nick Mathewson
ddcb59bb70
Fix more remaining users of inbuf/outbuf to handle bufferevents instead.
2010-09-27 12:31:13 -04:00
Nick Mathewson
5279036148
Be a little more abstract about which connection type use bufferevents
2010-09-27 12:31:13 -04:00
Nick Mathewson
9f8027abfd
Make a function to mark a connection and set hold_open_until_flushed.
2010-09-27 12:31:13 -04:00
Nick Mathewson
d830eb366a
Allow hold-open-until-flushed logic to work for bufferevents.
2010-09-27 12:29:43 -04:00
Nick Mathewson
ec10c044fb
Move the "stop writing when the buffer is empty" logic to cnnection_finished_flushing
2010-09-27 12:29:43 -04:00
Nick Mathewson
63079efb87
Add a fetch_from_evbuffer_http
2010-09-27 12:29:42 -04:00
Nick Mathewson
73feedb8b3
Have edge connections use fetch_from_evbuffer_socks when appropriate.
2010-09-27 12:29:42 -04:00
Nick Mathewson
c6e22ae2b7
Basic bufferevent callbacks
...
These are based strongly on connection_handle_read and
connection_handle_write, but hopefully without so much mixture of IO
logic and Tor logic.
2010-09-27 12:29:42 -04:00
Nick Mathewson
a0f4841e2b
Refactor SOCKS parsing code to handle evbuffers.
...
Now all of the logic is in a parse_socks() function that gets data
from a buf_t or evbuffer-specific wrapper.
2010-09-27 12:29:42 -04:00
Nick Mathewson
4836014168
Clone fetch_var_cell_from_buf() for evbuffers.
2010-09-27 12:28:43 -04:00
Nick Mathewson
0514917800
Add a new connection_fetch_from_buf_line() that can handle bufferevents
2010-09-27 12:28:43 -04:00
Nick Mathewson
5448501479
New bufferevent-related check in assert_connection_ok().
...
{Make sure that if we have a bufferevent on a connection, we do not have the
other libevent/buffering-related fields set.}
2010-09-27 12:28:43 -04:00
Nick Mathewson
076025476a
Add bufferevent versions of connection_write/fetch_to/from_buf.
2010-09-27 12:28:43 -04:00
Nick Mathewson
200921dc31
Refactor users of buf_datalen to bufferevent-friendly version.
2010-09-27 12:28:43 -04:00
Nick Mathewson
57e7b54b7b
Teach read_event/write_event manipulators about bufferevents.
...
Add an --enable-bufferevents config switch.
2010-09-27 12:28:43 -04:00